uefi(8) fails to boot from ZFS with compression=zstd
Jan Beich
jbeich at FreeBSD.org
Fri Oct 23 06:40:42 UTC 2020
Toomas Soome <tsoome at me.com> writes:
>
>> On 23. Oct 2020, at 05:02, Jan Beich <jbeich at freebsd.org> wrote:
>>
>> After r366657 (currently, on r366953) I've tried to boot from a
>> compression=zstd dataset but it failed to reach loader(8), see below.
>> However, switching to CSM path (boot1.efi -> gptzfsboot) makes it work.
>>
>> Am I missing something?
[...]
> Does it boot when you copy loader.efi to bootx64.efi?
Yes, skipping boot1.efi works fine. Luckily, my gptzfsboot + loader.efi
still fit into 1Mb I've reserved for boot partitions.
$ gpart show nda0
=> 40 1000215136 nda0 GPT (477G)
40 320 1 freebsd-boot (160K)
360 1688 2 efi (844K)
2048 1000213120 3 freebsd-zfs (477G)
1000215168 8 - free - (4.0K)
$ sh /usr/share/examples/bhyve/vmrun.sh -ATE -d /dev/nda0 -d /dev/nda1 host-freebsd
Launching virtual machine "host-freebsd" ...
fbuf frame buffer base: 0x827800000 [sz 16777216]
Consoles: EFI console
Reading loader env vars from /efi/freebsd/loader.env
Setting currdev to disk0p2:
FreeBSD/amd64 EFI loader, Revision 1.1
(Thu Oct 22 23:48:55 UTC 2020 foo at bar)
Command line arguments: loader.efi
Image base: 0x1e907000
EFI version: 2.40
EFI Firmware: BHYVE (rev 1.00)
Console: efi (0x20001000)
Load Path: \EFI\BOOT\BOOTX64.EFI
Load Device: PciRoot(0x0)/Pci(0x3,0x0)/Sata(0x0,0x0,0x0)/HD(2,GPT,<REDACTED>,0x168,0x698)
BootCurrent: 0000
BootOrder: 0000[*] 0001 0002 0003
BootInfo Path: PciRoot(0x0)/Pci(0x3,0x0)/Sata(0x0,0x0,0x0)
Ignoring Boot0000: Only one DP found
Trying ESP: PciRoot(0x0)/Pci(0x3,0x0)/Sata(0x0,0x0,0x0)/HD(2,GPT,<REDACTED>,0x168,0x698)
Setting currdev to disk0p2:
Trying: PciRoot(0x0)/Pci(0x3,0x0)/Sata(0x0,0x0,0x0)/HD(1,GPT,<REDACTED>,0x28,0x140)
Setting currdev to disk0p1:
Trying: PciRoot(0x0)/Pci(0x3,0x0)/Sata(0x0,0x0,0x0)/HD(3,GPT,<REDACTED>,0x800,0x3B9E0A80)
Setting currdev to zfs:tank/ROOT/freebsd-zstd:
Loading /boot/defaults/loader.conf
Loading /boot/defaults/loader.conf
Loading /boot/device.hints
Loading /boot/loader.conf
Loading /boot/loader.conf.local
/
- ______ ____ _____ _____
| ____| | _ \ / ____| __ \
| |___ _ __ ___ ___ | |_) | (___ | | | |
| ___| '__/ _ \/ _ \| _ < \___ \| | | |
| | | | | __/ __/| |_) |____) | |__| |
| | | | | | || | | |
|_| |_| \___|\___||____/|_____/|_____/
``` `
┌───────────Welcome to FreeBSD────────────┐ s` `.....---.......--.``` -/
│ │ +o .--` /y:` +.
│ 1. Boot Multi user [Enter] │ yo`:. :o `+-
│ 2. Boot Single user │ y/ -/` -o/
│ 3. Escape to loader prompt │ .- ::/sy+:.
│ 4. Reboot │ / `-- /
│ 5. Cons: Dual (Serial primary) │ `: :`
│ │ `: :`
│ Options: │ / /
│ 6. Kernel: default/kernel (1 of 2) │ .- -.
│ 7. Boot Options │ -- -.
│ 8. Boot Environments │ `:` `:`
│ │ .-- `--.
└─────────────────────────────────────────┘ .---.....----.
Loading kernel...
/boot/kernel/kernel text=0x10c7c8 text=0x99a088 text=0x1a75e4 data=0x140 data=0x131aa4+0x4cd55c syms=[0x8+0x10f4d0+0x8+0x112349]
Loading configured modules...
/boot/firmware/intel-ucode.bin size=0x303800
/etc/hostid size=0x25
/boot/entropy size=0x1000
/boot/kernel/ichwd.ko size 0x8558 at 0x1b27000
Start @ 0xffffffff8030d000 ...
EFI framebuffer information:
addr, size 0xc1000000, 0x1000000
dimensions 1024 x 768
stride 1024
masks 0x00ff0000, 0x0000ff00, 0x000000ff, 0xff000000
More information about the freebsd-current
mailing list