From nobody Wed Oct 11 13:30:45 2023 X-Original-To: freebsd-arm@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 4S5DF16BTFz4xP96 for ; Wed, 11 Oct 2023 13:31:17 +0000 (UTC) (envelope-from karl@denninger.net) Received: from colo1.denninger.net (colo1.denninger.net [104.236.120.189]) (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 mx1.freebsd.org (Postfix) with ESMTPS id 4S5DF10gGzz3NrJ for ; Wed, 11 Oct 2023 13:31:17 +0000 (UTC) (envelope-from karl@denninger.net) Authentication-Results: mx1.freebsd.org; dkim=none; spf=pass (mx1.freebsd.org: domain of karl@denninger.net designates 104.236.120.189 as permitted sender) smtp.mailfrom=karl@denninger.net; dmarc=pass (policy=none) header.from=denninger.net Received: from denninger.net (096-033-195-197.res.spectrum.com [96.33.195.197]) by colo1.denninger.net (Postfix) with ESMTP id 65CE621108B for ; Wed, 11 Oct 2023 09:30:46 -0400 (EDT) Received: from [192.168.10.25] (D15.Denninger.Net [192.168.10.25]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by denninger.net (Postfix) with ESMTPSA id EECEA1DEA34 for ; Wed, 11 Oct 2023 09:30:45 -0400 (EDT) Message-ID: <68eae1cc-178c-420a-b07c-7806dd3a01d0@denninger.net> Date: Wed, 11 Oct 2023 09:30:45 -0400 List-Id: Porting FreeBSD to ARM processors List-Archive: https://lists.freebsd.org/archives/freebsd-arm List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-freebsd-arm@freebsd.org MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: unable to boot latest 14-stable Content-Language: en-US To: freebsd-arm@freebsd.org References: <841CA663-55E0-4EAD-B700-66DC884B50FA@yahoo.com> From: Karl Denninger In-Reply-To: Content-Type: multipart/signed; protocol="application/pkcs7-signature"; micalg=sha-512; boundary="------------ms040202000301030303010305" X-Spamd-Bar: ----- X-Spamd-Result: default: False [-5.89 / 15.00]; SIGNED_SMIME(-2.00)[]; NEURAL_HAM_LONG(-1.00)[-1.000]; NEURAL_HAM_SHORT(-1.00)[-1.000]; NEURAL_HAM_MEDIUM(-1.00)[-0.998]; DMARC_POLICY_ALLOW(-0.50)[denninger.net,none]; R_SPF_ALLOW(-0.20)[+mx:c]; MIME_GOOD(-0.20)[multipart/signed,multipart/alternative,text/plain]; XM_UA_NO_VERSION(0.01)[]; MLMMJ_DEST(0.00)[freebsd-arm@freebsd.org]; R_DKIM_NA(0.00)[]; MIME_TRACE(0.00)[0:+,1:+,2:+,3:~,4:~]; FROM_EQ_ENVFROM(0.00)[]; ASN(0.00)[asn:14061, ipnet:104.236.64.0/18, country:US]; ARC_NA(0.00)[]; FREEFALL_USER(0.00)[karl]; RCVD_COUNT_TWO(0.00)[2]; TO_MATCH_ENVRCPT_ALL(0.00)[]; FROM_HAS_DN(0.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; RCVD_TLS_LAST(0.00)[]; HAS_ATTACHMENT(0.00)[]; TO_DN_NONE(0.00)[]; PREVIOUSLY_DELIVERED(0.00)[freebsd-arm@freebsd.org]; RCPT_COUNT_ONE(0.00)[1]; MID_RHS_MATCH_FROM(0.00)[] X-Rspamd-Queue-Id: 4S5DF10gGzz3NrJ This is a cryptographically signed message in MIME format. --------------ms040202000301030303010305 Content-Type: multipart/alternative; boundary="------------O8chzWw09CxHe0R8FdCU4r0p" --------------O8chzWw09CxHe0R8FdCU4r0p Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit On 10/11/2023 05:19, void wrote: > Do you think the following might allow the system to boot: > > 1. get 14-stable beta5 and on another freebsd box, mount its msdos > partition > with mdconfig -f > > 2. unplug the usb3 disk from the rpi, plug it into the freebsd box, do > the same as [1] > > 3. copy the contents of [1] into [2] > > I'm worried the process might clobber something GELI needs though, > rendering the zpool/disk > permanently inaccessible. Get access to the installed partition (mount it on something else, etc.) and look in here: [karl@NewFS ~]$ ls -al /boot/*efi* -r-xr-xr-x  1 root  wheel  113664 Jun 21 12:53 /boot/boot1.efi -r--r--r--  1 root  wheel  819200 Aug 10  2022 /boot/boot1.efifat -r--r--r--  1 root  wheel    1525 Jun 21 12:53 /boot/efi.4th -r-xr-xr-x  1 root  wheel  109568 Jun 21 12:53 /boot/gptboot.efi -r--r--r--  1 root  wheel  819200 Aug 10  2022 /boot/gptboot.efifat -r-xr-xr-x  2 root  wheel  907264 Jun 21 12:53 /boot/loader.efi -r--r--r--  1 root  wheel   13653 Jun 21 12:53 /boot/loader.help.efi -r-xr-xr-x  1 root  wheel  820224 Jun 21 12:53 /boot/loader_4th.efi -r-xr-xr-x  2 root  wheel  907264 Jun 21 12:53 /boot/loader_lua.efi -r-xr-xr-x  1 root  wheel  761344 Jun 21 12:53 /boot/loader_simp.efi The file you want is /boot/loader.efi (which is a hard link to loader_lua.efi) - that goes in the EFI partition on the boot device.  Note this: [root@NewFS /home/karl]# file /boot/loader_lua.efi /boot/loader_lua.efi: PE32+ executable (EFI application) x86-64, for MS Windows For ARM it will obviously not be "x86-64", but you will note that while this is on the FreeBSD filesystem it is NOT a FreeBSD executable -- it is an EFI executable, which is what needs to be there, and it was created when the kernel and running environment was and thus, assuming that's the environment that did the "zpool upgrade", has the correct bits in it to be able to handle it. Note that you cannot use the x86 loader on an ARM box; you need this from the same architecture device.  You already have it if the device has root on an external disk (assuming that is the environment that did the zpool upgrade) so doing it off that disk should work.  This is what an x86 EFI partition looks like: [root@NewFS /home/karl]# ls -alR /mnt total 33 drwxr-xr-x   1 root  wheel  4096 Dec 31  1979 . drwxr-xr-x  37 root  wheel    44 Jun 21 12:56 .. drwxr-xr-x   1 root  wheel  4096 Feb 20  2021 EFI /mnt/EFI: total 24 drwxr-xr-x  1 root  wheel  4096 Feb 20  2021 . drwxr-xr-x  1 root  wheel  4096 Dec 31  1979 .. drwxr-xr-x  1 root  wheel  4096 Feb 20  2021 BOOT /mnt/EFI/BOOT: total 2728 drwxr-xr-x  1 root  wheel    4096 Feb 20  2021 . drwxr-xr-x  1 root  wheel    4096 Feb 20  2021 .. -rwxr-xr-x  1 root  wheel  893952 Nov 10  2022 BOOTX64.EFI -rwxr-xr-x  1 root  wheel  489984 Oct  9  2022 OLDBOOTX64.EFI It will NOT be called BOOTX64.EFI but it WILL be in that partition under EFI/BOOT; whatever the name is, that's what you copy the loader_lua.efi to.  Note that mine is currently "old" but still fine because I've upgraded under a minor version (which didn't change the zpool format); this box is 13.x and when it goes to 14 I will have to update all the EFI partitions (that's a mirror, so there are two) or it won't boot once the pools are upgraded. That's what the EFI system will look for and attempt to load and execute. I have been bit by this in the land before EFI time with "legacy" bootcode (some years ago) as the upgrade procedure does not modify the bootcode.  You're "safe" doing that PROVIDED you do not do a "zpool upgrade"; if you DO, and haven't fixed the bootcode first, you're screwed as you had happen. -- Karl Denninger karl@denninger.net /The Market Ticker/ /[S/MIME encrypted email preferred]/ --------------O8chzWw09CxHe0R8FdCU4r0p Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: 8bit
On 10/11/2023 05:19, void wrote:
Do you think the following might allow the system to boot:

1. get 14-stable beta5 and on another freebsd box, mount its msdos partition
with mdconfig -f

2. unplug the usb3 disk from the rpi, plug it into the freebsd box, do the same as [1]

3. copy the contents of [1] into [2]

I'm worried the process might clobber something GELI needs though, rendering the zpool/disk
permanently inaccessible.

Get access to the installed partition (mount it on something else, etc.) and look in here:

[karl@NewFS ~]$ ls -al /boot/*efi*
-r-xr-xr-x  1 root  wheel  113664 Jun 21 12:53 /boot/boot1.efi
-r--r--r--  1 root  wheel  819200 Aug 10  2022 /boot/boot1.efifat
-r--r--r--  1 root  wheel    1525 Jun 21 12:53 /boot/efi.4th
-r-xr-xr-x  1 root  wheel  109568 Jun 21 12:53 /boot/gptboot.efi
-r--r--r--  1 root  wheel  819200 Aug 10  2022 /boot/gptboot.efifat
-r-xr-xr-x  2 root  wheel  907264 Jun 21 12:53 /boot/loader.efi
-r--r--r--  1 root  wheel   13653 Jun 21 12:53 /boot/loader.help.efi
-r-xr-xr-x  1 root  wheel  820224 Jun 21 12:53 /boot/loader_4th.efi
-r-xr-xr-x  2 root  wheel  907264 Jun 21 12:53 /boot/loader_lua.efi
-r-xr-xr-x  1 root  wheel  761344 Jun 21 12:53 /boot/loader_simp.efi

The file you want is /boot/loader.efi (which is a hard link to loader_lua.efi) - that goes in the EFI partition on the boot device.  Note this:

[root@NewFS /home/karl]# file /boot/loader_lua.efi
/boot/loader_lua.efi: PE32+ executable (EFI application) x86-64, for MS Windows

For ARM it will obviously not be "x86-64", but you will note that while this is on the FreeBSD filesystem it is NOT a FreeBSD executable -- it is an EFI executable, which is what needs to be there, and it was created when the kernel and running environment was and thus, assuming that's the environment that did the "zpool upgrade", has the correct bits in it to be able to handle it.

Note that you cannot use the x86 loader on an ARM box; you need this from the same architecture device.  You already have it if the device has root on an external disk (assuming that is the environment that did the zpool upgrade) so doing it off that disk should work.  This is what an x86 EFI partition looks like:

[root@NewFS /home/karl]# ls -alR /mnt
total 33
drwxr-xr-x   1 root  wheel  4096 Dec 31  1979 .
drwxr-xr-x  37 root  wheel    44 Jun 21 12:56 ..
drwxr-xr-x   1 root  wheel  4096 Feb 20  2021 EFI

/mnt/EFI:
total 24
drwxr-xr-x  1 root  wheel  4096 Feb 20  2021 .
drwxr-xr-x  1 root  wheel  4096 Dec 31  1979 ..
drwxr-xr-x  1 root  wheel  4096 Feb 20  2021 BOOT

/mnt/EFI/BOOT:
total 2728
drwxr-xr-x  1 root  wheel    4096 Feb 20  2021 .
drwxr-xr-x  1 root  wheel    4096 Feb 20  2021 ..
-rwxr-xr-x  1 root  wheel  893952 Nov 10  2022 BOOTX64.EFI
-rwxr-xr-x  1 root  wheel  489984 Oct  9  2022 OLDBOOTX64.EFI

It will NOT be called BOOTX64.EFI but it WILL be in that partition under EFI/BOOT; whatever the name is, that's what you copy the loader_lua.efi to.  Note that mine is currently "old" but still fine because I've upgraded under a minor version (which didn't change the zpool format); this box is 13.x and when it goes to 14 I will have to update all the EFI partitions (that's a mirror, so there are two) or it won't boot once the pools are upgraded.

That's what the EFI system will look for and attempt to load and execute.

I have been bit by this in the land before EFI time with "legacy" bootcode (some years ago) as the upgrade procedure does not modify the bootcode.  You're "safe" doing that PROVIDED you do not do a "zpool upgrade"; if you DO, and haven't fixed the bootcode first, you're screwed as you had happen.

--
Karl Denninger
karl@denninger.net
The Market Ticker
[S/MIME encrypted email preferred]
--------------O8chzWw09CxHe0R8FdCU4r0p-- --------------ms040202000301030303010305 Content-Type: application/pkcs7-signature; name="smime.p7s" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="smime.p7s" Content-Description: S/MIME Cryptographic Signature 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 AAAAAA== --------------ms040202000301030303010305--