FreeBSD dostane podporu UEFI i Secure Bootu
Benno Rice tak bude primárně pracovat na podpoře UEFI ve FreeBSD. Zavaděč by měl být schopen běhat s UEFI na platformě amd64, tedy být schopen běhu jakožto EFI aplikace. Plus budou odstraněny zastaralé závislosti na BIOS kódu a celkově bootloader pročištěn a aktualizován. Práce na tomto projektu by měly být dokončeny ještě v průběhu tohoto měsíce.
Stav podpory UEFI:
64-bit UEFI loader | |
Make libstand build natively as 64-bit on amd64. | Complete |
Adjust non-EFI boot code to use /usr/lib32/libstand.a. | Complete |
Add bits to build 64-bit loader.efi. | Complete |
Make sure that loader.efi can actually load a kernel and hand off to it. | Complete |
Pass ACPI table information to kernel via hints. | Complete |
Clean up loader.efi to propery exit UEFI. | Complete |
Clean up loader.efi to allocate memory properly. | Complete |
Test that the other boot code still actually works. | Not started |
Boot amd64 kernel | |
Work out how to pass the memory map from EFI to the kernel. | Complete |
Work out why syscons isn't working. | Complete |
Write an EFI framebuffer driver. | Complete |
Work out why kernel hand-off doesn't work work on systems with >1GB of RAM. | Complete |
UEFI-compatible install media | |
Work out how exactly CD/DVD boot under UEFI works. | Complete |
Create a UEFI boot image and attach it to an ISO image. | Complete |
Allow loader to see CD filesystem once booted from CD. | Complete |
Glue UEFI boot logic into the distribution build. | In progress |
Další dobrou zprávou je to, že Benno pracuje i na podpoře Secure Bootu. Ta je zatím v plánovacím stádiu, jedná se o komplexnější problém. FreeBSD Wiki konstatuje, že loader shim od Matthewa Garretta (bývalého zaměstnance Red Hatu) je licenčně kompatibilní s BSD licencí, takže jej FreeBSD může jako first-stage loader pro načítání svého vlastního loaderu použít. Do FreeBSD ale ještě musí být dodělána infrastruktura pro podepisovaný kód a schopnost ověřovat signatury loaderu a také modulu uvnitř kernelu. To bude vyžadovat i modifikaci či odstranění některých rozhraní ve strukturách jako
Stav podpory Secure Boot:
Secure boot, unrestricted runtime | |
Acquire FreeBSD signing key | Not started |
Port shim loader | Not started |
Add mechanism to sign loader.efi | Not started |
Work out to what extend loader.efi needs to be locked down, including forth code | Not started |
Add documentation on creating and enrolling custom keys | Not started |
Add tools for signing loader.efi and shim | Not started |
Secure boot, restricted runtime | |
Add tools for signing kernel and modules | Not started |
Add code to loader.efi for kernel and module signature verification | Not started |
Add code to kernel for module signature verification | Not started |
Add code to kernel for prevention of user-initiated DMA | Not started |
Diskuse ke článku FreeBSD dostane podporu UEFI i Secure Bootu