Major Issues after "OS Update" on Librem 5

https://askubuntu.com/questions/82140/how-can-i-boot-with-an-older-kernel-version says hold shift while booting, I will give it a try but not sure it takes bluetooth at bootup.

What would be cool if you could plug in a hardware keyboard directly in the USB, I will give that a try too. I have a USB to USB-C converter so plugged in a keyboard and rebooted with Shift pressed but only the Librem 5 logo shows not the grub menu. I was able to make it show the boot messages scrolling through though not sure to pause that.

1 Like

I could not connect a paired bt keyboard.
Curious about the usb keyboard…

1 Like

An OS update also breaks my phone, even after a clean install.

1 Like

I predict a lot of unhappy faces over at Purism…

2 Likes

Ahoy @dos is here now. :rocket:

1 Like

For starters, it’s not a kernel problem, so booting an older kernel wouldn’t help. It’s a problem with PackageKit and/or GNOME Software doing stupid things.

Today, there were two packages meant to migrate to byzantium-updates: librem5-base and linux-librem5. They both need each other in their latest versions and break the older versions of each other. However, only one of them has migrated.

This isn’t a problem on its own because older versions are still in byzantium repo, and apt is smart enough to figure out that one of them can’t be updated on their own:

$ sudo apt full-upgrade
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Calculating upgrade... Done
The following packages have been kept back:
  linux-image-6.3.0-1-librem5 linux-image-librem5
0 upgraded, 0 newly installed, 0 to remove and 2 not upgraded.

However, looks like either PackageKit (used by GNOME Software) or GNOME Software itself is not, and tries to install the new kernel package anyway. Since it has a “Breaks” relation with older (still installed) librem5-base, it decides to resolve that conflict by… removing it.

Until it’s resolved, please don’t try to upgrade with PureOS Store. Upgrading with apt is fine (unless you explicitly tell it to do stupid things by yourself). The next migration is supposed to happen in two hours, so hopefully it will be resolved by then.

In case you already did the upgrade and broken you system, you need to do:

sudo apt install librem5-gnome

In case it fails to resolve the dependencies (and only then!), do this instead:

sudo apt install librem5-gnome linux-image-librem5/byzantium linux-image-6.3.0-1-librem5-

I understand that the challenge will be to get a shell access in order to execute that in the first place though.

8 Likes

Same issue here. Already suffering Animatch withdrawal.

1 Like

Thanks, this fixed my phone. I should have listened when apt was saying it was holding back the package. I tried it in the PureOS store and… yeah, experienced the thing you said.

1 Like

It should be possible to compile it from the git repo, on any distribution:

2 Likes

You can even download a binary from there: https://github.com/nxp-imx/mfgtools/releases

3 Likes

I had fun reinstalling PureOS actually, so there is always a bright side. I don’t keep data I need on it.

On another note, the latest update improved my battery life by a big margin. I’m using 0% an hour!

1 Like

@dos Thanks for the info.

João Fonseca in support who was helping me initially suggested connecting an external keyboard and pushing ctrl + alt + F3. I did that, and it drops me back to a tty.

I’m then asked to ender my Purism login (I entered my encryption pass and then it asked for a password. And, came back with incorrect login details

Can you please advise where or how I find my purism login and what password do I use?

I’m going out again in 10 minutes for the rest of my afternoon, so hopefully will be able to have this issue sorted when I get home,

1 Like

So to elaborate on that one:

  1. If you had SSH access configured, it should be easy - WiFi should still work, and you should be able to ssh to your phone as usual in order to perform the recovery.
  2. If you had no SSH access configured, but you have a USB keyboard around, you can plug it in (either via hub or USB-A to C adapter) and press Ctrl+Alt+F2. You should then see a login screen where you can login (login: purism; password: your password used on the lockscreen) and perform the recovery from there.
  3. If you have neither SSH access nor USB keyboard, you can use Jumpdrive to access your phone’s system partition. Then edit the file usr/share/gnome-session/sessions/phosh.session and change sm.puri.OSK0 to sm.puri.Squeekboard (be careful not to change anything else, like the punctuation around). This should let your phone boot to graphical (although degraded) session and let you perform recovery steps in the regular terminal app.

Unfortunately. connection over USB won’t work. Both serial over USB and Ethernet over USB is configured by packages from librem5-base, which got removed, so no USB gadget gets exposed.

Once you have access to the phone’s shell, in order to recover your system to a fully working state do:

sudo apt update
sudo apt install librem5-gnome

In case it fails to resolve the dependencies (and only then!), do this instead:

sudo apt install librem5-gnome linux-image-librem5/byzantium linux-image-6.3.0-1-librem5-

This should bring your phone back to its feet without having to reflash. Just make sure not to update with PureOS Store again until the issue is resolved.

10 Likes

The problem is solved now, updates should be safe again. Remember to refresh the package lists before attempting to upgrade from PureOS Store in case the old broken ones got already cached!

We already have changes coming that should prevent this from happening in the future.

7 Likes

Thanks 0xd05

1 Like

A month ago I had this same problem occur on my L5. I worked with Joao, and after a lot of back and forth, the only option was to reflash. phone was working great for a couple of weeks until today. Thanks @dos for your help.

Fortunately for me, I setup ssh. But, also, if people have the hoyoki dock, that was a way for me to connect a keyboard to the phone. So, think of that as an alternative way to connect the phone.

This is frustrating, but it is nice to also have a community to support. It is just unnerving for me to switch to the L5 as a daily driver if these types of problems occur.

But, I will say, follow the Purism advice for backups. That did save me when I had to reflash. I recovered all of my phone call history, contacts, chats, etc.

One other note- when I reflashed, the L5 performance was remarkably faster?! And, it had a much smaller footprint on disk also?! Why is this? Does anyone know. After the reflash, everything on the L5 worked so much better, cleaner, faster, etc. wifi connections, vpn, restore from suspend, even firefox performance?

My take away from the reflash experience, is the default image purism is sending out with new deliveries, is not the same as the reflash image? If so, that means, everyone should do a reflash as soon as they get their L5 from purism? I got mine in Oct 2022. Maybe the OS image is different today that gets shipped on new L5’s?

2 Likes

I would advise just about everyone to set up ssh. You don’t need it until you do.

Like any computer, doing backups is a good idea.

Fewer package updates cached?

You weren’t cleaning out your journals? https://source.puri.sm/Librem5/community-wiki/-/wikis/Tips%20&%20Tricks#managing-journals

You didn’t reinstall everything after that reflash that you previously had installed?

1 Like

I ran into the issue of this thread as well. As a side note:
ssh-ing into the Librem 5 did not work for a few times. I used:

ssh purism@l5name.local

Several times I got:

ssh: Could not resolve hostname l5name.local: Name or service not known

But I kept trying and after a few reboots of the Librem 5 it worked.

I’m writing this so that other people with the same issue should not give up to quickly if getting ssh access does not work immediately. Give it a few more tries.

After having ssh access the apt instructions for fixing worked. Thanks @dos!

1 Like

Suggested alternatives:

  • Configure static mappings of MAC address to IP address in your DHCP server, or
  • Examine the information in your DHCP server

to determine what IP address has been assigned to the Librem 5, and use

ssh purism@theipaddress

instead.

2 Likes

If someone takes the time to find out whether the decision how to resolve the conflict had been forced by Gnome Software or PackageKit I’d be interested to read that :slight_smile: .

I already stumbled over problems with PackageKit a while ago and took this as a reason to publish what I found (and what didn’t get fixed in PureOS, yet), also.

3 Likes