From nobody Mon Feb 9 05:39:18 2026 X-Original-To: bugs@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 4f8YRC4WbZz6Qb07 for ; Mon, 09 Feb 2026 05:39:19 +0000 (UTC) (envelope-from bugzilla-noreply@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 "R13" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4f8YRC1kJsz41cQ for ; Mon, 09 Feb 2026 05:39:19 +0000 (UTC) (envelope-from bugzilla-noreply@freebsd.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1770615559; 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=SrqbZwMrm4SzCgzgGUll9uORcUO5qaIG2xqdePTdqvs=; b=piNxmv27HJ71K8OdBX2C5Jej0bYXBGqI5sd2BYwRHxPPYW5njnwhS4NdcLx/1156F1RqCf 0m4gP7e/J+t/BMXEVEgfJfiq3VZusOhj00+KuYoI6u8wr89h+7mqpeC2IU7bkmHu8j0BL9 p2tYvxartjndrEspPkULs9x00WgJ9hw2YCVyYMr0fVKaKgC51KL/D2OotGulH0HGy5wUm1 0uUQFBn3ej63O3JpAcKctUUmRfhtfO6reirT2ybOEIDExbdgJcpE0p/lnUvz+JZyvoOJDe i9okn7l7AQLyV8aTUIiyPKNJd7rO/Dw90BIe//UrtMU+2rLxMPOtja4znQ7Vmw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770615559; a=rsa-sha256; cv=none; b=qiQANJ8z8ZUS/kDoyCkDsMILynQyVL00z+gNJ2YS0dghpRYPxEyUaAI39o7unb059BA5DD NzAvu9fSZ2iLhzrtuekiSU7xdEZ8Jywjsp+smO3GpwWbMiM6KTe/Ipx7cLqi0t/KnhC89T ML0mkJWIUglowIXtq+da2gV1MqPEQRgpuumy/H3YQfgf2Ld6outBLa3B7kW3Y2bjGSEwbZ n9VZJvfLX+XpPxee2h3fIMuUC/xKA1hkgY6fAhR+DbKhWfCZQaCYyqEqvgf89iOM884+qw y5yy0g9zyZm99f58cIOUKrG6HnN/XtZQ2acBP5BrCH88bUD44KSxbGRyl5vSWw== 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=1770615559; 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=SrqbZwMrm4SzCgzgGUll9uORcUO5qaIG2xqdePTdqvs=; b=KAeSRCxB/KG4hAGazv40Pd7PinqKdrRz9WI4zu6jBuml04dIjy6+NVgRsBZd8hW8zZ1TV+ t3lYfiy09xM2J+xTYmOSRfRHzZy9xceUuh5TGgsl1QsUOJG+ZXK61QuYEzjG3i13ieVOMy EVIZIRynDRzcPvwMmdgcpX3ibXbj+4qIBadldsoUcGgUXlLAGNG0A1sOZYZfUS5rorgiPf xcEETq9qkzxNuacR62xqhHdcQqzOiZ1uIwBqI35YAqhH8bCPOdF6kR4q6jq4TPmjpssEzV dWQO/OBtDQcu5z3rZGR1zJBnCXhXMCUIxIVOSbBvzKbYfEjo5EuXsKmF7oIJGg== Received: from kenobi.freebsd.org (kenobi.freebsd.org [IPv6:2610:1c1:1:606c::50:1d]) (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 did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4f8YRC0jqlz4BN for ; Mon, 09 Feb 2026 05:39:19 +0000 (UTC) (envelope-from bugzilla-noreply@freebsd.org) Received: from kenobi.freebsd.org ([127.0.1.5]) by kenobi.freebsd.org (8.15.2/8.15.2) with ESMTP id 6195dIJl009762 for ; Mon, 9 Feb 2026 05:39:18 GMT (envelope-from bugzilla-noreply@freebsd.org) Received: (from www@localhost) by kenobi.freebsd.org (8.15.2/8.15.2/Submit) id 6195dIID009760 for bugs@FreeBSD.org; Mon, 9 Feb 2026 05:39:18 GMT (envelope-from bugzilla-noreply@freebsd.org) X-Authentication-Warning: kenobi.freebsd.org: www set sender to bugzilla-noreply@freebsd.org using -f From: bugzilla-noreply@freebsd.org To: bugs@FreeBSD.org Subject: [Bug 293054] Document the FreeBSD BootEnv and NextBootEnv EFI variables Date: Mon, 09 Feb 2026 05:39:18 +0000 X-Bugzilla-Reason: AssignedTo X-Bugzilla-Type: new X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: Documentation X-Bugzilla-Component: Manual Pages X-Bugzilla-Version: Latest X-Bugzilla-Keywords: X-Bugzilla-Severity: Affects Some People X-Bugzilla-Who: bblake@techie.com X-Bugzilla-Status: New X-Bugzilla-Resolution: X-Bugzilla-Priority: --- X-Bugzilla-Assigned-To: bugs@FreeBSD.org X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: bug_id short_desc product version rep_platform op_sys bug_status bug_severity priority component assigned_to reporter cc Message-ID: Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="UTF-8" X-Bugzilla-URL: https://bugs.freebsd.org/bugzilla/ Auto-Submitted: auto-generated List-Id: Bug reports List-Archive: https://lists.freebsd.org/archives/freebsd-bugs List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-freebsd-bugs@FreeBSD.org MIME-Version: 1.0 https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D293054 Bug ID: 293054 Summary: Document the FreeBSD BootEnv and NextBootEnv EFI variables Product: Documentation Version: Latest Hardware: Any OS: Any Status: New Severity: Affects Some People Priority: --- Component: Manual Pages Assignee: bugs@FreeBSD.org Reporter: bblake@techie.com CC: doc@FreeBSD.org In loader.efi(8), there is a section, "Additional Environment Variables". = It currently reads: loader.efi loads some extra variables early in startup from /efi/freebsd/loader.env from the EFI partition. Only simple variables can be set here. It can be useful to specify the root filesystem: rootdev=3Ddisk0s1a What it doesn't say is that that pathname is a default that can be changed.= =20 Specifically, the FreeBSD EFI variable LoaderEnv sets that pathname, which defaults to /efi/freebsd/loader.env if the variable does not exist. Also, NextLoaderEnv can be set to a pathname and that variable is then deleted af= ter it is used. My suggested documentation change is: =3D=3D=3D=3D=3D=3D=3D=3D loader.efi can set variables early in startup from a file on the EFI partit= ion. By default, that file is /efi/freebsd/loader.env. It can be changed by set= ting the FreeBSD EFI variable LoaderEnv, as in: echo -n /efi/freebsd/alt.env | efivar -w -t 7 -n cfee69ad-a0de-47a9-93a8-f63106f8ae99-LoaderEnv After that is executed, the file /efi/freebsd/alt.env is used instead of /efi/freebsd/loader.env. See efivar(8) for more information on setting EFI variables. In addition, the EFI variable NextLoaderEnv can be set to the pathname of a second startup file. That variable is deleted immediately after its value = is retrieved, so setting it will affect only the next boot attempt. For either variable, a missing file is silently ignored. A typical use for the startup file is to change the boot partition. To do that, you can put something like rootdev=3Ddisk0p15 into the file. The set = of useful variables is small, as most will be changed later. In addition, set= ting those variables that are supposed to cause side effects when set does not w= ork and may cause breakage; don't do that. The startup file contains a series of assignments separated by spaces, tabs= , or newlines. Quotes are not given any special treatment. If no =3Dvalue is g= iven, the value 1 is used. Invalid syntax and the like are silently ignored. =3D=3D=3D=3D=3D=3D=3D=3D loader.efi uses code from sys/kern/subr_boot.c to parse the files and that = code parses boot flags as well. But the "howto" variable is discarded, making t= hat useless. However, -S is handled exactly as if comconsole_speed=3D had been entered, setting the variable. That's probably unintentional since none of the other boot flags can be set from the files, so this probably shouldn't be documented. Still, if one wanted to be completist, an additio= nal paragraph could be added to the description. --=20 You are receiving this mail because: You are the assignee for the bug.=