From nobody Tue Feb 24 20:45:44 2026 X-Original-To: dev-commits-src-main@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 4fL8r91PlKz6StN6 for ; Tue, 24 Feb 2026 20:45:45 +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 4fL8r90TXzz3tfW for ; Tue, 24 Feb 2026 20:45:45 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1771965945; 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=aJ8LF8Ve7w4B5wu6rr/xII/T5pTJPqJ91DJfW/T3sLo=; b=cZlFFxWfoYwfdR/D2spD6jEHEpkm7hTai4Y6YtX75DS5/hEuuc6kO+wdupH+fp/VBDG3aF CfVj7F6nModt/Eggw2jeZbqQLItZZE+TGFqCs6mt+VJzVoefv7ZEDksSkJyZ3f/cyWL9d5 qUjNUzYjg8WrP+flwIH/1j2pmMe3TRjraUGxjSyDaJv6t/JHaW1VO+wvF7YWfl9eSnEu0e HmsZ84E6kLhU/sT2/eL5iJl2R9Ak3mtqhzbvyX+X7qwtDDot2HgRiQ1a7vR2eWDzj/HsrX nyKKCaDJlfhZboMd9YnGEJaS+jxuaVbcYsEaTfixuOztXPR9hcgncjLs8oVC/g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1771965945; a=rsa-sha256; cv=none; b=fZDF3T6nJ80Kayky7PnfUIj/dYgcWvkwCKwKZbF4/RwN98QFMzvb+XMnUCTIVAqcxITRky cou2GM5gAZr+GWtqdbdr+hR39S+RrcLBNTarqWJ0KKxlp2IX9wes1MdhzlbPHjrmRwoAVH loX/r/TjU+xK/dXBD05itKftCYewJVeJm2RAXPZgWbCeyr+5pvW7jyEK957Pjd9P1QNG0n fcK64lT7OCAigbqF7dpYrWgv08oDviVMMKrv13bZQRCP4SWxuYJD52SRtePE1KHZ2OwkWj jwa+ig0we1nxNIxH792D62N6BD3vZixXhYu0EbefAzbm60vcjB1yoDRjj/ZLLw== 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=1771965945; 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=aJ8LF8Ve7w4B5wu6rr/xII/T5pTJPqJ91DJfW/T3sLo=; b=Lhb3ZlcgaKWk0C7vVrOW7sthT9HGe4L1XV0pKTxRGanGu/5jTG2kO+uOPYBUjZPah7ODIo BNtZfCGjRAH3EuQYGA5UIHnYObaiRi+9nAHTQloG/dWX6dSU38ORKo4nVgkMkWJnVx3vRh Em2Qyn9zcI52FiyVuXFOY298tp0gSGXNY7YGawfRof0tRwtvKcc7l9gfrfdW65ubSYIKeY gcPJcO5lm8/ID6HBTB+gvyziCg9kFlF65EUTzQD5NJ7cj+yB1yjwryCSfYdDjzSOhbJOum gTeVrPZ6VrvJtb+p6GXb6E+WK4S1csixfW15/167LJ8LktMEeoDecmoz8tH9tg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fL8r901Z8zWpv for ; Tue, 24 Feb 2026 20:45:45 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 25d0b by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 24 Feb 2026 20:45:44 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Ahmad Khalifa Subject: git: 0fd91c489134 - main - bsdinstall: fix EFI boot entry creation List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-main@freebsd.org Sender: owner-dev-commits-src-main@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/main X-Git-Reftype: branch X-Git-Commit: 0fd91c489134643ac9e38c0f55ba7464fe892c5e Auto-Submitted: auto-generated Date: Tue, 24 Feb 2026 20:45:44 +0000 Message-Id: <699e0df8.25d0b.67e9348e@gitrepo.freebsd.org> The branch main has been updated by vexeduxr: URL: https://cgit.FreeBSD.org/src/commit/?id=0fd91c489134643ac9e38c0f55ba7464fe892c5e commit 0fd91c489134643ac9e38c0f55ba7464fe892c5e Author: Ahmad Khalifa AuthorDate: 2026-02-24 20:11:32 +0000 Commit: Ahmad Khalifa CommitDate: 2026-02-24 20:42:21 +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 --- 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"