1Raspberry Pi 4 2############## 3 4- http://raspberrypi.org 5 6Hardware Information 7==================== 8 9- ARMv8 Architecture (64-bit) 10- Broadcom BCM2711 (SoC) 11 12 - Includes Quad ARM Cortex-A72 CPU @ 1.8 GHz 13 - Includes VideoCore VI GPU 14 15- SD Card Storage 16- 1, 2, 4 or 8 GB RAM 17- Video Outputs 18 19 - 2x HDMI Video Output via micro-HDMI 20 - Composite Video Output 21 22- Ethernet 10/100/1000 Mbit/s 23- Wifi b/g/n/ac dual band 2.4/5 GHz 24- Bluetooth 5.0 25- 2x USB 2.0, 2x USB 3.0 26 27Setting up the Haiku SD card 28============================ 29 30The Raspberry Pi SD card generally uses the MBR file system layout 31below. Partition 1 is all that is required to boot an OS. 32 33- partition 1 – FAT32, bootable flag, type ‘ef’ 34- partition 2 – BeFS, Haiku filesystem, type ‘eb’ 35 36Boot Partition 37-------------- 38 39Required Files 40~~~~~~~~~~~~~~ 41 42- start4.elf: The GPU binary firmware image 43- fixup4.dat: Additional code for the GPU 44- bcm2711-rpi-4-b.dtb: FDT binary for the Raspberry Pi 4B 45- bcm2711-rpi-400.dtb: FDT binary for the Raspberry Pi 400 46- config.txt: A configuration file read by the Pi to start u-boot.bin 47- u-boot.bin: u-boot loader for the Pi 4 48- boot.scr: u-boot loader script for starting Haiku Loader 49- uEnv.txt: configuration file for the boot.scr script 50- haiku_loader.efi: Haiku Loader 51 52Note: unlike previous Raspberry Pi models, there's no bootcode.bin on the 53Raspberry Pi 4 as it's replaced by a boot EEPROM. 54 55Optional Files 56~~~~~~~~~~~~~~ 57 58- vlls directory: Additional GPU code, e.g. extra codecs. 59- uEnv.txt: u-boot configuration script to automate boot. 60 61Compiling Haiku and preparing SD card 62===================================== 63 64- Create your ARM work directory 65 ``mkdir generated.arm; cd generated.arm`` 66- Build an ARM toolchain using 67 ``../configure --build-cross-tools arm --cross-tools-source ../../buildtools`` 68- Build SD card image using ``jam -q -j6 @minimum-mmc`` 69- Prepare customized SD card using the ``rune`` tool. E.g. ``rune -b rpi4 -i haiku-mmc.image /dev/mmcblk0`` 70 71Booting 72======= 73 741. SOC starts the boot EEPROM 752. Boot EEPROM runs start4.elf 763. start4.elf reads config.txt and start u-boot 774. u-boot.bin starts the Haiku loader 785. Haiku loader boots Haiku kernel 79 80config.txt Options 81------------------ 82 83:: 84 85 uart_2ndstage=1 86 enable_uart=1 87 kernel=u-boot.bin 88 89 90Additional Information 91====================== 92 93- `Latest Raspberry Pi 94 firmware <http://github.com/raspberrypi/firmware/tree/master/boot>`__ 95- `config.txt options <http://www.elinux.org/RPiconfig>`__ 96