[SOLVED] Startx failed after system upgrade - Elilo hits the wrong kernel
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.
My OS is Slackware 15.0, after `slackpkg upgrade-all`, new kernel 5.15.94 is installed though the the kernel version booted is still 5.15.19.
So I think the problem of Startx failing is about the Elilo configuration, so I run `eliloconfig`...
You should have run that eliloconfig before reboot. Now you run 5.15.19 but don't have modules for it any longer. You would still need the vfat module to mount the efi partition. You could, for example, reinstall the original kernel-modules-5.15.19-x86_64-2.txz and try again after that.
The most likely problem is the kernel in the Slackware directory on the efi partition is the old generic kernel and the modules required to mount a vfat filesystem for said kernel no longer exist in /lib/modules.
Is there another linux system and/or usb you can boot from so you can copy the new generic kernel to the efi partition and name it the same as in the elilo. conf
Last edited by colorpurple21859; 04-27-2023 at 05:45 AM.
Let's see the bright side: you are lucky that you do NOT used a HUGE kernel, because in this case you will have got a glorious kernel panic and you will have been fully locked away from your computer.
So, you boot the old kernel, BUT without modules, because they was removed when you "upgraded" the kernels like a boss. That's WHY you can't mount your ESP partition.
The solution for your problem is to put back manually the kernel modules matching your kernel version, then to repair you system. How with no modules you have certainly also no internet, I suggest you to create (for booting from) an USB dongle with LiveSlak in a working computer:
And for future, to avoid nasty situations like this, I will strongly recommend you to use a modern bootloader like is the GRUB2, instead of obsolete and ridiculous old technologies like is ELILO. Heck, it was abandoned 9 (NINE!) years ago by its creator, and yet you entrust your system boot to it.
Last edited by LuckyCyborg; 04-27-2023 at 07:12 AM.
And in the future, to avoid nasty situations like this, I strongly recommend you to use a modern bootloader like GRUB2, instead of obsolete and ridiculous old technologies like ELILO. Heck, it was abandoned 9 (NINE!) years ago by its creator, and yet you entrust your system boot to it.
Elilo is a nice little program and simple in its structure, unlike GRUB! I've been using it for years without problems. What caused the problem here is that the kernel and its modules were upgraded, which naturally removed the older versions. This procedure puts you in a vulnerable position no matter what bootloader you use. For example, if the new kernel won't run properly on your system (and this did once happen to me because of a bug in the acpi firmware on my previous machine), you are stuck.
The safe way to update a kernel is to install the new versions of the two packages alongside the old ones. Then, if you can't boot the new kernel, you can boot the old one instead and fix your problem. I only remove the old kernel and modules when I know the new ones work.
Elilo is a nice little program and simple in its structure, unlike GRUB!
Yeah, also Slackware long time ago had a size of 100MB for a full install...
Today, it have a whooping 16GB (or more?) for a full install - and who cares?
Anyway, the biggest issue of ELILO is that it requires to copy around files (to the ESP partition). With all respect, I believe that's a ridiculous requirement for the year of 2023. And so many people has been bitten by those "copy around" plays.
Mrs. Hazel, as a wise Lady as you are, you know well that the humans are quite bad at the mechanical repetitive tasks and they DO mistakes. In the end, that's why we use computers instead of doing complex maths in mind.
Last edited by LuckyCyborg; 04-27-2023 at 06:06 AM.
i have this non-profensional script
installed in my system and this entry in my /etc/rc.d/rc.6
Code:
# slackup-grub
if [ -x /etc/rc.d/slackup-grub.sh ]; then
/etc/rc.d/slackup-grub.sh
fi
with a small modification script can support eliloconfig also...
So when slackpkg upgrade-all upgrading kernel and user by mistake or other reason forgot to upgrade bootloader, before reboot or shutdown script will do it. For grub I know its working 100%...
edit: only requirement is that the first time user must run script manually ones after installation to create some "database".
i have this non-profensional script
installed in my system and this entry in my /etc/rc.d/rc.6
Code:
# slackup-grub
if [ -x /etc/rc.d/slackup-grub.sh ]; then
/etc/rc.d/slackup-grub.sh
fi
with a small modification script can support eliloconfig also...
So when slackpkg upgrade-all upgrading kernel and user by mistake or other reason forgot to upgrade bootloader, before reboot or shutdown script will do it. For grub I know its working 100%...
edit: only requirement is that the first time user must run script manually ones after installation to create some "database".
I have a better idea:
how about Slackware to stop playing with things as alive like Tutankhamen, and to push to users a modern bootloader? How about to make a proper management of kernel packages and mark and make them capable only of install/remove but NEVER upgrade? How about to make proper kernel packages who calls update-grub on install and removal?
IF myself, a geologist who earn his money looking after rocks I am capable to do this (and yes, I have already made a design like this), permit me to have a full faith that our BDFL, who's a software engineer by education and entire life work, will solve those things in an evening.
Last edited by LuckyCyborg; 04-27-2023 at 06:40 AM.
how about Slackware to stop playing with things as alive like Tutankhamen, and to push to users a modern bootloader? How about to make a proper management of kernel packages and mark and make them capable only of install/remove but NEVER upgrade? How about to make proper kernel packages who calls update-grub on install and removal?
I don't think it has ever been the purpose of Slackware to push users into doing anything. Other distros do that; Slack gives you freedom. A GRUB package exists but you don't have to use it if you don't like GRUB. And if we are to be pushed into using a particular bootloader, why not a particular init system as well? That's certainly how other distros treat their users.
I don't know if it would even be possible to automatically convert upgrades of the kernel and kernel modules into parallel installations without greatly altering pkgtools and spoiling its beautiful simplicity. Certainly Debian distros always carry out a parallel installation for these packages, but then Debian has a very complex update manager.
Automatic GRUB updates though are easy to include. Just put a check for GRUB and a conditional GRUB update into the kernel installation script.
I don't think it has ever been the purpose of Slackware to push users into doing anything. Other distros do that; Slack gives you freedom.
I 100% agree
But upgrading a kernel and not been able to boot after a reboot, is and will always be a major issue.
In that case, it's difficult (in my opinion) to blame at 100% the user
What if, you upgrade GCC and can't compile anything ?
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.