[Bug 271078] [nanobsd] embedded/common script does not copy FAT slice recursively

From: <bugzilla-noreply_at_freebsd.org>
Date: Wed, 26 Apr 2023 11:18:33 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=271078

            Bug ID: 271078
           Summary: [nanobsd] embedded/common script does not copy FAT
                    slice recursively
           Product: Base System
           Version: 13.2-RELEASE
          Hardware: Any
                OS: Any
            Status: New
          Severity: Affects Only Me
          Priority: ---
         Component: arm
          Assignee: freebsd-arm@FreeBSD.org
          Reporter: hondareyte.luc@laposte.net

Hello
Since ubldr support is removed for armv7, I try to build a nanbsd image using
EFI. So I add the following function to add bootarm.efi on the FAT slice:

cust_efi_loader() {
        NANO_EFI_DIR=${NANO_FAT_DIR}/EFI
        mkdir -p ${NANO_EFI_DIR}/BOOT ${NANO_EFI_DIR}/FREEBSD
        LOADER_ENV=${NANO_EFI_DIR}/FREEBSD/loader.env
        echo "rootdev=disk0${NANO_SLICE_ROOT}:" >> ${LOADER_ENV}
        cp ${NANO_WORLDDIR}/boot/loader_lua.efi \
                       ${NANO_EFI_DIR}/BOOT/bootarm.efi
}
customize_cmd cust_efi_loader

But EFI/* subdirs are not copied on the final slice.

With this simple patch, it works.

--- common.ori  2023-04-26 13:05:49.229317000 +0200
+++ common      2023-04-26 13:06:01.783766000 +0200
@@ -217,7 +217,7 @@
                if [ -d ${NANO_FAT_DIR} ]; then
                        # Need to copy files from ${NANO_FATDIR} with mtools,
or use
                        # makefs -t msdos once that's supported
-                       mcopy -i ${NANO_LOG}/_.${NANO_SLICE_FAT}
${NANO_FAT_DIR}/* ::
+                       mcopy -si ${NANO_LOG}/_.${NANO_SLICE_FAT}
${NANO_FAT_DIR}/* ::
                fi
        fi

Note that the patch in PR255639 need to be applied.
Regards,
Luc

-- 
You are receiving this mail because:
You are the assignee for the bug.