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

7
  • 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? Commented Jul 10, 2018 at 14:30
  • Hm, I'll try that. I definitely thank you for the tip! Commented Jul 10, 2018 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. Commented Jul 10, 2018 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 Commented Jul 10, 2018 at 18:00
  • The steps are outlined on the wiki. Commented Jul 10, 2018 at 18:07

1 Answer 1

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)

7
  • NEVER run -Syu with --force: it will break your system. That is why that switch has been deprecated. Commented Jul 11, 2018 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 Commented Jul 11, 2018 at 16:59
  • The conflicts were because you used npm to install packages, not pacman. Commented Jul 11, 2018 at 17:53
  • Yes, is that a bad thing? Why actually are the packages available on pacman, then? Commented Jul 11, 2018 at 18:49
  • 1
    There is, unsurprisingly, a wiki page for Node where all these options are described. Commented Jul 11, 2018 at 20:35

You must log in to answer this question.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.