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