You are not logged in.
I am experiencing the same issue. Downgrading & upgrading or symlinking libreadline lib as proposed didn't work for me. Found some unallocated space on a local disk and installed another arch linux there now, created a new grub entry in the original grub.cfg bootloader to it, sym linked the original homedir and required stuff so it feels like home again and I can work. Now going to resort to regularly chrooting in the old system and upgrade packages until it works again
Offline
All this downgrading and symlinking is unnecessary and, in the case of symlinking, just bad advice. The correct approach was given in the second post of this thread:
Rebuild your initramfs manually and it should be fine.
Offline
Hi Jasonwryan,
Thanks for your answer, I did with the following parameters:
# cat /mnt/old/root/etc/mkinitcpio.conf | grep '^[^#]'
MODULES="nls_cp437 vfat fat"
BINARIES=""
FILES=""
HOOKS="base udev autodetect modconf block mdadm filesystems encrypt lvm2 keyboard fsck"
Also tried it with some extra lvm hooks to no avail:
#HOOKS="base udev systemd autodetect modconf block mdadm filesystems encrypt lvm2 sd-lvm2 keyboard fsck"
Offline
The trick is to run the mkinitcpio command once more AFTER the system update, which will use the latest libreadline files.
Just run mkinitcpio -p default (for default arch kernel, as per the wiki) and you should be fine. If it doesn't work, what error do you get when running mkinitcpio ?
Offline
There is a broken dependency here somewhere. Why does mkinitcpio encounter a fatal error and continue to write a broken boot file? The upgrade runs to completion without any further errors. Immediately running mkinitcpio -p linux, after the update clears the dependency problem, fixes the boot image. This has worked on all four of my systems. The last one just upgraded a few minutes ago. Much easier than using a boot image on a thumb drive or DVD and all this chroot nonsense. The fix is an easy one liner as long as you see the error and realize that mkinitcpio has butchered your boot image. I could have done without the stomach acid but the education was priceless!
Offline
Here is an image of the error occuring:
https://s13.postimg.org/7rq36cftz/fail.jpg
The decryption goes fine but then lvm has to take over and detect the volume.
Here is my LVM setup:
[root@tmpbox tmp]# pvs
PV VG Fmt Attr PSize PFree
/dev/mapper/root root lvm2 a-- 930.51g 0
[root@tmpbox tmp]# vgs
VG #PV #LV #SN Attr VSize VFree
root 1 2 0 wz--n- 930.51g 0
[root@tmpbox tmp]# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
root root -wi-ao---- 922.51g
swap root -wi-ao---- 8.00g
[root@tmpbox tmp]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sdb 8:16 0 931.5G 0 disk
├─sdb3 8:19 0 930.5G 0 part
│ └─root 254:0 0 930.5G 0 crypt
│ ├─root-swap 254:1 0 8G 0 lvm [SWAP]
│ └─root-root 254:2 0 922.5G 0 lvm /mnt/old/root
└─sdb1 8:17 0 512M 0 part /mnt/old/boot
sda 8:0 0 167.7G 0 disk
├─sda2 8:2 0 8G 0 part /
├─sda3 8:3 0 1G 0 part
└─sda1 8:1 0 158.7G 0 part
After I ran out of space on /dev/sda I bought 1TB of SSD goodness and forgot about the 8G I reserved as swap back then. That's where I migrated now to for the time being
Here is mkinitcpio while arch-chroot'ed (and /boot properly mounted of course)
[root@tmpbox /]# mkinitcpio -p linux
==> Building image from preset: /etc/mkinitcpio.d/linux.preset: 'default'
-> -k /boot/vmlinuz-linux -c /etc/mkinitcpio.conf -g /boot/initramfs-linux.img
==> Starting build: 4.8.7-1-ARCH
-> Running build hook: [base]
-> Running build hook: [udev]
-> Running build hook: [autodetect]
-> Running build hook: [modconf]
-> Running build hook: [block]
-> Running build hook: [mdadm]
-> Running build hook: [filesystems]
-> Running build hook: [encrypt]
-> Running build hook: [lvm2]
-> Running build hook: [keyboard]
-> Running build hook: [fsck]
==> Generating module dependencies
==> Creating gzip-compressed initcpio image: /boot/initramfs-linux.img
==> Image generation successful
==> Building image from preset: /etc/mkinitcpio.d/linux.preset: 'fallback'
-> -k /boot/vmlinuz-linux -c /etc/mkinitcpio.conf -g /boot/initramfs-linux-fallback.img -S autodetect
==> Starting build: 4.8.7-1-ARCH
-> Running build hook: [base]
-> Running build hook: [udev]
-> Running build hook: [modconf]
-> Running build hook: [block]
==> WARNING: Possibly missing firmware for module: aic94xx
==> WARNING: Possibly missing firmware for module: wd719x
-> Running build hook: [mdadm]
-> Running build hook: [filesystems]
-> Running build hook: [encrypt]
-> Running build hook: [lvm2]
-> Running build hook: [keyboard]
-> Running build hook: [fsck]
==> Generating module dependencies
==> Creating gzip-compressed initcpio image: /boot/initramfs-linux-fallback.img
==> Image generation successful
And some info on the packages in question:
[root@tmpbox /]# pacman -Si bash readline gnupg
Repository : core
Name : bash
Version : 4.4-1
Description : The GNU Bourne Again shell
Architecture : x86_64
URL : http://www.gnu.org/software/bash/bash.html
Licenses : GPL
Groups : base
Provides : sh
Depends On : readline>=7.0 glibc ncurses libncursesw.so
Optional Deps : bash-completion: for tab completion
Conflicts With : None
Replaces : None
Download Size : 1416.87 KiB
Installed Size : 7298.00 KiB
Packager : Bartłomiej Piotrowski <bpiotrowski@archlinux.org>
Build Date : Sun 06 Nov 2016 10:01:22 AM PST
Validated By : MD5 Sum SHA-256 Sum SignatureRepository : core
Name : readline
Version : 7.0-1
Description : GNU readline library
Architecture : x86_64
URL : http://tiswww.case.edu/php/chet/readline/rltop.html
Licenses : GPL
Groups : None
Provides : libhistory.so=7-64 libreadline.so=7-64
Depends On : glibc ncurses libncursesw.so=6-64
Optional Deps : None
Conflicts With : None
Replaces : None
Download Size : 294.87 KiB
Installed Size : 735.00 KiB
Packager : Bartłomiej Piotrowski <bpiotrowski@archlinux.org>
Build Date : Sun 06 Nov 2016 09:42:54 AM PST
Validated By : MD5 Sum SHA-256 Sum SignatureRepository : core
Name : gnupg
Version : 2.1.15-2
Description : Complete and free implementation of the OpenPGP standard
Architecture : x86_64
URL : http://www.gnupg.org/
Licenses : GPL
Groups : None
Provides : dirmngr gnupg2=2.1.15
Depends On : npth libgpg-error libgcrypt libksba libassuan pinentry bzip2 readline gnutls sqlite
Optional Deps : libldap: gpg2keys_ldap
libusb-compat: scdaemon
Conflicts With : dirmngr gnupg2
Replaces : dirmngr gnupg2
Download Size : 1858.39 KiB
Installed Size : 8432.00 KiB
Packager : Bartłomiej Piotrowski <bpiotrowski@archlinux.org>
Build Date : Sun 06 Nov 2016 10:12:24 AM PST
Validated By : MD5 Sum SHA-256 Sum Signature
I did the entire downgrade/upgrade thing earlier but that didn't resolve it for me.
Any information leading to me resolving this problem will be greatly appreciated!
Last edited by jasonwryan (2016-11-16 06:45:22)
Offline
Read the Code of Conduct and only post thumbnails http://wiki.archlinux.org/index.php/Cod … s_and_code and use code, not quote, tags.
Offline
Sorry, i'm a veteran lurker. I don't post things unless i'm completely stuck
Offline
OK, what is the version of the lvm2 package ? I have version 2.02.167-2 on my side, with the same version as you for the readline package. I take it that you ran the mkinitcpio command on a fully updated system, with none of these symlinks shenanigans mentioned before, right ?
Last edited by Nicocys (2016-11-16 07:26:55)
Offline
I kept track of all changes made to the system and reverted them accordingly. The version of lvm2 is 2.02.167-2 for me as well.
[root@tmpbox /]# ls -al /usr/lib/libreadline.so*
lrwxrwxrwx 1 root root 16 Nov 6 09:42 /usr/lib/libreadline.so -> libreadline.so.7
lrwxrwxrwx 1 root root 18 Nov 6 09:42 /usr/lib/libreadline.so.7 -> libreadline.so.7.0
-r-xr-xr-x 1 root root 363064 Nov 6 09:42 /usr/lib/libreadline.so.7.0
Offline
Something's funny here. Are you sure you are chrooting properly ? If I'm not mistaken, you have what I assume is your boot mounted in /mnt/old/boot while your root is in /mnt/old/root. Shouldn't the boot partition be mounted in /mnt/old/root/boot ?
Offline
Yes, I mount it properly before chrooting
[root@tmpbox betaaldag]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sdb 8:16 0 931.5G 0 disk
├─sdb3 8:19 0 930.5G 0 part
│ └─root 254:0 0 930.5G 0 crypt
│ ├─root-swap 254:1 0 8G 0 lvm [SWAP]
│ └─root-root 254:2 0 922.5G 0 lvm /mnt/old/root
└─sdb1 8:17 0 512M 0 part /mnt/old/root/boot
sda 8:0 0 167.7G 0 disk
├─sda2 8:2 0 8G 0 part /
├─sda3 8:3 0 1G 0 part
└─sda1 8:1 0 158.7G 0 part
Offline
Does the lsblk command output you pasted above comes from within the chroot environment ? If so, it shouldn't list sda2 as your / partition (I just tried on my machine from a chroot via the install disk just to be sure).
Edit: I keep insisting on the chroot as it seems that your system is up to date, the initramfs is properly made, with lvm using the latest libreadline properly. The only reason that you keep having the libreadline issue at boot would be that you keep booting on the old initramfs for some reason. That could be because when chrooted, mkinitcpio put the initramfs in the wrong place for some reason, which could be due to your boot partition being mounted somewhere else during the chroot.
Last edited by Nicocys (2016-11-16 09:11:00)
Offline
My system is working now. And inside chroot my lsblk-output looks like this:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sdb 8:16 0 238.5G 0 disk
|-sdb2 8:18 0 238.4G 0 part
| `-lvm 254:0 0 238.4G 0 crypt
| |-MyStorage-swapvol 254:1 0 8G 0 lvm
| `-MyStorage-rootvol 254:2 0 230.4G 0 lvm /
`-sdb1 8:17 0 100M 0 part /boot
sr0 11:0 1 1024M 0 rom
loop0 7:0 0 347.9M 1 loop
sdc 8:32 1 14.7G 0 disk
|-sdc2 8:34 1 40M 0 part
`-sdc1 8:33 1 797M 0 part
sda 8:0 0 238.5G 0 disk
|-sda2 8:2 0 462M 0 part
`-sda1 8:1 0 238G 0 part
Offline
I just fixed my system also and it's working like a charm now.
My Problem was: i chrooted correctly but forgot to mount the needed /boot into the chroot, so the initramfs was in the wrong place.
/dev/sda has two partitions at my machine:
- sda1 is the/boot partition
- sda2 has two lvm volumes: /root and /home
My mistake was to chroot into my /root on sda2 and forgot to mount /dev/sda1 as /boot into that chrooting folder first.
After that, "mkinitcpio -p linux" worked fine and after a reboot everything was fixed! Thanks everyone for answering and helping us out!
Offline
Jelmer: The kernel has just been updated in the repos to version 4.8.8
A good test to see if your chrooting goes correctly would be to chroot in your (broken) system, update it, which will trigger the installation of the new kernel as well as the recreation of the initramfs using the new kernel. Then you'll see when trying to boot on your (broken) system if it still tries to boot from the previous kernel version, or from 4.8.8. If it is the old one, you have a problem when chrooting as the new initramfs would then not be in /boot.
Offline
I got it! I noticed the entry which grub would try to load is with the linux-lts kernel. Re-installation of the package 'linux-lts' finally did the job. Thanks everybody for your help
Offline
Except, for many of us LVM users, it wasn't an issue at all...
Umm, wrongo. I don't use LVM. This issue broke my ability to get online wirelessly with wifi-menu.
All this downgrading and symlinking is unnecessary . . . The correct approach was given in the second post of this thread
I'm currently not at home, so where am I supposed to get a bootable Arch USB drive? Even if I had a USB drive with me I can't download any image to write to it since my wifi connection won't work. Catch 22? Fortunately I am in an environment where there are other computers I can use to browse the web, so I was able to at least research this issue. Let's face it, in some circumstances, the only option is to downgrade--if you really intend to use your computer. After downgrading bash, readline, and gnupg, I can actually get online again.
Again, the recommended fix is to boot from an Arch live USB, chroot into the broken system, and run mkinitcpio -P, right? Running mkinitcpio from within the running broken system cannot, in any way, shape, or form, resolve the issue, correct? If chrooting from a live USB is the only way to do this, then must I first re-upgrade the downgraded packages before re-creating the initramfs?
Last edited by jamtat (2016-11-21 23:45:38)
Offline
jasonwryan wrote:Except, for many of us LVM users, it wasn't an issue at all...
Umm, wrongo. I don't use LVM. This issue broke my ability to get online wirelessly with wifi-menu.
jasonwryan wrote:All this downgrading and symlinking is unnecessary . . . The correct approach was given in the second post of this thread
I'm currently not at home, so where am I supposed to get a bootable Arch USB drive? Even if I had a USB drive with me I can't download any image to write to it since my wifi connection won't work. Catch 22? Fortunately I am in an environment where there are other computers I can use to browse the web, so I was able to at least research this issue. Let's face it, in some circumstances, the only option is to downgrade--if you really intend to use your computer. After downgrading bash, readline, and gnupg, I can actually get online again.
Again, the recommended fix is to boot from an Arch live USB, chroot into the broken system, and run mkinitcpio -P, right? Running mkinitcpio from within the running broken system cannot, in any way, shape, or form, resolve the issue, correct? If chrooting from a live USB is the only way to do this, then must I first re-upgrade the downgraded packages before re-creating the initramfs?
No, the recommended approach is to actually read pacman's output and regenerate the initrd when it failed, not blindly reboot and hope that this would somehow miraculously fix things...
If you have dug yourself in deeper, from the chroot do a complete upgrade; the sequencing bug has been fixed.
Offline
jasonwryan wrote:Except, for many of us LVM users, it wasn't an issue at all...
Umm, wrongo. I don't use LVM. This issue broke my ability to get online wirelessly with wifi-menu.
Did you just randomly respond to that post as a lead-in, or what?
jasonwryan wrote:All this downgrading and symlinking is unnecessary . . . The correct approach was given in the second post of this thread
I'm currently not at home, so where am I supposed to get a bootable Arch USB drive? Even if I had a USB drive with me I can't download any image to write to it since my wifi connection won't work. Catch 22? Fortunately I am in an environment where there are other computers I can use to browse the web, so I was able to at least research this issue. Let's face it, in some circumstances, the only option is to downgrade--if you really intend to use your computer. After downgrading bash, readline, and gnupg, I can actually get online again.
Again, the recommended fix is to boot from an Arch live USB, chroot into the broken system, and run mkinitcpio -P, right? Running mkinitcpio from within the running broken system cannot, in any way, shape, or form, resolve the issue, correct? If chrooting from a live USB is the only way to do this, then must I first re-upgrade the downgraded packages before re-creating the initramfs?
Whose system was broken? Partial updates break systems, and I hope you weren't that foolish... the only other significant and confirmed problem was for people who use LVM, and had a broken LVM during the halfway stage of a full system update while the kernel rebuilt its initramfs via an install script.
Breaking the initramfs doesn't break your system, unless you reboot without realizing the initramfs is broken.
chrooting from a LiveUSB is the only way to run a system that cannot be booted because you broke your initramfs...
...
If your wireless is broken as a result of the readline update, that has nothing to do with broken systems, why are you deliberately conflating the two by yammering about how you don't use LVM, as though there can only ever be one executable that can ever be broken by the same shared library update?
There is nothing whatsoever interesting about this readline update compared to any other soname bumping updates, except that partial updates can actually break bash, and the fact that due to the nature of pacman install scripts and sheer bad timing you can break your initramfs even on a full system update... but that has always been the case, since the initramfs has always been built halfway through system updates.
If your wireless is somehow dependent on a program that is still linked against libreadline.so.6 then either you did a partial update, or you should figure out which AUR package your wireless uses that you neglected to rebuilt against libreadline.so.7
Managing AUR repos The Right Way -- aurpublish (now a standalone tool)
Offline
Yeah Eschwartz, further diagnosis done today has revealed that my issue, though also involving readline, was not very closely related to the discussion in this thread. And it had nothing to do with any broken initramfs. I think my issue is probably related to a tweak I'd done to the system some time ago, then forgotten about, in order that I could keep using wif-menu in the fashion I'd gotten used to using it in: it involved causing a particular package (wpa_supplicant, I believe) to be ignored when doing upgrades. So, not a partial upgrade problem per se, but something close to it. And I also realized I'd read wrongly jasonwryan's first post here as well. My apologies for any side-tracking, offense, etc.
I'm switching now to what should be the real target task of trying to restore wifi functionality. A temporary workaround I've found that does not involve downgrading should allow me to use wifi networking til I can discover the long term resolution.
Last edited by jamtat (2016-11-23 04:18:19)
Offline
I am replying here because the issue I am having is related to libreadline and the error similar. I am having this error message when running an npm script (that runs electron-buillder):
/home/marco/.cache/electron-builder/AppImage/AppImage-09-07-16-linux/xorriso: error while loading shared libraries: libreadline.so.6: cannot open shared object file: No such file or directory
I have tried to rebuild initramfs but it didn't fix the issue. Maybe it is something related to AppImage that should be rebuilt?
Offline
Mocco: this has nothing to do with pacman; rebuilding AUR packages against new libs is your responsibility.
Offline
I'm having the same kind of crazy libreadline errors. I tried booting up a liveUSB like others suggested and then mounting. sda2 should be root, sda1 boot, and sda 3 home. So I do this:
mount /dev/sda2 /mnt
mount /dev/sda1 /mnt/boot
mount /dev/sda3 /mnt/home
arch-chroot /mnt
Immediately it gives me a libreadline error something like /bin/sh error loading shared library (etc etc). But it still seems to work. From there I tried running mkinitcpio -p linux or mkinitcpio -p default but it gives me this output:
==> Building image from preset: /etc/mkinitcpio.d/linux.preset: 'default'
-> -k /boot/vmlinuz-linux -c /etc/mkinitcpio.conf -g /boot/initramfs-linux.ing
==> ERROR: specified kernel image does not exist: '/boot/vmlinuz-linux'
==> Building image from preset: /etc/mkinitcpio.d/linux.preset: 'fallback'
-> -k /boot/vmlinuz-linux -c /etc/mkinitcpio.conf -g /boot/initramfs-linux-fallback.img -S autodetect
==> ERROR: specified kernel image does not exist: '/boot/vmlinuz-linux'
And as for pacman, when I try to -Syu it seems to go well until the end when it spews out hundreds of "error: could not extract /usr/lib/modules/........" before finally spitting out
/tmp/alpm_YwL24L/.INSTALL: Line 7: 1277 Bus error (core dumped) depmod 4.8.10-1-ARCH
among other messages saying the whole update was botched. So what am I doing wrong? Did I mess up the mounting process? Or the chroot process? Although I've been using linux for awhile I'm really not that knowledgeable with it, it's probably a silly mistake. (Also, I've tried doing combinations of -Syu and mkinitcpio first and second to see if I was messing up the order and the results are the same both ways)
Last edited by XNova42 (2016-11-23 22:44:08)
Offline