doc: Update rpi1/rpi2 documentation.
This commit is contained in:
@@ -27,35 +27,45 @@ The Raspberry Pi SD card generally uses the MBR file system layout below. Partit
|
|||||||
|
|
||||||
* bootcode.bin : 2nd stage bootloader
|
* bootcode.bin : 2nd stage bootloader
|
||||||
* start.elf: The GPU binary firmware image
|
* start.elf: The GPU binary firmware image
|
||||||
* haiku_loader: Haiku Loader
|
* config.txt: A configuration file read by the Pi to start u-boot.bin
|
||||||
* haiku-floppyboot.tgz: Compressed image with Haiku kernel
|
* u-boot.bin: u-boot loader for the Pi 2
|
||||||
* config.txt: A configuration file read by the GPU.
|
* bcm2835-rpi-b.dtb: FDT binary for the Raspberry Pi 2
|
||||||
|
* haiku_loader_linux.ub: Haiku Loader
|
||||||
|
* haiku-floppyboot.tgz.ub: Compressed initial ram image with Haiku kernel
|
||||||
|
|
||||||
### Optional Files
|
### Optional Files
|
||||||
|
|
||||||
* vlls directory: Additional GPU code, e.g. extra codecs.
|
* vlls directory: Additional GPU code, e.g. extra codecs.
|
||||||
|
* uEnv.txt: u-boot configuration script to automate boot.
|
||||||
|
|
||||||
# Compiling
|
# Compiling
|
||||||
|
|
||||||
* Create your work directory `mkdir generated.arm; cd generated.arm`
|
* Create your ARM work directory `mkdir generated.arm; cd generated.arm`
|
||||||
* Build an ARM toolchain using `../configure --build-cross-tools arm ../../buildtools`
|
* Build an ARM toolchain using `../configure --build-cross-tools arm ../../buildtools --target-board=rpi1`
|
||||||
* Build our loader using `jam -q -sHAIKU_BOOT_BOARD=raspberry_pi -sHAIKU_BOOT_PLATFORM=raspberrypi_arm haiku_loader`
|
* Build our loader using `jam -q haiku_loader_linux.ub`
|
||||||
* Build our file system using `jam -q -sHAIKU_BOOT_BOARD=raspberry_pi -sHAIKU_BOOT_PLATFORM=raspberrypi_arm haiku-floppyboot.tgz`
|
* Build our initial ram disk using `jam -q haiku-floppyboot.tgz.ub`
|
||||||
|
|
||||||
# Booting
|
# Booting
|
||||||
|
|
||||||
1. SOC finds bootcode.bin
|
1. SOC finds bootcode.bin
|
||||||
2. bootcode.bin runs start.elf
|
2. bootcode.bin runs start.elf
|
||||||
2. start.elf reads config.txt and cmdline.txt
|
3. start.elf reads config.txt and start u-boot
|
||||||
3. start.elf runs specified binary at specified address
|
4. u-boot.bin starts the Haiku loader
|
||||||
|
5. Haiku loader boots Haiku kernel
|
||||||
|
|
||||||
## config.txt Options
|
## config.txt Options
|
||||||
|
|
||||||
kernel=haiku_loader
|
kernel=u-boot.bin
|
||||||
kernel_address=0x0
|
|
||||||
disable_commandline_tags=1
|
## u-boot startup
|
||||||
ramfsfile=haiku-floppyboot.tgz
|
|
||||||
ramfsaddr=0x04000000
|
These will be condensed and automated long-term via uEnv.txt :-)
|
||||||
|
|
||||||
|
* `fatload mmc 0 ${fdt_addr_r} bcm2836-rpi-2-b.dtb`
|
||||||
|
* `fdt addr ${fdt_addr_r}`
|
||||||
|
* `fatload mmc 0 ${ramdisk_addr_r} haiku-floppyboot.tgz.ub`
|
||||||
|
* `fatload mmc 0 ${kernel_addr_r} haiku_loader_linux.ub`
|
||||||
|
* `bootm ${kernel_addr_r} ${ramdisk_addr_r} ${fdt_addr_r}`
|
||||||
|
|
||||||
# Additional Information
|
# Additional Information
|
||||||
|
|
||||||
@@ -0,0 +1,74 @@
|
|||||||
|
# Raspberry Pi 2
|
||||||
|
* http://raspberrypi.org
|
||||||
|
|
||||||
|
# Hardware Information
|
||||||
|
|
||||||
|
* ARMv7 Architecture
|
||||||
|
* Broadcom BCM2836 (SoC)
|
||||||
|
* Includes Quad ARM1176JZF-S CPU @ 900 MHz
|
||||||
|
* Includes VideoCore IV GPU
|
||||||
|
* SD Card Storage
|
||||||
|
* 1 GB RAM
|
||||||
|
* Video Outputs
|
||||||
|
* HDMI Video Output
|
||||||
|
* Composite Video Output
|
||||||
|
* Ethernet
|
||||||
|
|
||||||
|
# Setting up the Haiku SD card
|
||||||
|
|
||||||
|
The Raspberry Pi SD card generally uses the MBR file system layout below. Partition 1 is all that is required to boot an OS.
|
||||||
|
|
||||||
|
* partition 1 -- FAT32, bootable flag, type 'c'
|
||||||
|
* partition 2 -- BeFS, Haiku filesystem, type 'eb'
|
||||||
|
|
||||||
|
## Boot Partition
|
||||||
|
|
||||||
|
### Required Files
|
||||||
|
|
||||||
|
* bootcode.bin : 2nd stage bootloader
|
||||||
|
* start.elf: The GPU binary firmware image
|
||||||
|
* config.txt: A configuration file read by the Pi to start u-boot.bin
|
||||||
|
* u-boot.bin: u-boot loader for the Pi 2
|
||||||
|
* bcm2836-rpi-2-b.dtb: FDT binary for the Raspberry Pi 2
|
||||||
|
* haiku_loader_linux.ub: Haiku Loader
|
||||||
|
* haiku-floppyboot.tgz.ub: Compressed initial ram image with Haiku kernel
|
||||||
|
|
||||||
|
### Optional Files
|
||||||
|
|
||||||
|
* vlls directory: Additional GPU code, e.g. extra codecs.
|
||||||
|
* uEnv.txt: u-boot configuration script to automate boot.
|
||||||
|
|
||||||
|
# Compiling
|
||||||
|
|
||||||
|
* Create your ARM work directory `mkdir generated.arm; cd generated.arm`
|
||||||
|
* Build an ARM toolchain using `../configure --build-cross-tools arm ../../buildtools --target-board=rpi2`
|
||||||
|
* Build our loader using `jam -q haiku_loader_linux.ub`
|
||||||
|
* Build our initial ram disk using `jam -q haiku-floppyboot.tgz.ub`
|
||||||
|
|
||||||
|
# Booting
|
||||||
|
|
||||||
|
1. SOC finds bootcode.bin
|
||||||
|
2. bootcode.bin runs start.elf
|
||||||
|
3. start.elf reads config.txt and start u-boot
|
||||||
|
4. u-boot.bin starts the Haiku loader
|
||||||
|
5. Haiku loader boots Haiku kernel
|
||||||
|
|
||||||
|
## config.txt Options
|
||||||
|
|
||||||
|
kernel=u-boot.bin
|
||||||
|
|
||||||
|
## u-boot startup
|
||||||
|
|
||||||
|
These will be condensed and automated long-term via uEnv.txt :-)
|
||||||
|
|
||||||
|
* `fatload mmc 0 ${fdt_addr_r} bcm2836-rpi-2-b.dtb`
|
||||||
|
* `fdt addr ${fdt_addr_r}`
|
||||||
|
* `fatload mmc 0 ${ramdisk_addr_r} haiku-floppyboot.tgz.ub`
|
||||||
|
* `fatload mmc 0 ${kernel_addr_r} haiku_loader_linux.ub`
|
||||||
|
* `bootm ${kernel_addr_r} ${ramdisk_addr_r} ${fdt_addr_r}`
|
||||||
|
|
||||||
|
# Additional Information
|
||||||
|
|
||||||
|
* [Latest Raspberry Pi firmware](http://github.com/raspberrypi/firmware/tree/master/boot)
|
||||||
|
* [config.txt options](http://www.elinux.org/RPiconfig)
|
||||||
|
|
||||||
Reference in New Issue
Block a user