You are not logged in.
Pages: 1
About a year ago, I got a Pi 4 and wrote the community-built Devuan image onto its SD card, booted, and everything worked perfectly.
I thought it was time to upgrade to a 7.x kernel and used apt to install the linux-image package and its dependencies. No problems. But when I rebooted, the system was still running the 6.x kernel.
On inspection, it seems that the original SD image has its kernel in the /boot vfat partition as kernel8, and the apt install didn't touch it.
So, clearly, I don't understand how the Pi boot process is supposed to work on a Devuan system. Is the executable in the /boot partition supposed to be a loader that boots the real kernel from the second, ext4 partition?
Or have I just done something stupid? (Quite possible.)
Offline
I got an answer from another party. You didn't do anything wrong. The raspberry pi has a hardware bootloader that boots the kernel binary directly. The package manager doesn't know anything about it and that's why you couldn't upgrade the kernel. I don't know if there's a way to manually upgrade it.
Offline
I don't know if there's a way to manually upgrade it.
Install Debian and convert it Deuvan then the kernel upgrade properly. With the Devuan images you are locked to the install image possibly forever. At least this is what I found when trying to do it with my Pi4. I made a couple of post on this some time back when I discovered this disturbing lack of upgrades and went the route I have mentioned. Just for the hell of it I booted it up for the first time in weeks.
zeus@9600k:~$ pi
Linux raspi 6.12.107+deb13-arm64 #1 SMP Debian 6.12.107-1 (2026-08-29) aarch64
Devuan GNU/Linux 6 (excalibur)
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 117G 1.6G 115G 2% /
/dev/sda1 500M 157M 344M 32% /boot/firmware
== SYSTEM
Processor: Cortex-A72 @ 1500MHz 45°C
Online: 0-3
Memory: 7.6G 359M
Wired: eth0 UP 192.168.0.116
Uptime: 00:05:06 up 1 min, 0 users, load average: 0.24, 0.13, 0.05
Last login: Tue Sep 8 11:15:35 2026 from 192.168.0.101The kernels available.
zeus@raspi:~$ acp policy linux-image-arm64
linux-image-arm64:
Installed: 6.12.107-1
Candidate: 6.12.107-1
Version table:
7.1.8-1~bpo13+1 100
100 http://gnlug.org/pub/devuan/merged excalibur-backports/main arm64 Packages
*** 6.12.107-1 500
500 http://gnlug.org/pub/devuan/merged excalibur-proposed-updates/main arm64 Packages
500 http://gnlug.org/pub/devuan/merged excalibur-security/main arm64 Packages
100 /var/lib/dpkg/status
6.12.94-1 500
500 http://gnlug.org/pub/devuan/merged excalibur/main arm64 PackagesInstalling the version 7 from backports.
zeus@raspi:~$ su
Password:
root@raspi:/home/zeus# apt install -t excalibur-backports linux-image-arm64
Upgrading:
linux-image-arm64
Installing dependencies:
linux-base-7.1.8+deb13-arm64 linux-image-7.1.8+deb13-arm64
linux-base-arm64 linux-modules-7.1.8+deb13-arm64
linux-binary-7.1.8+deb13-arm64
Suggested packages:
debian-kernel-handbook linux-doc-7.1
Summary:
Upgrading: 1, Installing: 5, Removing: 0, Not Upgrading: 32
Download size: 101 MB
Space needed: 282 MB / 123 GB available
Continue? [Y/n] y
Get:1 http://gnlug.org/pub/devuan/merged excalibur-backports/main arm64 linux-base-7.1.8+deb13-arm64 arm64 7.1.8-1~bpo13+1 [4,523 kB]
Get:2 http://gnlug.org/pub/devuan/merged excalibur-backports/main arm64 linux-binary-7.1.8+deb13-arm64 arm64 7.1.8-1~bpo13+1 [11.7 MB]
Get:3 http://gnlug.org/pub/devuan/merged excalibur-backports/main arm64 linux-modules-7.1.8+deb13-arm64 arm64 7.1.8-1~bpo13+1 [84.5 MB]
Get:4 http://gnlug.org/pub/devuan/merged excalibur-backports/main arm64 linux-image-7.1.8+deb13-arm64 arm64 7.1.8-1~bpo13+1 [1,892 B]
Get:5 http://gnlug.org/pub/devuan/merged excalibur-backports/main arm64 linux-base-arm64 arm64 7.1.8-1~bpo13+1 [1,240 B]
Get:6 http://gnlug.org/pub/devuan/merged excalibur-backports/main arm64 linux-image-arm64 arm64 7.1.8-1~bpo13+1 [1,664 B]
Fetched 101 MB in 3s (30.2 MB/s)
Selecting previously unselected package linux-base-7.1.8+deb13-arm64.
(Reading database ... 34649 files and directories currently installed.)
Preparing to unpack .../0-linux-base-7.1.8+deb13-arm64_7.1.8-1~bpo13+1_arm64.deb
...
Unpacking linux-base-7.1.8+deb13-arm64 (7.1.8-1~bpo13+1) ...
Selecting previously unselected package linux-binary-7.1.8+deb13-arm64.
Preparing to unpack .../1-linux-binary-7.1.8+deb13-arm64_7.1.8-1~bpo13+1_arm64.d
eb ...
Unpacking linux-binary-7.1.8+deb13-arm64 (7.1.8-1~bpo13+1) ...
Selecting previously unselected package linux-modules-7.1.8+deb13-arm64.
Preparing to unpack .../2-linux-modules-7.1.8+deb13-arm64_7.1.8-1~bpo13+1_arm64.
deb ...
Unpacking linux-modules-7.1.8+deb13-arm64 (7.1.8-1~bpo13+1) ...
Selecting previously unselected package linux-image-7.1.8+deb13-arm64.
Preparing to unpack .../3-linux-image-7.1.8+deb13-arm64_7.1.8-1~bpo13+1_arm64.de
b ...
Unpacking linux-image-7.1.8+deb13-arm64 (7.1.8-1~bpo13+1) ...
Selecting previously unselected package linux-base-arm64.
Preparing to unpack .../4-linux-base-arm64_7.1.8-1~bpo13+1_arm64.deb ...
Unpacking linux-base-arm64 (7.1.8-1~bpo13+1) ...
Preparing to unpack .../5-linux-image-arm64_7.1.8-1~bpo13+1_arm64.deb ...
Unpacking linux-image-arm64 (7.1.8-1~bpo13+1) over (6.12.107-1) ...
Setting up linux-base-7.1.8+deb13-arm64 (7.1.8-1~bpo13+1) ...
Setting up linux-modules-7.1.8+deb13-arm64 (7.1.8-1~bpo13+1) ...
Setting up linux-binary-7.1.8+deb13-arm64 (7.1.8-1~bpo13+1) ...
Setting up linux-base-arm64 (7.1.8-1~bpo13+1) ...
Setting up linux-image-7.1.8+deb13-arm64 (7.1.8-1~bpo13+1) ...
I: /vmlinuz.old is now a symlink to boot/vmlinuz-6.12.107+deb13-arm64
I: /initrd.img.old is now a symlink to boot/initrd.img-6.12.107+deb13-arm64
I: /vmlinuz is now a symlink to boot/vmlinuz-7.1.8+deb13-arm64
I: /initrd.img is now a symlink to boot/initrd.img-7.1.8+deb13-arm64
/etc/kernel/postinst.d/initramfs-tools:
update-initramfs: Generating /boot/initrd.img-7.1.8+deb13-arm64
Setting up linux-image-arm64 (7.1.8-1~bpo13+1) ...
root@raspi:/home/zeus# reboot
Broadcast message from root@raspi (pts/0) (Tue Sep 29 00:10:54 2026):
The system is going down for reboot NOW!
root@raspi:/home/zeus# Read from remote host raspi.lan: Connection reset by peer
Connection to raspi.lan closed.
client_loop: send disconnect: Broken pipeAnd success in upgrading to the new version.
zeus@9600k:~$ pi
Linux raspi 7.1.8+deb13-arm64 #1 SMP PREEMPT Debian 7.1.8-1~bpo13+1 (2026-08-16) aarch64
Devuan GNU/Linux 6 (excalibur)
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 117G 1.8G 115G 2% /
/dev/sda1 500M 235M 266M 47% /boot/firmware
== SYSTEM
Processor: Cortex-A72 @ 1500MHz 54°C
Online: 0-3
Memory: 7.6G 380M
Wired: eth0 UP 192.168.0.116
Uptime: 00:12:17 up 1 min, 0 users, load average: 0.90, 0.31, 0.11
Last login: Tue Sep 29 00:05:06 2026 from 192.168.0.101So the solution to the problem to the original poster is to dump the Broken by design Devuan image and use a converted Debian install like I did and everything will work like it should with the normal Debian tools using Devuan sources.
Last edited by RedGreen925 (Today 03:16:56)
Offline
Thank you. That's very useful.
Offline
@RedGreen925
Intresting.
Still don't have a RasPi, but sooner or later ... .
Assuming the conversion process to Devuan is similar to x86 computers:
Make Debian boot with sysv-init, then just dist-upgrade to Devuan.
Would this work?
Anything ARM specific to add?
I'm just curious.
Offline
Assuming the conversion process to Devuan is similar to x86 computers:
Make Debian boot with sysv-init, then just dist-upgrade to Devuan.
Would this work?
Anything ARM specific to add?
Am just checking through the install notes for that machine. Yes I followed the guide here after setting up the Debian.
https://www.devuan.org/os/documentation … libur.html
Nah nothing special in them notes just basic install programs wanted and some configuration options, one thing though if wanting to get rid of the annoying Welcome to Debian MOTD then this is what I changed it to.
zeus@9600k:~$ pi
Linux raspi 6.12.48+deb13-arm64 #1 SMP Debian 6.12.48-1 (2025-09-20) aarch64
The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Wed Nov 5 17:29:43 2025 from 192.168.0.101
Time for a dynamic message of the day getting sick of that.
https://unix.stackexchange.com/questions/246436/how-to-set-a-dynamic-message-of-the-day-motd-in-debian-jessie-8-2-for-ssh
https://github.com/ar51an/raspberrypi-motd
root@raspi:~# mv /etc/motd /etc/motd.old
root@raspi:~# cat /etc/update-motd.d/10-uname
#!/bin/sh
uname -snrvm
root@raspi:~# nano /etc/update-motd.d/15-logo
root@raspi:~# chmod +x /etc/update-motd.d/15-logo
root@raspi:~# cat /etc/update-motd.d/15-logo
#!/bin/bash
echo
DISTRO=$(cat /etc/issue | cut -d " " -f 1)
RELEASE=$(lsb_release -a | grep "Description:" | cut -d " " -f 2-4)
echo "$DISTRO " "$RELEASE"
echo
root@raspi:~# nano /etc/update-motd.d/20-sysinfo
root@raspi:~# chmod +x /etc/update-motd.d/20-sysinfo
root@raspi:~# cat /etc/update-motd.d/20-sysinfo
#!/bin/bash
# variables
cpu=$(</sys/class/thermal/thermal_zone0/temp)
CPUT=$((cpu/1000))
CPU=`lscpu | grep "Model name" | sed -n 1p | sed 's/Model name://g' | sed -r '1s/\s+//g'`
CPUM=`lscpu | grep "CPU max MHz" | sed -n 1p | sed 's/CPU max MHz://g' | sed -r '1s/\s+//g' | sed 's/.0000//g'`
NETWORK=$(ip -o -4 -br a | grep -v '^lo'| sed 's/^/ /' | sed 's/\/..//' | sed -r '1s/\s+/ /g' | sed -r '2s/\s+/ /g')
ETH=`echo -e Wired:`
WLAN=`echo -e Wireless:`
USB=`echo -e Tether:`
# display
df -h | egrep '(Filesystem)|(/dev/mmc)|(/dev/root)|(/dev/sd)|(/dev/nvme)|(Media)'
#df -h | egrep '(Filesystem)|(/dev/mmc)|(/dev/root)|(/dev/sd)|(/dev/nvme)'
echo
echo -e "== SYSTEM"
if [[ -f "/sys/devices/system/cpu/present" ]]; then
echo -en "Processor: " $CPU; echo -en " @ $CPUM"; echo -e "MHz $CPUT°C";
else
echo -e "Temperature:" $CPUT°C;
echo -e "Cores: " $(cat /sys/devices/system/cpu/cpu*/cpufreq/cpuinfo_cur_freq);
fi
echo -e "Online: " $(lscpu | grep -w "On-line CPU(s) list:" | sed "s/On-line CPU(s) list:/ /g" | sed -e "s/\s\{3,\}//g")
echo -e "Memory: " $(free -h | sed 's/i//g' | sed 's/Mem://g' | awk '{print $1" "$2}' | sed -n 'n;p')
echo -e "$NETWORK" | sed "s/^[ \t]*//" | sed "s/eth0/$ETH eth0/g" | sed "s/eth1/$ETH eth1/g" | sed "s/wlan0/$WLAN wlan0/g" | sed "s/wlan1/$WLAN wlan1/g" | sed "s/usb0/$USB usb0/g"
echo -e "Uptime: " $(uptime)
echo
zeus@9600k:~$ pi
Linux raspi 6.12.48+deb13-arm64 #1 SMP Debian 6.12.48-1 (2025-09-20) aarch64
Devuan GNU/Linux 6 (excalibur)
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 117G 1.7G 115G 2% /
/dev/sda1 500M 152M 348M 31% /boot/firmware
/dev/sdb1 3.6T 3.1T 522G 86% /home/zeus/rtorrent
== SYSTEM
Processor: Cortex-A72 @ 1500MHz 57°C
Online: 0-3
Memory: 7.6G 492M
Wired: eth0 UP 192.168.0.116
Uptime: 03:15:19 up 16:20, 1 user, load average: 0.21, 0.15, 0.12
Last login: Fri Nov 7 03:13:26 2025 from 192.168.0.101
Much better tells you exactly what it is and some information on the machine.Offline
Pages: 1