2.9 KiB
BOOTBOOT Coreboot x86_64 Implementáció
Általános leírásért lásd a BOOTBOOT Protokollt.
Ez coreboot payloadként implementálja a BOOTBOOT Protokollt. Jelenleg FEJLESZTÉS ALATT. A coreboot fordítási környezetben fordítandó.
Fordítás
1. lépés - Függőségek telepítése
Először is, telepíteni kell a coreboot függőségeit: bison, build-essentials, curl, flex, git, gnat, libncurses5-dev, m4, zlib. A legfrissebb listáért nézd meg a linkelt dokumentumot.
2. lépés - A coreboot beszerzése
Töltsd le a coreboot-ot minden almoduljával együtt
$ git clone https://review.coreboot.org/coreboot
$ cd coreboot
$ git submodule update --init
Nagyon fontos, hogy inicializáld az almodulokat, máskülönben nem fog lefordulni a coreboot.
3. lépés - Fordítókörnyezet (toolchain) létrehozása
Ez el fog tartani egy jódarabig. A $(nproc) helyett add meg, hogy hány CPU core-od van.
$ make crossgcc-i386 CPUS=$(nproc)
4. lépés - A coreboot pecselése és konfigurálása
Másold át és írd felül a ../coreboot könyvtár fájlait a coreboot projekted munkakönyvtárába. Ez frissíteni fogja a coreboot konfigurációs rendszerét.
Ezután be kell konfigurálnod a coreboot-ot, hogy milyen alaplapot (vagy qemu-t) kezeljen, és hogy BOOTBOOT-al induljon.
$ make menuconfig
válaszd a 'Mainboard' menüt
alatta a 'Mainboard vendor' legyen '(Emulation)'
alatta a 'Mainboard model' legyen 'QEMU x86 i440fx/piix4'
válaszd az 'Exit'-t
válaszd a 'Payload' menüt
válaszd az 'Add a Payload' opciót
válaszd ki a 'BOOTBOOT'-ot
válaszd az 'Exit'-t
válaszd az 'Exit'-t
válaszd a 'Yes'-t
5. lépés - A coreboot fordítása
$ make
6. lépés - A frissen fordított ROM tesztelése QEMU-n
Bővebb információért lásd a coreboot dokumentációt.
$ qemu-system-x86_64 -bios $(COREBOOT)/build/coreboot.rom -drive file=$(BOOTBOOT)/images/disk-x86.img,format=raw -serial stdio
Gép állapot
IRQ-k letiltva, GDT nincs meghatározva, de érvényes, IDT nincs beállítva. SSE, SMP engedélyezve. Kód felügyeleti módban, 0-ás gyűrűn fut minden processzormagon.
Telepítés
Miután lefordítottad a coreboot ROM-ot BOOTBOOT payloaddal, flashelheted a build/coreboot.rom fájlt az alaplapodra.
Limitációk
- Mivel védett módban indul, csak az első 4G-nyi RAM-ot képezi le.
- A CMOS nvram nem tárol időzónát, ezért mindig GMT+0 kerül a bootboot.timezone-ba.
- Csak a SHA-XOR-CBC titkosítást ismeri, nincs AES