--- /dev/null
+Raspberry Pi
+
+Intro
+=====
+
+These instructions apply to all models of the Raspberry Pi:
+ - the original models A and B,
+ - the "enhanced" models A+ and B+,
+ - the model B2 (aka Raspberry Pi 2).
+
+To be able to use your Raspberry Pi board with the images generated by
+Buildroot, you have to choose whether you will use:
+
+ * Volatile rootfs in RAM (the rootfs is an initramfs) or
+ * Persistent rootfs on the SDCard
+
+Also, a good source of information is http://elinux.org/R-Pi_Hub
+
+How to build it
+===============
+
+Configure Buildroot
+-------------------
+
+The raspberrypi_defconfig configuration is a minimal configuration with
+all that is required to bring the Raspberry Pi up. You should base your
+work on this defconfig:
+
+ $ make raspberrypi_defconfig
+
+Alternatively, if you want to test support for the Device Tree:
+
+ $ make raspberrypi_dt_defconfig
+
+For Raspberry Pi 2 use a different defconfig:
+
+ $ make raspberrypi2_defconfig
+
+If you want to use a persistent rootfs, skip to "Build the rootfs", below.
+
+For a volatile rootfs, you have to slightly adjust the configuration:
+
+ $ make menuconfig
+ * Select "Filesystem images"
+ * Select "initial RAM filesystem linked into linux kernel"
+
+You may also deselect "tar the root filesystem".
+
+Build the rootfs
+----------------
+
+Note: you will need to have access to the network, since Buildroot will
+download the packages' sources.
+
+You may now build your rootfs with:
+
+ $ make
+
+(This may take a while; consider getting yourself a coffee ;-) )
+
+Result of the build
+-------------------
+
+After building, you should obtain this tree:
+
+ output/images/
+ +-- rootfs.tar [0]
+ +-- rpi-firmware/
+ | +-- bcm2708-rpi-b.dtb
+ | +-- bcm2708-rpi-b-plus.dtb
+ | +-- bcm2709-rpi-2-b.dtb
+ | +-- bootcode.bin
+ | +-- config.txt
+ | +-- fixup.dat
+ | `-- start.elf
+ `-- zImage
+
+[0] Note for Volatile: rootfs.tar will only be there if you kept
+ "tar the root filesystem" option selected in "Filesystem images".
+
+Prepare you SDCard
+==================
+
+For more information, visit
+http://elinux.org/RPi_Advanced_Setup#Advanced_SD_card_setup
+
+In summary, your SDCard must have first partition in fat32 and marked bootable.
+
+Create the required partitions:
+ - for a persistent rootfs, 10MiB is enough memory for the boot fat32
+ partition, and a second partition is required for the root filesystem
+ - for a volatile rootfs, 50MiB is required for the boot fat32 partition
+
+Note: You can create any number of partitions you desire, the only requirement
+is that the first partition must be using fat32 and be bootable.
+
+Mount the partitions (adjust 'sdX' to match your SDcard device):
+
+ $ sudo mount /dev/sdX1 /mnt/mountpointboot
+ $ sudo mount /dev/sdX2 /mnt/mountpointroot (only for persistent rootfs)
+
+Install the binaries to the SDCard
+----------------------------------
+
+At the root of the boot partition, the Raspberry Pi must find the following
+files:
+
+ * bcm2708-rpi-b.dtb [1]
+ * bcm2708-rpi-b-plus.dtb [2]
+ * bcm2709-rpi-2-b.dtb [3]
+ * bootcode.bin
+ * config.txt
+ * fixup.dat
+ * start.elf
+ * zImage
+
+[1] For models A and B
+[2] For models A+ and B+
+[3] For model 2
+
+For example:
+
+ $ cp output/images/rpi-firmware/* /mnt/mountpointboot
+
+If your kernel does *not* have support for the Device Tree, then install
+it with:
+
+ $ cp output/images/zImage /mnt/mountpointboot
+
+If your kernel *does* have support for the Device Tree, then install it
+with:
+
+ $ ./output/host/usr/bin/mkknlimg output/images/zImage /mnt/mountpointboot/zImage
+
+Note: The kernel image file name is defined in config.txt like this:
+kernel=zImage
+
+If you use a volatile rootfs, Skip to "Finish", below. For a persistent
+rootfs, there are further steps to do.
+
+Extract (as root!) the contents of the rootfs.tar archive into the second
+partition you created above:
+
+ $ sudo tar xf ./output/images/rootfs.tar -C /mnt/mountpointroot
+
+Finish
+======
+
+Unmount all the partitions:
+
+ $ sudo umount /mnt/mountpointboot
+ $ sudo umount /mnt/mountpointroot (only for persistent rootfs)
+
+And eject your SDcard from your computer SDcard reader.
+
+Insert the SDcard into your Raspberry Pi, and power it up. Your new system
+should come up, now.