2020-02-26 06:54:20 -05:00
BOOTBOOT Raspberry Pi 3 / 4 Implementáció
=========================================
2019-03-14 21:48:34 -04:00
Általános leírásért lásd a [BOOTBOOT Protokoll ](https://gitlab.com/bztsrc/bootboot )t.
2020-02-26 06:54:20 -05:00
A [Raspberry Pi 3+ ](https://www.raspberrypi.org/documentation/hardware/raspberrypi/bootmodes/sdcard.md ) gépen a bootboot.img-t a
2019-03-14 21:48:34 -04:00
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 ](https://gitlab.com/bztsrc/bootboot/blob/master/bootboot_spec_1st_ed.pdf ).
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ó).
2020-02-26 06:57:02 -05:00
Az initrd soros vonalról is betölthető, ehhez a távoli gépen a [raspbootcom ](https://gitlab.com/bztsrc/bootboot/blob/master/aarch64-rpi/raspbootcom.c )-ot
vagy az [USBImager ](https://gitlab.com/bztsrc/usbimager )-t kell futtatni.
2019-03-14 21:48:34 -04:00
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ájlok ](https://gitlab.com/raspberrypi/firmware/tree/master/boot )ra 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 ](https://gitlab.com/bztsrc/bootboot/blob/master/aarch64-rpi/mkboot.c )
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