LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Kernel (http://www.linuxquestions.org/questions/linux-kernel-70/)
-   -   Lilo boot freeze on booting kernel (http://www.linuxquestions.org/questions/linux-kernel-70/lilo-boot-freeze-on-booting-kernel-892364/)

Firefox54 07-18-2011 03:48 PM

Lilo boot freeze on booting kernel
 
I try to boot and lilo only to gets to booting the kernel, then it freezes.


What it gives me is below
Code:

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.

Then it just sits there

Any help is appreciated

business_kid 07-19-2011 10:13 AM

At a restart, it loads kernel & ramdisk, boots the kernel, then mounts root.

rerun lilo first. Then think. Can you boot from (any) install CD/DVD? I would comment out the ramdisk line and try that. If you still end up on the rocks, run memtest86.

padeen 07-19-2011 07:17 PM

See this blog entry about running lilo in a chroot:

http://www.nickcoleman.org/blog/inde...6131822%21unix

To enter a chroot, boot with a rescue disk, mount your normal partitions somewhere (say, /mnt), mount /dev and /proc, chroot to where you mounted your partitions, and run lilo.

Also, check if you made or need to make an initrd before running lilo.

Firefox54 07-19-2011 10:00 PM

Quote:

Originally Posted by business_kid (Post 4419060)
At a restart, it loads kernel & ramdisk, boots the kernel, then mounts root.

rerun lilo first. Then think. Can you boot from (any) install CD/DVD? I would comment out the ramdisk line and try that. If you still end up on the rocks, run memtest86.

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.

Quote:

To enter a chroot, boot with a rescue disk, mount your normal partitions somewhere (say, /mnt), mount /dev and /proc, chroot to where you mounted your partitions, and run lilo.

Also, check if you made or need to make an initrd before running lilo.
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.

padeen 07-19-2011 11:36 PM

Quote:

Originally Posted by Firefox54 (Post 4419691)
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:
Code:

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.

Firefox54 07-20-2011 09:16 PM

Since I told debian to put everything on one partition and I have two hard disks, I should only need to mount the two hard disks right(I have hda1 hba1 and two swap partitions)?

One other thing, how do run lilo once the OS is started? The only way I've run any boot manager is from a call from the BIOS.

polymath69 07-21-2011 09:43 AM

lilo is both the thing which boots and the command-name that installs it.
I'd go with grub, but it sounds like you've almost paid the learning tax.

Firefox54 07-21-2011 05:16 PM

Quote:

Originally Posted by polymath69 (Post 4421265)
lilo is both the thing which boots and the command-name that installs it.
I'd go with grub, but it sounds like you've almost paid the learning tax.

So typing lilo in the command line would run or install lilo?

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

polymath69 07-21-2011 05:52 PM

Quote:

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.

Quote:

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.

Dave

Firefox54 07-21-2011 05:52 PM

I tried

mount -t ext3 /dev/hda1/mnt
mount -t ext3 /dev/hdb/mnt

both of these gave me a help section

I tried

mount /dev/hda1/mnt
mount /dev/hba1/mnt

both of these gave me something to the effect of "cannot find hda1 in /etc/fstab or /etc/mtab

polymath69 07-21-2011 06:07 PM

Quote:

Originally Posted by Firefox54 (Post 4421787)
I tried

mount -t ext3 /dev/hda1/mnt
mount -t ext3 /dev/hdb/mnt

You shouldn't need "-t ext3" anymore; Linux detects filesystem types very well now.

Quote:

mount /dev/hda1/mnt
mount /dev/hba1/mnt

both of these gave me something to the effect of "cannot find hda1 in /etc/fstab or /etc/mtab
You do need to sort out your /etc/fstab eventually, but mount wants 2 parameters.
1. What to mount and 2. where to put it.

If /dev/hda1 is supposed to be your root directory, lilo needs to pass it
to the kernel as root=/dev/hda1 . But let's forget /dev/hdb for now, until
you can boot, OK?

Dave

Firefox54 07-21-2011 06:13 PM

So first I need to mount. Then run the command lilo root=/dev/hda1 right

polymath69 07-21-2011 06:25 PM

"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.

Dave

padeen 07-21-2011 09:28 PM

Firefox, I wonder if you are confused about mounting filesystems in Linux. I hesitate to go into an explanation because it could get very involved and confusing.

If you don't have anything you need to keep, honestly I would simply do the installation again, overwriting what you had before.

However, when you mount, you specify a device (a partition) and its location in the filetree. Your example of
Code:

mount /dev/hda1/mnt
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
Code:

mount /dev/hdb1 /mnt
on the same place. I suspect that's not what you want to do.

What have you got on /dev/hda1 and /dev/hdb1? We need to know before we go further. Or just re-install the system.

Firefox54 07-22-2011 08:47 AM

Quote:

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.


Quote:

However, when you mount, you specify a device (a partition) and its location in the filetree. Your example of
Code:

mount /dev/hda1/mnt

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
Code:

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.


All times are GMT -5. The time now is 08:50 PM.