lilo error on slackware 10
I am in the process of installing the 2.6.7 kernel that comes with
Slackware 10. I followed the following steps: ---------------------------------------------------------- installpkg kernel-generic-2.6.7-i486-3.tgz installpkg kernel-modules-2.6.7-i486-2.tgz cd /boot mkinitrd -c -k 2.6.7 -m reiserfs ---------------------------------------------------------- I made the commented out changed in below lilo.conf file ( option to boot to 2.6.7 or old kernel) After blowing the process and not being able to boot. I took a closer look at the /boot directory before and after running mkinitrd. In my infinite wisdom I didn't save file that had the changes after I ran mkinitrd. Below is the before listing and what it is currently. What you can't see it that after running mkinitrd it changed the link of System.map to System.map-generic-2.6.7, config to config-generic-2.6.7, and vmlinuz to vmlinuz-generic-2.6.7. Afraid for my system, again, I decided to change the links to the original configuration. Knowing I will be pointing to them anyway in the lilo.conf file. Also, I have one disk hda1 with reiserfs and only one mount point /. ( I know, I know, I wasn't paying attention and didn't partition it up) after making the changes to lilo.conf I ran the lilo command and I get this error: ------------------------------------------------------------------------------------------------ Fatal: Setup length exceeds 31 maximum; kernel setup will overwrite boot loader ------------------------------------------------------------------------------------------------ I get this error with and without then new changed in the file. Any ideas on what to try? I have been unable to find any real help online. ------------------------------------------------------------------------------------- # LILO configuration file # generated by 'liloconfig' # # Start LILO global section boot = /dev/hda message = /boot/boot_message.txt prompt timeout = 1200 # Override dangerous defaults that rewrite the partition table: change-rules reset # VESA framebuffer console @ 800x600x64k vga = 773 # End LILO global section # Linux bootable partition config begins image = /boot/vmlinuz root = /dev/hda1 label = Linux read-only #image = /boot/vmlinuz-generic-2.6.7 # initrd = /boot/initrd.gz # root = /dev/hda1 # label = Linux267 # read-only # Linux bootable partition config ends --------------------------------------------------------------------------------- BEFORE: README.initrd -> /usr/doc/mkinitrd-1.0.1/README.initrd System.map -> System.map-ide-2.4.26 System.map-ide-2.4.26 boot.0300 boot_message.txt config -> config-ide-2.4.26 config-ide-2.4.26 diag1.img map vmlinuz -> vmlinuz-ide-2.4.26 vmlinuz-ide-2.4.26 ---------------------------------------------------------------------------------- AFTER: README.initrd -> /usr/doc/mkinitrd-1.0.1/README.initrd System.map -> System.map-ide-2.4.26 System.map-generic-2.6.7 System.map-ide-2.4.26 boot.0300 boot_message.txt config -> config-ide-2.4.26 config-generic-2.6.7 config-ide-2.4.26 diag1.img initrd-tree/ initrd.gz map vmlinuz -> System.map-ide-2.4.26 vmlinuz-generic-2.6.7 vmlinuz-ide-2.4.26 ----------------------------------------------------------------------- |
elegin,
maybe this can help. have my lilo.conf set to start both 2.4.26 and 2.6.7 kernels as follows: (left security settings out of this) # /etc/lilo.conf boot = /dev/hda message = /boot/boot_message.txt prompt timeout = 600 change-rules reset vga = normal # default kernel image = /boot/vmlinuz-ide-2.4.26 root = /dev/hda3 label = Linux-2.4.26 read-only ... # linux-alternate image = /boot/vmlinuz-generic-2.6.7 initrd = /boot/initrd.gz root = /dev/hda3 label = Linux-2.6.7 read-only ... my /boot directory after wiping out ./initrd-tree/2.6.7 and then re-running mkinitrd -c -k 2.6.7 -m reiserfs as you did above,: ls /boot README.initrd -> /usr/doc/mkinitrd-1.0.1/README.initrd System.map -> System.map-generic-2.6.7 System.map-generic-2.6.7 System.map-ide-2.4.26 boot.0300 boot_message.txt config -> config-generic-2.6.7 config-generic-2.6.7 config-ide-2.4.26 diag1.img initrd-tree/ initrd.gz lost+found/ map part.0300 vmlinuz -> vmlinuz-generic-2.6.7 vmlinuz-generic-2.6.7 vmlinuz-ide-2.4.26 Do you see any differences? Both of my kernels start up fine from lilo. |
Sorry for barging in... What is the need for initrd?
I boot 2.6.7 without the image file... Is it for reiserfs on / or /boot or something? My lilo.conf image = /boot/vmlinuz root = /dev/hda2 label = Linux2.6.7 append="hdd=ide-cd" read-only image = /boot/vmlinuz-ide-2.4.26 root = /dev/hda2 label = Old2.4.26 read-only # Linux bootable partition config ends |
The real problem is the changes in lilo don't show during boot. My understanding is that after you make changes to the lilo.conf file you run "lilo" to comment the changes. This is when I get the error. I am used to using GRUB.
My drive is set up with only one partition "/" and it is reiserfs. |
i agree with suslik. unless you have a specific need for initrd that you haven't mentioned, just get rid of it. it's definitely not needed for reiserfs. cut everything after "# Linux bootable partition config ends" (and those commented lines if you don't think you'll need them) and run lilo again.
|
Quote:
Unless I don't know something about making reiserfs on / work with Lilo, I don't see a reason why Code:
image = /boot/vmlinuz |
I'm running reiserfs, with lilo as my boot mgr, just fine. Did you uninstall lilo before writing the new config to the MBR?
|
I saved the the old lilo.conf. It gives me the same error. Lilo is the problem. I can't find what the error means.
|
What I mean is did you run "lilo -U" before running "lilo"?
|
No, I never unistalled lilo. I did this right after installing Slackware 10 (not upgraded). The only thing I installed was KDE 3.3 which involved unistalling KDE 3.2.
|
For everyone telling him to dump the initrd business:
Per Pat V.'s instructions that comes with the kernel 4. Now that I've built an initrd, how do I use it? Now that you've got an initrd (/boot/initrd.gz), you'll want to load it along with the kernel at boot time. If you use LILO for your boot loader you'll need to edit /etc/lilo.conf and add a line to load the initrd. Here's an example section of lilo.conf showing how this is done: # Linux bootable partition config begins image = /boot/vmlinuz-generic-2.6.7 initrd = /boot/initrd.gz root = /dev/hda6 label = Linux267 read-only # Linux bootable partition config ends The initrd is loaded by the "initrd = /boot/initrd.gz" line. Just add the line right below the line for the kernel image you use. Save the file, and then run LILO again ('lilo' at the command line). You'll need to run lilo every time you edit lilo.conf or rebuild the initrd. |
Quote:
so according to that, if you don't have a SCSI drive and you haven't built your filesystem as a module, you don't need initrd to boot. and you should not make one or have it in lilo.conf in that case. so the question for elegin is: do you have a SCSI hard drive or have you built your filesystem as a module? if the answer to both of those is no, then you don't need initrd and you shouldn't use it. in that case, strip down your lilo.conf to this (edit: changing the vmlinuz kernel name and partitions if necessary, of course): Code:
# Start LILO global section |
same error:
Fatal: Setup length exceeds 31 maximum; kernel setup will overwrite boot loader |
the only thing i can think of is that your boot partition is past the 1024 mark, which i'm not sure even matters anymore, and which it doesn't sound like it would be from your configuration. you could try adding the lba32 line to lilo.conf, though.
also, i think running lilo -U as aeNeo suggested might be a good idea. otherwise, i would get a win98 boot CD from the net, boot to that, fix the MBR, reboot to linux with your boot disk, and try again. if that doesn't work, maybe there's something wrong with your kernel image somehow. also could you post: ls -l /boot |
Try commenting out or removing the change-rules and reset lines. You are telling lilo that you want the defaults removed that you are going to make your own rules, but then you don't make any.
|
All times are GMT -5. The time now is 02:51 PM. |