Recently I made the innocent mistake of updating Slackware (to include Kernel updates) without making any allowances for LILO and the X-Window startup process. That is the third time since installing Slackware 15 I’ve managed to mangle the boot and startup process because of an ill-planned upgrade. If you’re here you are likely searching for a way to rescue your recently updated Slackware system because of a frozen X-Window (eg, KDE) system.
My Slackware Upgrade Process
My usual Slackware upgrade process is excitedly typing “slackpkg -update” followed by “slackpkg -upgrade-all” and just watching it run. Yes, upgrade it all – I must have it! There is no portion of upgrade I can live without! Of course at the end of the process I usually decide to keep all of the old config files just to ensure that something, somewhere has a total mismatch. Then reboot followed by a frozen screen, telling me something didn’t sit well. After that, I frequently end up building a new system from scratch with a brand new install of the updated system from ISO. But there is a better way to upgrade Slackware and even recover from your mistakes.
Slackware includes PkgTool as its very own (somewhat unique) form of package management. Its a bit quirky but essentially works the same as apt (Debian) or rpm (Red Hat) but its cooler because its arcane like black magic. It turns out that pkgtool can do much more than simply manage packages for you and one of those cool things is rerun installation scripts! I run Slackware from the default Run Level 3 so I always boot into the LILO loader and then the terminal. That saves a lot of headache if you have messed up your Slackware update. However, even if your system loads directly into Run Level 4 (auto loads X-Windows) remember you are still running in multi-user. To circumvent a wonky X-Window load quickly type <ctrl>-<alt>-<F2> for a new console terminal.
Fix your Upgraded Slackware
Once you have arrived at a new console terminal, log into the system, and run “pkgtool”. That will bring up the main installer and package manager. From pkgtool go to Setup and select OK.
Inside of the Setup option are all the original scripts for installing and setting up Slackware. These are the same scripts you run from a new installation process. So, this is essentially a shortcut to my usual process of a fresh installation. There is a lot you can fix here depending on how bit an error you made during your update process. What usually fixes the problem with my system when there has been a Kernel update in Slackware is to rerun the LILO config and install.
What if my Slackware Update still isn’t fixed?
Or, what if the Kernel update or Slackware update was so bad that the entire system is frozen and there is no recourse to a second console terminal? Get your installer USB (or Disk) and boot from the installer. Instead of re-running the entire installation again try following this guide that shows how to load the /boot partition and chroot into liloconfig. I actually did use this once but it turns out for my purposes it wasn’t necessary – don’t forget to try a simple <ctrl>-<alt>-<F2> before you go this far.