Debian – How to mark “not fully installed” apt-get package as “successfully installed”

aptdebianinitramfs

I have installed Debian 7.4 on my Iomega ix2-200 NAS, following this blog. The ix2-200 is running an ARM Marvel CPU and has a 128 MB NAND flash memory. The flash contains an initramfs image (uInitrd) and a kernel image (uImage) to boot the system.

Sometimes, a new package (like cryptsetup) requieres to update the kernel and fails (Unsupported platform). I manually need to flash the new initramfs initrd.img-3.2.0-4-kirkwood and kernel vmlinuz via mkimage, which works fine.

The (anoying) issue: everytime I run apt-get upgrade the system is showing up those unfinished packages. How can I tell my system that everything is fine?

I have tried Google and StackExchange, but most of the posts are dealing with how to remove those unfinished/incomplete packages. I want to keep it!

Please see attached code snapshot:

#> apt-get install cryptsetup
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following extra packages will be installed:
  console-setup console-setup-linux cryptsetup-bin kbd keyboard-configuration libcryptsetup4 xkb-data
Suggested packages:
  dosfstools
The following NEW packages will be installed:
  console-setup console-setup-linux cryptsetup cryptsetup-bin kbd keyboard-configuration libcryptsetup4 xkb-data
0 upgraded, 8 newly installed, 0 to remove and 0 not upgraded.
Need to get 3,179 kB of archives.
After this operation, 11.8 MB of additional disk space will be used.
Do you want to continue [Y/n]? y

...

Processing triggers for initramfs-tools ...
update-initramfs: Generating /boot/initrd.img-3.2.0-4-kirkwood
Unsupported platform.
run-parts: /etc/initramfs/post-update.d//flash-kernel exited with return code 1
dpkg: error processing initramfs-tools (--configure):
 subprocess installed post-installation script returned error exit status 1
Errors were encountered while processing:
 initramfs-tools
E: Sub-process /usr/bin/dpkg returned an error code (1)

#> apt-get upgrade
Reading package lists... Done
Building dependency tree
Reading state information... Done
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
1 not fully installed or removed.
After this operation, 0 B of additional disk space will be used.
Do you want to continue [Y/n]?

Best Answer

You should fix /etc/initramfs/post-update.d/flash-kernel so that it successfully flashes your kernel & initrd. It's in /etc, so you're free to edit it to make it work on your board.

If you can't edit it to make it work (e.g., flashing is done with JTAG), then you ought to have it print out a big warning reminding you to flash it, and exit 0.

Once you've fixed it, then you can run dpkg --configure -a.

Related Question