http://qa.mandrakesoft.com/show_bug.cgi?id=3614
[EMAIL PROTECTED] changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEEDINFO |RESOLVED
Resolution| |FIXED
------- Additional Comments From [EMAIL PROTECTED] 2003-04-02 20:14 -------
Ok, I did the patch.
Here it is:
-=-=---=-=---=-=---=-=---=-=---=-=---=-=--
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";
};
-=-=---=-=---=-=---=-=---=-=---=-=---=-=--
The associated description will be:
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.
------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.
------- Reminder: -------
assigned_to: [EMAIL PROTECTED]
status: RESOLVED
creation_date:
description:
When a loopback file is used as the root "partition," mkinitrd includes loop.o
but not aes.o in the initrd. Any attempt to use this initrd to boot the system
results in the initrd being unable to mount the root filesystem and, hence, the
system being unbootable.
I first encountered this problem during a fresh 9.1 install (I used a Knoppix
rescue CD to manually modify the initrd so I could boot after the install). It's
100% reproducible with mkinitrd from the command line after installation, too.
In any case, this bug makes Mandrake 9.1 loopback installs *totally unusable*
unless you manually hack the initrd.
I'm taking a look at the mkinitrd source code now, and I'll see if I can put
together a patch (or maybe a few patches which use different approaches) to fix
this.