Bug#926934: flash-kernel: /sbin/installkernel fails when flash-kernel is installed
Package: flash-kernel
Version: 3.98pureos+librem5.2~1175.gbpd159a8
Severity: normal
Dear Maintainer,
The /sbin/installkernel script fails when flash-kernel is installed:
$ sudo make install
arch/arm64/Makefile:40: LSE atomics not supported by binutils
arch/arm64/Makefile:48: Detected assembler with broken .inst; disassembly will be unreliable
/bin/bash ./arch/arm64/boot/install.sh 4.18.11-00448-ge4cb08275a83 \
arch/arm64/boot/Image System.map "/boot"
run-parts: executing /etc/kernel/postinst.d/apt-auto-removal 4.18.11-00448-ge4cb08275a83 /boot/vmlinuz-4.18.11-00448-ge4cb08275a83
run-parts: executing /etc/kernel/postinst.d/initramfs-tools 4.18.11-00448-ge4cb08275a83 /boot/vmlinuz-4.18.11-00448-ge4cb08275a83
update-initramfs: Generating /boot/initrd.img-4.18.11-00448-ge4cb08275a83
Using DTB: librem5-evk.dtb
Couldn't find DTB librem5-evk.dtb in /usr/lib/linux-image-4.18.11-00448-ge4cb08275a83 or /etc/flash-kernel/dtbs
Installing into /boot/dtbs/4.18.11-00448-ge4cb08275a83/./librem5-evk.dtb
cp: cannot stat '': No such file or directory
run-parts: /etc/initramfs/post-update.d//flash-kernel exited with return code 1
run-parts: /etc/kernel/postinst.d/initramfs-tools exited with return code 1
make[1]: *** [arch/arm64/boot/Makefile:40: install] Error 1
make: *** [arch/arm64/Makefile:127: install] Error 2
When run from "make install" in a kernel directory, the last thing
installkernel does is call run-parts on /etc/kernel/postinst.d:
run-parts --verbose --exit-on-error --arg="$ver" --arg="$dir/$img_dest-$ver" \
/etc/kernel/postinst.d
The postinst.d script for initramfs-tools executes update-initramfs
which in turn calls run-parts on /etc/initramfs/post-update.d:
run-parts --arg=${version} --arg=${initramfs} \
/etc/initramfs/post-update.d/
The flash-kernel package installs a hook script in
/etc/initramfs/post-update.d which executes flash-kernel. The
flash-kernel script then tries to install the kernel's .dtb files,
assuming the hook script is being run during the installation of a
kernel package. The expected .dtb files are not present and so the
execution fails causing installkernel to error out.
There is a conflict: installkernel assumes the /etc/kernel/postinst.d
hook scripts can be run outside of a kernel package installation but
flash-kernel's /etc/initramfs/post-update.d hook script assumes that
it will only be run during a kernel package installation.
Regards,
Bob Ham
-- System Information:
Debian Release: buster/sid
APT prefers testing
APT policy: (500, 'testing')
Architecture: arm64 (aarch64)
Kernel: Linux 4.18.11-gee84b30c (SMP w/4 CPU cores; PREEMPT)
Locale: LANG=en_GB.UTF-8, LC_CTYPE=C.UTF-8 (charmap=locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
UTF-8), LANGUAGE=en_GB.UTF-8 (charmap=locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
Versions of packages flash-kernel depends on:
ii debconf [debconf-2.0] 1.5.71
ii devio 1.2-1.2+b1
ii initramfs-tools 0.133
ii linux-base 4.5
ii mtd-utils 1:2.0.1-1
ii ucf 3.0038+nmu1
Versions of packages flash-kernel recommends:
ii u-boot-tools 2019.01+dfsg-3
flash-kernel suggests no packages.
-- debconf information:
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = (unset),
LC_ALL = (unset),
LC_CTYPE = "C.UTF-8",
LANG = "en_GB.UTF-8"
are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
flash-kernel/linux_cmdline: quiet
Reply to: