Jump to content

initramfs-tools not fully installed on Debian Stretch with Armbian Linux 4.19.56-mvebu64


Recommended Posts


I was trying updating/upgrading Armbian on espressobin v.5

Linux kernel 4.19.56-mvebu64 #5.89 SMP PREEMPT Tue Jun 25 22:27:47 CEST 2019 aarch64 GNU/Linux

and ran into confusion with initramfs-tools package.


updating packages raises an error :

Processing triggers for initramfs-tools (0.130) ...
update-initramfs: Generating /boot/initrd.img-4.19.56-mvebu64
E: busybox or busybox-static, version 1:1.22.0-17~ or later, is required but not installed
update-initramfs: failed for /boot/initrd.img-4.19.56-mvebu64 with 1.
dpkg: error processing package initramfs-tools (--configure):
 subprocess installed post-installation script returned error exit status 1
Errors were encountered while processing:
E: Sub-process /usr/bin/dpkg returned an error code (1)


root@espressobin:~# dpkg -C
The following packages are only half configured, probably due to problems
configuring them the first time.  The configuration should be retried using
dpkg --configure <package> or the configure menu option in dselect:
 initramfs-tools      generic modular initramfs generator (automation)


root@espressobin:~# apt-cache show initramfs-tools 
Package: initramfs-tools
Version: 0.130
Installed-Size: 105
Maintainer: Debian kernel team <debian-kernel@lists.debian.org>
Architecture: all
Provides: linux-initramfs-tool
Depends: initramfs-tools-core (= 0.130), linux-base
Suggests: bash-completion
Conflicts: linux-initramfs-tool, usplash (<< 0.5.50)
Breaks: console-setup (<< 1.72), cryptsetup (<< 2:1.6.6-4~), e2fsprogs (<< 1.42.13), elilo (<< 3.12-3.1~), initscripts (<< 2.88dsf-59.3~), lilo (<< 22.8-8.2~), lvm2 (<< 2.02.111-2.1~), s390-tools (<< 1.8.3-2~), systemd-sysv (<< 186), upstart
Description: generic modular initramfs generator (automation)
Description-md5: f406a6ad4452bdc36e9957a711143c2e
Multi-Arch: foreign
Tag: admin::boot, admin::filesystem, admin::install, admin::kernel,
 implemented-in::shell, interface::commandline, role::program,
 scope::application, scope::utility, works-with::archive
Section: utils
Priority: optional
Filename: pool/main/i/initramfs-tools/initramfs-tools_0.130_all.deb
Size: 65976
MD5sum: 19760d5fe943a82127871846bf188e76
SHA256: b5a2071f6d5bd25d894097717e1efd9441b6253c238220d014511e01ae81cbff


Is initramfs-tools required on that system?

'apt autoremove' suggests removing other packages, including linux-stretch-root-next-espressobin : 


root@espressobin:~# apt remove initramfs-tools
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages were automatically installed and are no longer required:
  initramfs-tools-core klibc-utils libklibc
Use 'apt autoremove' to remove them.
The following packages will be REMOVED:
  initramfs-tools linux-stretch-root-next-espressobin
0 upgraded, 0 newly installed, 2 to remove and 174 not upgraded.
1 not fully installed or removed.
After this operation, 109 kB disk space will be freed.
Do you want to continue? [Y/n] Y^C


root@espressobin:~# apt-cache show linux-stretch-root-next-espressobin
Package: linux-stretch-root-next-espressobin
Status: install ok installed
Priority: optional
Section: kernel
Installed-Size: 1
Maintainer: Igor Pecovnik <igor.pecovnik@****l.com>
Architecture: arm64
Version: 5.90
Replaces: zram-config, base-files, armbian-tools-stretch
Provides: armbian-bsp
Depends: bash, linux-base, u-boot-tools, initramfs-tools, python3-apt
Recommends: bsdutils, parted, util-linux, toilet
Suggests: armbian-config
Conflicts: armbian-bsp
Description: Armbian tweaks for stretch on espressobin (next branch)
Description-md5: 89a961dbb58e2aad95259300d73b63b8


How could initramfs-tools dependency on busybox be overcome?

Could initramfs-tools and  linux-stretch-root-next-espressobin be removed at all from the running system?


My /boot directory content :

root@espressobin:~# ls -al /boot
total 31716
drwxr-xr-x  3 root root     4096 Sep 25 17:05 .
drwxr-xr-x 25 root root     4096 Jul  2 22:34 ..
-rw-r--r--  1 root root      221 Sep 25 07:17 armbianEnv.txt
-rw-r--r--  1 root root     1536 Feb  9  2019 armbian_first_run.txt.template
-rw-r--r--  1 root root    38518 Feb  9  2019 boot.bmp
-rw-rw-r--  1 root root     1047 Feb  9  2019 boot.cmd
-rw-r--r--  1 root root     4882 Feb  9  2019 boot-desktop.png
-rw-rw-r--  1 root root     1119 Feb  9  2019 boot.scr
-rw-r--r--  1 root root   139058 Jun 25  2019 config-4.19.56-mvebu64
lrwxrwxrwx  1 root root       19 Aug  8  2019 dtb -> dtb-4.19.56-mvebu64
drwxr-xr-x  3 root root     4096 Aug  8  2019 dtb-4.19.56-mvebu64
lrwxrwxrwx  1 root root       19 Feb  9  2019 dtb.old -> dtb-4.19.20-mvebu64
lrwxrwxrwx  1 root root       23 Aug  8  2019 Image -> vmlinuz-4.19.56-mvebu64
-rw-r--r--  1 root root  6200589 Sep 28  2020 initrd.img-4.19.56-mvebu64
-rw-r--r--  1 root root        0 Aug  8  2019 .next
-rw-r--r--  1 root root  3366255 Jun 25  2019 System.map-4.19.56-mvebu64
lrwxrwxrwx  1 root root       23 Sep 28  2020 uInitrd -> uInitrd-4.19.56-mvebu64
-rw-r--r--  1 root root  6200653 Sep 28  2020 uInitrd-4.19.56-mvebu64
-rwxr-xr-x  1 root root 16488960 Jun 25  2019 vmlinuz-4.19.56-mvebu64


Link to comment
Share on other sites

Donate your old hardware to community. Start a giveaway Raffle!

EspressoBin is currently in CSC support, so best to submit bugs/questions in in Peer to Peer Support.


Also need to submit armbianmonitor output. It seems dumb, but there's a lot of necessary information in there.


17 hours ago, y52 said:

Processing triggers for initramfs-tools (0.130) ...
update-initramfs: Generating /boot/initrd.img-4.19.56-mvebu64
E: busybox or busybox-static, version 1:1.22.0-17~ or later, is required but not installed


However, in this case, it tells you exactly what died. You've somehow uninstalled busybox (directly or indirectly), and initramfs-tools can't work properly without it.


17 hours ago, y52 said:

Is initramfs-tools required on that system?

Could initramfs-tools and  linux-stretch-root-next-espressobin be removed at all from the running system?


Not advisable. The initramfs-tools package generates the initrd file for the kernel, which is generally a required part of the boot process. You'll want to get this fixed, and probably not reboot in the meantime until you do.

Link to comment
Share on other sites

Probably 'apt install busybox' is the easiest / straightforward way to fix your immediate problem.


Regarding further problems with upgrading from Stretch: Espressobin is CSC and Debian Stretch (along with all armbian 5.90) is long out of support/maintenance. 

You can try upgrading to something more modern (buster / bullseye) but are on your own. Or reinstall / redownload more current image.

Link to comment
Share on other sites

Thanks to everybody.   'apt install busybox' indeed fixed the issue. I was not sure that initramfs image is regenerated on this arm board, as the kernel remains static and boot process is dependent on u-boot settings. 

A side note : It is not feasible not rebooting :) My espressobin is rebooting on its own every day or two and it happens since I bought it. I've never been able finding out what causes those intempestive reboots. The system  doesn't raise any errors.

It would be interesting finding in Peer to Peer Support someone's experience upgrading from Stretch to something more modern. Has anybody achieved it?

Link to comment
Share on other sites

Sure I went from stretch to buster to bullseye. There's lots of instructions on the web (basically update/upgrade your current system, change apt sources, then update/upgrade again and fix errors as they appear). 

I did that on my clearfogpro relatively flawless, although I absolutely recommend having a backup :)  It is pretty much the same as any other debian system.


For stability on espressobin, I'd recommend checking the threads in the A380/A3700 subforum. 



Maybe helpful threads: https://forum.armbian.com/forum/32-armada-a388-a3700/





Link to comment
Share on other sites

On 9/27/2021 at 12:57 PM, y52 said:

upgrading from Stretch to something more modern.


I used the Debian manual to upgrade from Stretch to Buster but not on espressobin. You may face some minor issues with python (from 2.7 to 3) but nothing very serious on the system itself. Though, you need to check first the dependencies of other software that you have installed.IIRW, I had some issues with owncloud which I had installed before the nextcloud fork.

There is also a major upgrade of uboot and boot.cmd on recent builds so you might need to flash the latest uboot also

Are you booting from the sd card or from sata? You could probably try first with a dual boot system i e. set the priority in the uboot environmental variables and test the new builds for some time before upgrading your current system. Or you could keep your current system as is and try to setup/install the needed software on a new (eg 21.08) release and use dualboot if needed.  

About the stability, I also had issues on my v5 board, so I moved to openwrt 19.07 which is rock solid using overlay but of limited abilities. I am planning a test migration back to armbian in the next months now that the mainline kernel includes the recent patches. 

Openwrt has also produced uboot builds (look at the supplementary files) for recent distros


Link to comment
Share on other sites

15 hours ago, lampra said:

major upgrade of uboot and boot.cmd on recent builds

Are they part of Armbian now or Debian? I initially upgraded uboot from Armbian to sustain compatibility between uboot and OS build. Where are uboot binaries now ?

15 hours ago, lampra said:

Are you booting from the sd card or from sata?

I found SD card unreliable. Once the system crashed again due to the SD card failure, I moved to SATA SSD.

Link to comment
Share on other sites

1 hour ago, y52 said:

Where are uboot binaries now

You can find here the uboot binaries from armbian and here the boot.cmd-src. I expect that they are no longer maintained.

The binaries from openwrt should be compatible with armbian, I expect that you will need to use the armbian boot.cmd-src though, or modify it according to your needs and boot environment as described here.

PS: Could you post here your current uboot version, your boot.cmd and your current uboot environment?

Link to comment
Share on other sites

On 9/29/2021 at 5:14 PM, lampra said:

PS: Could you post here your current uboot version, your boot.cmd and your current uboot environment?

Here is what I have :


bubt u-boot/181226.flash-image-ddr3-2g-2cs-1000_800.bin spi usb
Marvell>> bubt u-boot/181226.flash-image-ddr3-2g-2cs-1000_800.bin spi usb
Burning U-BOOT image "u-boot/181226.flash-image-ddr3-2g-2cs-1000_800.bin" from "usb" to "spi"
USB0:   Register 2000104 NbrPorts 2
Starting the controller
USB1:   USB EHCI 1.00
scanning bus 0 for devices... 2 USB Device(s) found
scanning bus 1 for devices... 1 USB Device(s) found
reading u-boot/181226.flash-image-ddr3-2g-2cs-1000_800.bin
Image checksum...OK!
SF: Detected w25q32dw with page size 256 Bytes, erase size 4 KiB, total 4 MiB
676040 bytes written, 212992 bytes skipped in 12.491s, speed 72876 B/s

Marvell>> version
U-Boot 2018.03-devel-18.12.3-gc9aa92c-armbian (Dec 26 2018 - 13:45:06 +0100)

aarch64-linux-gnu-gcc (Linaro GCC 7.3-2018.05) 7.3.1 20180425 [linaro-7.3-2018.05 revision d29120a424ecfbc167ef90065c0eeb7f91977701]
GNU ld (Linaro_Binutils-2018.05)

Marvell>> reset

WTMI: system early-init
SVC REV: 3, CPU VDD voltage: 1.155V
NOTICE:  Booting Trusted Firmware
NOTICE:  BL1: v1.5(release):1f8ca7e (Marvell-devel-18.12.2)
NOTICE:  BL1: Built : 13:48:02, Dec 26 2018
NOTICE:  BL1: Booting BL2
NOTICE:  BL2: v1.5(release):1f8ca7e (Marvell-devel-18.12.2)
NOTICE:  BL2: Built : 13:48:04, Dec 26 2018
NOTICE:  BL1: Booting BL31
NOTICE:  BL31: v1.5(release):1f8ca7e (Marvell-devel-18.12.2)
NOTICE:  BL31: Built : 13:4

U-Boot 2018.03-devel-18.12.3-gc9aa92c-armbian (Dec 26 2018 - 13:45:06 +0100)

Model: Marvell Armada 3720 Community Board ESPRESSOBin
       CPU     1000 [MHz]
       L2      800 [MHz]
       TClock  200 [MHz]
       DDR     800 [MHz]
DRAM:  2 GiB
Comphy chip #0:
Comphy-0: USB3          5 Gbps    
Comphy-1: PEX0          2.5 Gbps  
Comphy-2: SATA0         6 Gbps    
SATA link 0 timeout.
AHCI 0001.0300 32 slots 1 ports 6 Gbps 0x1 impl SATA mode
flags: ncq led only pmp fbss pio slum part sxs 
PCIE-0: Link down
MMC:   sdhci@d0000: 0
Loading Environment from SPI Flash... SF: Detected w25q32dw with page size 256 Bytes, erase size 4 KiB, total 4 MiB
Model: Marvell Armada 3720 Community Board ESPRESSOBin
Net:   eth0: neta@30000 [PRIME]
Hit any key to stop autoboot:  0 


1119 bytes read in 14 ms (77.1 KiB/s)
## Executing script at 06d00000
243 bytes read in 5 ms (46.9 KiB/s)
15690240 bytes read in 673 ms (22.2 MiB/s)
5981154 bytes read in 270 ms (21.1 MiB/s)
** File not found /boot/dtb/marvell/armada-3720-community.dtb **
8607 bytes read in 10 ms (839.8 KiB/s)
## Loading init Ramdisk from Legacy Image at 01100000 ...
   Image Name:   uInitrd
   Image Type:   AArch64 Linux RAMDisk Image (gzip compressed)
   Data Size:    5981090 Bytes = 5.7 MiB
   Load Address: 00000000
   Entry Point:  00000000
   Verifying Checksum ... OK
## Flattened Device Tree blob at 06000000
   Booting using the fdt blob at 0x6000000
   Loading Ramdisk to 7f076000, end 7f62a3a2 ... OK
   Using Device Tree in place at 0000000006000000, end 000000000600519e

Starting kernel ...

[    0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd034]
[    0.000000] Linux version 4.18.8-mvebu64 (root@nightly) (gcc version 7.2.1 20171011 (Linaro GCC 7.2-2017.11)) #259 SMP PREEMPT Wed Sep 19 11:14:00 CEST 2018
[    0.000000] Machine model: Globalscale Marvell ESPRESSOBin Board
[    0.000000] earlycon: ar3700_uart0 at MMIO 0x00000000d0012000 (options '')
[    0.000000] bootconsole [ar3700_uart0] enabled
Loading, please wait...
starting version 239



root@espressobin:~# cat /boot/boot.cmd 
# Please edit /boot/armbianEnv.txt to set supported parameters

# default values
setenv rootdev "/dev/mmcblk0p1"
setenv verbosity "1"
setenv rootfstype "ext4"

# additional values
setenv ethaddr "F0:AD:4E:03:64:7F"

load ${boot_interface} ${devnum}:1 ${scriptaddr} ${prefix}armbianEnv.txt
env import -t ${scriptaddr} ${filesize}

setenv bootargs "$console root=${rootdev} rootfstype=${rootfstype} rootwait loglevel=${verbosity} usb-storage.quirks=${usbstoragequirks} mtdparts=spi0.0:1536k(uboot),64k(uboot-environment),-(reserved) ${extraargs}"

setenv fdt_name_a dtb/marvell/armada-3720-community.dtb
setenv fdt_name_b dtb/marvell/armada-3720-espressobin.dtb

ext4load $boot_interface 0:1 $kernel_addr ${prefix}$image_name
ext4load $boot_interface 0:1 $initrd_addr ${prefix}$initrd_image
ext4load $boot_interface 0:1 $fdt_addr ${prefix}$fdt_name_a
ext4load $boot_interface 0:1 $fdt_addr ${prefix}$fdt_name_b

booti $kernel_addr $initrd_addr $fdt_addr
# mkimage -C none -A arm -T script -d /boot/boot.cmd /boot/boot.scr



root@espressobin:~# ls -al /boot/dtb/marvell/
total 124
drwxr-xr-x 2 root root  4096 Aug  8  2019 .
drwxr-xr-x 3 root root  4096 Aug  8  2019 ..
-rw-r--r-- 1 root root  9158 Jun 25  2019 armada-3720-db.dtb
-rw-r--r-- 1 root root  8942 Jun 25  2019 armada-3720-espressobin.dtb




And finally "uboot environment" :


Marvell>> printenv
boot_a_script=ext4load ${boot_interface} ${devnum}:1 ${scriptaddr} ${prefix}boot.scr;source ${scriptaddr};
boot_efi_binary=load ${devtype} ${devnum}:${distro_bootpart} ${kernel_addr_r} efi/boot/bootaa64.efi; if fdt addr ${fdt_addr_r}; then bootefi ${kernel_addr_r} ${fdt_addr_r};else bootefi ${kernel_addr_r} ${fdtcontroladdr};fi
boot_extlinux=sysboot ${devtype} ${devnum}:${distro_bootpart} any ${scriptaddr} ${prefix}extlinux/extlinux.conf
boot_net_pci_enum=pci enum
boot_net_usb_start=usb start
boot_prefixes=/ /boot/
boot_scripts=boot.scr.uimg boot.scr
boot_targets=usb sata mmc1 mmc0
bootcmd=for target in ${boot_targets}; do run bootcmd_${target}; done
bootcmd_dhcp=run boot_net_usb_start; run boot_net_pci_enum; if dhcp ${scriptaddr} ${boot_script_dhcp}; then source ${scriptaddr}; fi;setenv efi_fdtfile ${fdtfile}; setenv efi_old_vci ${bootp_vci};setenv efi_old_arch ${bootp_arch};setenv bootp_vci PXEClient:Arch:00011:UNDI:003000;setenv bootp_arch 0xb;if dhcp ${kernel_addr_r}; then tftpboot ${fdt_addr_r} dtb/${efi_fdtfile};if fdt addr ${fdt_addr_r}; then bootefi ${kernel_addr_r} ${fdt_addr_r}; else bootefi ${kernel_addr_r} ${fdtcontroladdr};fi;fi;setenv bootp_vci ${efi_old_vci};setenv bootp_arch ${efi_old_arch};setenv efi_fdtfile;setenv efi_old_arch;setenv efi_old_vci;
bootcmd_mmc0=setenv devnum 0; setenv boot_interface mmc; run scan_dev_for_boot;
bootcmd_mmc1=setenv devnum 1; setenv boot_interface mmc; run scan_dev_for_boot;
bootcmd_nfs=run get_images; run set_bootargs; booti $kernel_addr_r $ramdisk_addr_r $fdt_addr_r
bootcmd_pxe=run boot_net_usb_start; run boot_net_pci_enum; dhcp; if pxe get; then pxe boot; fi
bootcmd_sata=setenv devnum 0; scsi scan; scsi dev 0; setenv boot_interface scsi; run scan_dev_for_boot;
bootcmd_scsi0=setenv devnum 0; run scsi_boot
bootcmd_usb=setenv devnum 0; usb start;setenv boot_interface usb; run scan_dev_for_boot;
bootcmd_usb0=setenv devnum 0; run usb_boot
console=console=ttyMV0,115200 earlycon=ar3700_uart,0xd0012000
distro_bootcmd=setenv scsi_need_init; for target in ${boot_targets}; do run bootcmd_${target}; done
efi_dtb_prefixes=/ /dtb/ /dtb/current/
get_images=tftpboot $kernel_addr_r $image_name; tftpboot $fdt_addr_r $fdt_name; run get_ramdisk
get_ramdisk=if test "${ramdisk_name}" != "-"; then tftpboot $ramdisk_addr_r $ramdisk_name; else setenv ramdisk_addr_r -;fi
load_efi_dtb=load ${devtype} ${devnum}:${distro_bootpart} ${fdt_addr_r} ${prefix}${efi_fdtfile}
mmc_boot=if mmc dev ${devnum}; then setenv devtype mmc; run scan_dev_for_boot_part; fi
root=root=/dev/nfs rw
scan_dev_for_boot=for prefix in ${boot_prefixes}; do echo ${prefix};run boot_a_script; done
scan_dev_for_boot_part=part list ${devtype} ${devnum} -bootable devplist; env exists devplist || setenv devplist 1; for distro_bootpart in ${devplist}; do if fstype ${devtype} ${devnum}:${distro_bootpart} bootfstype; then run scan_dev_for_boot; fi; done
scan_dev_for_efi=setenv efi_fdtfile ${fdtfile}; for prefix in ${efi_dtb_prefixes}; do if test -e ${devtype} ${devnum}:${distro_bootpart} ${prefix}${efi_fdtfile}; then run load_efi_dtb; fi;done;if test -e ${devtype} ${devnum}:${distro_bootpart} efi/boot/bootaa64.efi; then echo Found EFI removable media binary efi/boot/bootaa64.efi; run boot_efi_binary; echo EFI LOAD FAILED: continuing...; fi; setenv efi_fdtfile
scan_dev_for_extlinux=if test -e ${devtype} ${devnum}:${distro_bootpart} ${prefix}extlinux/extlinux.conf; then echo Found ${prefix}extlinux/extlinux.conf; run boot_extlinux; echo SCRIPT FAILED: continuing...; fi
scan_dev_for_scripts=for script in ${boot_scripts}; do if test -e ${devtype} ${devnum}:${distro_bootpart} ${prefix}${script}; then echo Found U-Boot script ${prefix}${script}; run boot_a_script; echo SCRIPT FAILED: continuing...; fi; done
scsi_boot=run scsi_init; if scsi dev ${devnum}; then setenv devtype scsi; run scan_dev_for_boot_part; fi
scsi_init=if ${scsi_need_init}; then setenv scsi_need_init false; scsi scan; fi
set_bootargs=setenv bootargs $console $root ip=$ipaddr:$serverip:$gatewayip:$netmask:$hostname:$netdev:none nfsroot=$serverip:$rootpath $extra_params $cpuidle
usb_boot=usb start; if usb dev ${devnum}; then setenv devtype usb; run scan_dev_for_boot_part; fi

Environment size: 5204/65532 bytes

Link to comment
Share on other sites

  • Werner locked and unlocked this topic

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Create New...