1Raspberry Pi 2############ 3 4- http://raspberrypi.org 5 6Hardware Information 7==================== 8 9- ARMv6 Architecture 10- Broadcom BCM2835 (SoC) 11 12 - Includes ARM1176JZF-S CPU @ 700 MHz 13 - Includes VideoCore IV GPU 14 15- SD Card Storage 16- 256 or 512 MB RAM (depending on revision) 17- Video Outputs 18 19 - HDMI Video Output 20 - Composite Video Output 21 22- Ethernet 23 24Setting up the Haiku SD card 25============================ 26 27The Raspberry Pi SD card generally uses the MBR file system layout 28below. Partition 1 is all that is required to boot an OS. 29 30- partition 1 – FAT32, bootable flag, type ‘c’ 31- partition 2 – BeFS, Haiku filesystem, type ‘eb’ 32 33Boot Partition 34-------------- 35 36Required Files 37~~~~~~~~~~~~~~ 38 39- bootcode.bin : 2nd stage bootloader 40- start.elf: The GPU binary firmware image 41- config.txt: A configuration file read by the Pi to start u-boot.bin 42- u-boot.bin: u-boot loader for the Pi 2 43- bcm2835-rpi-b.dtb: FDT binary for the Raspberry Pi 2 44- haiku_loader_linux.ub: Haiku Loader 45- haiku-floppyboot.tgz.ub: Compressed initial ram image with Haiku 46 kernel 47 48Optional Files 49~~~~~~~~~~~~~~ 50 51- vlls directory: Additional GPU code, e.g. extra codecs. 52- uEnv.txt: u-boot configuration script to automate boot. 53 54Compiling 55========= 56 57- Create your ARM work directory 58 ``mkdir generated.arm; cd generated.arm`` 59- Build an ARM toolchain using 60 ``../configure --build-cross-tools arm ../../buildtools --target-board=rpi1`` 61- Build our loader using ``jam -q haiku_loader_linux.ub`` 62- Build our initial ram disk using ``jam -q haiku-floppyboot.tgz.ub`` 63 64Booting 65======= 66 671. SOC finds bootcode.bin 682. bootcode.bin runs start.elf 693. start.elf reads config.txt and start u-boot 704. u-boot.bin starts the Haiku loader 715. Haiku loader boots Haiku kernel 72 73config.txt Options 74------------------ 75 76:: 77 78 kernel=u-boot.bin 79 80u-boot startup 81-------------- 82 83These will be condensed and automated long-term via uEnv.txt :-) 84 85- ``fatload mmc 0 ${fdt_addr_r} bcm2835-rpi-b.dtb`` 86- ``fdt addr ${fdt_addr_r}`` 87- ``fatload mmc 0 ${ramdisk_addr_r} haiku-floppyboot.tgz.ub`` 88- ``fatload mmc 0 ${kernel_addr_r} haiku_loader_linux.ub`` 89- ``bootm ${kernel_addr_r} ${ramdisk_addr_r} ${fdt_addr_r}`` 90 91Additional Information 92====================== 93 94- `Latest Raspberry Pi 95 firmware <http://github.com/raspberrypi/firmware/tree/master/boot>`__ 96- `config.txt options <http://www.elinux.org/RPiconfig>`__ 97