From nobody Mon Feb 9 05:39:18 2026 X-Original-To: doc@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 4f8YRC1VTgz6Qb05 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 4f8YRC0g60z420B 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=AWPkn4c5TX+rihPcjm8qaeZrfA6rIq4Tac3u0WIQKaA=; b=tlMDK8GnQg/stkNy8k3MaOwlQYgoVMEETACf3UzdY7EE8RLrOH8r35kV1WLknVzwZwv2z1 AD0U0yVek08jQ43lk//zKSJTC/3KpBsptI50iSzh1IE06vALbvD6EUvxjmljreNfRQ9Oup V7T7top+43K2LNFSyATtyj5hOKN+mDuwKTnFtWnlnwBxq/G2coubP+fujnBKdSUEiEa1Ii xekS76h29ONRtIFyHYTQh/8Ete5rdt0WbGvOwdArKR2EtdY5siTWKOwLNfYsB6uyvKXIUP G7wrEvIdtZPtetDlBlJAQ4aw9AgUTkZqYfpOCUlhcDyS/MDzXcZJsEeb2VHFLg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1770615559; a=rsa-sha256; cv=none; b=Vy2qKsHrm+3THm0r6rH73b3Ri9HLxVq8jSPzSZ4H8LmnWsP9UHfp3k1C/DFuONj3uG4LtJ RXci8T3h9GbofccL7ofFdBTVcS3BGP/ZHzPzQt+2gGC4+ddWdsfx9xAqInk52uf0MD6jb+ CGIBD3mon5ERcF8ENoN3Km8Me5hT/6X4Qfjj0++xtmAD99Te1hNxPjAfMczl/rkEgYM5Zo mmdn62/D/TZ0nzQP2Qlv8AdkmvbCM8OhgR881JjJYUkcZuVqlAOvIZN9bjs833IDx/zbW9 /P63eczI64hAuCAMtYkdiBH/7yAAXia0PTxQWU/vGdG5TDdqQPgAcchAF6TOmA== 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=AWPkn4c5TX+rihPcjm8qaeZrfA6rIq4Tac3u0WIQKaA=; b=ZuMVDaSxEPGCXjNc98mg5AbkElujG8G7jjtxxkFCUVjdoje7ga4eDXMkQXknbg+CXYJPUh LUuKmyZVBvrmCTyKYSL3JFIf7ORk5jPdeWy7Wpu6UCpCXP2fpVpw5v2pzW+bIuxizzwXpN wLT8hYew/FE8hARsNQ8YAQVaf0xTgcFHcUp0jGh10iLd8bbRFpmsco8+qzX1WauEnx+5gP bjNunGIJ9VB+/KOK+0sI7Bj7Jkcy1T0EXsrhS4pKTvqP6sohLxJteY40q8pR3MvoKfYSA6 Y9ugQpKclGLLCrEj32Oi4eo7jh5hTsBJc9l5CwERWjz6erZzIevCNJ2Pr7Z2FQ== 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 4f8YRB757Fz4cG for ; Mon, 09 Feb 2026 05:39:18 +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 6195dIvt009753 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 6195dI3X009752 for doc@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: doc@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: CC 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: Documentation project List-Archive: https://lists.freebsd.org/archives/freebsd-doc List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-freebsd-doc@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 on the CC list for the bug.=