From 1c37b3c7aafa49a79d0308133023153542274746 Mon Sep 17 00:00:00 2001 From: Guillaume Cottenceau Date: Wed, 2 Apr 2003 19:06:11 +0000 Subject: Error scenario: When using a file for your / (a "loopback"), booting your newly installed system will fail with a kernel panic with flashing keyboard lights Why: The initrd needs to load the loop.o module to mount your / partition; but since recently, loop.o depends on aes.o, and since mkinitrd doesn't handle dependencies automatically and we didn't notice that change, we didn't update mkinitrd accordingly Solution: Format a floppy disk with a DOS filesystem (in Linux, you can use the command "mkdosfs /dev/fd0"). Copy patch.pl to the floppy disk. Remove the floppy and reboot using the Mandrake Linux 9.1 CD1 to do a CD-ROM installation. During boot, press F1 at the splash screen, then place your floppy disk that contains patch.pl in the floppy drive. At the prompt, type "patch", then follow the installation as usual. see bugzilla #3614 --- perl-install/patch/9.1/patch-loopback.pl | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 perl-install/patch/9.1/patch-loopback.pl (limited to 'perl-install/patch') diff --git a/perl-install/patch/9.1/patch-loopback.pl b/perl-install/patch/9.1/patch-loopback.pl new file mode 100644 index 000000000..d0f4185b3 --- /dev/null +++ b/perl-install/patch/9.1/patch-loopback.pl @@ -0,0 +1,18 @@ +use bootloader; +package bootloader; +log::l("PATCHING: fixing 9.1 aes.o missing in initrd for / on loopback"); + +*mkinitrd = sub { + my ($kernelVersion, $initrdImage) = @_; + + my $loop_boot = loopback::prepare_boot(); + + modules::load('loop'); + if (!run_program::rooted($::prefix, "mkinitrd", "--with=aes", "-v", "-f", $initrdImage, "--ifneeded", $kernelVersion)) { + unlink("$::prefix/$initrdImage"); + die "mkinitrd failed"; + } + loopback::save_boot($loop_boot); + + -e "$::prefix/$initrdImage"; +}; -- cgit v1.2.1