Odroid XU4 not booting after update

I have an Odroid XU4, booting from eMMC and with an external USB HDD attached. It has been running DietPi for years.
I updated to DietPi 7 about 2 weeks ago.
This morning I saw there were 27 updates that would be installed if I ran apt update, which I did.
The update aborted, I think because both BOOT and the USB were full (in what I think was a kernel update: XU4 in the name and ending with a version number and a + sign). I restarted apt update and made room several times . eventually it said it was up to date.
However on the next reboot I would get no signal on HDMI and the XU4 did not request an IP on the wired network.

On my Macbook I can read the BOOT partition, and Disk Utility found nothing wrong with the file system on the BOOT partition. I have no idea if there is anything I can do besides installing a fresh image and doing a restore from DietPi-Backup on the USB.

Anything I can try before doing that?

ls -l gives:

-rwxrwxrwx  1 peteroosterhoff  staff     6909 May  8  2020 DietPi_OpenVPN_Client.ovpn
-rwxrwxrwx  1 peteroosterhoff  staff   530432 Jan  1  1970 FSCK0000.REC
-rwxrwxrwx  1 peteroosterhoff  staff     6144 Jan  1  1970 FSCK0001.REC
-rwxrwxrwx  1 peteroosterhoff  staff     6144 Jan  1  1970 FSCK0002.REC
-rwxrwxrwx  1 peteroosterhoff  staff  2704571 Oct 13  2020 System.map-4.14.180+
-rwxrwxrwx  1 peteroosterhoff  staff  2711917 Apr 16 13:34 System.map-4.14.231+
-rwxrwxrwx  1 peteroosterhoff  staff  2695982 Aug 23  2018 System.map-4.14.66+
-rwxrwxrwx  1 peteroosterhoff  staff     5660 May 10  2020 boot.ini
-rwxrwxrwx  1 peteroosterhoff  staff   151274 Oct 13  2020 config-4.14.180+
-rwxrwxrwx  1 peteroosterhoff  staff   151306 Apr 16 13:34 config-4.14.231+
-rwxrwxrwx  1 peteroosterhoff  staff   151102 Aug 23  2018 config-4.14.66+
drwxrwxrwx  1 peteroosterhoff  staff     6144 Aug 27  2018 dietpi
-rwxrwxrwx  1 peteroosterhoff  staff     6227 Aug 21  2018 dietpi-README.md
-rwxrwxrwx  1 peteroosterhoff  staff    10761 May  8 15:28 dietpi.txt
-rwxrwxrwx  1 peteroosterhoff  staff    56387 Apr 16 13:37 exynos5422-odroidhc1.dtb
-rwxrwxrwx  1 peteroosterhoff  staff    62488 Apr 16 13:37 exynos5422-odroidxu3-lite.dtb
-rwxrwxrwx  1 peteroosterhoff  staff    63543 Apr 16 13:37 exynos5422-odroidxu3.dtb
-rwxrwxrwx  1 peteroosterhoff  staff    63662 Apr 16 13:37 exynos5422-odroidxu4-kvm.dtb
-rwxrwxrwx  1 peteroosterhoff  staff    63518 Apr 16 13:37 exynos5422-odroidxu4.dtb
-rwxrwxrwx  1 peteroosterhoff  staff  5728486 Jan 24 19:01 initrd.img-4.14.180+
-rwxrwxrwx  1 peteroosterhoff  staff  5740861 May  9 07:12 initrd.img-4.14.231+
-rwxrwxrwx  1 peteroosterhoff  staff  5719184 Dec 19 16:09 initrd.img-4.14.66+
-rwxrwxrwx  1 peteroosterhoff  staff  5728550 May  9 07:27 uInitrd
-rwxrwxrwx  1 peteroosterhoff  staff  5728550 May  9 07:27 uInitrd-4.14.180+
-rwxrwxrwx  1 peteroosterhoff  staff  5148672 May  9 07:27 uInitrd-4.14.231+
-rwxrwxrwx  1 peteroosterhoff  staff  5719248 Jan 24 19:01 uInitrd-4.14.66+
-rwxrwxrwx  1 peteroosterhoff  staff  5702280 Oct 13  2020 vmlinuz-4.14.180+
-rwxrwxrwx  1 peteroosterhoff  staff  5731992 Apr 16 13:34 vmlinuz-4.14.231+
-rwxrwxrwx  1 peteroosterhoff  staff  5677560 Aug 23  2018 vmlinuz-4.14.66+
-rwxrwxrwx  1 peteroosterhoff  staff  5705728 May  9 07:27 zImage

At least there are indeed three kernel versions present, so the old ones didn’t get removed (yet). There are also three files found by fsck. Can you check/paste their content of the FSCK000x.REC files (first few lines of the 500 KiB file is enough).

Strange also that the used initramfs is not the newest one (uInitrd file size equals uInitrd-4.14.180+, not uInitrd-4.14.231+) and the zImage (used kernel image) does not match any of the other kernel image files, so I think initramfs and kernel images do not match, which breaks boot. Should be easy to solve.

But lets first see what the fsck finds are about.

Ah, and could you have a look into the root filesystem to check whether /lib/modules/4.14.231+/ (or similar) is present, so the kernel modules for the newest installed kernel image?

Thanks for the quick reply.
The fsck files contain this:
0000:

#!/bin/bash
{
	#////////////////////////////////////
	# DietPi Software
	#
	#////////////////////////////////////
	# Created by Daniel Knight / daniel.knight@dietpi.com / dietpi.com
	#
	#////////////////////////////////////
	#
	# Info:
	# - Location: /boot/dietpi/dietpi-software
	# - Installs "ready to run" software with optimisations unique to the d 
	# Usage:
	# - dietpi-software			# Menu to select software for (un)install
	# - dietpi-software install		$software_id (OR) $INDEX_{SSHSERVER,FILESERVER,LOGGING,WEBSERVER}_TARGET=-int
	# - dietpi-software reinstall		# Same as installed, however, only reinstalls if state =2. Does not uninstall due to package removal danger (eg: Xserver removes Kodi), simply flags to be installed (=1).
	# - dietpi-software uninstall		$software_id
	# - dietpi-software list		# Lists all available software titles with ID and info
	# - dietpi-software free		# List currently unused software IDs to be used for new software implementations
	#////////////////////////////////////

	# Import DietPi-Globals ---------------------------------------------------------------
	. /boot/dietpi/func/dietpi-globals
	G_PROGRAM_NAME='DietPi-Software'
	G_CHECK_ROOT_USER
	G_CHECK_ROOTFS_RW
	G_INIT
	# Import DietPi-Globals ---------------------------------------------------------------

0001:

aSOFTWARE_INSTALL_STATE[0]=2
aSOFTWARE_INSTALL_STATE[1]=0
aSOFTWARE_INSTALL_STATE[2]=0
aSOFTWARE_INSTALL_STATE[3]=0
aSOFTWARE_INSTALL_STATE[4]=0
aSOFTWARE_INSTALL_STATE[5]=2
aSOFTWARE_INSTALL_STATE[6]=2
aSOFTWARE_INSTALL_STATE[7]=0
aSOFTWARE_INSTALL_STATE[8]=0
aSOFTWARE_INSTALL_STATE[9]=0
aSOFTWARE_INSTALL_STATE[10]=0

and 0002:

#!/bin/bash
{
	#////////////////////////////////////
	# DietPi-logclear Script
	#
	#////////////////////////////////////
	# Created by Daniel Knight / daniel.knight@dietpi.com / dietpi.com
	#
	#////////////////////////////////////
	# Info:
	# - Location: /boot/dietpi/func/dietpi-logclear
	# - Clears logs in $FP_LOG, with backup option.
	#
	# usage:
	# - dietpi-logclear 0		| Update current log files data to "$FP_BACKUP/*. Then clear contents.
	# - dietpi-logclear 1		| Clear contents of all logs in $FP_LOG.
	# - dietpi-logclear 2		| Delete all logs in $FP_LOG and backups.
	#////////////////////////////////////

	# Import DietPi-Globals --------------------------------------------------------------
	. /boot/dietpi/func/dietpi-globals
	G_PROGRAM_NAME='DietPi-Logclear'
	G_CHECK_ROOT_USER
	G_INIT
	# Import DietPi-Globals --------------------------------------------------------------

	disable_error=1 G_CHECK_VALIDINT "$1" && INPUT=$1 || INPUT=-1

On the root filesystem there is a lib/module/4.14.231+ folder with 11 module* files and a kernel subfolder.

Okay, FSCK files just some DietPi scripts but they have been replaced already, right?

ls -l /boot/dietpi/{.installed,dietpi-software,func/dietpi-logclear}

If those are all present you can remove those:

rm /boot/FSCK*

Let’s remove the old kernel files and move the new ones in place:

rm /boot/DietPi_OpenVPN_Client.ovpn # I guess the client has the config already
rm /boot/{System.map,config,initrd.img,uInitrd,vmlinuz}-4.14.{66,180}+
cp /boot/{vmlinuz-4.14.231+,zImage}
cp /boot/{uInitrd-4.14.231+,uInitrd}

If this works (the XU4 boots), please do no APT upgrades yet. Lets have a look at the installed packages first:

dpkg -l | grep '^linux-'

I had to do this from by macbook so I applied this to /Volumes/BOOT instead of /boot/

  • Files in Dietpi were all present
  • I removed FSCK*, ovpn and old kernel files
  • Copied 1.14.231+ files

Still the XU4 will not boot. Red LED and blue LED are on, so we have power and bootloader is running, but no image on HDMI.

ls -lR on BOOT partition mounted on mac:

total 60000
-rwxrwxrwx  1 peteroosterhoff  staff  2711917 Apr 16 13:34 System.map-4.14.231+
-rwxrwxrwx  1 peteroosterhoff  staff     5660 May 10  2020 boot.ini
-rwxrwxrwx  1 peteroosterhoff  staff   151306 Apr 16 13:34 config-4.14.231+
drwxrwxrwx  1 peteroosterhoff  staff     6144 Aug 27  2018 dietpi
-rwxrwxrwx  1 peteroosterhoff  staff     6227 Aug 21  2018 dietpi-README.md
-rwxrwxrwx  1 peteroosterhoff  staff    10761 May  8 15:28 dietpi.txt
-rwxrwxrwx  1 peteroosterhoff  staff    56387 Apr 16 13:37 exynos5422-odroidhc1.dtb
-rwxrwxrwx  1 peteroosterhoff  staff    62488 Apr 16 13:37 exynos5422-odroidxu3-lite.dtb
-rwxrwxrwx  1 peteroosterhoff  staff    63543 Apr 16 13:37 exynos5422-odroidxu3.dtb
-rwxrwxrwx  1 peteroosterhoff  staff    63662 Apr 16 13:37 exynos5422-odroidxu4-kvm.dtb
-rwxrwxrwx  1 peteroosterhoff  staff    63518 Apr 16 13:37 exynos5422-odroidxu4.dtb
-rwxrwxrwx  1 peteroosterhoff  staff  5740861 May  9 07:12 initrd.img-4.14.231+
-rwxrwxrwx  1 peteroosterhoff  staff  5148672 May  9 22:14 uInitrd
-rwxrwxrwx  1 peteroosterhoff  staff  5148672 May  9 07:27 uInitrd-4.14.231+
-rwxrwxrwx  1 peteroosterhoff  staff  5731992 Apr 16 13:34 vmlinuz-4.14.231+
-rwxrwxrwx  1 peteroosterhoff  staff  5731992 May  9 22:14 zImage

./dietpi:
total 2228
-rwxrwxrwx  1 peteroosterhoff  staff    3080 Apr 29 10:59 boot
-rwxrwxrwx  1 peteroosterhoff  staff   10459 Apr 29 10:59 dietpi-autostart
-rwxrwxrwx  1 peteroosterhoff  staff   21407 Apr 29 10:59 dietpi-backup
-rwxrwxrwx  1 peteroosterhoff  staff    6180 Apr 29 10:59 dietpi-bugreport
-rwxrwxrwx  1 peteroosterhoff  staff   14302 Apr 29 10:59 dietpi-cleaner
-rwxrwxrwx  1 peteroosterhoff  staff   43567 Apr 29 10:59 dietpi-cloudshell
-rwxrwxrwx  1 peteroosterhoff  staff  137134 Apr 29 10:59 dietpi-config
-rwxrwxrwx  1 peteroosterhoff  staff    5236 Apr 29 10:59 dietpi-cpuinfo
-rwxrwxrwx  1 peteroosterhoff  staff    9355 Apr 29 10:59 dietpi-cron
-rwxrwxrwx  1 peteroosterhoff  staff   13459 Apr 29 10:59 dietpi-ddns
-rwxrwxrwx  1 peteroosterhoff  staff   68014 May  8 13:40 dietpi-drive_manager
-rwxrwxrwx  1 peteroosterhoff  staff    7225 Apr 29 10:59 dietpi-explorer
-rwxrwxrwx  1 peteroosterhoff  staff    3960 Apr 29 10:59 dietpi-launcher
-rwxrwxrwx  1 peteroosterhoff  staff    4977 Apr 29 10:59 dietpi-led_control
-rwxrwxrwx  1 peteroosterhoff  staff   20677 Apr 29 10:59 dietpi-letsencrypt
-rwxrwxrwx  1 peteroosterhoff  staff    8370 Apr 29 10:59 dietpi-login
-rwxrwxrwx  1 peteroosterhoff  staff    7679 Apr 29 10:59 dietpi-morsecode
-rwxrwxrwx  1 peteroosterhoff  staff   36221 Apr 29 10:59 dietpi-services
-rwxrwxrwx  1 peteroosterhoff  staff  628990 May  8 13:40 dietpi-software
-rwxrwxrwx  1 peteroosterhoff  staff    5955 Apr 29 10:59 dietpi-survey
-rwxrwxrwx  1 peteroosterhoff  staff   16790 Apr 29 10:59 dietpi-sync
-rwxrwxrwx  1 peteroosterhoff  staff   16955 Apr 29 10:59 dietpi-update
-rwxrwxrwx  1 peteroosterhoff  staff   16673 Apr 29 10:59 dietpi-vpn
drwxrwxrwx  1 peteroosterhoff  staff    2048 Aug 27  2018 func
drwxrwxrwx  1 peteroosterhoff  staff    2048 Aug 27  2018 misc
-rwxrwxrwx  1 peteroosterhoff  staff    1887 Apr 29 10:59 postboot
-rwxrwxrwx  1 peteroosterhoff  staff    1296 Apr 29 10:59 preboot

./dietpi/func:
total 516
-rwxrwxrwx  1 peteroosterhoff  staff   1635 Apr 29 10:59 change_hostname
-rwxrwxrwx  1 peteroosterhoff  staff   2006 Apr 29 10:59 create_mysql_db
-rwxrwxrwx  1 peteroosterhoff  staff  10110 May  8 13:40 dietpi-banner
-rwxrwxrwx  1 peteroosterhoff  staff  12255 Apr 29 10:59 dietpi-benchmark
-rwxrwxrwx  1 peteroosterhoff  staff  73021 Apr 29 10:59 dietpi-globals
-rwxrwxrwx  1 peteroosterhoff  staff   5893 Apr 29 10:59 dietpi-logclear
-rwxrwxrwx  1 peteroosterhoff  staff  14416 Apr 29 10:59 dietpi-obtain_hw_model
-rwxrwxrwx  1 peteroosterhoff  staff   1940 Apr 29 10:59 dietpi-optimal_mtu
-rwxrwxrwx  1 peteroosterhoff  staff   2602 Apr 29 10:59 dietpi-ramlog
-rwxrwxrwx  1 peteroosterhoff  staff   8375 Apr 29 10:59 dietpi-set_cpu
-rwxrwxrwx  1 peteroosterhoff  staff  67443 Apr 29 10:59 dietpi-set_hardware
-rwxrwxrwx  1 peteroosterhoff  staff  20253 Apr 29 10:59 dietpi-set_software
-rwxrwxrwx  1 peteroosterhoff  staff   7909 Apr 29 10:59 dietpi-set_swapfile
-rwxrwxrwx  1 peteroosterhoff  staff   5637 Apr 29 10:59 dietpi-set_userdata
-rwxrwxrwx  1 peteroosterhoff  staff   9211 Apr 29 10:59 dietpi-wifidb
-rwxrwxrwx  1 peteroosterhoff  staff   4386 Apr 29 10:59 obtain_network_details
-rwxrwxrwx  1 peteroosterhoff  staff   4222 Apr 29 10:59 run_ntpd

./dietpi/misc:
total 68
-rwxrwxrwx  1 peteroosterhoff  staff  10583 May  8 13:40 dietpi-arr_to_RAM
-rwxrwxrwx  1 peteroosterhoff  staff  19288 Apr 29 10:59 dietpi-justboom
-rwxrwxrwx  1 peteroosterhoff  staff   1232 Apr 29 10:59 start_kodi

Any ideas?

I found your bug report upload it seems, at least one with a failed linux-image-4.14.231+ on Odroid XU4 because of insufficient free space. A write error during uInitrd-4.14.231+ creation happened, so I guess it is malformed while a reinstall of the package probably did not re-create it, when existing. That might be also the reason why the 231+ uinitrd is notably smaller than the prior ones. I’ll generate one and upload it for you.

I just updated the image: https://dietpi.com/downloads/images/DietPi_OdroidXU4-ARMv7-Buster.7z
Do you have a way to unpack files from inside the .img file and contained FAT partition? Else I’ll upload them separately. Just to be sure replace all following files:

System.map-4.14.231+
config-4.14.231+
exynos5422-odroid*.dtb
initrd.img-4.14.231+
uInitrd
uInitrd-4.14.231+
vmlinuz-4.14.231+
zImage

The zImage, uInitrd and xu4.dtb are the only ones used, and only the uInitrd does not have the expected size, but it doesn’t hurt to replace all above. All my initrd and uInitrd* are btw notably larger, also the older ones. That will be a result of the initramfs-tools version and config. Is your image a Stretch image? However, the kernel + modules are independent of the Debian version, so that should work regardless.

If you want, you could run update-initramfs -u to recreate those and check back whether the file size is again down to ~5 MiB from ~7 MiB, out of interest. Probably the default on Debian Buster is to include more kernel modules or so.

Great! It is booting again and everything (Sonarr, nzbget, LMS etc) seems to work again.

 dpkg -l | grep '^linux-'

does not return anything, but

 dpkg -l | grep linux

returns

 ii  console-setup-linux                                         1.164                                                    all          Linux specific part of console-setup
ii  libselinux1:armhf                                           2.6-3+b3                                                 armhf        SELinux runtime shared libraries
ii  linux-base                                                  4.5                                                      all          Linux image base package
iU  linux-image-4.14-armhf-odroid-xu4                           4.14.231-1                                               armhf        Linux Image/Headers Meta Package for ODROIDs
ii  linux-image-4.14.180+                                       4.14.180-20201013-xu4                                    armhf        Linux kernel, version 4.14.180+
iF  linux-image-4.14.231+                                       4.14.231-20210416-xu4                                    armhf        Linux kernel, version 4.14.231+
ii  linux-image-4.14.66+                                        4.14.66-20180823-xu4                                     armhf        Linux kernel, version 4.14.66+
ii  linux-libc-dev:armhf                                        5.4.65-20201013-xu4                                      armhf        Linux support headers for userspace development
ii  util-linux                                                  2.29.2-1+deb9u1                                          armhf        miscellaneous system utilities

The command

 update-initramfs -u

returned

 update-initramfs: /boot/initrd.img-4.14.231+ has been altered.
update-initramfs: Cannot update. Override with -t option.

I was not sure I wanted to do that.

Anything else I need to check?

Amd for the future, is there a better way to check for errors after aborted installs?
Thanks!

Okay great. Let’s bring the packages in order, else APT will throw errors :slight_smile:.

apt -f install
apt purge --autoremove linux-image-4.14.180+ linux-image-4.14.66+
# and our of interest
ls -l /boot/initrd.img-4.14.231+

I tried to capture the output of the first two commands. I had to run them twice and still not sure I captured everything. I also see there is some output of the dietpi-banner command I played around with before this. :thinking: I tried to redirect output to a textfile and copy it from nano, but thay did not go to well.

  ─────────────────────────────────────────────────────he programs included with the Debian GNU/Linux syste DietPi v7.1.2 : 2 APT updates available
 ─────────────────────────────────────────────────────ribed in the
 - Device model : Odroid XU3/XU4/MC1/HC1/HC2 (armv7l)
 - CPU temp : 55'C : 131'F (Running warm, but safe)
 - LAN IP : 192.168.10.113 (eth0)UTELY NO WARRANTY, t - MOTD : Did you know that you can run "dietpi-banner" to change its content?aw.
 ─────────────────────────────────────────────────────

 DietPi Team     : MichaIng (lead), Daniel Knight (founder), Joulinar (support)
 Image by        : DietPi Core Team (pre-image: Meveric)
 Web             : https://dietpi.com | https://twitter.com/DietPi_
 Patreon Legends : Camry2731
 Contribute      : https://dietpi.com/contribute.html
 DietPi Hosting  : Powered by https://myvirtualserver.com

 apt upgrade     : Run now to apply 2 available APT package upgrades.

 dietpi-launcher : All the DietPi programs in one place.
 dietpi-config   : Feature rich configuration tool for your device.
 dietpi-software : Select optimized software for installation.
 htop            : Resource monitor.
 cpu             : Shows CPU information and stats.

root@DietPi:~# dietpi-banner 
 ─────────────────────────────────────────────────────
 DietPi v7.1.2 : 2 APT updates available
 ─────────────────────────────────────────────────────
 - Device model : Odroid XU3/XU4/MC1/HC1/HC2 (armv7l)
 - Uptime : up 33 minutes
 - CPU temp : 53'C : 127'F (Running warm, but safe)
 - FQDN/hostname : DietPi
 - NIS domainname : hostname: Local domain name not set
 - LAN IP : 192.168.10.113 (eth0)
 - Freespace (RootFS) : 10G
 - Freespace (userdata) : 291G
 - MOTD : Did you know that you can run "dietpi-banner" to change its content?
 ─────────────────────────────────────────────────────

 DietPi Team     : MichaIng (lead), Daniel Knight (founder), Joulinar (support)
 Image by        : DietPi Core Team (pre-image: Meveric)
 Web             : https://dietpi.com | https://twitter.com/DietPi_
 Patreon Legends : Camry2731
 Contribute      : https://dietpi.com/contribute.html
 DietPi Hosting  : Powered by https://myvirtualserver.com

 apt upgrade     : Run now to apply 2 available APT package upgrades.

 dietpi-launcher : All the DietPi programs in one place.
 dietpi-config   : Feature rich configuration tool for your device.
 dietpi-software : Select optimized software for installation.
 htop            : Resource monitor.
 cpu             : Shows CPU information and stats.

root@DietPi:~# dietpi-banner 
 ─────────────────────────────────────────────────────
 DietPi v7.1.2 : 2 APT updates available
 ─────────────────────────────────────────────────────
 - Device model : Odroid XU3/XU4/MC1/HC1/HC2 (armv7l)
update-initramfs: Generating /boot/initrd.img-4.14.231+
Image Name:   uInitrd
Created:      Mon May 10 21:28:17 2021
Image Type:   ARM Linux RAMDisk Image (uncompressed)
Data Size:    7260726 Bytes = 7090.55 kB = 6.92 MB
Load Address: 00000000
Entry Point:  00000000

gzip: stdout: No space left on device
E: mkinitramfs failure cpio 141 gzip 1
update-initramfs: failed for /boot/initrd.img-4.14.231+ with 1.
update-initramfs: Generating /boot/initrd.img-4.14.231+
Image Name:   uInitrd
Created:      Mon May 10 21:29:19 2021
Image Type:   ARM Linux RAMDisk Image (uncompressed)
Data Size:    7260726 Bytes = 7090.55 kB = 6.92 MB
Load Address: 00000000
Entry Point:  00000000

gzip: stdout: No space left on device
E: mkinitramfs failure cpio 141 gzip 1
update-initramfs: failed for /boot/initrd.img-4.14.231+ with 1.
Created:      Mon May 10 21:34:05 2021
Image Type:   ARM Linux RAMDisk Image (uncompressed)
Data Size:    7260726 Bytes = 7090.55 kB = 6.92 MB
Load Address: 00000000
Entry Point:  00000000

gzip: stdout: No space left on device
E: mkinitramfs failure cpio 141 gzip 1
update-initramfs: failed for /boot/initrd.img-4.14.231+ with 1.
run-parts: /etc/kernel/postinst.d/initramfs-tools exited with return code 1
Image Name:   uInitrd
Created:      Mon May 10 21:37:20 2021
Image Type:   ARM Linux RAMDisk Image (uncompressed)
Data Size:    7260726 Bytes = 7090.55 kB = 6.92 MB
Load Address: 00000000
Entry Point:  00000000

  GNU nano 2.7.4                 File: finst.txt                  Modified  
Reading package lists...
Building dependency tree...
Reading state information...
0 upgraded, 0 newly installed, 0 to remove and 2 not upgraded.
2 not fully installed or removed.
After this operation, 0 B of additional disk space will be used.
Setting up linux-image-4.14.231+ (4.14.231-20210416-xu4) ...
update-initramfs: Generating /boot/initrd.img-4.14.231+
Image Name:   uInitrd
Created:Mon May 10 21:39:16 2021
Image Type:   ARM Linux RAMDisk Image (uncompressed)
Data Size:    7260726 Bytes = 7090.55 kB = 6.92 MB
Load Address: 00000000
Entry Point:  00000000

gzip: stdout: No space left on device
E: mkinitramfs failure cpio 141 gzip 1
update-initramfs: failed for /boot/initrd.img-4.14.231+ with 1.
run-parts: /etc/kernel/postinst.d/initramfs-tools exited with return code 1
Image Name:   uInitrd
Created:Mon May 10 21:39:18 2021
Image Type:   ARM Linux RAMDisk Image (uncompressed)
Data Size:    7260726 Bytes = 7090.55 kB = 6.92 MB
Load Address: 00000000
Entry Point:  00000000
dpkg: error processing package linux-image-4.14.231+ (--configure):
 subprocess installed post-installation script returned error exit status 1
dpkg: dependency problems prevent configuration of linux-image-4.14-armhf-o$
^G Get Help    ^O Write Out   ^W Where Is    ^K Cut Text    ^J Justify
^X Exit^R Read File   ^\ Replace     ^U Uncut Text  ^T To Spell
  GNU nano 2.7.4                 File: finst.txt                  Modified    GNU nano 2.7.4                 File: finst.txt                  Modified  
Reading package lists...
Building dependency tree...
Reading state information...
0 upgraded, 0 newly installed, 0 to remove and 2 not upgraded.
2 not fully installed or removed.
After this operation, 0 B of additional disk space will be used.
Setting up linux-image-4.14.231+ (4.14.231-20210416-xu4) ...
update-initramfs: Generating /boot/initrd.img-4.14.231+
Image Name:   uInitrd
Created:Mon May 10 21:39:16 2021
Image Type:   ARM Linux RAMDisk Image (uncompressed)
Data Size:    7260726 Bytes = 7090.55 kB = 6.92 MB
Load Address: 00000000
Entry Point:  00000000

gzip: stdout: No space left on device
E: mkinitramfs failure cpio 141 gzip 1
update-initramfs: failed for /boot/initrd.img-4.14.231+ with 1.
run-parts: /etc/kernel/postinst.d/initramfs-tools exited with return code 1
Image Name:   uInitrd
Created:Mon May 10 21:39:18 2021
Image Type:   ARM Linux RAMDisk Image (uncompressed)
Data Size:    7260726 Bytes = 7090.55 kB = 6.92 MB
Load Address: 00000000
Entry Point:  00000000
dpkg: error processing package linux-image-4.14.231+ (--configure):
 subprocess installed post-installation script returned error exit status 1
dpkg: dependency problems prevent configuration of linux-image-4.14-armhf-o$linux-image-4.14-armhf-odroid-xu4 depends on linux-image-4.14.231+; howeve$




















Created:      Mon May 10 21:45:09 2021
Image Type:   ARM Linux RAMDisk Image (uncompressed)
Data Size:    7260726 Bytes = 7090.55 kB = 6.92 MB
Load Address: 00000000
Entry Point:  00000000

gzip: stdout: No space left on device
E: mkinitramfs failure cpio 141 gzip 1
update-initramfs: failed for /boot/initrd.img-4.14.231+ with 1.
run-parts: /etc/kernel/postinst.d/initramfs-tools exited with return code 1
Image Name:   uInitrd
Created:      Mon May 10 21:45:11 2021
Image Type:   ARM Linux RAMDisk Image (uncompressed)
Data Size:    7260726 Bytes = 7090.55 kB = 6.92 MB
Load Address: 00000000
Entry Point:  00000000
dpkg: error processing package linux-image-4.14.231+ (--configure):
 subprocess installed post-installation script returned error exit status 1
dpkg: dependency problems prevent configuration of linux-image-4.14-armhf-odroid-xu4:
 linux-image-4.14-armhf-odroid-xu4 depends on linux-image-4.14.231+; however:
  Package linux-image-4.14.231+ is not configured yet.

dpkg: error processing package linux-image-4.14-armhf-odroid-xu4 (--configure):
 dependency problems - leaving unconfigured
Errors were encountered while processing:
 linux-image-4.14.231+
 linux-image-4.14-armhf-odroid-xu4
E: Sub-process /usr/bin/dpkg returned an error code (1)

So finally

 root@DietPi:/tmp# ls -l /boot/initrd.img-4.14.231+
-rwxr-xr-x 1 root root 7260726 May 10 13:54 /boot/initrd.img-4.14.231+

There are a lot of

gzip: stdout: No space left on device
E: mkinitramfs failure cpio 141 gzip 1

Since we removed a lot of files in /boot manually, that should have actually sufficient free space. Please purge the other two packages first (which frees spaces in the root partition) then then let’s see how much space we have:

apt purge --autoremove linux-image-4.14.180+ linux-image-4.14.66+
df

At first no room to purge it seems. Drive manager reporten like 2MB free on boot partition.

 Created:      Tue May 11 07:34:48 2021
Image Type:   ARM Linux RAMDisk Image (uncompressed)
Data Size:    7260726 Bytes = 7090.55 kB = 6.92 MB
Load Address: 00000000
Entry Point:  00000000

gzip: stdout: No space left on device
E: mkinitramfs failure cpio 141 gzip 1
update-initramfs: failed for /boot/initrd.img-4.14.231+ with 1.
run-parts: /etc/kernel/postinst.d/initramfs-tools exited with return code 1
Image Name:   uInitrd
Created:      Tue May 11 07:34:50 2021
Image Type:   ARM Linux RAMDisk Image (uncompressed)
Data Size:    7260726 Bytes = 7090.55 kB = 6.92 MB
Load Address: 00000000
Entry Point:  00000000
dpkg: error processing package linux-image-4.14.231+ (--configure):
 subprocess installed post-installation script returned error exit status 1
dpkg: dependency problems prevent configuration of linux-image-4.14-armhf-odroid-xu4:
 linux-image-4.14-armhf-odroid-xu4 depends on linux-image-4.14.231+; however:
  Package linux-image-4.14.231+ is not configured yet.

dpkg: error processing package linux-image-4.14-armhf-odroid-xu4 (--configure):
 dependency problems - leaving unconfigured
Errors were encountered while processing:
 linux-image-4.14.231+
 linux-image-4.14-armhf-odroid-xu4
E: Sub-process /usr/bin/dpkg returned an error code (1)

However after a reboot there was suddenly 20MB free and the purge command did complete, but with warnings:

 .66+
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages will be REMOVED:
  linux-image-4.14.180+* linux-image-4.14.66+*
0 upgraded, 0 newly installed, 2 to remove and 2 not upgraded.
2 not fully installed or removed.
After this operation, 0 B of additional disk space will be used.
Do you want to continue? [Y/n] 
Setting up linux-image-4.14.231+ (4.14.231-20210416-xu4) ...
update-initramfs: Generating /boot/initrd.img-4.14.231+
Image Name:   uInitrd
Created:      Tue May 11 08:32:47 2021
Image Type:   ARM Linux RAMDisk Image (uncompressed)
Data Size:    7260726 Bytes = 7090.55 kB = 6.92 MB
Load Address: 00000000
Entry Point:  00000000
Image Name:   uInitrd
Created:      Tue May 11 08:32:53 2021
Image Type:   ARM Linux RAMDisk Image (uncompressed)
Data Size:    5740829 Bytes = 5606.28 kB = 5.47 MB
Load Address: 00000000
Entry Point:  00000000
Setting up linux-image-4.14-armhf-odroid-xu4 (4.14.231-1) ...
(Reading database ... 119621 files and directories currently installed.)
Purging configuration files for linux-image-4.14.180+ (4.14.180-20201013-xu4) ...
Purging configuration files for linux-image-4.14.66+ (4.14.66-20180823-xu4) ...
W: APT had planned for dpkg to do more than it reported back (7 vs 11).
   Affected packages: linux-image-4.14.231+:armhf

No errors on apt -f install.

 # apt -f install
Reading package lists... Done
Building dependency tree       
Reading state information... Done
0 upgraded, 0 newly installed, 0 to remove and 2 not upgraded.
root@DietPi:~# ls -l /boot/initrd.img-4.14.231+
-rwxr-xr-x 1 root root 5740829 May 11 08:32 /boot/initrd.img-4.14.231+

Okay, now it seems to be fine. The “update-initramfs: Generating /boot/initrd.img-4.14.231+” went through. The warnings are expected as files did already exist which made some expected steps obsolete.

All in order now :slight_smile:.

But not good that space in /boot is so small that it quickly produces errors like this. How much space does your boot partition have?

findmnt -no SIZE /boot

Probably the older image had a smaller boot partition and the newer image has a larger one. If not, I’m gonna increase it.

Good to hear everything is in order again.
My boot partition is 70.9MB. I started with DietPi 6 so that would be Stretch, right?

I read on the forum and Github that another user (also xu4) ran into this problem. It was advised to resize the boot partition using Gparted to 256MB, as it is on new buster installs.

70 MiB should be enough, actually, as long as all old kernel/initramfs files are removed on upgrade. But that seems to be not the case, at least not with the older kernel packages.

I’ll check our current image, but if I remember right it’s about 200 MiB indeed.

Hi,

I have the same problem and after replacing the kernel files from the image above it seems to start… BUT…

it hangs on

random: crng init done

Any ideas?

Hi,

I guess you are facing this issue https://github.com/MichaIng/DietPi/issues/4318

Try following

apt purge --autoremove rng-tools-debian rng-tools rng-tools5
apt install haveged
systemctl start haveged
reboot

How to do this without a booted device?

Means it is not booting at all even with the changed kernel? How long did you wait before stopping the device?

Yep. I replaced the files from boot partition with the kernel files from the image.
After this I can see some boot messages (not hanging in the boot loader) but it stops at the message with random above.

I don’t get a shell :confused:

Edit: I didn’t switched it off yet. Will try to wait :slight_smile: But its around an hour now.