OLVASSEL.md 2.2 KB

BOOTBOOT Raspberry Pi 3 / 4 Implementáció

Általános leírásért lásd a BOOTBOOT Protokollt.

A Raspberry Pi 3+ gépen a bootboot.img-t a start.elf tölti be kernel8.ig néven az SD kártya első partíciójáról. Ha külön förmver és boot partíciót szeretnél, olvasd el a dokumentációt.

Gép állapot

A szokásos leképezéseken túl az MMIO is leképezésre kerül a kernel címtartományba:

   -128M         MMIO      (0xFFFFFFFFF8000000)

A kód felügyeleti módban, EL1-en fut minden processzoron. Egyszerű kivételkezelő be van állítva ugyan, de a kernelednek minnél előbb érdemes sajátra váltania.

Fájl rendszer meghajtók

A boot partíció az RPi3 verzióban FAT16 vagy FAT32 fájl rendszer lehet (ha az initrd egy fájl és nem egy teljes partíció). Az initrd soros vonalról is betölthető, ehhez a távoli gépen a raspbootcom-ot vagy az USBImager-t kell futtatni.

A gzip tömörítés ellenjavalt, mivel az SD kártya sebessége lényegesen gyorsabb, mint a kitömörítésé.

Telepítés

  1. Másold be a bootboot.img-t az FS0:\KERNEL8.IMG-be.

  2. Szükséged lesz egyéb förmver fájlokra is (bootcode.bin, start.elf, fixup,dat).

  3. Ha GPT-t használtál ESP-vel boot partíciónak, akkor le kell azt képezni az MBR-be, hogy a Raspberry Pi förmvere megtalálja azokat a fájlokat. A mkboot szerszám ezt megteszi neked.

Limitációk

  • Nem lehet az initrd-t a ROM-ban tárolni
  • Csak az első 1G RAM-ot képezi le.
  • Egyéb kártyák, mint az SDHC Class 10 nincsenek támogatva.
  • Raspberry Pi-n nincs alaplapi RTC, ezért mindig 0000-00-00 00:00:00 kerül a bootboot.datetime-ba.
  • Csak a SHA-XOR-CBC titkosítást ismeri, nincs AES