2015-02-24 23:42:22 +01:00
|
|
|
Raspberry Pi
|
2013-03-25 14:27:56 +01:00
|
|
|
|
|
|
|
Intro
|
|
|
|
=====
|
|
|
|
|
2015-02-24 23:42:22 +01:00
|
|
|
These instructions apply to all models of the Raspberry Pi:
|
|
|
|
- the original models A and B,
|
|
|
|
- the "enhanced" models A+ and B+,
|
2016-04-23 22:12:50 +02:00
|
|
|
- the model B2 (aka Raspberry Pi 2)
|
|
|
|
- the model B3 (aka Raspberry Pi 3).
|
2019-06-29 20:32:38 +02:00
|
|
|
- the model B4 (aka Raspberry Pi 4).
|
2015-02-24 23:42:22 +01:00
|
|
|
|
2013-11-06 00:28:18 +01:00
|
|
|
How to build it
|
2013-03-25 14:27:56 +01:00
|
|
|
===============
|
|
|
|
|
2013-11-06 00:28:18 +01:00
|
|
|
Configure Buildroot
|
|
|
|
-------------------
|
|
|
|
|
2015-06-30 00:07:46 +02:00
|
|
|
There are two RaspberryPi defconfig files in Buildroot, one for each
|
|
|
|
major variant, which you should base your work on:
|
2013-11-06 00:28:18 +01:00
|
|
|
|
2015-06-30 00:07:46 +02:00
|
|
|
For models A, B, A+ or B+:
|
2015-01-10 14:14:58 +01:00
|
|
|
|
2015-06-30 00:07:46 +02:00
|
|
|
$ make raspberrypi_defconfig
|
2015-01-10 14:14:58 +01:00
|
|
|
|
2017-01-26 06:36:08 +01:00
|
|
|
For model Zero (model A+ in smaller form factor):
|
|
|
|
|
|
|
|
$ make raspberrypi0_defconfig
|
|
|
|
|
2016-04-23 22:12:50 +02:00
|
|
|
For model 2 B:
|
2015-04-07 13:44:20 +02:00
|
|
|
|
|
|
|
$ make raspberrypi2_defconfig
|
|
|
|
|
2018-03-24 15:10:13 +01:00
|
|
|
For model 3 B and B+:
|
2016-04-23 22:12:50 +02:00
|
|
|
|
|
|
|
$ make raspberrypi3_defconfig
|
|
|
|
|
2019-06-29 20:32:38 +02:00
|
|
|
For model 4 B:
|
|
|
|
|
|
|
|
$ make raspberrypi4_defconfig
|
|
|
|
|
2013-11-06 00:28:18 +01:00
|
|
|
Build the rootfs
|
|
|
|
----------------
|
2013-03-25 14:27:56 +01:00
|
|
|
|
2013-11-06 00:28:18 +01:00
|
|
|
Note: you will need to have access to the network, since Buildroot will
|
|
|
|
download the packages' sources.
|
2013-03-25 14:27:56 +01:00
|
|
|
|
2013-11-06 00:28:18 +01:00
|
|
|
You may now build your rootfs with:
|
2013-03-25 14:27:56 +01:00
|
|
|
|
2013-11-06 00:28:18 +01:00
|
|
|
$ make
|
|
|
|
|
2015-12-31 14:28:08 +01:00
|
|
|
(This may take a while, consider getting yourself a coffee ;-) )
|
2013-11-06 00:28:18 +01:00
|
|
|
|
|
|
|
Result of the build
|
|
|
|
-------------------
|
2013-03-25 14:27:56 +01:00
|
|
|
|
|
|
|
After building, you should obtain this tree:
|
|
|
|
|
|
|
|
output/images/
|
2015-12-31 14:28:08 +01:00
|
|
|
+-- bcm2708-rpi-b.dtb [1]
|
|
|
|
+-- bcm2708-rpi-b-plus.dtb [1]
|
|
|
|
+-- bcm2709-rpi-2-b.dtb [1]
|
2016-04-23 22:12:50 +02:00
|
|
|
+-- bcm2710-rpi-3-b.dtb [1]
|
2018-03-24 15:10:13 +01:00
|
|
|
+-- bcm2710-rpi-3-b-plus.dtb [1]
|
2019-06-29 20:32:38 +02:00
|
|
|
+-- bcm2711-rpi-4-b.dtb [1]
|
2015-12-31 14:28:08 +01:00
|
|
|
+-- boot.vfat
|
|
|
|
+-- rootfs.ext4
|
2015-01-10 14:14:58 +01:00
|
|
|
+-- rpi-firmware/
|
2013-11-06 00:28:18 +01:00
|
|
|
| +-- bootcode.bin
|
2015-12-31 14:28:08 +01:00
|
|
|
| +-- cmdline.txt
|
2013-11-06 00:28:18 +01:00
|
|
|
| +-- config.txt
|
|
|
|
| +-- fixup.dat
|
2016-05-02 22:25:44 +02:00
|
|
|
| +-- start.elf
|
2017-01-26 06:36:06 +01:00
|
|
|
| `-- overlays/ [2]
|
2015-12-31 14:28:08 +01:00
|
|
|
+-- sdcard.img
|
2013-03-25 14:27:56 +01:00
|
|
|
`-- zImage
|
|
|
|
|
2015-06-30 00:07:46 +02:00
|
|
|
[1] Not all of them will be present, depending on the RaspberryPi
|
|
|
|
model you are using.
|
|
|
|
|
2019-12-04 11:54:29 +01:00
|
|
|
[2] Only for the Raspberry Pi 3/4 Models (overlay miniuart-bt is needed
|
2016-05-02 22:25:44 +02:00
|
|
|
to enable the RPi3 serial console otherwise occupied by the bluetooth
|
|
|
|
chip). Alternative would be to disable the serial console in cmdline.txt
|
|
|
|
and /etc/inittab.
|
|
|
|
|
2015-12-31 14:28:08 +01:00
|
|
|
How to write the SD card
|
|
|
|
========================
|
2013-03-25 14:27:56 +01:00
|
|
|
|
2015-12-31 14:28:08 +01:00
|
|
|
Once the build process is finished you will have an image called "sdcard.img"
|
|
|
|
in the output/images/ directory.
|
2013-03-25 14:27:56 +01:00
|
|
|
|
2015-12-31 14:28:08 +01:00
|
|
|
Copy the bootable "sdcard.img" onto an SD card with "dd":
|
2013-03-25 14:27:56 +01:00
|
|
|
|
2015-12-31 14:28:08 +01:00
|
|
|
$ sudo dd if=output/images/sdcard.img of=/dev/sdX
|
2013-03-25 14:27:56 +01:00
|
|
|
|
2013-11-06 00:28:18 +01:00
|
|
|
Insert the SDcard into your Raspberry Pi, and power it up. Your new system
|
2016-04-18 23:41:30 +02:00
|
|
|
should come up now and start two consoles: one on the serial port on
|
|
|
|
the P1 header, one on the HDMI output where you can login using a USB
|
|
|
|
keyboard.
|