1
0
Fork 0
mirror of https://gitlab.com/bztsrc/bootboot.git synced 2023-02-13 20:54:32 -05:00
bztsrc--bootboot/x86_64-efi
2018-11-09 15:12:33 +01:00
..
bootboot.c Booting from encrypted initrd 2018-11-09 12:43:03 +01:00
crt0-efi-x86_64.o Initial commit 2018-06-05 20:34:03 +02:00
efirom.c Initial commit 2018-06-05 20:34:03 +02:00
elf_x86_64_efi.lds Initial commit 2018-06-05 20:34:03 +02:00
fs.h Booting from encrypted initrd 2018-11-09 15:12:33 +01:00
libefi.a Initial commit 2018-06-05 20:34:03 +02:00
libgnuefi.a Initial commit 2018-06-05 20:34:03 +02:00
Makefile Initial commit 2018-06-05 20:34:03 +02:00
README.md Booting from encrypted initrd 2018-11-09 12:43:03 +01:00
tinf.h Initial commit 2018-06-05 20:34:03 +02:00
tinflate.c Initial commit 2018-06-05 20:34:03 +02:00

BOOTBOOT UEFI Implementation

See BOOTBOOT Protocol for common details.

On UEFI machines, the PCI Option ROM is created from the standard EFI OS loader application.

Machine state

IRQs masked. GDT unspecified, but valid, IDT unset. Code is running in supervisor mode in ring 0.

File system drivers

For boot partition, UEFI version relies on any file system that's supported by EFI Simple File System Protocol. This implementation supports both SHA-XOR-CBC and AES-256-CBC cipher.

Installation

  1. UEFI disk: copy bootboot.efi to FS0:\EFI\BOOT\BOOTX64.EFI.

  2. UEFI ROM: use bootboot.rom which is a standard PCI Option ROM image.

  3. GRUB, UEFI Boot Manager: add bootboot.efi to boot options.

Limitations

Known limitations:

  • Maps the first 16G of RAM.
  • PCI Option ROM should be signed in order to work.
  • Compressed initrd in ROM is limited to 16M.