Linux - KernelThis forum is for all discussion relating to the Linux kernel.
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
I try to boot and lilo only to gets to booting the kernel, then it freezes.
What it gives me is below
Lilo 22.8 Loading Linux
Initial ramdisk loads below 4Mb; kernel overwrite is possible ..............................................................
BIOS data check successful
Probing EDD (EDD=off to disable)
Decompressing Linux... Parsing ELF... booting the kernel.
I can boot from small cds just fine. Its just Lilo and Grub that I have a problem with. I got Lilo to run, but upon reinstallation I picked the wrong settings and it doesn't boot.
This is the first time I've heard of chroot, as I'm fairly new to linux. If business_kid's method doesn't work, I'll be sure to try that.
The issue is that when you boot from a rescue disk, the filesystem is that of the rescue disk, not the previous installation. (Unless the rescue disk specifically looks for and mounts your previously installed partitions, in which case you will need to read the documentation for your rescue disk.)
Therefore, when you run lilo, you are running it for the rescue disk, which means lilo affects the MBR record of the rescue disk, which is usually a ramdisk, not that of the installation.
So, you need to manually mount your installation partition(s) somewhere, commonly under /mnt. If you have separate /usr, /var and /etc partitions in your installation, mount them too. For example:
mount -t (whatever it is, say ext3) /dev/sda1 /mnt
mount -t (ditto) /dev/sda2 /mnt/usr
mount -t (ditto) /dev/sda3 /mnt/etc
chroot is an artificial way to switch to that mounted filesystem and "pretend" it is now the root filesystem, e.g. /. Once you have chroot'ed to /mnt, you are effectively now operating on your installation, not on your ramdisk.
This means that now, when you run lilo, it will use the correct /etc/lilo.conf file and will change the correct MBR on /dev/sda1 instead of the incorrect one on the ramdisk. Read the blog entry for more; don't forget to mount /dev and /proc.
So typing lilo in the command line would run or install lilo?
Lilo from the command line, as root, installs Lilo the boot-loader.
Mind you, it needs to be correctly configured first.
The reason I didn't go with grub is because lilo only has one config file(lilo.config), and because grubs defaults gave me unable to mount root fs on unknown block 0,0
Grub doesn't require reinstallation whenever you update the kernel. That's
the biggest difference. (Of course, if it doesn't work, what help is that?)
Your first message upstream says that Lilo printed LILO... which means it's
pretty much finished successfully. I would look carefully into your initrd
location, contents, etc. The warning on your line 2 is a major red flag to me.
"root = /dev/hda1" needs to go into your /etc/lilo.conf. You can mount
from your rescue CD to do that. While there, (and I can offer no guarantees
to this part) you can run "/sbin/lilo -b /dev/hda1". Whether that works,
I'll still be here in half an hour.
What have you got on /dev/hda1 and /dev/hdb1? We need to know before we go further. Or just re-install the system.
hda1 is a crunchbang install and hdb is a win2000 install that I don't need anymore. I don't want to reinstall unless I know what the correct setttings are for lilo, because one cd-rw is already dead from exploring the different distros(it was used before this too). I now use usb boot thru plop.
However, when you mount, you specify a device (a partition) and its location in the filetree. Your example of
is failing because you need a space between /dev/hda1 (the partition) and /mnt (the place in the filetree). Then, after that you are replacing what you just mounted by doing another mount
mount /dev/hdb1 /mnt
on the same place. I suspect that's not what you want to do.
Thanks. This is my first yr of linux.
Last edited by Firefox54; 07-22-2011 at 08:51 AM.
Reason: adding stuff