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.
# general configuration:
timeout 3
default 3
color light-blue/black light-cyan/blue
# boot sections follow
# each is implicitly numbered from 0 in the order of appearance below
#
# TIP: If you want a 1024x768 framebuffer, add "vga=773" to your kernel line.
#
#-*
# (2) Windows
title Windows7 Pro64 (/dev/sda1)
rootnoverify (hd0,0)
makeactive
chainloader +1
# lilo
title Slackware64-14.1 nouveau lilo (/dev/sda7)
root (hd0,6)
chainloader +1
# Linux bootable partition config begins
title Slackware64-14.1 nouveau (/dev/sda7)
root (hd0,6)
kernel /boot/vmlinuz root=/dev/sda7 ro vga=normal
# Linux bootable partition config ends
# lilo
title Slackware64-14.2 nvidia lilo (/dev/sda8)
root (hd0,7)
chainloader +1
# Linux bootable partition config begins
title Slackware64-14.2 nvidia (/dev/sda8)
root (hd0,7)
kernel /boot/vmlinuz root=/dev/sda8 ro vga=normal
# Linux bootable partition config ends
# other Linux using GRUB2
title Debian Jessie (/dev/sda9)
root (hd0,8)
chainloader +1
I did eventually figure out how to do it, but it was overly complicated, and from what I remember there was still some annoyance when trying to set a sub-entry as the default kernel, like having to click twice or something. I can't remember exactly.
I did eventually figure out how to do it, but it was overly complicated, and from what I remember there was still some annoyance when trying to set a sub-entry as the default kernel, like having to click twice or something. I can't remember exactly.
I'll admit that I haven't tried that particular setting.
I just wrote a script of my own and dropped it into /etc/grub.d that set up the first part of the menu as I liked. I turned off 05_debian_theme but left the other scripts alone (such as 30_os-prober) that allowed other operating systems to boot.
I've been pretty happy with grub2 but I've got one server running legacy grub and a laptop running lilo. If I ever upgrade my main machine, I'll probably jump into the UEFI world; my opinions on boot loaders may change shortly thereafter.
Since I can't attach the .bmp file directly, you are welcome to PM me directly so I can email you the file in question. As for the source, I got it from a site dedicated to Slackware 10.2 which, unfortunately, has gone offline, and I got the file some years ago, and don't recall the site address. It detailed how to modify the lilo.conf file to accommodate the bmp file. I will provide this file as well upon request.
I've grown to like not having to edit any files after upgrading the kernel, which grub2 allows.
Default Slackware /etc/lilo.conf has /boot/vmlinuz as kernel path, this is symlink to kernel from latest installed kernel package, so no need to edit lilo.conf, only run lilo itself.
Since 14.2 kernel packages creates /boot/vmlinuz-huge, /boot/vmlinuz-generic (and vmlinuz-huge-smp, vmlinuz-generic-smp only on 32-bit). So good enough for me only one edit of lilo.conf like this:
And if I miss to run
# /usr/share/mkinitrd/mkinitrd_command_generator -r -k new_kernel_version | bash
or
# mkinitrd -F -k new_kernel_version
to recreate initrd.gz I can hold Shift on boot, select Rescue, boot and run it than lilo as needed.
If new kernel version doesn't boot, I can boot from install media and reinstall working kernel. Another way is to copy working huge kernel file to, for ex., /boot/vmlinuz-old and add to lilo.conf:
Code:
image = /boot/vmlinuz-old
root = /dev/sda2
label = Old
read-only
And if I miss to run
# /usr/share/mkinitrd/mkinitrd_command_generator -r -k new_kernel_version | bash
or
# mkinitrd -F -k new_kernel_version
to recreate initrd.gz
If you are running -current and use slackpkg to perform updates, then you can be prompted to run mkinitrd. An updated suggestion for the 'mkinitrd -F' case.
PS - I am now naming the file as /usr/libexec/slackpkg/functions.d/run-mkinitrd-function.sh
For me, LILO is in the same class as Slackware; both require manual user interaction to administer properly.
Some people may disagree but I, having come from the old school, believe that computers are best left in the care of their users, and not to some remote entity, be that a development team (as in the case of Linux distros) or a mega-corporation (best left unsaid).
Since operating systems are essential for the computer to operate, if you opt for automation, then you automatically acquiesce control to that remote entity. A good analogy is automobiles; the automatic is easier to drive, but you have much less control over how your vehicle responds to certain road conditions, whereas with a stick, you have full control. However, a stick has a much steeper learning curve as opposed to the automatic.
I like my computer to be totally under my control, and Slackware puts me in the driver's seat, just where I wanted to be.
For the record, there are some things I love about LILO:
My favourite feature is not having to use an automated install script to build a working config. I was on good terms with GRUB 0.9x, but I never quite managed to stomach Grub 2. I use it on one of my boxes but I grumble every time I have to touch the config.
Agreed, 1337_powerslacker. I want to own my PC not lease it. Doting butlers are often underfoot and make a person weak, unable to perform the basic functions. I chose and continue to use Slackware exactly because it (still) does exactly what I tell it to do, no more and no less. LILO is one of the features that gives me complete control. With grub2 I can disable osprober and that helps but it complains if I take manual control. LILO is simple and effective. What more can one ask of a simple bootloader?
I liked LILO but when I upgraded to a NVMe SDD chip I had to say goodbye to LILO.
After playing around with grub and refind and some other options I finally
settled upon a direct boot from the UEFI boot menu itself (AsRock motherboard).
It is actually quite reliable, except of course if one forgets to run pkgtool and the elilo config script
before rebooting after kernel upgrade!
In that case I simply have to boot my other version of slackware from a hard drive on the machine
and I can get to the EFI boot partition and fix the vmlinux link.
"Refind" is an interesting tool and the "Rod Smith" guy who does Refind has a highly instructive website http://www.rodsbooks.com/refind/
I'd have to say that booting from the UEFI boot menu (with this motherboard)
is simpler than LILO.
It is actually quite reliable, except of course if one forgets to run pkgtool and the elilo config script
before rebooting after kernel upgrade!
...
I'd have to say that booting from the UEFI boot menu (with this motherboard) is simpler than LILO.
Referencing bormant's post from earlier in the thread, I'd say LILO is on par with the method you're using, if not simpler. To recap: all you have to do is run 'lilo' after a kernel upgrade, as vmlinuz is a symlink to the latest kernel installed.
Default Slackware /etc/lilo.conf has /boot/vmlinuz as kernel path, this is symlink to kernel from latest installed kernel package, so no need to edit lilo.conf, only run lilo itself.
Since 14.2 kernel packages creates /boot/vmlinuz-huge, /boot/vmlinuz-generic (and vmlinuz-huge-smp, vmlinuz-generic-smp only on 32-bit). So good enough for me only one edit of lilo.conf like this:
And if I miss to run
# /usr/share/mkinitrd/mkinitrd_command_generator -r -k new_kernel_version | bash
or
# mkinitrd -F -k new_kernel_version
to recreate initrd.gz I can hold Shift on boot, select Rescue, boot and run it than lilo as needed.
If new kernel version doesn't boot, I can boot from install media and reinstall working kernel. Another way is to copy working huge kernel file to, for ex., /boot/vmlinuz-old and add to lilo.conf:
Code:
image = /boot/vmlinuz-old
root = /dev/sda2
label = Old
read-only
That's all -- only one edit of lilo.conf at all.
There are scenarios where that method of rescue won't work (LUKS encrypted partition), but that is a simple way to do things for most people.
Last edited by Richard Cranium; 03-03-2018 at 04:14 PM.
Reason: Clarified point.
Referencing bormant's post from earlier in the thread, I'd say LILO is on par with the method you're using, if not simpler. To recap: all you have to do is run 'lilo' after a kernel upgrade, as vmlinuz is a symlink to the latest kernel installed.
elilo is actually quite simple. The config if very similar to lilo and you don't need to remember to run anything like lilo after editing it. It just works. If you don't want to keep multiple kernels selectable, you can simply run eliloconfig (although, it does need to be taken from -current since 14.2's doesn't support NVMe).
Lilo is a great program and I didn't really want to leave it, but I decided to go with GPT on my NVMe and lilo wasn't supported (and I wasn't willing to dig into grub). However, elilo has been a much easier transition than I expected it to be.
This isn't meant to detract from this post at all or timsoft's work. Had it been in place when I installed Slackware onto my NVMe, I probably would've stuck with lilo.
elilo is actually quite simple. The config if very similar to lilo and you don't need to remember to run anything like lilo after editing it. It just works. If you don't want to keep multiple kernels selectable, you can simply run eliloconfig (although, it does need to be taken from -current since 14.2's doesn't support NVMe).
Lilo is a great program and I didn't really want to leave it, but I decided to go with GPT on my NVMe and lilo wasn't supported (and I wasn't willing to dig into grub). However, elilo has been a much easier transition than I expected it to be.
This isn't meant to detract from this post at all or timsoft's work. Had it been in place when I installed Slackware onto my NVMe, I probably would've stuck with lilo.
Had I wanted to go with UEFI after adding my NVMe card, elilo would have been my go-to option. However, I had an existing legacy boot installation that worked, and I wasn't willing to change over for what I thought were dubious benefits. GRUB, while mostly non-configurable by the user, did work for me for the time that I was using it. However, I missed my LILO something fierce, and longed for the days when user configurability was a thing when it came to bootloaders. Hence my OP, which was precipitated by actions I took after seeing this entry:
Code:
a/lilo-24.2-x86_64-6.txz: Rebuilt.
Support NVMe devices. Thanks to timsoft.
I was elated; nay, ecstatic when I saw this entry. It meant I could go back to what I thought was the best bootloader ever.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.