I have been trying to convert a Revolution Pi 5 running Bookworm to Ubuntu Server 24.04.1 LTS but have run into some issues. Whilst I can get the OS running, there are some very specific errors that I need to fix.
Below, I have added the issues that I am facing and the steps I have taken for the conversion.
Issues
1. Inconsistent CAN Interface
The CAN interface shows up inconsistently when rebooting. I noticed that when connected to a monitor through HDMI, can0 and can1 tend to show as an interface more regularly (sometimes only can0 will show), whilst without a monitor it usually does not show. My suspicion is that the boards firmware or device-tree configuration loads additional peripherals (like CAN) with HDMI.
2. Setting CAN Interface Up
When the CAN interface is available and I try to set the interface up (
Code: Select all
sudo ip link set can0 up type can bitrate 500000
3. piTest Not Recognising Device
When running
Code: Select all
piTest -d
4. Incorrect Ethernet Naming
The system does not correctly name eth0 to eth1 and eth3 to eth0 as instructed, but rather keeps eth0 and eth3.
Ubuntu Server 24.04.1 LTS Setup
Note that I have closely followed debos-build (https://gitlab.com/revolut ... ype=heads), but have not done very specific Rasbian commands or excluded packages that were downloaded automatically with Ubuntu.
1. Plug USB-C to RevPi and laptop and power on
2. Run rpiboot from usbboot to recognise RevPi eMMC as bootable
3. Run Raspberry Pi Imager and image eMMC as Raspberry Pi 5, Ubuntu Server 24.04.1 with settings (username is developer)
4. When complete, power off device and remove USB-C
5. Power on (ideally connected to ethernet)
6. SSH into device/plug in monitor and keyboard
7. Update and Upgrade System
Code: Select all
sudo apt update
sudo apt upgrade
Code: Select all
sudo nano /etc/apt/sources.list.d/_revpi.sources
Code: Select all
Types: deb
URIs: http://packages.revolutionpi.de/
Suites: bookworm
Components: main contrib
Signed-By: /usr/share/keyrings/_revpi-keyring.gpg
Types: deb
URIs: http://packages.revolutionpi.de/
Suites: bookworm-backports
Components: main contrib
Signed-By: /usr/share/keyrings/_revpi-keyring.gpg
Code: Select all
sudo nano /etc/apt/sources.list.d/raspi.sources
Code: Select all
Types: deb
URIs: http://archive.raspberrypi.org/debian/
Suites: bookworm
Components: main
Signed-By: /usr/share/keyrings/raspberrypi-archive-keyring.gpg
Code: Select all
sudo curl -o /usr/share/keyrings/_revpi-keyring.gpg "https://gitlab.com/revolutionpi/debos-build/-/raw/master/overlays/repositories/usr/share/keyrings/_revpi-keyring.gpg”
sudo curl -o /usr/share/keyrings/raspberrypi-archive-keyring.gpg "https://gitlab.com/revolutionpi/debos-build/-/raw/master/overlays/repositories/usr/share/keyrings/raspberrypi-archive-keyring.gpg”
Code: Select all
sudo apt update
sudo apt upgrade
Code: Select all
sudo apt install -y revpi-repo
sudo rm -rf "$ROOTDIR"/etc/apt/sources.list.d/_revpi.sources \
"$ROOTDIR"/usr/share/keyrings/_revpi-keyring.gpg
Code: Select all
sudo apt install -y raspi-firmware linux-image-revpi-v8 linux-headers-revpi-v8 revpi-base-files revpi-firmware revpi-tools
Code: Select all
sudo apt install -y busybox network-manager revpi-nm-config firmware-brcm80211 firmware-nxp
Code: Select all
sudo usermod -aG adm,audio,dialout,input,netdev,plugdev,render,sudo,users,video developer
Code: Select all
sudo nano /etc/sudoers.d/developer
Code: Select all
developer ALL=(ALL) NOPASSWD: ALL
Code: Select all
sudo systemctl enable ssh
Code: Select all
sudo cp /boot/firmware/overlays/revpi-dt-blob.dtbo /boot/firmware/dt-blob.bin
Code: Select all
sudo apt install -y picontrol pitest pictory-apache revpi-modbus-client revpi-modbus-server cockpit-revpi cockpit-revpi-redirect-apache
Code: Select all
sudo adduser developer picontrol
Code: Select all
sudo apt install -y can-utils python3-can libsocketcan-dev newpid gdbserver python3-revpimodio2 revpipyload python3-libgpiod python3-schema python3-revpi-device-info revpi-sos-report rfkill opcua-revpi-server mqtt-revpi-client raspberrypi-sys-mods dphys-swapfile apt-listchanges
Code: Select all
sudo systemctl mask raspi-config.service cpufrequtils.service
Code: Select all
sudo systemctl disable dphys-swapfile
Code: Select all
sudo apt install -y noderedrevpinodes-server
Excluded:
- Change configuration value tmp-dir of sos.conf to /var/tmp
- Set absolute value for swapfile to 512 MB
- Default Image GUI packages
- revpi-bluetooth package
Thanks!