[Bug 264282] BIOS boot from GELI encrypted broken / 'currdev' set to wrong string
- Reply: bugzilla-noreply_a_freebsd.org: "[Bug 264282] BIOS boot from GELI encrypted broken / 'currdev' set to wrong string"
- Reply: bugzilla-noreply_a_freebsd.org: "[Bug 264282] BIOS boot from GELI encrypted broken / 'currdev' set to wrong string"
- Reply: bugzilla-noreply_a_freebsd.org: "[Bug 264282] BIOS boot from GELI encrypted broken / 'currdev' set to wrong string"
- Reply: bugzilla-noreply_a_freebsd.org: "[Bug 264282] BIOS boot from GELI encrypted broken / 'currdev' set to wrong string"
- Reply: bugzilla-noreply_a_freebsd.org: "[Bug 264282] BIOS boot from GELI encrypted broken / 'currdev' set to wrong string"
- Reply: bugzilla-noreply_a_freebsd.org: "[Bug 264282] BIOS boot from GELI encrypted broken / 'currdev' set to wrong string"
- Reply: bugzilla-noreply_a_freebsd.org: "[Bug 264282] BIOS boot from GELI encrypted broken / 'currdev' set to wrong string"
- Reply: bugzilla-noreply_a_freebsd.org: "[Bug 264282] BIOS boot from GELI encrypted broken / 'currdev' set to wrong string"
- Reply: bugzilla-noreply_a_freebsd.org: "[Bug 264282] BIOS boot from GELI encrypted broken / 'currdev' set to wrong string"
- Reply: bugzilla-noreply_a_freebsd.org: "[Bug 264282] BIOS boot from GELI encrypted broken / 'currdev' set to wrong string"
- Reply: bugzilla-noreply_a_freebsd.org: "[Bug 264282] BIOS boot from GELI encrypted broken / 'currdev' set to wrong string"
- Reply: bugzilla-noreply_a_freebsd.org: "[Bug 264282] BIOS boot from GELI encrypted broken / 'currdev' set to wrong string"
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Fri, 27 May 2022 12:04:42 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=264282 Bug ID: 264282 Summary: BIOS boot from GELI encrypted broken / 'currdev' set to wrong string Product: Base System Version: 13.1-RELEASE Hardware: amd64 OS: Any Status: New Severity: Affects Some People Priority: --- Component: kern Assignee: bugs@FreeBSD.org Reporter: yamagi@yamagi.org Hello, in 13.1-RELEASE and -CURRENT as of 18054d0220cf it's impossible to boot from an GELI encrypted root volume, because the 'currdev' loader variable is set to a wrong string. Thus the loader is unable to load the boot data from the disk. I've bisect this in 13.1-RELEASE. It was broken in commit bc9154a208248, which was cherry picked from b4cb3fe0e39a. Setup ----- I've tested BIOS boot from GPT with / on GELI. / is decrypted by gptboot. The bootchain is BIOS -> pmbr (read from the MBR) -> gptboot (read from a freebsd-boot partition) -> /boot/loader. geli show: => 40 41942960 vtbd0 GPT (20G) 40 256 1 freebsd-boot (128K) 296 4194304 2 freebsd-swap (2.0G) 4194600 37748400 3 freebsd-ufs (18G) It doesn't matter if it's real hardware or - like in this example - an VM. It happens regardless how many devices are attached. Problem ------- Try to boot the system. /boot/loader errors out with "ERROR: cannot open /boot/lua/loader.lua: no such file or directory." This is caused by the currdev variable get set to the wrong string: # show currdev gelidisk0p3: The 'geli' at the beginning of the string is wrong. lsdev lists the device with its correct name, disk0p3. loaders build before bc9154a208248 are working fine, currdev is set to disk0p3. Impact ------ This makes it impossible to boot from an encrypted /. At least not without manual interactions, like typing the correct path into the loader prompt. I've testes only BIOS with GPT and UFS. I don't know if other combinations are also impacted. -- You are receiving this mail because: You are the assignee for the bug.