Skip to content

Tails Upgrader fails to install some IUKs

For instance, using tails-upgrade-frontend to fetch and install the hand-crafted and tiny (20 KB) 1.2.1_to_1.2.2 IUK results in a bricked Tails installation because Tails.module gets corrupted. After installing the upgrade, but before rebooting, the contents of the Tails.module looks normal so it seems like a failure of syncing the kernel’s disk cache to disk. Furthermore, this does not occur when calling tails-install-iuk directly, which indicates that the cause has something to do with the fancy stuff wrapping around that call in the frontend, or possibly with perl’s IPC::Run library.

Tests show that the following use of nocache (Debian package available in wheezy-backports) fixes the disk corruption:

--- a/lib/Tails/IUK/Install.pm
+++ b/lib/Tails/IUK/Install.pm
@@ -174,7 +174,7 @@ method upgrade_modules_file {
         say $temp_fh $append_str;
         close $temp_fh;

-        run_as_root('cp', '--force', $temp_file, $self->modules_file);
+        run_as_root('nocache', 'cp', '--force', $temp_file, $self->modules_file);

Feature Branch: bugfix/8449-iuk-install-robustness, iuk:bugfix/8449-iuk-install-robustness

Related issues

Original created by @anonym on 8449 (Redmine)

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information