- 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
===============
$ 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
----------------
$ make
-(This may take a while; consider getting yourself a coffee ;-) )
+(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]
+ +-- bcm2708-rpi-b.dtb [1]
+ +-- bcm2708-rpi-b-plus.dtb [1]
+ +-- bcm2709-rpi-2-b.dtb [1]
+ +-- boot.vfat
+ +-- kernel-marked/zImage [2]
+ +-- rootfs.ext4
+-- rpi-firmware/
| +-- bootcode.bin
+ | +-- cmdline.txt
| +-- config.txt
| +-- fixup.dat
| `-- start.elf
- +-- bcm2708-rpi-b.dtb [1]
- +-- bcm2708-rpi-b-plus.dtb [1]
- +-- bcm2709-rpi-2-b.dtb [1]
+ +-- sdcard.img
`-- zImage
-[0] Note for Volatile: rootfs.tar will only be there if you kept
- "tar the root filesystem" option selected in "Filesystem images".
-
[1] Not all of them will be present, depending on the RaspberryPi
model you are using.
-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 [2]
- * bcm2708-rpi-b-plus.dtb [3]
- * bcm2709-rpi-2-b.dtb [4]
- * bootcode.bin
- * config.txt
- * fixup.dat
- * start.elf
- * zImage
-
-[2] For models A and B
-[3] For models A+ and B+
-[4] For model 2
-
-For example:
-
- $ cp output/images/rpi-firmware/* /mnt/mountpointboot
- $ cp output/images/*.dtb /mnt/mountpointboot
-
-The kernel image must be marked with a special header so that the
-bootloader of the RaspberryPi knows it supports Device Tree:
-
- $ ./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
+[2] This is the mkknlimg DT-marked kernel.
-Finish
-======
+How to write the SD card
+========================
-Unmount all the partitions:
+Once the build process is finished you will have an image called "sdcard.img"
+in the output/images/ directory.
- $ sudo umount /mnt/mountpointboot
- $ sudo umount /mnt/mountpointroot (only for persistent rootfs)
+Copy the bootable "sdcard.img" onto an SD card with "dd":
-And eject your SDcard from your computer SDcard reader.
+ $ sudo dd if=output/images/sdcard.img of=/dev/sdX
Insert the SDcard into your Raspberry Pi, and power it up. Your new system
-should come up, now.
+should come up now.