Slack dependent on Lilo?
I understand that making any changes wrt to kernel on Slackware one has to rerun Lilo. If an install was made onto a disk already using other distros and Grub and wanting to keep Grub, do I still need to install Lilo?
I believe that one could use the 'chainloader' entry in Grub to boot the Slackware. And Lilo can be installed to its own / root partition. I suppose really what I'm asking is Slackware totally dependent on Lilo? |
I wouldn't see why Slackware would depend solely on only LILO, otherwise Pat would have not even bothered to include GRUB in /extra. Once you install GRUB, I think it is safe to assume that LILO would no longer be relevant.
It is just that LILO has always been the default bootloader for Slackware, but certainly not a requirement. You can use GRUB alone if you want and ditch LILO completely. |
Lilo is Slackware's bootloader of choice. You don't have to run it, though. You can install grub in slackware. You can get if from Slackware13 /extra (only in 32-bit Slack).
If you use other distros running grub, as you said, you can use chainloader or just directly point other distro's grub to you slackware kernel. |
I have my computer setup to use the grub on my Puppy distro to boot straight into Slackware-current using the generic kernel. Whenever there is a kernel upgrade I just edit my kernel line to vmlinuz and delete the initrd line of my slack menu.lst entry to boot into Slackware upgrade. Then I'm able to rerun mkinitrd and edit my grub file to the new kernel upgrade. If you chainload to Slackware, don't forget to rerun lilo after upgrading before rebooting, which I tend to do, so that's why I do it this way. I don't use grub2 so I don't know how it would work on grub2. As for your question, no you don't have to use lilo.
|
Using Grub
Switched to grub long ago. I use a separate boot partition and keep several kernels.
Code:
/boot: Code:
# GRUB configuration file '/boot/grub/menu.lst'. |
Quote:
|
ok, thanks guys.
I'd run a brief install on my test pc which already had other distros. I hadn't bothered about doing any updates or even looking at the repos so I didn't know about the /extra. Quote:
Quote:
the most I had before was 5 entries, but that new Ubuntu 10.4 has doubled that alone and the disk had only 3 to start! I'll need to look more closely when I finish here. |
For the record, any grub can chainload LILO installed to the superblock of the root partition. However depending on the inode size used in Slackware (for ext3/4 filesystems) and whether or not the GRUB from the other distro has been patched to support larger inode sizes might prevent it from directly booting Slackware. If the GRUB you have installed is even moderately new then it shouldn't be a problem but just a heads up.
|
I'm a little dopey due to the allergy meds, so maybe it was said and I missed it, but lilo only has to be run after a kernel upgrade IF lilo is the bootloader you are using or you are chainloading lilo with grub. When using only grub to boot a slack system or a multiboot system, you simply have to edit your menu.lst (or menu.cfg for grub2?) file to account for the new kernel, or re-link your symlinks (such as vmlinuz, etc). There's no point in running lilo if it isn't being used.
|
I have two questions relating to this topic, I am hoping to get some help with.
1; grub will not charnload lilo or grub2 on my system. I am using grub legacy as a boot manager on a separate 100MB ext2 partition; and booting slackware and ubuntu directly; however I have not been able to chainload lilo or grub2 ubuntu.The other peculiarity is Slackware will not boot with a uuid entry from my grub. The slackware with lilo is on the /root ext4 fs sdb6 partition. 2; Is lilo required when running slackware current to install the new kernel? The problem I struck by not using lilo at all on current; when a kernel is upgraded with the slackpkg system it does not give you the old kernel to fall back to (as ubuntu does). I am now using slackware stable again-because I got out of my depth. menu.lst # Linux bootable partition config begins title ubuntu Linux (on /dev/sdb5) root (hd1,4) # kernel /boot/vmlinuz root=/dev/sdb5 ro vga=normal kernel /boot/vmlinuz-2.6.31-21-generic root=UUID=38d3515f-b895-4129-a409-412a12d7988d ro quiet splash initrd /boot/initrd.img-2.6.31-21-generic # Linux bootable partition config ends # # # Linux bootable partition config begins title slackware Linux (on /dev/sdb6) root (hd1,5) kernel /boot/vmlinuz root=/dev/sdb6 ro vga=normal # Linux bootable partition config ends # # Linux bootable partition config begins title Ubuntu chainloader (on /dev/sdb5) root (hd1,4) chainloader +1 # Linux bootable partition config ends # # Linux bootable partition config begins title slackware chainloader (on /dev/sdb6) root (hd1,5) chainloader +1 # Linux bootable partition config ends # # |
Quote:
As it so happens, slackroll provides a slackroll kernel-upgrade command which installs the new kernel so that you have a fallback. You can remove the old kernel via the slackroll kernel-clean command. See http://rg3.github.com/slackroll/. (Frankly, I find the CLI for slackroll annoyingly complicated, but you can do a lot with it.) Of course, if you are using grub then you can interactively figure out what menu.lst changes you should make. I've lost track of the number of times that I've forgotten to run lilo or forgot to update the *bleeping* lilo.conf file. Even if I screw up changing menu.lst, I can still fix it via grub's interactive boot facility. Grub's great! |
I do like grub, but since I always have a cutom kernel it's not really an issue for me when I forget to run lilo. Slackpkg doesn't upgrade custom kernel entries.
|
Quote:
1. Why are you chainloading? I thought that was really only needed to dual boot with windows. I could be wrong. Also, I've never called out UUID in menu.lst. Not sure why that might be needed. If you ran lilo on the MBR where you had grub, (assuming you want to keep grub) you will need to reinstall it. |
1. Why are you chainloading? I thought that was really only needed to dual boot with windows. I could be wrong. Also, I've never called out UUID in menu.lst. Not sure why that might be needed.
-------------------------------------- Currently I am not chainloading; as those entries do not work. All systems work fine with the direct boot entries so the Grub legacy I am using has been updated to read ext4, however I cannot understand why the chainloading of grub2-ubuntu or lilo-slackware does not work. I did not have lilo installed at all previously; but thought by using it in the root partition would keep my system true to the standard install and kernel upgrades etc. Also by at least loading each system with it's own bootloader, I can simply copy the boot entry to manually edit the menu.lst of my grub boot manager. Including the uuid entry that ubuntu uses as standard now. My work system is slackware, however I enjoy testing other systems. |
Thanks Richard:
As it so happens, slackroll provides a slackroll kernel-upgrade command which installs the new kernel so that you have a fallback. You can remove the old kernel via the slackroll kernel-clean command. See http://rg3.github.com/slackroll/. This looks interesting---- The more I read; the more I understand how much I do not know. |
All times are GMT -5. The time now is 10:05 AM. |