2008-05-11

BackTrack3 lilo bootloader issues and a solution

A friend of a friend recently tried to install BackTrack 3 from a LiveCD. It's based on Slackware Linux, apparently. He ran into some issues I helped him solve, and I thought I would reproduce the problem and solution here in hopes that it might help someone else.

He had run the LiveCD, run through the Install as he thought he should, but was hoping for a dual-boot. This was apparently causing him issues (that perhaps a sole BT3 installation would avoid?

After running the installer, and having the distribution installed to his new Linux partition (in this case, /dev/sda4; /dev/sda1 was Windows, and 2 and 3 were for swap and something else), he encountered the following when trying to install a bootloader using lilo.

bt etc # lilo
Fatal: creat /boot/map~: Read-only file system

The issue here seems to have been that his mounted root file system is on the LiveCD. This makes it non-readable, and also means it's not the file system he wants to be installing the boot loader in.

solution 1:

lilo -r /mnt/sda4

This makes lilo use /mnt/sda4 as its root directory (yay, chroot). This is important, because /mnt/sda4 is mounted to /dev/sda4 where his actual on-disk BT3 installation is.

Unfortunately, there's another problem.

bt etc # lilo -r /mnt/sda4
Warning: LBA32 addressing assumed 
Fatal: raid_setup: stat("aufs")

We were find with the LBA32 addressing being assumed, but how did RAID concern his laptop? And why another union FS? Apparently his "boot=" line in his lilo.conf referred to aufs, so he changed it to refer to /dev/sda instead. That didn't help:

bt etc # lilo -r /mnt/sda4
Warning: LBA32 addressing assumed 
Fatal: raid_setup: stat("/dev/sda")

Eventually, it occurred to me that dev/ inside /mnt/sda4/ wouldn't be populated with anything, now that it's dynamically populated (I think). However, /dev/ in the LiveCD environment was. After some googling, this was done:

# mount --bind /dev /mnt/sda4/dev
# mount -t proc proc /mnt/sda4/proc

I'm not sure about the necessity of mounting the proc, but we definitely needed to dev to be populated on sda4. After doing this, `lilo -r /mnt/sda4` was successful. Yay.

summary

If you're having issues installing a bootloader for your dual-boot BackTrack3 installation, and are getting either of the following two errors, try the following command sequence (replacing sda4 with your target partition).

error 1
Fatal: creat /boot/map~: Read-only file system
error 2
Fatal: raid_setup: stat("aufs")
Fatal: raid_setup: stat("/dev/sda")
solution
# mount --bind /dev /mnt/sda4/dev
# mount -t proc proc /mnt/sda4/proc
# lilo -r /mnt/sda4

And you might have to set the line "boot=/dev/sda" in lilo.conf.

If this helps anyone, please let me know. If you seem to have the same problem and this doesn't help, then really please let me know. I don't want useless instructions remaining useless forever.

Labels: , , ,

0 Comments:

Post a Comment

<< Home