1Raspberry Pi 3 2############## 3 4- http://raspberrypi.org 5 6Hardware Information 7==================== 8 9- ARMv8 Architecture (64-bit) 10- Broadcom BCM2837 (SoC) 11 12 - Includes Quad ARM Cortex-A53 CPU @ 1.2 GHz 13 - Includes VideoCore IV GPU 14 15- SD Card Storage 16- 1 GB RAM 17- Video Outputs 18 19 - HDMI Video Output 20 - Composite Video Output 21 22- Ethernet 10/100 Mbit/s 23- Wifi b/g/n single band 2.4 GHz 24- Bluetooth 4.1 BLE 25- 4x USB 2.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 ‘c’ 34- partition 2 – BeFS, Haiku filesystem, type ‘eb’ 35 36Boot Partition 37-------------- 38 39Required Files 40~~~~~~~~~~~~~~ 41 42- bootcode.bin: 2nd stage bootloader 43- start.elf: The GPU binary firmware image 44- fixup.dat: Additional code for the GPU 45- bcm2710-rpi-3-b.dtb: FDT binary for the Raspberry Pi 3B 46- bcm2710-rpi-3-b-plus.dtb: FDT binary for the Raspberry Pi 3B+ 47- config.txt: A configuration file read by the Pi to start u-boot.bin 48- u-boot.bin: u-boot loader for the Pi 3 49- boot.scr: u-boot loader script for starting Haiku Loader 50- uEnv.txt: configuration file for the boot.scr script 51- haiku_loader.efi: Haiku Loader 52 53Optional Files 54~~~~~~~~~~~~~~ 55 56- vlls directory: Additional GPU code, e.g. extra codecs. 57- uEnv.txt: u-boot configuration script to automate boot. 58 59Compiling Haiku and preparing SD card 60===================================== 61 62- Create your ARM work directory 63 ``mkdir generated.arm; cd generated.arm`` 64- Build an ARM toolchain using 65 ``../configure --build-cross-tools arm --cross-tools-source ../../buildtools`` 66- Build SD card image using ``jam -q -j6 @minimum-mmc`` 67- Prepare customized SD card using the ``rune`` tool. E.g. ``rune -b rpi3 -i haiku-mmc.image /dev/mmcblk0`` 68- Ensure that partition 1 has partition type fat16: ``parted /dev/mmcblk0 set 1 esp off`` 69 70Booting 71======= 72 731. SOC finds bootcode.bin 742. bootcode.bin runs start.elf 753. start.elf reads config.txt and start u-boot 764. u-boot.bin starts the Haiku loader 775. Haiku loader boots Haiku kernel 78 79config.txt Options 80------------------ 81 82:: 83 84 uart_2ndstage=1 85 enable_uart=1 86 kernel=u-boot.bin 87 88 89Additional Information 90====================== 91 92- `Latest Raspberry Pi 93 firmware <http://github.com/raspberrypi/firmware/tree/master/boot>`__ 94- `config.txt options <http://www.elinux.org/RPiconfig>`__ 95