buildroot/board/raspberrypi
Peter Korsgaard fd69af5e24 configs/raspberrypi0: use dedicated rpi0 dts file
Since the bump to the 20190819 snapshot there is now a dedicated dts file
for the rpi0, so use that rather than the rpi-b-plus one:

bd1336d8b6

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2019-09-15 14:54:29 +02:00
..
genimage-raspberrypi.cfg board: raspberrypi: use regular kernel image 2017-01-26 22:35:05 +01:00
genimage-raspberrypi0.cfg configs/raspberrypi0: use dedicated rpi0 dts file 2019-09-15 14:54:29 +02:00
genimage-raspberrypi0w.cfg configs/raspberrypi0w: fix dts file name after kernel bump 2019-09-15 14:54:14 +02:00
genimage-raspberrypi2.cfg board: raspberrypi: use regular kernel image 2017-01-26 22:35:05 +01:00
genimage-raspberrypi3-64.cfg Fix rasberry Pi 64bit firmware overlay inclusion 2019-04-14 00:09:56 +02:00
genimage-raspberrypi3.cfg board/raspberrypi: add support for rpi3 b+ 2018-04-06 21:49:18 +02:00
genimage-raspberrypi4.cfg board/raspberrypi: add support for the new pi4 2019-08-03 11:06:44 +02:00
post-build.sh board/raspberrypi/post-build.sh: only tweak /etc/inittab if available 2016-08-26 15:37:17 +02:00
post-image.sh board/raspberrypi: update firmware option to use 64-bit mode 2018-06-30 22:07:01 +02:00
readme.txt board/raspberrypi: add support for the new pi4 2019-08-03 11:06:44 +02:00

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)
  - the model B3 (aka Raspberry Pi 3).
  - the model B4 (aka Raspberry Pi 4).

How to build it
===============

Configure Buildroot
-------------------

There are two RaspberryPi defconfig files in Buildroot, one for each
major variant, which you should base your work on:

For models A, B, A+ or B+:

  $ make raspberrypi_defconfig

For model Zero (model A+ in smaller form factor):

  $ make raspberrypi0_defconfig

For model 2 B:

  $ make raspberrypi2_defconfig

For model 3 B and B+:

  $ make raspberrypi3_defconfig

For model 4 B:

  $ make raspberrypi4_defconfig

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/
    +-- bcm2708-rpi-b.dtb           [1]
    +-- bcm2708-rpi-b-plus.dtb      [1]
    +-- bcm2709-rpi-2-b.dtb         [1]
    +-- bcm2710-rpi-3-b.dtb         [1]
    +-- bcm2710-rpi-3-b-plus.dtb    [1]
    +-- bcm2711-rpi-4-b.dtb         [1]
    +-- boot.vfat
    +-- rootfs.ext4
    +-- rpi-firmware/
    |   +-- bootcode.bin
    |   +-- cmdline.txt
    |   +-- config.txt
    |   +-- fixup.dat
    |   +-- start.elf
    |   `-- overlays/               [2]
    +-- sdcard.img
    `-- zImage

[1] Not all of them will be present, depending on the RaspberryPi
    model you are using.

[2] Only for the Raspberry Pi 3/4 Models (overlay pi3-miniuart-bt is needed
    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.

How to write the SD card
========================

Once the build process is finished you will have an image called "sdcard.img"
in the output/images/ directory.

Copy the bootable "sdcard.img" onto an SD card with "dd":

  $ 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 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.