You are not logged in.
After I messed with glibc and coreutils, SliTaz fails to boot. I'm wondering if the community can help me recover it. During the boot sequence, I get this error message:
"init[1]: segfault at 6 ip 00000006 sp bfa87d2c error 4 in busybox[8048000+97000]"
Apparently, something is wrong with busybox, but I am not sure how to fix it.
I am also not sure how I broke the system, but I think that it's related to my trying to update glibc:
- Before this all started, I ran into a valgrind error pretty much exactly like the one described here: http://forum.slitaz.org/topic/valgrind-fatal-error-on-slitaz
- Because the valgrind error referenced glibc, I thought I needed to update glibc. After compiling glibc (v2.19), I went into the Tazpkg manager to remove the existing version of glibc. The removal of glibc immediately caused the system to become unstable, and I had to reboot into the SliTaz Live CD.
- I rebooted into the SliTaz 4.0 LiveCD and tried to install glibc-2.19 by compiling the source code, which was already on my hard drive, and setting the installation folder to the /usr folder on the hard drive (as opposed to the /usr folder of the LiveCD's file system.)
I _think_ the glibc installation worked, because I looked to see if glibc files were on the hard drive (by executing "find / -name *glibc*.so*"), and I verified that my hard drive contained all the glibc .so files that the LiveCD file system has.
However, the system still did not boot after I installed glibc (and for that matter, I am not 100% sure that I installed it properly).
Also, I think that, in addition to glibc, the coreutils package may mix into this somehow. Before I had attempted to install glibc, I installed coreutils from Tazpkg, and I'm not sure if maybe that had an impact on busybox. When coreutils installed, I saw a message that said something like "Replacing busybox . . ." I can't remember the exact message now, but it seemed to impact busybox.
Can anyone help me troubleshoot? I tried, unsuccessfully, to do what the user, Bellard, suggested in this post: http://forum.slitaz.org/topic/no-init-found-on-mounted-partition. I'm not sure what to do.
Thanks in advance.
Offline
How exactly did you compile glibc? Why not just update it using tazpkg? Removing glibc removes the C library all software needs in order to interact with the kernel. When you mess with that, you break your system hard.
coreutils will install binary packages that replace some of the symlinks that busybox have in place. However, not to worry, because busybox will still be installed, and you can still use the busybox version of those tools by running busybox [tool] [options].
Offline
masskonfuzion,
No, you can't just switch to other glibc version.
Every program depends on glibc (Ok, maybe not every, but 99% of them).
So, if you wanted to recompile your glibc then you should recompile all your packages with this new glibc package.
Recompiling all the world needs a time. Many time. SliTaz updates glibc versions only when switches from version to version.
See here: http://pkgs.slitaz.org/search.sh?receipt=glibc&version=1
SliTaz v.1 — glibc-2.3.6
SliTaz v.2 — glibc-2.7
SliTaz v.3 — glibc-2.10.1
SliTaz v.4 — glibc-2.13
SliTaz Rolling — glibc-2.14.1
Can I recommend you to install back native glibc version before you'll "rebuild the world"?
From TazPKG's system documentation: file:///usr/share/doc/tazpkg/tazpkg.en.html#install:
specify the root system where you want to install the packages via the --root= option
So, mount your broken system first (using your Live CD). Let's say to /mnt/broken. Then reinstall glibc:
[c]$ su
# mkdir /mnt/broken
# mount /dev/sda1 /mnt/broken
# tazpkg -gi glibc-base --root=/mnt/broken[/c]
Glibc package is a meta-package contains no files. Update glibc-base package, and maybe glibc-locale if you have it installed on broken system.
[c]# umount /dev/sda1
# exit
$[/c]
Offline
Thanks for your responses, guys.
@necrophcodr, I compiled glibc straight from source (and with not-all-that-much knowledge of what I'm doing). The reason why didn't use Tazpkg is that I wanted to build glibc from scratch and get the most current version. I was attempting to solve a C compiler/debugging problem that, to be honest, I can't explain yet. If you're interested, I'll check back to let you know the full details (once I figure them out heh).
@Aleksej, thanks for the help! I am at work right now, but I will try your tips as soon as I get home.
I appreciate your responses.
Offline
So, thanks to your help, my system now boots. However, I am unable to login. I think my glibc surgery may have broken other packages that depend on glibcc?
More specifically, I can get to the slim login screen. But when I enter my login credentials, slim seems to fail to launch my desktop environment (I had installed xfce4, but it is not working, nor is openbox).
The problem is not with the credentials. If I boot into a console screen, then I am able to login as myself or as root. But I get segfaults. My screen looks like this:
Welcome to your box.
SliTaz boot time: 8s
SliTaz GNU/Linux Kernel 2.6.37-slitaz tty1
slitaz login: root
Password:
Welcome to the Open Source World!
SliTaz GNU/Linux is distributed in the hope that it will be useful,
but with ABSOLUTELY NO WARRANTY.
cat[1656]: segfault at 6 ip 00000006 sp bfe4abbc error 4 in cat[8048000+7000]
segmentation fault
ifconfig[1658]: segfault at 6 ip 00000006 sp bfd93c9c error 4 in busybox[8048000+97000]
segmentation fault
awk[1659]: segfault at 4536 ip 00004536 sp bfccd68c error 4 in gawk[8048000+3d000]
segmentation fault
So apparently, I can start slim (and possibly other daemons), but something else on the system is broken. I have a feeling that maybe I need to try to reinstall some other packages in addition to glibc. Maybe binutils? Maybe all of the packages?? Do I have a realistic chance of recovering the system without doing a fresh SliTaz install? (I'd prefer not to do a fresh install because the system has sentimental value).
Thanks
Offline
why are you using 4.0 - glibc from 4.0 sucks - is totally buggy - thats the reason pankso switched to eglibc for 5.0
so I think its better to continue with rolling ....
Offline
Thanks kultex -- the truthful answer to your question is: I have no reason in particular for sticking with 4.0, other than I'd like to get the system back up and running without having to reinstall it.
I installed SliTaz a while back off the 4.0 iso. Thinking back on it, I don't think I partitioned my drive "properly" (so I think my boot files, root files, and user files are all on the same partition).
My skill level with Linux is somewhere between beginner and intermediate. Is it possible to upgrade to 5.0 "in-place"? i.e., without having to mess with partitioning and all that? (I recognize that I probably should go through the practice of proper partitioning, but I guess I'm trying to cheat).
Offline
@kultex...--> pankso switched to eglibc for 5.0 <--
what do you think about this:
Since the beginning of 2014, the official homepage states
that EGLIBC is no longer being developed,
since its "goals are now being addressed directly in GLIBC".
source:
http://en.wikipedia.org/wiki/Embedded_GLIBC
Speaking about Debian, last week's news about the distribution's switch back
to the good-old glibc (from the abandoned eglibc)
Debian is now switching back to glibc as eglibc is now a dead project
source:
http://distrowatch.com/weekly.php?issue=20140623
Offline
@masskonfuzion
1) can you login as tux or whatever user you selected? if you can, your home directory is present
otherwhise check your /etc/fstab
2) if your home directory is present first see here: http://doc.slitaz.org/en:guides:faq-login
if nothing of this helps, I think its better to reinstall
EDIT: I forgot perhaps you can try to reinstall the original glibc
first check which glibc-packages are installed with
tazpkg search glibc
then install with
tazpkg -gi glibc-base --forced
in the Live-CD there is only glibc-base - not the full glibc
@sixofeight
what I think is written her:
Since the beginning of 2014, the official homepage states that EGLIBC is no longer being developed, since its "goals are now being addressed directly in GLIBC".
so next version of Slitaz (6.0) will be back to GLIBC.
And it will be stupid to change to GLIBC now - because all our packages have to be recompiled with this new glibc package and thats dangerous - I think
Offline
Thanks for the tips, kultex,
My home directory is intact, but I have not checked /etc/fstab yet. I'll do that later today when I get home.
Also, I tried to reinstall the original glibc from the LiveCD, and I _think_ it worked, but I'm not sure. That is, before I reinstalled glibc, the login process would crap out early, and I could not get to slim login screen at all. After reinstalling glibc, I can now get to slim, but I get segfaults when I try to login. So basically, my desktop environment is failing to load, and if I exit to the command line, just about any command I try to run segfaults. That is why I think the system is hosed, and I may need to reinstall.
But I'll give it another shot and let you know what happens.
Thanks for all your help.
Offline
Simply reinstalling glibc did not seem to solve the login problem, so I tried to reinstall 4.0 over my existing installation. When I did that, I was able to log in as root, but not as my previous user ID. I may need to reset my credentials. I'll keep you posted.
(Aside: I would have tried installing 5.0rc2, but mirror.slitaz.org was down yesterday (it gave me HTTP 503 errors all night.. It seems to be back up now, but I'm at work, and I'm indisposed at the moment).
(Aside #2: I will probably just do a fresh install of 5.0rc2 and put this whole thing to rest. I've mainly been trying to troubleshoot this the long way to get the experience of mucking with Linux).
(Aside #3: Thank you all for your help -- I'm a huge fan of the SliTaz community).
(Aside #4: I promise this is my last aside :-D).
Offline
[ Generated in 0.048 seconds, 8 queries executed - Memory usage: 1.57 MiB (Peak: 1.77 MiB) ]