The officially official Devuan Forum!

You are not logged in.

#1 2026-09-24 11:04:49

steve_graham
Member
Registered: 2024-05-13
Posts: 5  

[SOLVED] Upgrading kernel via apt

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

#2 Today 01:11:44

fsmithred
Administrator
Registered: 2016-11-25
Posts: 2,995  

Re: [SOLVED] Upgrading kernel via apt

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

#3 Today 03:14:57

RedGreen925
Member
Registered: 2024-12-07
Posts: 310  

Re: [SOLVED] Upgrading kernel via apt

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.101

The 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 Packages

Installing 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 pipe

And 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.101

So 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

#4 Today 09:47:57

steve_graham
Member
Registered: 2024-05-13
Posts: 5  

Re: [SOLVED] Upgrading kernel via apt

Thank you. That's very useful.

Offline

#5 Today 12:56:03

delgado
Member
Registered: 2022-07-14
Posts: 299  

Re: [SOLVED] Upgrading kernel via apt

@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

#6 Today 15:31:50

RedGreen925
Member
Registered: 2024-12-07
Posts: 310  

Re: [SOLVED] Upgrading kernel via apt

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

Board footer