SlackwareThis Forum is for the discussion of Slackware Linux.
Notices
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.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
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.
Last edited by colorpurple21859; 05-04-2010 at 02:14 PM.
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).
In case it isn't clear to the OP, *that* grub still works for Slackware64.
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:
colorpurple21859 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.
This was the main thinking behind my q. Whether the mechanism of re-running lilo for the new vmlinuz/initrd after an upgrade meant it still depended on it; not so much for Lilo being the overall multi bootloader. Actually I don't have that install just now but wanted to have some idea if I gave it a proper tryout.
Quote:
TNWestTex Switched to grub long ago. I use a separate boot partition and keep several kernels.
er, yes, so I see :-)
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
#
#
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).
Well, yeah. You did upgrade the kernel. When you upgrade any package, the old version goes away.
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.
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
#
#
2. First, no LILO is not required if you are using grub. Not even to install 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.
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.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.