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?
    – Hermann
    Jul 10, 2018 at 14:30
  • Hm, I'll try that. I definitely thank you for the tip!
    – Post Self
    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.
    – jasonwryan
    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
    – Post Self
    Jul 10, 2018 at 18:00
  • The steps are outlined on the wiki.
    – jasonwryan
    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.
    – jasonwryan
    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
    – Post Self
    Jul 11, 2018 at 16:59
  • The conflicts were because you used npm to install packages, not pacman.
    – jasonwryan
    Jul 11, 2018 at 17:53
  • Yes, is that a bad thing? Why actually are the packages available on pacman, then?
    – Post Self
    Jul 11, 2018 at 18:49
  • 1
    There is, unsurprisingly, a wiki page for Node where all these options are described.
    – jasonwryan
    Jul 11, 2018 at 20:35

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .