128 lines
3.0 KiB
Plaintext
128 lines
3.0 KiB
Plaintext
|
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
|
|||
|
|