These configurations target the Raspberry Pi family of boards.
There are specific packages tuned to each Pi model.
Board | Config Package |
---|---|
Pi 0 | pi/0 |
Pi 1 | pi/1 |
Pi 2 | pi/3 |
Pi 3 | pi/3 |
Pi 4 | pi/4x64 or pi/4 |
Pi 4 - 32bit | pi/4x32 |
It's possible to create a .img file instead of directly flashing a SD.
# must be root to use losetup
sudo bash
# set your skiff workspace
export SKIFF_WORKSPACE=default
# set the output path
export PI_IMAGE=./pi-image.img
# make the image
make cmd/pi/common/buildimage
The image can then be flashed to the target:
# change sdX to, for example, sdb
dd if=pi-image.img of=/dev/sdX status=progress oflag=sync
This is equivalent to using the format and install scripts.
The persist partition will be resized to fill the available space on first boot.
You can override the config.txt. Simply copy the "resources/rpi" directory from the pi/common configuration into your own configuration package, for example: "mypackage/resources/rpi/config.txt"
Upstream adds dtoverlay=miniuart-bt
to the config.txt, which should "fix
ttyAMA0 serial console.
The pi/4x64 configuration uses a 64 bit kernel with an alternate config.txt,
which specifies arm_64bit
as required.
Raspbian does not use 64 bit yet and many of the video drivers don't work with aarch64 yet.
According to the Gentoo wiki:
The Raspberry Pi closed source VC4 driver is not available on 64-bit (ARM64/AARCH64) systems. The Raspberry Pi foundation has stated "we are not working on this, and are unlikely to do so in the near future". Using the open source vc4-fkms-v3d driver listed below instead is recommended.
References:
You will want to follow the upstream guidance on overclocking:
https://www.raspberrypi.org/documentation/configuration/config-txt/overclocking.md
Add the following snippet at the end of config.txt for a quick start. WARNING! This will set a permanent bit on your Pi which will mark it as having been overclocked. This will most-likely void the warranty.
over_voltage=4
force_turbo=1
max_usb_current=1
The config.txt file supports conditional sections:
[pi1]
: Model A, Model B, Compute Module[pi2]
: Model 2B (BCM2836- or BCM2837-based)[pi3]
: Model 3B, Model 3B+, Model 3A+, Compute Module 3[pi3+]
: Model 3A+, Model 3B+[pi4]
: Model 4B[pi0]
: Zero, Zero W, Zero WH[pi0w]
: Zero W, Zero WH