Skip to content

Raspberry Pi 5 16GB

My Raspberry Pi 5 16GB is being used as another arm64 Proxmox server.

โš™ Config

๐Ÿ“Ÿ Enable PCIe

Tip

When connecting the PCIe adapter to the pi, ensure that the correct end of the ribbon cable is being plugged into the correct connector. Typically, the ribbon cable ends are labeled.

/boot/firmware/config.txt

echo "dtparam=pciex1_gen=3" | sudo tee -a config.txt
echo "dtparam=pciex1" | sudo tee -a config.txt
dtparam=pciex1_gen=3
dtparam=pciex1

๐Ÿ•ต Enable auto detection PCIe and booting from NVMe

rpi-eeprom-config --edit
sudo rpi-eeprom-config --edit
PCIE_PROBE=1

BOOT_ORDER=0xf416

The 6 means to enable booting from nvme. Reboot Raspberry Pi 5 and try to use lsblk or lspci -vvv to get more details of the PCIe device.

๐Ÿ”Œ Enable 5A PSU

If apt is slow, it might be due to the pi reducing the power input.

rpi-eeprom-config --edit
sudo rpi-eeprom-config --edit
PSU_MAX_CURRENT=5000

๐Ÿ“บ Set Resolution

When using a TV as a temporary monitor, usually when troubleshooting the booting from a USB or NVMe drive, the text size can be way too small. This is how to change the resolution on boot of the command line so that it can be read more easily on the TV.

Warning

This does not seem to work for the Raspberry Pi 4 for some reason. Perhaps it's the display port mapping?

/boot/firmware/cmdline.txt

sed -i `1s/$/ video=HDMI-A-1:1920x1080M@60D/' /boot/firmware/cmdline.txt
video=HDMI-A-1:1920x1080M@60D

PXVIRT

Setup LVM first

Setup Raspberry Pi OS

See Raspberry Pi OS setup.

๐Ÿ’พ Install PXVIRT

Warning

Proxmox-Port has now been replaced by PXVIRT! The information below may be out of date!

Add the PXVIRT repository

/etc/apt/sources.list.d/pxvirt.list

echo 'deb https://download.lierfang.com/pxcloud/pxvirt bookworm main'>/etc/apt/sources.list.d/pxvirt.list
deb https://download.lierfang.com/pxcloud/pxvirt bookworm main

Add the PXVIRT repository key

curl -L https://mirrors.lierfang.com/proxmox/debian/pveport.gpg -o /etc/apt/trusted.gpg.d/pveport.gpg 

Update repository and system

apt update && apt full-upgrade

Install ifupdown2 and PXVIRT packages

apt install --allow-downgrades -y ifupdown2 pxvirt pve-manager=8.3.5-1+port2 qemu-server=8.3.8+port5 postfix open-iscsi

Configure packages which require user input on installation according to your needs (e.g. Samba asking about WINS/DHCP support). If you have a mail server in your network, you should configure postfix as a satellite system, your existing mail server will then be the relay host which will route the emails sent by the Proxmox server to their final recipient.

If you don't know what to enter here, choose local only and leave the system name as is.

๐Ÿ’ป Reenable SSH

/etc/ssh/sshd_config

sudo sed -i 's/^#?\s*PermitRootLogin\s+.*/PermitRootLogin yes/' /etc/ssh/sshd_config
PermitRootLogin yes

Finally, you can connect to the admin web interface (https://youripaddress:8006).

Network

Missing vmbr0

Warning

This should be done before reboot, else you won't be able to connect to the network!

Create vmbr0 network interface in GUI

<node> -> Network -> Create
Name: vmbr0
IPv4: 192.168.1.192/24
Gateweay: 192.168.1.1 
Bridge Ports: eth0

/etc/network/interfaces

auto lo
iface lo inet loopback

iface eth0 inet manual

auto vmbr0
iface vmbr0 inet static
        address 192.168.2.192/24
        gateway 192.168.2.1
        bridge-ports eth0
        bridge-stp off
        bridge-fd 0

Where eth0 is the current existing network interface

โŒ Repository 'http://deb.debian.org/debian buster InRelease' changed its 'Version' value from '' to '10.0' Error

apt --allow-releaseinfo-change update

Proxmox VE Helper-Scripts

(
  bash -c "$(curl -sL https://github.com/community-scripts/ProxmoxVE/raw/main/misc/update-repo.sh)" &&
  bash -c "$(curl -sL https://github.com/community-scripts/ProxmoxVE/raw/main/misc/post-pve-install.sh)"
)

๐Ÿงน Swap

The Raspberry Pi uses dphys-swapfile to manage it's swap.

For Proxmox, I'm using a logical volume instead of a swap file.

๐Ÿ“ Change Swap Size

Check the free space

free -h

Turn of swap

dphys-swapfile swapoff

Update size in /etc/dphys-swapfile

CONF_SWAPSIZE=2048

Resetup swap and turn it back on

(
  dphys-swapfile setup
  dphys-swapfile swapon
)

Check for the new size

free -h

๐Ÿšซ Disable Permanently

Disable dphys-swapfile temporarily

dphys-swapfile swapoff

Stop the service

systemctl stop dphys-swapfile

Disable the service

systemctl disable dphys-swapfile

Remove the swap file to save disk space

rm /var/swap

๐Ÿ’พ LVM

See LVM.

๐Ÿ”— References