Asus Tinkerboard kernel stuck at v.6.6.34 on Bookworm since upgrade from 9.7 to latest

Creating a bug report/issue

[Y] I have searched the existing open and closed issues

Required Information

  • DietPi version | cat /boot/dietpi/.version
G_DIETPI_VERSION_CORE=9
G_DIETPI_VERSION_SUB=9
G_DIETPI_VERSION_RC=0
G_GITBRANCH='master'
G_GITOWNER='MichaIng'
G_LIVE_PATCH_STATUS[0]='applied'
G_LIVE_PATCH_STATUS[1]='applied'
G_LIVE_PATCH_STATUS[2]='not applicable'
  • Distro version | echo $G_DISTRO_NAME $G_RASPBIAN
    bookworm

  • Kernel version | uname --all
    Linux TinkerPrime 6.6.34-current-rockchip #1 SMP Sun Jun 16 11:47:49 UTC 2024 armv7l GNU/Linux

  • Architecture | dpkg --print-architecture
    armhf

  • SBC model | echo $G_HW_MODEL_NAME or (EG: RPi3)
    ASUS Tinker Board (armv7l)

  • Power supply used | (EG: 5V 1A RAVpower)
    5V 3A LiPo DC UPS

  • SD card used | (EG: SanDisk ultra)
    boot => Samsung 4Gb (exact model unknown)
    / => Samsung EVO850 128Gb SSD in external housing via USB

Additional Information (if applicable)

  • Software title | DietPi 9.9 / Docker
  • Was the software title installed freshly or updated/migrated? Fresh
  • Can this issue be replicated on a fresh installation of DietPi? No, because it presented during an upgrade
    ← If you sent a “dietpi-bugreport”, please paste the ID here →
  • Bug report ID | echo $G_HW_UUID

Steps to reproduce

  1. Install Dietpi Bookworm, v.8.something
  2. Install Docker via dietpi-software manager
  3. Do dietpi-upgrade up to current version, 9.9

Expected behaviour

  • Kernel version should upgrade to latest, v.6.6.54
  • Docker service should start

Actual behaviour

  • Kernel version is stuck on v.6.6.34 and won’t update
  • Docker service won’t start because active kernel version is 6.6.34, not 6.6.54 as expected

Extra details

  • The system keeps indicating that a reboot is required to finish an update, but numerous reboots later the message is stil present.
  • I have 2 other Asus Tinkerboards, same hardware version, but running Dietpi Bullseye. Both have kernel v.6.6.54 as expected.

Ping @MichaIng

I’ll push an update.

Ahh, but understood the other issue just now, that it does no update to the already existing v6.6.54 in the repo. @selenium can you show the output of this on the affected Tinkerboards:

apt policy linux-image-current-rockchip
EDIT: See below

As I understood, package has been updated already but somehow it did not take effect. System is asking for reboot constantly to apply the kernel change. Somehow a mismatch between installed and loaded kernel version.

1 Like

Thanks, I see now there is a dedicated /boot partition, hence probably a very old image. But that seems to not be mounted when the kernel is upgraded:

lsblk

A new kernel is btw available. So once the /boot mount has been sorted, and on the other Tinkerboard, this can be tested:

cd /tmp
wget https://dietpi.com/downloads/binaries/testing/linux-{dtb,image}-current-rockchip.deb
dpkg -i linux-{dtb,image}-current-rockchip.deb
reboot

Linux 6.12, hence a major upgrade. Do apply only if you can attack the SD card to another Linux system, to downgrade the kernel, in worst case :wink:. But would be a great help, as I do not own the board, hence need someone to test anyway.

Thanks, some additional info that might have value:

  • ls -l of /boot:
root@TinkerPrime:/boot# ls -l
total 27276
-rw-r--r-- 1 root root 2914883 Oct  5 13:43 System.map-6.6.54-current-rockchip
-rw-r--r-- 1 root root    2665 Jul 18 18:24 boot.cmd
-rw-r--r-- 1 root root    2737 Jul 18 18:28 boot.scr
-rw-r--r-- 1 root root  201881 Oct  5 13:43 config-6.6.54-current-rockchip
drwxr-xr-x 4 root root    4096 Dec 29 00:43 dietpi
-rw-r--r-- 1 root root   18092 Jul  8  2024 dietpi-LICENSE.txt
-rw-r--r-- 1 root root   16152 Jul  8  2024 dietpi-README.md
-rw-r--r-- 1 root root   17888 Jul 29 22:14 dietpi.txt
-rw-r--r-- 1 root root     298 Jul 29 22:07 dietpiEnv.txt
lrwxrwxrwx 1 root root      27 Dec 11 14:18 dtb -> dtb-6.6.54-current-rockchip
drwxr-xr-x 3 root root    4096 Dec 11 14:18 dtb-6.6.54-current-rockchip
-rw-r--r-- 1 root root 7414480 Dec 20 16:09 initrd.img-6.6.54-current-rockchip
lrwxrwxrwx 1 root root      31 Dec 20 16:09 uInitrd -> uInitrd-6.6.54-current-rockchip
-rw-r--r-- 1 root root 7414544 Dec 20 16:09 uInitrd-6.6.54-current-rockchip
-rw-r--r-- 1 root root 9892128 Oct  5 13:43 vmlinuz-6.6.54-current-rockchip
lrwxrwxrwx 1 root root      31 Dec 19 16:03 zImage -> vmlinuz-6.6.54-current-rockchip
  • Output of apt policy linux-image-current-rockchip
linux-image-current-rockchip:
  Installed: 24.11.0-trunk-dietpi1
  Candidate: 24.11.0-trunk-dietpi1
  Version table:
 *** 24.11.0-trunk-dietpi1 500
        500 https://dietpi.com/apt all/tinkerboard armhf Packages
        100 /var/lib/dpkg/status
     24.8.0-trunk-dietpi1 500
        500 https://dietpi.com/apt all/tinkerboard armhf Packages
  • Output of lsblk:
NAME        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
sda           8:0    0 119.2G  0 disk 
├─sda1        8:1    0  29.6G  0 part /
└─sda2        8:2    0  89.7G  0 part /data
mmcblk0     179:0    0   954M  0 disk 
└─mmcblk0p1 179:1    0   950M  0 part
  • Output of the manual upgrade test:
--2025-01-06 20:05:29--  https://dietpi.com/downloads/binaries/testing/linux-dtb-current-rockchip.deb
Resolving dietpi.com (dietpi.com)... 104.21.12.65, 172.67.193.183, 2606:4700:3035::6815:c41, ...
Connecting to dietpi.com (dietpi.com)|104.21.12.65|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 137344 (134K) [application/vnd.debian.binary-package]
Saving to: ‘linux-dtb-current-rockchip.deb’

linux-dtb-current-rockchip.deb             100%[=====================================================================================>] 134.12K  60.5KB/s    in 2.2s    

2025-01-06 20:05:33 (60.5 KB/s) - ‘linux-dtb-current-rockchip.deb’ saved [137344/137344]

--2025-01-06 20:05:33--  https://dietpi.com/downloads/binaries/testing/linux-image-current-rockchip.deb
Reusing existing connection to dietpi.com:443.
HTTP request sent, awaiting response... 200 OK
Length: 29425072 (28M) [application/vnd.debian.binary-package]
Saving to: ‘linux-image-current-rockchip.deb’

linux-image-current-rockchip.deb           100%[=====================================================================================>]  28.06M   431KB/s    in 2m 21s  

2025-01-06 20:07:55 (204 KB/s) - ‘linux-image-current-rockchip.deb’ saved [29425072/29425072]

FINISHED --2025-01-06 20:07:55--
Total wall clock time: 2m 27s
Downloaded: 2 files, 28M in 2m 23s (202 KB/s)
(Reading database ... 26072 files and directories currently installed.)
Preparing to unpack linux-dtb-current-rockchip.deb ...
Armbian 'linux-dtb-current-rockchip' for '6.12.8-current-rockchip': 'preinst' starting.
Armbian 'linux-dtb-current-rockchip' for '6.12.8-current-rockchip': 'preinst' finishing.
Unpacking linux-dtb-current-rockchip (25.02.0-trunk-dietpi1) over (24.11.0-trunk-dietpi1) ...
Preparing to unpack linux-image-current-rockchip.deb ...
Armbian 'linux-image-current-rockchip' for '6.6.54-current-rockchip': 'prerm' starting.
Armbian 'linux-image-current-rockchip' for '6.6.54-current-rockchip': 'prerm' finishing.
Armbian 'linux-image-current-rockchip' for '6.12.8-current-rockchip': 'preinst' starting.
Armbian 'linux-image-current-rockchip' for '6.12.8-current-rockchip': 'preinst' finishing.
Unpacking linux-image-current-rockchip (25.02.0-trunk-dietpi1) over (24.11.0-trunk-dietpi1) ...
Armbian 'linux-image-current-rockchip' for '6.6.54-current-rockchip': 'postrm' starting.
Removing obsolete initramfs images
Armbian 'linux-image-current-rockchip' for '6.6.54-current-rockchip': 'postrm' finishing.
Setting up linux-dtb-current-rockchip (25.02.0-trunk-dietpi1) ...
Armbian 'linux-dtb-current-rockchip' for '6.12.8-current-rockchip': 'postinst' starting.
Armbian: DTB: symlinking /boot/dtb to /boot/dtb-6.12.8-current-rockchip...
'dtb' -> 'dtb-6.12.8-current-rockchip'
Armbian 'linux-dtb-current-rockchip' for '6.12.8-current-rockchip': 'postinst' finishing.
Setting up linux-image-current-rockchip (25.02.0-trunk-dietpi1) ...
Armbian 'linux-image-current-rockchip' for '6.12.8-current-rockchip': 'postinst' starting.
Removing obsolete initramfs images
removed '/boot/initrd.img-6.6.54-current-rockchip'
removed '/boot/uInitrd-6.6.54-current-rockchip'
update-initramfs: Generating /boot/initrd.img-6.12.8-current-rockchip
W: Possible missing firmware /lib/firmware/mrvl/sdiouart8997_combo_v4.bin for built-in driver mwifiex_sdio
W: Possible missing firmware /lib/firmware/mrvl/sd8987_uapsta.bin for built-in driver mwifiex_sdio
W: Possible missing firmware /lib/firmware/mrvl/sdiouartiw416_combo_v0.bin for built-in driver mwifiex_sdio
W: Possible missing firmware /lib/firmware/mrvl/sd8786_uapsta.bin for built-in driver mwifiex_sdio
W: Possible missing firmware /lib/firmware/rt73.bin for built-in driver rt73usb
W: Possible missing firmware /lib/firmware/rt2870.bin for built-in driver rt2800usb
W: Possible missing firmware /lib/firmware/xc3028L-v36.fw for built-in driver xc2028
W: Possible missing firmware /lib/firmware/xc3028-v27.fw for built-in driver xc2028
W: Possible missing firmware /lib/firmware/dvb-fe-xc4000-1.4.fw for built-in driver xc4000
W: Possible missing firmware /lib/firmware/dvb-fe-xc4000-1.4.1.fw for built-in driver xc4000
W: Possible missing firmware /lib/firmware/dvb-fe-xc5000c-4.1.30.7.fw for built-in driver xc5000
W: Possible missing firmware /lib/firmware/dvb-fe-xc5000-1.6.114.fw for built-in driver xc5000
W: Possible missing firmware /lib/firmware/bfubase.frm for built-in driver bfusb
W: Possible missing firmware /lib/firmware/mrvl/sd8987_uapsta.bin for built-in driver btmrvl_sdio
W: Possible missing firmware /lib/firmware/rtl_bt/rtl8922au_config.bin for built-in driver btrtl
W: Possible missing firmware /lib/firmware/rtl_bt/rtl8922au_fw.bin for built-in driver btrtl
W: Possible missing firmware /lib/firmware/rtl_bt/rtl8852cu_fw_v2.bin for built-in driver btrtl
W: Possible missing firmware /lib/firmware/rtl_bt/rtl8852btu_config.bin for built-in driver btrtl
W: Possible missing firmware /lib/firmware/rtl_bt/rtl8852btu_fw.bin for built-in driver btrtl
W: Possible missing firmware /lib/firmware/rtl_bt/rtl8852bs_config.bin for built-in driver btrtl
W: Possible missing firmware /lib/firmware/rtl_bt/rtl8852bs_fw.bin for built-in driver btrtl
W: Possible missing firmware /lib/firmware/rtl_bt/rtl8851bu_config.bin for built-in driver btrtl
W: Possible missing firmware /lib/firmware/rtl_bt/rtl8851bu_fw.bin for built-in driver btrtl
W: Possible missing firmware /lib/firmware/rtl_bt/rtl8821cs_config.bin for built-in driver btrtl
W: Possible missing firmware /lib/firmware/rtl_bt/rtl8821cs_fw.bin for built-in driver btrtl
W: Possible missing firmware /lib/firmware/rtl_bt/rtl8761a_config.bin for built-in driver btrtl
W: Possible missing firmware /lib/firmware/rtl_bt/rtl8723ds_config.bin for built-in driver btrtl
W: Possible missing firmware /lib/firmware/rtl_bt/rtl8723ds_fw.bin for built-in driver btrtl
W: Possible missing firmware /lib/firmware/rtl_bt/rtl8723cs_xx_config.bin for built-in driver btrtl
W: Possible missing firmware /lib/firmware/rtl_bt/rtl8723cs_xx_fw.bin for built-in driver btrtl
W: Possible missing firmware /lib/firmware/rtl_bt/rtl8723cs_vf_config.bin for built-in driver btrtl
W: Possible missing firmware /lib/firmware/rtl_bt/rtl8723cs_vf_fw.bin for built-in driver btrtl
W: Possible missing firmware /lib/firmware/rtl_bt/rtl8723cs_cg_config.bin for built-in driver btrtl
W: Possible missing firmware /lib/firmware/rtl_bt/rtl8723cs_cg_fw.bin for built-in driver btrtl
W: Possible missing firmware /lib/firmware/rtl_bt/rtl8723bs_config.bin for built-in driver btrtl
W: Possible missing firmware /lib/firmware/rtl_bt/rtl8723b_config.bin for built-in driver btrtl
update-initramfs: Converting to U-Boot format
Image Name:   uInitrd
Created:      Mon Jan  6 20:08:41 2025
Image Type:   ARM Linux RAMDisk Image (gzip compressed)
Data Size:    11219495 Bytes = 10956.54 KiB = 10.70 MiB
Load Address: 00000000
Entry Point:  00000000
'/boot/uInitrd' -> 'uInitrd-6.12.8-current-rockchip'
Armbian: update last-installed kernel symlink to 'zImage'...
'/boot/zImage' -> 'vmlinuz-6.12.8-current-rockchip'
Armbian: Debian compat: linux-update-symlinks install 6.12.8-current-rockchip boot/vmlinuz-6.12.8-current-rockchip
Armbian 'linux-image-current-rockchip' for '6.12.8-current-rockchip': 'postinst' finishing.

  • System came back up after reboot, uname -a reports:
Linux TinkerPrime 6.6.34-current-rockchip #1 SMP Sun Jun 16 11:47:49 UTC 2024 armv7l GNU/Linux

So no improvement on the version situation alas.

Side note: the CPU temperature value in dietpi-banner is also missing. Probably unrelated but it is present on the Bullseye installs.

  • Output of apt policy linux-image-current-rockchip after the manual upgrade:
root@TinkerPrime:~# apt policy linux-image-current-rockchip
linux-image-current-rockchip:
  Installed: 25.02.0-trunk-dietpi1
  Candidate: 25.02.0-trunk-dietpi1
  Version table:
 *** 25.02.0-trunk-dietpi1 100
        100 /var/lib/dpkg/status
     24.11.0-trunk-dietpi1 500
        500 https://dietpi.com/apt all/tinkerboard armhf Packages
     24.8.0-trunk-dietpi1 500
        500 https://dietpi.com/apt all/tinkerboard armhf Packages
  • ls -l of /boot after the manual upgrade:
root@TinkerPrime:/boot# ls -l
total 36956
-rw-r--r-- 1 root root  3079044 Jan  6 15:23 System.map-6.12.8-current-rockchip
-rw-r--r-- 1 root root     2665 Jul 18 18:24 boot.cmd
-rw-r--r-- 1 root root     2737 Jul 18 18:28 boot.scr
-rw-r--r-- 1 root root   207782 Jan  6 15:23 config-6.12.8-current-rockchip
drwxr-xr-x 4 root root     4096 Dec 29 00:43 dietpi
-rw-r--r-- 1 root root    18092 Jul  8  2024 dietpi-LICENSE.txt
-rw-r--r-- 1 root root    16152 Jul  8  2024 dietpi-README.md
-rw-r--r-- 1 root root    17888 Jul 29 22:14 dietpi.txt
-rw-r--r-- 1 root root      298 Jul 29 22:07 dietpiEnv.txt
lrwxrwxrwx 1 root root       27 Jan  6 20:08 dtb -> dtb-6.12.8-current-rockchip
drwxr-xr-x 3 root root     4096 Jan  6 20:07 dtb-6.12.8-current-rockchip
-rw-r--r-- 1 root root 11219495 Jan  6 20:08 initrd.img-6.12.8-current-rockchip
lrwxrwxrwx 1 root root       31 Jan  6 20:08 uInitrd -> uInitrd-6.12.8-current-rockchip
-rw-r--r-- 1 root root 11219559 Jan  6 20:08 uInitrd-6.12.8-current-rockchip
-rw-r--r-- 1 root root 12029536 Jan  6 15:23 vmlinuz-6.12.8-current-rockchip
lrwxrwxrwx 1 root root       31 Jan  6 20:08 zImage -> vmlinuz-6.12.8-current-rockchip

I guess system is booting initially from SD card, however at a later stage, boot partition from SSD will be mounted. Can you try mounting mmcblk0p1 to a location within /mnt and verify content.

  • ls -l of mmcblkp1/boot mounted at /mnt/tmp
root@TinkerPrime:~# ls -l /mnt/tmp/boot/
total 27836
-rw-r--r-- 1 root root 2912330 Jun 16  2024 System.map-6.6.34-current-rockchip
-rw-r--r-- 1 root root    2665 Jul 18 18:24 boot.cmd
-rw-r--r-- 1 root root    2737 Jul 18 18:28 boot.scr
-rw-r--r-- 1 root root  201867 Jun 16  2024 config-6.6.34-current-rockchip
drwxr-xr-x 4 root root    4096 Jul 28 17:52 dietpi
-rw-r--r-- 1 root root   18092 Jul  8  2024 dietpi-LICENSE.txt
-rw-r--r-- 1 root root   16152 Jul  8  2024 dietpi-README.md
-rw------- 1 root root    3950 Jan  1  2021 dietpi-wifi.txt
-rw-r--r-- 1 root root   17885 Jul 27 20:03 dietpi.txt
-rw-r--r-- 1 root root     299 Jul 27 19:58 dietpiEnv.txt
lrwxrwxrwx 1 root root      27 Jul 18 18:27 dtb -> dtb-6.6.34-current-rockchip
drwxr-xr-x 3 root root    4096 Jul 28 17:52 dtb-6.6.34-current-rockchip
-rw-r--r-- 1 root root 7702536 Jul 18 18:28 initrd.img-6.6.34-current-rockchip
lrwxrwxrwx 1 root root      31 Jul 18 18:28 uInitrd -> uInitrd-6.6.34-current-rockchip
-rw-r--r-- 1 root root 7702600 Jul 18 18:28 uInitrd-6.6.34-current-rockchip
-rw-r--r-- 1 root root 9879560 Jun 16  2024 vmlinuz-6.6.34-current-rockchip
lrwxrwxrwx 1 root root      31 Jul 18 18:28 zImage -> vmlinuz-6.6.34-current-rockchip

I do believe you’ve found the issue :smiley:

Can I just copy /boot from the SSD back to the SD card or is there a better way that would prevent this happening again?

Script that mounts, rsyncs /boot from SSD to SD and then dismounts the SD card again, running on weekly cronjob?

Or rather change /boot mountpoint permanently?

Maybe a combination of option 2 and 3, first copying the data to the SD card and then permanently mounting /boot.

Can you please have a look at how /etc/fstab looks like

But let’s wait for @MichaIng , he always has good ideas.

Thank you :slight_smile:

In the meantime:

  • fstab contents:
root@TinkerPrime:~# cat /etc/fstab 
# You can use "dietpi-drive_manager" to setup mounts.
# NB: It overwrites and re-creates physical drive mount entries on use.

#----------------------------------------------------------------
# TMPFS
#----------------------------------------------------------------
tmpfs /tmp tmpfs size=2026M,noatime,lazytime,nodev,nosuid,mode=1777

#----------------------------------------------------------------
# MISC: ecryptfs, vboxsf, glusterfs, mergerfs, bind, Btrfs subvolume
#----------------------------------------------------------------

#----------------------------------------------------------------
# SWAP SPACE
#----------------------------------------------------------------
/var/swap none swap sw

#----------------------------------------------------------------
# PHYSICAL DRIVES
#----------------------------------------------------------------
UUID=42cbdd25-73ea-4b1e-ab1a-0d104d6832ee / ext4 noatime,lazytime,rw 0 1
UUID=d1791f87-d1bf-4efe-a366-782019132a73 /data ext4 noatime,lazytime,rw,nofail

can you share as well following, there we see the UUID

lsblk -o name,fstype,label,size,ro,type,mountpoint,partuuid,uuid

Here you go:

root@TinkerPrime:~# lsblk -o name,fstype,label,size,ro,type,mountpoint,partuuid,uuid
NAME FSTYPE LABEL   SIZE RO TYPE MOUNTPOINT PARTUUID                             UUID
sda               119.2G  0 disk                                                 
├─sda1
│    ext4          29.6G  0 part /          3d95d397-01                          42cbdd25-73ea-4b1e-ab1a-0d104d6832ee
└─sda2
     ext4   data   89.7G  0 part /data      3d95d397-02                          d1791f87-d1bf-4efe-a366-782019132a73
mmcblk0
                    954M  0 disk                                                 
└─mmcblk0p1
     ext4           950M  0 part /mnt/tmp   d34db33f-01                          80b2a0bf-ef11-455d-8371-2d262ae56831

So you manually moved the rootfs to a USB drive, but did not take care the boot partition. Either you could mount the SD card to somewhere else, and then bind mount its /boot sub directory to /boot. Or, the cleaner way, you remove all but the /boot sub directory from the SD card, and then copy its content onto its root. Then you can mount the SD card to /boot directly, without an intermediate bind mount. I hope it was understood :smile:.

that might be best way

  • clear SD card
  • move content from /boot/* into SD card directly (not using sub folder /boot on SD card)
  • add an entry to /etc/fstab to have SD card mounted into /boot directly

But one needs to be careful to not clear the bootloader (only remove content of the filesystem, NOT format the SD card), and to have valid content in /boot/boot.scr and /boot/dietpiEnv.txt. Are those identical between the two filesystems?

Using Meld to check, boot.scr is identical on both filesystems, dietpiEnv has one difference, namely docker_optimizations is on (SSD) but on SDcard it’s off. That shouldn’t be a problem though?

Question on editing /etc/fstab manually: will this change/relocation of /boot not get overwritten if I use the dietpi-drive_manager to e.g. later add NFS mounts, or should I just ignore the drive manager completely from here onwards?

Comfortable either way, just want to clarify. :slight_smile:

Not that only enables the memory cgroup, to allow monitoring and setting memory usage limits by container engines.

No problems with that. When dietpi-drive_manager sees a mount at /boot, it is handled correctly. It rewrites /etc/fstab but does not remove any mounts, at least not any known types of mounts.