From nobody Thu Feb 26 03:26:13 2026 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fLxgn38Bnz6T6tb for ; Thu, 26 Feb 2026 03:26:13 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fLxgn0Xr9z46Jb for ; Thu, 26 Feb 2026 03:26:13 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1772076373; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=HYbDGj5ENJv6iDhrvu5vuQQ7xMwttkMuB6pHWnBNU9w=; b=bNf5p5iu8jzDqOag54UVHRErH49BP3fAkjsEgtVPGOPx53F0e2/i2QmLDJ1Ss5vg3bGpB2 pb1u8XgoNZ1yV1XR0mO3TQ2UMbZH6mp0E2vIWUAsrQXMCC273eMZoB6HHzO+nc1uFSASuF BXly0IWtSNAnKFdDlqdVjqJfMWu0RklD44yGxJnv3kKrYHHLXFIDCVr+XsUU5P3FyB6gzl KxGU4P/dAZpa1w7Zgxb2y/ygTkJ17ifbst/UUEsY0zdYYFTy3vCOtulugL1eNhKmywFihz BepMhu7YZtxfZoTfioHW2f+Kf32dFucJtv79hyBH7GSmRhA3NxqkmruurAVCSA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1772076373; a=rsa-sha256; cv=none; b=l+juIHDfzRo8q9gol2OoNhNUQGCSA2vrWcc/ZTbP0ArFoEtEknGrLAiSY5MkSNw3bXLNfJ YM4h1UVzLzACM6G0kJ1Uon3I7rk9PJEYebkUxnGIObP2MENuSz/LNbJtdILAF3mUUITL3Y zQKUUiYmdm1zoet2rAzUYyymEP0pkAPMfRkmdtjSkubVmzOyzLMlG10EolMRtIOzMqsgv/ IGptJQ2ahrwBLl5RdDTMxKHJZiwrKVJrs/2wdG2FP3xImTxLIuG7UmlDvolHFv/XTjlf2c KFdtCXpwpU32vSg+xBlMTu236SkzIYbk9424OshBanuzvlkoyhZGQCxORPXkwg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1772076373; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=HYbDGj5ENJv6iDhrvu5vuQQ7xMwttkMuB6pHWnBNU9w=; b=lFUGsppStHCRxElMlfXDd6gwCsB9YS2nk5gxSLTpWRYVSelyzkY7EsqHCVk3Wl0eobwDj3 zRdHe8MNibJQbRpkfrq7vosQkR4p4j5pdScvMlN8NPQgPxoyyMDuuGpvQGi1LNGwWaaNzU vSUnLs/wtJklYqbXJ3/qfe/KBpg9ZvsOPsk8DHgYZ7geqlYEFQvYo92fzWoUvCyJYNmpp6 suFhCApIa8kWvNvqGU4unUMZe45oZ8Kaoob74reojzGUNM0w5yacIuR22PPI4pVzZ+LaKq 1in2m1pc2Sbqzzv+Up/nEB3r7hmMhJJZcZkWA2pu7nRWPwMlc3RDUCm6AosnZA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fLxgn07XtzSN for ; Thu, 26 Feb 2026 03:26:13 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 27806 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 26 Feb 2026 03:26:13 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Ahmad Khalifa Subject: git: cfdd90abab51 - stable/14 - bsdinstall: fix EFI boot entry creation List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-branches@freebsd.org Sender: owner-dev-commits-src-branches@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: vexeduxr X-Git-Repository: src X-Git-Refname: refs/heads/stable/14 X-Git-Reftype: branch X-Git-Commit: cfdd90abab51581120da75b45018a79237228b33 Auto-Submitted: auto-generated Date: Thu, 26 Feb 2026 03:26:13 +0000 Message-Id: <699fbd55.27806.26c7464e@gitrepo.freebsd.org> The branch stable/14 has been updated by vexeduxr: URL: https://cgit.FreeBSD.org/src/commit/?id=cfdd90abab51581120da75b45018a79237228b33 commit cfdd90abab51581120da75b45018a79237228b33 Author: Ahmad Khalifa AuthorDate: 2026-02-24 20:11:32 +0000 Commit: Ahmad Khalifa CommitDate: 2026-02-26 03:13:15 +0000 bsdinstall: fix EFI boot entry creation update_uefi_bootentry assumes that the caller sets FREEBSD_BOOTNAME and mntpt, which isn't the case anymore. The result is that there is no "FreeBSD" boot entry created/updated after install. Most machines manage to boot from the removable media path (if the loader is installed there too), but some don't. Take the loader's path as an argument and rename the variable used in the ZFS mirror loop so mntpt can be reused below. Also mark nentries as a local variable so it doesn't leak out of the function. PR: 293385 Fixes: 494de51bc0074472d1b01604f085daea0844f240 MFC after: 2 days Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D55469 (cherry picked from commit 0fd91c489134643ac9e38c0f55ba7464fe892c5e) --- usr.sbin/bsdinstall/scripts/bootconfig | 25 ++++++++++++++----------- 1 file changed, 14 insertions(+), 11 deletions(-) diff --git a/usr.sbin/bsdinstall/scripts/bootconfig b/usr.sbin/bsdinstall/scripts/bootconfig index ba9a4369429c..5bcc49084617 100755 --- a/usr.sbin/bsdinstall/scripts/bootconfig +++ b/usr.sbin/bsdinstall/scripts/bootconfig @@ -80,11 +80,13 @@ uefi_copy_loader() update_uefi_bootentry() { - nentries=$(efibootmgr | grep -c "${EFI_LABEL_NAME}$") + local nentries=$(efibootmgr | grep -c "${EFI_LABEL_NAME}$") + local loader_path=$1 + # No entries so directly create one and return if [ ${nentries} -eq 0 ]; then f_dprintf "Creating UEFI boot entry" - efibootmgr --create --activate --label "$EFI_LABEL_NAME" --loader "${mntpt}/${FREEBSD_BOOTNAME}" > /dev/null + efibootmgr --create --activate --label "$EFI_LABEL_NAME" --loader "${loader_path}" > /dev/null return fi @@ -94,13 +96,13 @@ update_uefi_bootentry() for entry in $(efibootmgr | awk "\$NF == \"$EFI_LABEL_NAME\" { sub(/.*Boot/,\"\", \$1); sub(/\*/,\"\", \$1); print \$1 }"); do efibootmgr -B -b ${entry} done - efibootmgr --create --activate --label "$EFI_LABEL_NAME" --loader "${mntpt}/${FREEBSD_BOOTNAME}" > /dev/null + efibootmgr --create --activate --label "$EFI_LABEL_NAME" --loader "${loader_path}" > /dev/null return fi FREEBSD_BOOTLABEL=$(dialog_uefi_entryname "${EFI_LABEL_NAME}") [ $? -eq $DIALOG_CANCEL ] && exit 1 - efibootmgr --create --activate --label "$FREEBSD_BOOTLABEL" --loader "${mntpt}/${FREEBSD_BOOTNAME}" > /dev/null + efibootmgr --create --activate --label "$FREEBSD_BOOTLABEL" --loader "${loader_path}" > /dev/null } f_dialog_title "Boot Configuration" @@ -148,21 +150,22 @@ if [ -n "$(awk '{if ($2=="/boot/efi") printf("%s\n",$1);}' $PATH_FSTAB)" ]; then # over gmirror, so we only do this for ZFS. esps=${TMPDIR:-"/tmp"}/bsdinstall-esps if [ -f "$esps" ]; then - mntpt=$(mktemp -d -t bsdinstall-esp) + tmpmnt=$(mktemp -d -t bsdinstall-esp) for dev in $(cat $esps); do f_dprintf "Installing ${file} onto redundant ESP ${dev}" - mount -t msdos "$dev" "$mntpt" + mount -t msdos "$dev" "$tmpmnt" uefi_copy_loader "$BSDINSTALL_CHROOT/boot/${file}" \ - "${mntpt}/efi/freebsd" "${mntpt}/efi/boot" \ + "${tmpmnt}/efi/freebsd" "${tmpmnt}/efi/boot" \ boot${ARCHBOOTNAME}.efi - umount "$mntpt" + umount "$tmpmnt" done - rmdir "${mntpt}" + rmdir "${tmpmnt}" fi - # Try to set the UEFI NV BootXXXX variables to record the boot location + # Try to set the UEFI NV BootXXXX variables to record the boot location. + # Note that the ESP is mounted at ${mntpt}/efi. if [ "$BSDINSTALL_CONFIGCURRENT" ] && [ "$ARCHBOOTNAME" != ia32 ]; then - update_uefi_bootentry + update_uefi_bootentry "${mntpt}/efi/freebsd/${file}" fi f_dprintf "Finished configuring ESP"