Closing this as it is no longer a [Testing] issue. There are sufficient threads in the other boards to provide inspiration...
]]>Here's how I fixed it:
add "break=postmount" to kernel parameters in grub & boot
remount /new_root read-write
cd new_root
ln -s usr/lib lib
cp /new_root/var/cache/pacman/pkg/glibc-2.16.0-2-i686.pkg.tar.xz /tmp
cd /tmp
/new_root/usr/bin/xz -d glibc*
/new_root/bin/tar xf glibc*
cp -r usr sbin /new_root/
reboot
pacman -Sf glibc
Again, I did the "rm -r /lib" booboo AFTER upgrading everything else. I'm not sure if this would have worked if other packages weren't upgraded.
]]>1. I moved /lib/firmware/ to new location (there was pacman-unmanaged files for wifi card (b43))
2. I deleted /lib/modules (there was two folders "xxx-ARCH")
3. find /lib -exec pacman -Qo -- {} + returned only one line saying that "/lib" is not owned by any package
4. so i made pacman -Su --force
then my system broke
5. I booted to "fakeinit" and made ln -s /usr/lib /lib
then my system broke more
6. I created booting flashdisk, booted, mounted "/" and did pacman -S glibc -r /tmp/rootmount
now, my system is in broken state, but no kernel panic (thats better, but not much). It writes this: http://i.nyx.cz/files/00/00/08/17/81752 … AG0023.jpg
Can anybody help me please? Now I really don't know, what to-do... and windows-like reinstall is not what I want now... thank you!
]]>P.S: I'm running 64bits Archlinux so do have I smthing to do woth /lib64?
]]>Copied everything not owned by glibc to /usr/lib, Rebooted into live distro, mounted /dev/sda2 under /mnt and deleted /lib.. Extracted glibc-2.16.0-2-i686.pkg.tar.xz from /var/cache/pacman/pkg to / and rebooted. I now have a desktop so I then did a pacman -U on the glibc package to make sure the install parts got done correctly.
System is working but I'm sure I'll end up with other issues to be solved at a later date. Seems that updates like this could be handled better other than breaking sysems and posting fixes after the fact. I always look at the news items first and I can tell you it wasn't there when I pushed glibc through. Personally I enjoy the challenge of a borked system as it helps me understand how to fix things in ways that no one else has tried.
]]>It was really easy to brick to brick the system with that update, if not reading Arch homepage before -_-
For all of you suffering from a borked system: You don't need a LiveCD to fix your filesystem!
Just tell your kernel to load some fake/non-existing init system (I used "/usr/bin/bash") and you'll get dropped to a root shell…
1. Boot into GRUB and add "init=fakeinit" "break=postmount" to the line that starts with "kernel"
2. Wait until you get dropped into a root shell
3. Your root partition should be mounted read-only to '/new_root', remount with write permissions
4. Change to '/new_root'cd new_root
5. Remove 'lib'
rm -Rf lib
6. Create a softlink from 'usr/lib' to 'lib'
ln -s usr/lib lib
7. Reboot
My system booted into some crippled state (without X, KMS, etc.). Just perform an update from cache ('sudo pacman -Su') and reboot one more time.
Please be very careful and only perform these steps if you know what you are doing!
I hope I could help! Greetings,
SebastianEDIT: There seems to be a regular option to get into a working shell, thanks falconindy!
My secret weapon (I hope) is a /usr/lib dir copied over from another, newly-update Arch system at home. I'm going to see if I can copy that, and if not then it's the installation media for me.
Welp, I think my system pretty much is totally b0rked, then; the only other Arch system I have is a 64-bit lappy, and this is a 32-bit install, so no go.
Trying to chroot from the initramfs shell to the one on the root partition just gives me a "No such file or directory" error, and even trying to run bash manually from the initramfs shell gives me a no-such-file error for libreadline, so yeah…b0rked. Completely. <_<
EDIT: Actually, I may be able to reinstall glibc using pacman's -r option from a LiveCD or something; no need to reinstall the whole system…maybe.
]]>^ I'm having this problem as well, except I did:
rm -r /lib
…in a fit of blind rage trying to fix this problem, rather than doing --force (before reading the news page; woops :x).
Yup, I think I issued the same command at some point, thought possibly it was a fit of panic rather than rage.
My secret weapon (I hope) is a /usr/lib dir copied over from another, newly-update Arch system at home. I'm going to see if I can copy that, and if not then it's the installation media for me.
]]>rm -r /lib
…in a fit of blind rage trying to fix this problem, rather than doing --force (before reading the news page; woops :x).
Am I totally fscked as well? Can I recover without having to reinstall the system from scratch? (It wouldn't be too much of an inconvenience if I did; I have my /home on a separate partition, so all my personal data/configs would be preserved, at least…)
]]>Booting normally gives me a kernel panic:
switch_root: failed to execute /sbin/init: No such file or directory
I add a "break=postmount" to the grub boot line, and it drops me into the root shell. I remount new_root as writeable. When I go into /new_root I can see that /lib exists and is a soft link to usr/lib.
usr/lib is full of all the usual stuff, it's got the modules directory, and all the lib* files and whatnot, though I would have no idea if there was anything wrong with them.
Simple saying "exit" bumps me back out and it panics again. Is there some final step that has to be done here to make things permanent? Did I bork things in an earlier stage so badly that what's in lib and usr/lib is already screwed?
Help!
And thanks
]]>Booted from Ubuntu CD
Mounted partition,
Copied the contents of /lib (modules and sym link of ld.so) to /usr/lib
rm -rf lib
ln -s usr/lib lib
rebooted, works!
From there reinstall glibc and kmod, then force the kernels and nvidia module which still complained.
Cheers, I'll know to read the web page next time it borks with a seemingly stupid error, "of course /lib exists.." Doh!
Many thanks
]]>