0

I have upgraded the package libjson-c to make GIMP work, but it seems like the old version was used by the kernel, which is now unable to boot.

When I choose advanced options in the GRUB menu, both fallback versions (normal + LTS kernel) are not functioning, as I get the same kernel panic message.

The next step I would take, is to boot into a live OS, but I don't know how I would go about reverting the package upgrade.

If the live OS had pacman and I was able to link it with my root partition,

pacman -U /var/cache/pacman/pkg/package-old_version.pkg.tar.xz

would suffice, but I don't know how to achieve that.

In case this is not possible, manually installing the package is also an option, though I don't know in what directory this would be done. Building the package from source and moving it to the correct directory would seem most reasonable in this case. Which directory would this be, though?

I am using Antergos Linux and none of my partitions are encrypted.

Below is an image of the screen I'm getting with the full error message: Kernel Panic Screenshot

  • 1
    The kernel does not depend on the library, but it seems like init does. Take a close look to the message: The library is missing. Have you tried copying /usr/lib/libjson-c.so.3 from the live system into the dead system's file system? – Hermann Jul 10 '18 at 14:30
  • Hm, I'll try that. I definitely thank you for the tip! – Post Self Jul 10 '18 at 16:39
  • Do not do partial upgrades. From the live medium either do a full system upgrade with the --root switch, or from a chroot. – jasonwryan Jul 10 '18 at 17:56
  • @jasonwryan Could you elaborate? Where do I put thi flag? Last time I used Antergos live, I don't think I remeber pacman being available. But It is currently installing and I'll see – Post Self Jul 10 '18 at 18:00
  • The steps are outlined on the wiki. – jasonwryan Jul 10 '18 at 18:07
1

To solve the issue, you can do a full system upgrade from Antergos Live.

First mount your root partition (replace sda1 with the appropriate partition)

sudo mkdir /mnt/systemroot
sudo mount /dev/sda1 /mnt/systemroot

Then you can set that partition as root for the current terminal

sudo arch-chroot /mnt/systemroot

and do a full upgrade

sudo pacman -Syyu

I additionally needed to provide --force, as I got errors saying some files already existed. (not advised)

  • NEVER run -Syu with --force: it will break your system. That is why that switch has been deprecated. – jasonwryan Jul 11 '18 at 16:03
  • Hm, interesting. It did not break anything and my alternative was going through each conflict. All conflicting packages were from node anyways, so I can fix it easily if something should not be functioning – Post Self Jul 11 '18 at 16:59
  • The conflicts were because you used npm to install packages, not pacman. – jasonwryan Jul 11 '18 at 17:53
  • Yes, is that a bad thing? Why actually are the packages available on pacman, then? – Post Self Jul 11 '18 at 18:49
  • 1
    There is, unsurprisingly, a wiki page for Node where all these options are described. – jasonwryan Jul 11 '18 at 20:35

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.