1
0
Fork 0
mirror of https://gitlab.com/bztsrc/bootboot.git synced 2023-02-13 20:54:32 -05:00
bztsrc--bootboot/aarch64-cb/OLVASSEL.md
2020-09-13 22:53:30 +02:00

2.7 KiB

BOOTBOOT Coreboot ARM64 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-aarch64 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 AArch64'
    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-aarch64 -bios $(COREBOOT)/build/coreboot.rom -M virt,secure=on,virtualization=on -cpu cortex-a53 -m 1024M \
    -drive file=$(BOOTBOOT)/images/disk-rpi.img,format=raw -serial stdio

Gép állapot

A kód felügyeleti módban, EL1-en fut minden processzoron.

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

  • Csak a SHA-XOR-CBC titkosítást ismeri, nincs AES