Author: yuripv
Date: Wed Oct  9 05:28:10 2019
New Revision: 353335
URL: https://svnweb.freebsd.org/changeset/base/353335

Log:
  bsdinstall: fix ESP detection for auto ZFS layout
  
  Pass the list of user selected disks from zfsboot to bootconfig so that
  the latter doesn't rely on ESP autodetection that apparently fails for
  some cases, e.g. memstick installation with nvme (boot) and sata drives.
  
  While here, fix printing of debug messages in bootconfig.
  
  Reviewed by:  bcran, imp, tsoome
  Differential Revision:        https://reviews.freebsd.org/D21930

Modified:
  head/usr.sbin/bsdinstall/scripts/bootconfig
  head/usr.sbin/bsdinstall/scripts/zfsboot

Modified: head/usr.sbin/bsdinstall/scripts/bootconfig
==============================================================================
--- head/usr.sbin/bsdinstall/scripts/bootconfig Wed Oct  9 02:02:22 2019        
(r353334)
+++ head/usr.sbin/bsdinstall/scripts/bootconfig Wed Oct  9 05:28:10 2019        
(r353335)
@@ -27,6 +27,9 @@
 #
 # $FreeBSD$
 
+BSDCFG_SHARE="/usr/share/bsdconfig"
+. $BSDCFG_SHARE/common.subr || exit 1
+
 die() {
        echo $*
        exit 1
@@ -47,7 +50,8 @@ if [ "$(uname -m)" = "amd64" ] || [ "$(uname -m)" = "i
 fi
 
 if [ "$(uname -m)" = "arm64" ] || [ "$X86_BOOTMETHOD" = "UEFI" ]; then
-       UFSBOOT_ESPS=$(cat /tmp/bsdinstall-esps)
+       UFSBOOT_ESPS=$(cat /tmp/bsdinstall-esps 2>/dev/null)
+       ZFSBOOT_DISKS=$(cat /tmp/bsdinstall-zfsboot 2>/dev/null)
        num_esps=0
 
        if [ -n "$ZFSBOOT_DISKS" ]; then
@@ -119,20 +123,20 @@ if [ "$(uname -m)" = "arm64" ] || [ "$X86_BOOTMETHOD" 
        fi
 
        for esp in $ESPS; do
-               echo "Formatting /dev/${esp} as FAT32"
+               f_dprintf "Formatting /dev/${esp} as FAT32"
                newfs_msdos -F 32 -c 1 -L EFISYS "/dev/$esp" > /dev/null 2>&1
                if [ $? -ne 0 ]; then
                        die "Failed to format ESP $esp as FAT32"
                fi
 
                mntpt=$(mktemp -d /tmp/stand-test.XXXXXX)
-               echo "Mounting ESP /dev/${esp}"
+               f_dprintf "Mounting ESP /dev/${esp}"
                mount -t msdosfs "/dev/${esp}" "${mntpt}"
                if [ $? -ne 0 ]; then
                        die "Failed to mount ESP ${dev} on ${mntpt}"
                fi
 
-               echo "Installing loader.efi onto ESP"
+               f_dprintf "Installing loader.efi onto ESP"
                mkdir -p "$mntpt/EFI/freebsd"
                cp "$BSDINSTALL_CHROOT/boot/loader.efi" 
"${mntpt}/EFI/freebsd/loader.efi"
 
@@ -142,14 +146,14 @@ if [ "$(uname -m)" = "arm64" ] || [ "$X86_BOOTMETHOD" 
                        bootlabel="FreeBSD"
                fi
 
-               echo "Creating UEFI boot entry"
+               f_dprintf "Creating UEFI boot entry"
                efibootmgr --create --activate --label "$bootlabel" --loader 
"${mntpt}/EFI/freebsd/loader.efi" > /dev/null
 
-               echo "Unmounting ESP"
+               f_dprintf "Unmounting ESP"
                umount "${mntpt}"
                rmdir "${mntpt}"
 
-               echo "Finished configuring /dev/${esp} as ESP"
+               f_dprintf "Finished configuring /dev/${esp} as ESP"
        done
 fi
 

Modified: head/usr.sbin/bsdinstall/scripts/zfsboot
==============================================================================
--- head/usr.sbin/bsdinstall/scripts/zfsboot    Wed Oct  9 02:02:22 2019        
(r353334)
+++ head/usr.sbin/bsdinstall/scripts/zfsboot    Wed Oct  9 05:28:10 2019        
(r353335)
@@ -1656,6 +1656,9 @@ while :; do
                zfs_create_boot "$ZFSBOOT_POOL_NAME" \
                                "$vdev_type" $ZFSBOOT_DISKS || continue
 
+               # To be reused by bootconfig
+               echo "$ZFSBOOT_DISKS" > /tmp/bsdinstall-zfsboot
+
                break # to success
                ;;
        ?" $msg_pool_type_disks")
_______________________________________________
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to