[SOLVED] Slackware 64 14.1 kernel panic upon boot after upgrading glibc-* for GHOST
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.
Slackware 64 14.1 kernel panic upon boot after upgrading glibc-* for GHOST
Hello, everyone!
I'm a little confused by this problem I have right now: I have two nearly identical computers, both in hardware and software (both running Slackware 64 14.1). The computer in question is a "pure" 64-bit install. I recently upgraded my personal machine, running Slackware 64 14.1 "multilib" and didn't have a single problem with it. Last night, I decided to upgrade my BBS server (yes, I run a BBS under Linux). I copied over the glibc-* packages via SFTP to the BBS machine and used "upgradepkg glibc-*" as per the instructions in the recent Slackware security advisory.
I proceeded to go over to another desktop to work and I switched back, only to see this error repeated over and over: "/usr/sbin/ldconfig: unable to execute binary" (or something to that effect). For some unknown reason, I rebooted the server and then it happened: a kernel panic within 10 seconds of booting past the LILO screen.
I'm still somewhat new to troubleshooting problems under Slackware...simply because I've never had a problem before! First, stupid thing #1: I didn't make a boot disk when I first installed Slack on this machine. The BBS itself is on /opt which is a separate partition, so I'm not terribly worried about losing it. However, what I am stuck at right now is what to do next.
Is this problem recoverable or am I needing to reinstall Slackware? I am trying to figure out why this happened on this machine and not on my personal machine where the upgrade went off without a hitch. I'm wanting to figure out where to start to fix this problem and make sure it doesn't happen again.
The machine in question is an IBM Thinkcentre S50 (3.2gHz, 2GB RAM, 80GB SATA HD). It's running the 3.10.17 SMP ('hugesmp') kernel, nothing special or fancy.
Have you tried booting with an installer disk and using the rescue option at the boot prompt? That way you could mount the root drive, try chrooting into it, see what errors come up and go from there. Sounds like a possibly borked ld.so.conf or ld.so.cache, but I'm just grasping at straws here on that, really. It could just as easily be that either libc.so or ld.so is borked. If it were me, I would boot installer image/disk in rescue mode, mount root drive, and chroot. If the chroot to the mount point worked, then I would most likely try:
Code:
for F in /path/to/glibc/packages/glibc-*2.17-x86_64-10_slack14.1.txz /path/to/glibc/packages/glibc-zoneinfo-2014j-noarch-1.txz ; do
/sbin/upgradepkg --reinstall $F 2>&1 | tee /tmp/$F_install.log
done
being sure to go over the logs with a 'fine toothed comb' for any errors. I'm guessing one problem might be a package file is corrupted, not complete, etc.
Also, if the chroot fails, you should be able to use upgradepkg from the installer environment like this:
Uhm, I'm really embarrassed to admit this, but I found the problem. I installed 64-bit glibc on a 32-bit machine. I thought the other machine was 64-bit but it wasn't. So I am going to try to installing the 32-bit versions instead. Stay tuned.
Ah, well, very good you found it. Should be able to modify my earlier suggestion for doing the installation from the rescue environment and setting the ROOT variable at the command line. Chroot to the root drive won't work now that the c libraries are borked. But installing the new 32 bit ones should fix you up good.
* Copied the correct glibc-* packages to a USB drive from my personal machine.
* Plugged the USB drive into the broken box, booted to the install CD.
* Mounted /dev/sda1 and the USB drive to /temp
* Fired up pkgtool, told it to install packages from /temp
* Rebooted and et voila! working system!
Maybe you used to the 32-bit packages instead of the 64-bit ones for the upgrade?
Uhm, yes.
I used the 64-bit ones for the 32-bit machine. With j_v's help, a bit of Googling, and trying to remember some stuff that I learned in college (I'll just use that excuse , I was able to pull it off. Thanks for the suggestion as that is the first thing I went looking for since I had saved the files I'd used on this computer and sure enough, it was x86_64.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.