Debian 12 Mate Not Using Kernel 6.1.0-25-amd 64 + Old Binaries [Solved}

Alexzee

Well-Known Member
Joined
Jun 1, 2019
Messages
4,073
Reaction score
2,211
Credits
24,895
I've got Debian 12 Mate up-to-date on this custom Asus Tuf Gaming Desktop. Runs great!

For some reason after rebooting the system isn't using kernel 6.1.0-25.

After checking to see what available:
Code:
debian-box:~$ apt-cache search linux-image
linux-headers-6.1.0-22-amd64 - Header files for Linux 6.1.0-22-amd64
linux-headers-6.1.0-22-cloud-amd64 - Header files for Linux 6.1.0-22-cloud-amd64
linux-headers-6.1.0-22-rt-amd64 - Header files for Linux 6.1.0-22-rt-amd64
linux-headers-6.1.0-25-amd64 - Header files for Linux 6.1.0-25-amd64
linux-headers-6.1.0-25-cloud-amd64 - Header files for Linux 6.1.0-25-cloud-amd64
linux-headers-6.1.0-25-rt-amd64 - Header files for Linux 6.1.0-25-rt-amd64
linux-image-6.1.0-22-amd64-dbg - Debug symbols for linux-image-6.1.0-22-amd64
linux-image-6.1.0-22-amd64-unsigned - Linux 6.1 for 64-bit PCs
linux-image-6.1.0-22-cloud-amd64-dbg - Debug symbols for linux-image-6

The system is using :
Code:
@debian-box:~$ uname -r
6.1.0-23-amd64

So, for a sanity check I looked in the boot directory:
Code:
@debian-box:/boot$ ls
config-6.1.0-23-amd64  initrd.img-6.1.0-23-amd64  System.map-6.1.0-25-amd64
config-6.1.0-25-amd64  initrd.img-6.1.0-25-amd64  vmlinuz-6.1.0-23-amd64
grub                   System.map-6.1.0-23-amd64  vmlinuz-6.1.0-25-amd64

Any idea gentlemen what I'm missing for the system to use the new kernel?

--+Last update the system complained about daemons using old libraries.+--
This has continued for about a week on the Devuan 5 install on the nvme and 2-3 days on the Debian 12 Mate install that's on the 1 TB HDD.

I'm trying to focus on learning the abc's of VSCode and complete the initial set up when this interrupted the progression.
 

Attachments

  • Outdated Libs.png
    Outdated Libs.png
    1.3 MB · Views: 77
Last edited:


Dumb question: Did you reboot your computer since you downloaded 6.1.0-25?
 
I've got Debian 12 Mate up-to-date on this custom Asus Tuf Gaming Desktop. Runs great!

For some reason after rebooting the system isn't using kernel 6.1.0-25.

After checking to see what available:
Code:
debian-box:~$ apt-cache search linux-image
linux-headers-6.1.0-22-amd64 - Header files for Linux 6.1.0-22-amd64
linux-headers-6.1.0-22-cloud-amd64 - Header files for Linux 6.1.0-22-cloud-amd64
linux-headers-6.1.0-22-rt-amd64 - Header files for Linux 6.1.0-22-rt-amd64
linux-headers-6.1.0-25-amd64 - Header files for Linux 6.1.0-25-amd64
linux-headers-6.1.0-25-cloud-amd64 - Header files for Linux 6.1.0-25-cloud-amd64
linux-headers-6.1.0-25-rt-amd64 - Header files for Linux 6.1.0-25-rt-amd64
linux-image-6.1.0-22-amd64-dbg - Debug symbols for linux-image-6.1.0-22-amd64
linux-image-6.1.0-22-amd64-unsigned - Linux 6.1 for 64-bit PCs
linux-image-6.1.0-22-cloud-amd64-dbg - Debug symbols for linux-image-6

The system is using :
Code:
@debian-box:~$ uname -r
6.1.0-23-amd64

So, for a sanity check I looked in the boot directory:
Code:
@debian-box:/boot$ ls
config-6.1.0-23-amd64  initrd.img-6.1.0-23-amd64  System.map-6.1.0-25-amd64
config-6.1.0-25-amd64  initrd.img-6.1.0-25-amd64  vmlinuz-6.1.0-23-amd64
grub                   System.map-6.1.0-23-amd64  vmlinuz-6.1.0-25-amd64

Any idea gentlemen what I'm missing for the system to use the new kernel?

--+Last update the system complained about daemons using old libraries.+--
This has continued for about a week on the Devuan 5 install on the nvme and 2-3 days on the Debian 12 Mate install that's on the 1 TB HDD.

I'm trying to focus on learning the abc's of VSCode and complete the initial set up when this interrupted the progression.
The boot directory in post #1 looks fine with all the relevant files for booting either of the kernels there.

If you are running the grub bootloader, the following may apply.

Grub can remember the last entry you booted from and use this as the default entry to boot from next time, so that is one possibility in the situation you describe. That is, you may have booted the 6.1.0-23 kernel, and grub remembered it. That might happen if the config in /etc/default/grub is:
Code:
GRUB_DEFAULT=saved
with perhaps this one as well:
Code:
GRUB_SAVEDEFAULT=true

To choose the kernel to boot, you can do it from the grub menu when the machine starts up. If there is no grub menu that appears, then you can configure grub to have the menu come up on screen for a number of seconds. Configure it with the following variable, inserting the number of seconds you want the grub menu to appear, in the following example, it's 10 seconds:
Code:
GRUB_TIMEOUT=10
Then run: update-grub as root. When the menu does come up, as soon as you select the kernel, grub will boot, so if you select it within a couple of seconds, it'll boot after that couple of seconds, but if you leave it, it'll sit for 10 seconds and then boot the default kernel.

To set the latest kernel to boot automatically, (that is the 6.1.0-25 in your case according the post #1) note where it is in the list in the grub menu. If it is the first in the list, set the following config in /etc/default/grub:
Code:
GRUB_DEFAULT=0
and run: update-grub as root. If the latest kernel is second in the list, instead of "0", write "1", and so on.

To see the order in which grub normally selects the kernels you can look in the /boot/grub/grub.cfg file and note the lines beginning with: "Loading Linux 6.....". The order in which the various kernels appear with their respective version numbers appear in that file, is the order in which grub loads them if GRUB_DEFAULT is set to 0.

To see the order from the command line, run:
Code:
grep -i 'Loading Linux' /boot/grub/grub.cfg

Note that when setting the kernels using the GRUB_DEFAULT variable by number, then don't use the GRUB_SAVEDEFAULT=true config at all ... comment it out or delete it.

There are other arrangements that can be made in /etc/default/grub outlined in the grub manual:
 
The boot directory in post #1 looks fine with all the relevant files for booting either of the kernels there.

If you are running the grub bootloader, the following may apply.

Grub can remember the last entry you booted from and use this as the default entry to boot from next time, so that is one possibility in the situation you describe. That is, you may have booted the 6.1.0-23 kernel, and grub remembered it. That might happen if the config in /etc/default/grub is:
Code:
GRUB_DEFAULT=saved
with perhaps this one as well:
Code:
GRUB_SAVEDEFAULT=true

To choose the kernel to boot, you can do it from the grub menu when the machine starts up. If there is no grub menu that appears, then you can configure grub to have the menu come up on screen for a number of seconds. Configure it with the following variable, inserting the number of seconds you want the grub menu to appear, in the following example, it's 10 seconds:
Code:
GRUB_TIMEOUT=10
Then run: update-grub as root. When the menu does come up, as soon as you select the kernel, grub will boot, so if you select it within a couple of seconds, it'll boot after that couple of seconds, but if you leave it, it'll sit for 10 seconds and then boot the default kernel.

To set the latest kernel to boot automatically, (that is the 6.1.0-25 in your case according the post #1) note where it is in the list in the grub menu. If it is the first in the list, set the following config in /etc/default/grub:
Code:
GRUB_DEFAULT=0
and run: update-grub as root. If the latest kernel is second in the list, instead of "0", write "1", and so on.

To see the order in which grub normally selects the kernels you can look in the /boot/grub/grub.cfg file and note the lines beginning with: "Loading Linux 6.....". The order in which the various kernels appear with their respective version numbers appear in that file, is the order in which grub loads them if GRUB_DEFAULT is set to 0.

To see the order from the command line, run:
Code:
grep -i 'Loading Linux' /boot/grub/grub.cfg

Note that when setting the kernels using the GRUB_DEFAULT variable by number, then don't use the GRUB_SAVEDEFAULT=true config at all ... comment it out or delete it.

There are other arrangements that can be made in /etc/default/grub outlined in the grub manual:
Devuan has control over Grub on the triple booted rig.
I'll look at /etc/default/grub in Devuan and Debian 12. Thanks.

Booted into Debian 12 now so I'll look in config for the boot.

This is from the Debian 12 install:
Code:
'Loading Linux 6.1.0-25-amd64 ...'
        echo    'Loading Linux 6.1.0-25-amd64 ...'
        echo    'Loading Linux 6.1.0-25-amd64 ...'
        echo    'Loading Linux 6.1.0-23-amd64 ...'
        echo    'Loading Linux 6.1.0-23-amd64 ...'
 
Looks good to me-

Code:
menuentry 'Debian GNU/Linux' --class debian --class gnu-linux --class gnu

Code:
echo    'Loading Linux 6.1.0-25-amd64 ...'
    linux    /boot/vmlinuz-6.1.0-25-amd64 root=UUID=4e792fb7-d5f9-4602-a8cc-901b3b639b96 ro  quiet splash resume=UUID=a48b58a0-93be-4371-b26a-b53b389909b0
    echo    'Loading initial ramdisk ...'
    initrd    /boot/initrd.img-6.1.0-25-amd64

Looks like much the same for the previous kernel.

Code:
menuentry 'Debian GNU/Linux, with Linux 6.1.0-23-amd64' --class debian

Code:
echo    'Loading Linux 6.1.0-23-amd64 ...'
        linux    /boot/vmlinuz-6.1.0-23-amd64 root=UUID=4e792fb7-d5f9-4602-a8cc-901b3b639b96 ro  quiet splash resume=UUID=a48b58a0-93be-4371-b26a-b53b389909b0
        echo    'Loading initial ramdisk ...'
        initrd    /boot/initrd.img-6.1.0-23-amd64

Devuan however doesn't show the "Loading Linux" entry.
Code:
menuentry 'Devuan GNU/Linux, with Linux 6.1.0-25-amd64 (recovery mode) (on /dev/nvme0n1p1)' --class gnu-linux --class gnu --class os $menuentry_id_option 'osprober-gnulinux-/boot/vmlinuz-6.1.0-25-amd64-root=UUID=62579aff-3318-49f9-92d8-069d5a74ae56 ro single-62579aff-3318-49f9-92d8-069d5a74ae56' {
        insmod part_msdos
        insmod ext2
        search --no-floppy --fs-uuid --set=root 62579aff-3318-49f9-92d8-069d5a74ae56
        linux /boot/vmlinuz-6.1.0-25-amd64 root=UUID=62579aff-3318-49f9-92d8-069d5a74ae56 ro single
        initrd /boot/initrd.img-6.1.0-25-amd64
    }

Reading through the /etc/default/grub on the Debian 12 install:
Code:
GRUB_DEFAULT=0
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash resume=UUID=a48b58a0-93be-4371-b26a-b53b389909b0"
GRUB_CMDLINE_LINUX=""

The Grub Menu for this rig is as follows:

Devuan
Debian
Slackware

BTW, os-prober was re-inabled by the Debian Calamares installation.
 
Looks good to me-

Code:
menuentry 'Debian GNU/Linux' --class debian --class gnu-linux --class gnu

Code:
echo    'Loading Linux 6.1.0-25-amd64 ...'
    linux    /boot/vmlinuz-6.1.0-25-amd64 root=UUID=4e792fb7-d5f9-4602-a8cc-901b3b639b96 ro  quiet splash resume=UUID=a48b58a0-93be-4371-b26a-b53b389909b0
    echo    'Loading initial ramdisk ...'
    initrd    /boot/initrd.img-6.1.0-25-amd64

Looks like much the same for the previous kernel.

Code:
menuentry 'Debian GNU/Linux, with Linux 6.1.0-23-amd64' --class debian

Code:
echo    'Loading Linux 6.1.0-23-amd64 ...'
        linux    /boot/vmlinuz-6.1.0-23-amd64 root=UUID=4e792fb7-d5f9-4602-a8cc-901b3b639b96 ro  quiet splash resume=UUID=a48b58a0-93be-4371-b26a-b53b389909b0
        echo    'Loading initial ramdisk ...'
        initrd    /boot/initrd.img-6.1.0-23-amd64

Devuan however doesn't show the "Loading Linux" entry.
Code:
menuentry 'Devuan GNU/Linux, with Linux 6.1.0-25-amd64 (recovery mode) (on /dev/nvme0n1p1)' --class gnu-linux --class gnu --class os $menuentry_id_option 'osprober-gnulinux-/boot/vmlinuz-6.1.0-25-amd64-root=UUID=62579aff-3318-49f9-92d8-069d5a74ae56 ro single-62579aff-3318-49f9-92d8-069d5a74ae56' {
        insmod part_msdos
        insmod ext2
        search --no-floppy --fs-uuid --set=root 62579aff-3318-49f9-92d8-069d5a74ae56
        linux /boot/vmlinuz-6.1.0-25-amd64 root=UUID=62579aff-3318-49f9-92d8-069d5a74ae56 ro single
        initrd /boot/initrd.img-6.1.0-25-amd64
    }

Reading through the /etc/default/grub on the Debian 12 install:
Code:
GRUB_DEFAULT=0
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash resume=UUID=a48b58a0-93be-4371-b26a-b53b389909b0"
GRUB_CMDLINE_LINUX=""

The Grub Menu for this rig is as follows:

Devuan
Debian
Slackware

BTW, os-prober was re-inabled by the Debian Calamares installation.
Yes, the debian grub configs looks fine with the 6.1.0-25 loading.

The devuan grub is older style without the "echo" line but it's loading line just beginning with "linux" is also present in the debian configs. Both devuan and debian abide by the same configuration convention of referring to the listed kernels represented on the "linux" lines in the order from 0 onwards where 0 is the first kernel.

If the devuan grub.cfg file is showing the 6.1.0-25 as the first one in grub.cfg, and the config in /etc/default/grub is: GRUB_DEFAULT=0, and the configs: GRUB_SAVEDEFAULT is absent, then devuan should normally load that 6.1.0-25 kernel. If it doesn't, perhaps share the whole /etc/default/grub file here.
 
The Devuan grub.cfg is not showing 6.1.0-25. Just this:

Code:
GRUB_DEFAULT=0
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet"
GRUB_CMDLINE_LINUX=""

The default booted into Devuan is set to zero. So that's right.
Also the GRUB_SAVEDEFAULT is absent in Devuan's /etc/default/grub.

Code:
root@devartbox:~# cat /etc/default/grub
# If you change this file, run 'update-grub' afterwards to update
# /boot/grub/grub.cfg.
# For full documentation of the options in this file, see:
#   info -f grub -n 'Simple configuration'

GRUB_DEFAULT=0
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet"
GRUB_CMDLINE_LINUX=""

The good news is that Devuan 5 is using the newest kernel.:)

Code:
root@devartbox:~# uname -a
Linux devartbox 6.1.0-25-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.106-3 (2024-08-26) x86_64 GNU/Linux

What I don't understand, osprey, is why is the Debian 12 Mate installation on the 1 TB not using the newest kernel?
Clearly, it is installed and shows in the /boot directory in my first post.
Baffling mate--
 
I'm booted into Devuan 5 now and have to leave for work.
When I have time in the late evening I'll boot into Debian 12 and copy and paste the /etc/default/grub file:-
 
The Devuan grub.cfg is not showing 6.1.0-25. Just this:

Code:
GRUB_DEFAULT=0
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet"
GRUB_CMDLINE_LINUX=""

The default booted into Devuan is set to zero. So that's right.
Also the GRUB_SAVEDEFAULT is absent in Devuan's /etc/default/grub.

Code:
root@devartbox:~# cat /etc/default/grub
# If you change this file, run 'update-grub' afterwards to update
# /boot/grub/grub.cfg.
# For full documentation of the options in this file, see:
#   info -f grub -n 'Simple configuration'

GRUB_DEFAULT=0
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet"
GRUB_CMDLINE_LINUX=""

The good news is that Devuan 5 is using the newest kernel.:)

Code:
root@devartbox:~# uname -a
Linux devartbox 6.1.0-25-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.106-3 (2024-08-26) x86_64 GNU/Linux

What I don't understand, osprey, is why is the Debian 12 Mate installation on the 1 TB not using the newest kernel?
Clearly, it is installed and shows in the /boot directory in my first post.
Baffling mate
@Alexzee , it looks like debian boots with the 6.1.0-23 kernel because perhaps the grub was not updated by debian since it was last used. When debian was last used, it likely used the 6.1.0-23 kernel, then the installation was updated by apt to install the later 6.1.0-25 kernel, but grub itself was not told about this by debian's "update-grub" program because your grub for the disk is being controlled by the devuan version of grub. That's my best guess.
 
Last edited:
@Alexzee , it looks like debian boots with the 6.1.0-23 kernel because perhaps the grub was not updated by debian since it was last used. When debian was last used, it likely used the 6.1.0-23 kernel, then the installation was updated by apt to install the later 6.1.0-25 kernel, but grub itself was not told about this by debian's "update-grub" program because your grub for the disk is being controlled by the devuan version of grub. That's my best guess.
That makes sense.
Updating grub in Debian 12 now and rebooting.
 

Attachments

  • INITRD 1.png
    INITRD 1.png
    171.8 KB · Views: 44
  • INITRD 2.png
    INITRD 2.png
    172.1 KB · Views: 41
  • Vmlinuz 1.png
    Vmlinuz 1.png
    180.6 KB · Views: 36
  • Vmlinuz 2.png
    Vmlinuz 2.png
    180.2 KB · Views: 39
Rebooted into Devuan to update Grub:

Code:
root@devartbox:~# update-grub
Generating grub configuration file ...
Found background image: splash.png
Found linux image: /boot/vmlinuz-6.1.0-25-amd64
Found initrd image: /boot/initrd.img-6.1.0-25-amd64
Found linux image: /boot/vmlinuz-6.1.0-23-amd64
Found initrd image: /boot/initrd.img-6.1.0-23-amd64
Warning: os-prober will be executed to detect other bootable partitions.
Its output will be used to detect bootable binaries on them and create new boot entries.
Found Debian GNU/Linux 12 (bookworm) on /dev/sda1
Found Slackware 15.0 x86_64 on /dev/sdb4
done

Rebooting back into Debian 12......
 
Debian 12 is now using the newest kernel! Thank you @osprey and @GatorsFan for that!

Code:
debian-box:~$ uname -a
Linux debian-box 6.1.0-25-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.106-3 (2024-08-26) x86_64 GNU/Linux

I'll have to edit the /etc/default/grub file as os-prober is set to =false-:)

Code:
OS_PROBER re-enabled by Debian Calamares installation:
GRUB_DISABLE_OS_PROBER=false

Now, how do I rectify the daemons using outdated libraries and <or> binaries?
 
I found the configuration file that controls the issue with the daemons using old binaries.
This link to the fix on Stack Overflow looks good I think.
I'm having this issue with Devuan 5 and Debian 12 Mate stable.

Code:
@debian-box:~$ cat /etc/needrestart/needrestart.conf
# needrestart - Restart daemons after library updates.

The default in this file is:
Code:
#$nrconf{restart} = 'i';

I found a thread where Ubuntu users are having the same issue.

When I have more time over the next 2-3 days I'll change it to:
Code:
$nrconf{restart} = 'a';

Be back at that time to let you know how things go.
 
Finally got around to editing the /etc/needrestart/needrestart.conf file.
I changed the string that said $nrconf{restart} = 'i'.
A quick fix in vim.:)

Code:
# ATTENTION: If needrestart is configured to run in interactive mode but is run
# non-interactive (i.e. unattended-upgrades) it will fallback to list only mode.
#
$nrconf{restart} = 'a';

Have a great week ahead.
 

Staff online


Top