Raspberry Pi Install Guide/Pi5

From Gentoo Wiki
Jump to:navigation Jump to:search

Bluetooth

The file /lib/firmware/brcm/BCM4345C0.hcd is not in linux-firmware at the time of writing.

Booting from NVMe

Add NVMe to the boot order. Not first though. We all build a dud kernel from time to time and need a way to recover.

My collection of Pis runs 24/7, so boot time is of not importance.

root #rpi-eeprom-config --edit
[all]
BOOT_UART=1
POWER_OFF_ON_HALT=0
BOOT_ORDER=0xf641
PCIE_PROBE=1

That's SD card first, then USB mass storage and lastly NVMe.

The 'f' means repeat, if nothing was found.

This makes it easy to recover from installing a dud kernel on NVMe.

Root on NVMe (not /boot)

There is a selection of NVMe modules that cannot be booted from in the Pi5. The ones I have can be used for the VFAT filesystem or everything else but not for both. The problem seems to be that they go into suspend and need the SUSCLK signal to recover. This is not present on the Pi5 or the CM5 nor common NVMe HATs.

It can be added if you add the oscillator. Its a small surface mount part that needs four wires. The author can barely see it, never mind solder to it. This is not tested.

Far easier to put boot (the VFAT filesystem) on micro SD or a USB stick.

If you use one of these NVMe devices, omit 6 (NVMe) from the boot order. You already know it cannot work.

Real Time Clock

The Pi5 has a battery backed real time clock. The battery is an optional extra. When the battery is fitted, the hwclock service can be used in place of swclock.

The RTC can be used for alarms, wakeups without a backup battery, provided the Pi is always powered, to keep the clock alive.

Batteries are available in two types. Rechargeable and non-recharagable, like most PC motherboard CMOS batteries.

Battery charging is disabled by default, which is safe as attempting to recharge a non-recharagable lithium battery is both dangerous and bad for the battery lifetime.

Users who are sure that they have a rechargeable battery need to follow enabling trickle charging to turn on the battery charger. Heed the warning there too.

Serial Output on GPIO 14 and 15

By default the serial output for the RPI5 goes to the dedicated serial header on the board instead of the GPIO pins. You can re-enable the output on GPIO 14/15 by adding in the following code into the config.txt file.

FILE /boot/config.txtconfig.txt
dtparam=uart0           # Enable UART0/ttyAMA0 on GPIO 14 & 15
dtparam=uart0_console   # Enable UART0/ttyAMA0 on GPIO 14 & 15 and make it the console UART

Wifi

The file brcmfmac43455-sdio.txt is required in /lib/firmware/brcm/ before the wifi interface will appear in

user $ip link

At the time of writing it was not included in linux-firmware.

Xorg on Pi5

The automatic setup fails on a Pi 5. The following xorg.conf fragment is required.

FILE /etc/X11/xorg.conf.d/99-vc4.conf99-vc4.conf
# Shamelessly copied from PiOS

Section "OutputClass"
  Identifier "vc4"
  MatchDriver "vc4"
  Driver "modesetting"
  Option "PrimaryGPU" "true"
EndSection

Power over Ethernet (PoE) HAT

At startup, the Pi5 determines the output power capabilities of the USB-C connected PSU. With a PoE HAT in use, this check returns that the PSU is not capable of 25W and the Pi5 restricts the USB current available to 600mA. (There is no USB-C connected PSU)

600mA is fine for mice. keyboards and so on but not for storage devices. When the full 1.6A is required for USB peripherals, add the following

FILE /boot/config.txtconfig.txt
usb_max_current_enable=1