1Raspberry Pi 2 2############## 3 4- http://raspberrypi.org 5 6Hardware Information 7==================== 8 9- ARMv7 Architecture 10- Broadcom BCM2836 (SoC) 11 12 - Includes Quad ARM Cortex-A7 CPU @ 900 MHz 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- 4x USB 2.0 24 25Setting up the Haiku SD card 26============================ 27 28The Raspberry Pi SD card generally uses the MBR file system layout 29below. Partition 1 is all that is required to boot an OS. 30 31- partition 1 – FAT32, bootable flag, type ‘c’ 32- partition 2 – BeFS, Haiku filesystem, type ‘eb’ 33 34Boot Partition 35-------------- 36 37Required Files 38~~~~~~~~~~~~~~ 39 40- bootcode.bin: 2nd stage bootloader 41- start.elf: The GPU binary firmware image 42- fixup.dat: Additional code for the GPU 43- bcm2709-rpi-2-b.dtb: FDT binary for the Raspberry Pi 2B 44- bcm2710-rpi-2-b.dtb: FDT binary for the Raspberry Pi 2B rev 1.2 45- config.txt: A configuration file read by the Pi to start u-boot.bin 46- u-boot.bin: u-boot loader for the Pi 2 47- haiku_loader_linux.ub: Haiku Loader 48- haiku-floppyboot.tgz.ub: Compressed initial ram image with Haiku 49 kernel 50 51Optional Files 52~~~~~~~~~~~~~~ 53 54- vlls directory: Additional GPU code, e.g. extra codecs. 55- uEnv.txt: u-boot configuration script to automate boot. 56 57Compiling 58========= 59 60- Create your ARM work directory 61 ``mkdir generated.arm; cd generated.arm`` 62- Build an ARM toolchain using 63 ``../configure --build-cross-tools arm ../../buildtools --target-board=rpi2`` 64- Build our loader using ``jam -q haiku_loader_linux.ub`` 65- Build our initial ram disk using ``jam -q haiku-floppyboot.tgz.ub`` 66 67Booting 68======= 69 701. SOC finds bootcode.bin 712. bootcode.bin runs start.elf 723. start.elf reads config.txt and start u-boot 734. u-boot.bin starts the Haiku loader 745. Haiku loader boots Haiku kernel 75 76config.txt Options 77------------------ 78 79:: 80 81 kernel=u-boot.bin 82 83u-boot startup 84-------------- 85 86These will be condensed and automated long-term via uEnv.txt :-) 87 88- ``fatload mmc 0 ${fdt_addr_r} bcm2836-rpi-2-b.dtb`` 89- ``fdt addr ${fdt_addr_r}`` 90- ``fatload mmc 0 ${ramdisk_addr_r} haiku-floppyboot.tgz.ub`` 91- ``fatload mmc 0 ${kernel_addr_r} haiku_loader_linux.ub`` 92- ``bootm ${kernel_addr_r} ${ramdisk_addr_r} ${fdt_addr_r}`` 93 94Additional Information 95====================== 96 97- `Latest Raspberry Pi 98 firmware <http://github.com/raspberrypi/firmware/tree/master/boot>`__ 99- `config.txt options <http://www.elinux.org/RPiconfig>`__ 100