| RaspberryPi |
| |
| Intro |
| ===== |
| |
| To be able to use your RaspberryPi board with the images generated by |
| Buildroot, you have a prior choice to make, will you 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 |
| |
| Volatile rootfs |
| =============== |
| |
| How to build it |
| --------------- |
| |
| You need to use the rpi_defconfig, to do so: |
| * make rpi_defconfig |
| |
| Then, you need to select the kind of images you want: |
| * make menuconfig |
| * Select "Filesystem images" |
| * Select "initial RAM filesystem linked into linux kernel" |
| |
| What is generated |
| ----------------- |
| |
| After building, you should obtain this tree: |
| |
| output/images/ |
| +-- rootfs.tar |
| +-- rpi-firmware |
| | +-- bootcode.bin |
| | +-- config.txt |
| | +-- fixup_cd.dat |
| | +-- fixup.dat |
| | +-- start_cd.elf |
| | `-- start.elf |
| `-- zImage |
| |
| Note : rootfs.tar will only be there if you kept "tar the root filesystem" |
| option selected in "Filesystem images". |
| |
| Where should the binaries be copied on the SDCard |
| ------------------------------------------------- |
| |
| Your SDCard must have its first partition using fat32 and marked bootable. |
| |
| At the root of the partition, the RaspberryPi must find the following files: |
| |
| * bootcode.bin |
| * config.txt |
| * fixup_cd.dat |
| * fixup.dat |
| * start_cd.elf |
| * start.elf |
| * zImage |
| |
| So you should copy the entire content of output/images/rpi-firmware along with |
| zImage. |
| |
| Note: You can create any number of partitions you desire, the only requirement |
| is that the first partition must be using fat32 and bootable. |
| |
| Persistent rootfs |
| ================= |
| |
| How to build it |
| --------------- |
| |
| You only need to use the rpi_defconfig, to do so: |
| * make rpi_defconfig |
| |
| What is generated |
| ----------------- |
| |
| After building, you should obtain this tree: |
| |
| output/images/ |
| +-- rootfs.tar |
| +-- rpi-firmware |
| | +-- bootcode.bin |
| | +-- config.txt |
| | +-- fixup_cd.dat |
| | +-- fixup.dat |
| | +-- start_cd.elf |
| | `-- start.elf |
| `-- zImage |
| |
| Where should the binaries be copied on the SDCard |
| ------------------------------------------------- |
| |
| Your SDCard must have its first partition using fat32 and marked bootable. |
| It should also have another partition which will contain your rootfs, it should |
| be partitioned as ext4. |
| |
| Boot partition |
| ~~~~~~~~~~~~~~ |
| |
| The first partition will contain everything used to boot the RaspberryPi. |
| You must copy theses files at the root of partition: |
| |
| * bootcode.bin |
| * config.txt |
| * fixup_cd.dat |
| * fixup.dat |
| * start_cd.elf |
| * start.elf |
| * zImage |
| |
| So you should copy the entire content of output/images/rpi-firmware along with |
| zImage. |
| |
| Rootfs partition |
| ~~~~~~~~~~~~~~~~ |
| |
| The second partition will contain your rootfs. |
| Simply extract (as root!) the contents of the rootfs.tar archive |
| into this partition. |
| |
| For example: (Assuming mountpoint is a directory and exist) |
| |
| $ sudo mount /dev/sdXY /mnt/mountpoint |
| $ sudo tar xf rootfs.tar -C /mnt/mountpoint |
| |