From nobody Thu Feb 26 03:26:16 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 4fLxgr529nz6T76d for ; Thu, 26 Feb 2026 03:26:16 +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 4fLxgr3Ybjz46cw for ; Thu, 26 Feb 2026 03:26:16 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1772076376; 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=QiFR2FaTxFuELEN5DrikY3WPgA0cJWNLJlqQu7rFFrQ=; b=uujoHodEkox8GRy+rjxTM0zsQaBs1CDVFxLBRugX8q05amcnW/Vrk/8Z1xshB8CN54SDmp 70dLZGIOa/hgMTQzmRWnXBrXtNRKHUJydknIg4ydQFu+MVSssH/EKwUtGFhJse4ncdGoWs FDqa/N9MNMA0EuAUn5W0qu0tyDKY7yB1tEvrD4G5SpZK5TYo4tKTjZMB2XtWS+gINPMLR9 Y/HLJ7qvc1i4dKAnBm20L3LY+NH3i6baMO0Z5TvlD9ixzgkpeu2YhkqXAm08H9w6RLYcgg OveEaArT/jyhM+pd2DzxltaGDBMzxtcUVsPuMCHpb4YVOxuaMjItbOh4UDT1eA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1772076376; a=rsa-sha256; cv=none; b=ExFAy7P+OZtpnnXubxAP4WyrUjxBOL8xg6nin85YKDrFAombgLtsRgVwmu8wxnTUMInKvm nLAEtR3FLWR2bg4b0X6/4zOhiBX+XErtpEZknnMwMwfXqTe6zrHNvFdyRBuqfpl9Y6PgMJ 6RKs1W46ur3uQCxvs5/DvVR2fHpJqAzx3WuvLhSeuZDRVPl4EreAOS1njY423unVSMbwJr LNXnF6kaeU84rVmCC6K5wxvA3x30enyzaf4wnpJRJX81EmS6cQLAuDRAZv21pQrDvJhDbT zvrO/QaSWTLrhpQfZUpN3HmMGrBhk04/u+fU5SdH2fh4/kB2Tezos6RSGAPJ5w== 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=1772076376; 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=QiFR2FaTxFuELEN5DrikY3WPgA0cJWNLJlqQu7rFFrQ=; b=U2+l10IytpbESgPRkeSCZ2TAiOoNHhc4IpG+jYv6Ye8uFtiakuzgsGAwoKfku9LsHbVDbH aRN1abg/9dNdMso+XvZONS0lROiXfGwwK8ttRyKSGwFtZ+is3flPkAGzPnLygKZMXd45ie bRdzlvXK0OeE3jR5PjBnamVtA+fQ/5fv5NlzyQzvOMbOyhkp2CQNemCnNK2lGUavxdSCkG dxahPasqu8Mp8zpklqz/4mpSO5VH6gCt2vb9oKsWd1Z6+BhFgklKLWkuEyHH7/hSQTNCBp bC/6RXXvtbhdkfrwpMMlWZXhPGqNz9w046ZQ7huY/LNl7FGf/j/0HyaOaz1FMQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fLxgr37vPzSS for ; Thu, 26 Feb 2026 03:26:16 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 27881 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 26 Feb 2026 03:26:16 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org, dev-commits-src-branches@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Ahmad Khalifa Subject: git: 5425bdae0970 - stable/15 - 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/15 X-Git-Reftype: branch X-Git-Commit: 5425bdae09703d028a1e48180e0709ad4e86af12 Auto-Submitted: auto-generated Date: Thu, 26 Feb 2026 03:26:16 +0000 Message-Id: <699fbd58.27881.6d4ed6ba@gitrepo.freebsd.org> The branch stable/15 has been updated by vexeduxr: URL: https://cgit.FreeBSD.org/src/commit/?id=5425bdae09703d028a1e48180e0709ad4e86af12 commit 5425bdae09703d028a1e48180e0709ad4e86af12 Author: Ahmad Khalifa AuthorDate: 2026-02-24 20:11:32 +0000 Commit: Ahmad Khalifa CommitDate: 2026-02-26 02:03:53 +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 9c188c1d8a91..d551d2448611 100755 --- a/usr.sbin/bsdinstall/scripts/bootconfig +++ b/usr.sbin/bsdinstall/scripts/bootconfig @@ -83,11 +83,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 @@ -97,13 +99,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" @@ -151,21 +153,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"