Time to flash is now - but how?

You only need that if you want to have your phone’s data being encrypted.
It’s a personal choice.
Choosing for encryption (=luks) means that you have to enter an aditional code or password when booting the L5.
I do not use it, but some say that it is a security issue.

1 Like

Thanks. Yes, I know what it does. my question is more about do I add it to the end of the command line you provided?

1 Like

I’m not completely shure, but I would place it at the very end of that line.


I have Luks on the phone when I received it and if someone does steal the phone, I hope it breaks their head too. Better than a glitter bomb.

Thanks for confirming where the Luks line goes.I’m going retry again now to flash it. But, it’s a command that fails and haven’t seen anyone look in to it.

1 Like


To Anyone,
QUESTION : What needs doing to fix the flashing script:question:

FB: 0x18d1 0x0d02
Wait for Known USB Device Appear…

:bangbang::arrow_lower_right:Error: Unknown Command:FB: reboot:arrow_lower_left::bangbang:

Traceback (most recent call last):
File “./scripts/librem5-flash-image”, line 538, in
File “./scripts/librem5-flash-image”, line 521, in main
flash_image(uuu_target, args.debug)
File “./scripts/librem5-flash-image”, line 349, in flash_image
subprocess.check_call([‘uuu’, ‘-v’, uuu_target])
File “/usr/lib/python3.7/subprocess.py”, line 347, in check_call
raise CalledProcessError:arrow_left:(retcode, cmd)
subprocess.CalledProcessError::arrow_left: Command ‘[‘uuu’, ‘-v’, ‘/home/pure1/data/librem-images/flash_librem5r4.lst’]’ returned non-zero exit status 255.



You need udev rules to run the script without root permissions.

sudo ./scripts/librem5-flash-image --udev

From the instructions I already provided you via PM over a month ago:

The version of uuu that you are using (version 1.2.91) is quite old and predates the introduction of the FB: reboot command, hence the Unknown Command error.

Support for the FB: reboot command was added in version 1.4.43, so the minimum version of uuu required is 1.4.43.

From the 1.2.91 uuu version number I would guess that the PureOS version running on the desktop is PureOS 9 (Amber)? As the current version of PureOS is 10 (Byzantium) and should have uuu version 1.4.77 available to it.

To workaround this issue there are a number of options which include:

  1. Perform the flashing procedure from within a live image running on the host machine, a live image which can provide a more recent version (1.4.43+) of uuu

  2. From the host machine, locally compile uuu from up to date source code.

  3. Remove or comment out the FB: reboot command from the file containing the uuu command set. The FB: reboot command in this instance merely reboots the phone after the image has been flashed, by removing or commenting out the FB: reboot command from the cammand set it would simply add one additional step to the flashing routine which is that you would manually power cycle the device after the image has been flashed.


Does PureOS provide an easy upgrade method to byzantium?


I guess I should have written “the most recent PureOS version,” but I didn’t expect anyone to still be using amber. (EDIT: My failing, not Sharon’s. :slight_smile: )

1 Like

well i am not sure if they have something like ubuntu where you get a GUI app telling you that you can upgrade to a newer version of ubuntu.

if they don’t have something like ubuntu then that would be terrible from a security point of view as purism advertises there devices to all people and many of them would be stuck with a system that is filled with security vulnerabilities.

if you go to Download PureOS you get these instructions telling you how to upgrade from amber to byzantium

Replace "amber" with "byzantium" in /etc/apt/sources.list
1. You should get the following :

      deb https://repo.pureos.net/pureos byzantium main
      deb https://repo.pureos.net/pureos byzantium-updates main
      deb https://repo.pureos.net/pureos byzantium-security main
2. Upgrade the system

      sudo apt update
      sudo apt upgrade --without-new-pkgs
      sudo apt full-upgrade

3. Reboot to the new system

I don’t understand why the script doesn’t check if the person’s system has uuu and if they have the needed version to flash the librem 5.


The script is written in Python and I don’t think there is a simple way of getting uuu to tell you its version in a script or perhaps even to find out whether the uuu command exists. This is doubly so because the early versions of the script executed under the assumption that the user would typically not have the uuu command at all and that it had to be built from source (which is the way I did it the first time that I used uuu).

The instructions do nowadays however tell you just to install uuu - so uuu not even existing “can’t” happen.

So in some respects the easiest way is just to let it fail - but, yes, it would be nicer if it made an explicit check for the failure of the uuu command rather than let it generate a traceback.

OK, so @Sharon, please execute the following command on the host computer
lsb_release -c
and post the output here.


That is not true, you can easily do that in python, just check the first examples subprocess — Subprocess management — Python 3.12.2 documentation

1 Like

Regarding Python being able to tell whether the uuu command exists: Yes. The standard module shutil has a shutil.which().

Regarding version numbers for uuu. Sadly it looks like uuu doesn’t show its version number easily (there is no ‘uuu --version’ switch). One could probably do a ‘uuu -h | grep libuuu’ and extract it from there —> but that is rather hacky and possibly unreliable.


On host computer:
Codename: amber

Oh no. I think I know where this is going.
I read the issues people had upgrading from amber to byzantium. :sob:

Should I be preparing to upgrade from Amber to Byzantium?

I’ve been reading these upgrade instructions (Upgrade From Amber To Byzantium) dated “353 days ago” (from today) . Do you agree this would be the upgrade process?

Or, if flashing the phone requires Byzantium on Host, should I do it to a new HDD because there are 3 other OS’s supported on the Host? I’m looking for the Path of Least Resistance? :slight_smile:

FWIW: Out or curiosity, I tried the lsb release -c on the phone too and it says command not found.

1 Like

The command requires an underscore between the lsb and release.

purism@pureos:~$ lsb_release -c
Codename:	byzantium

Which operating systems are installed? If one is a recent Ubuntu or Ubuntu-based distro, it should work for the flashing.

1 Like

PureOS, Pop-OS, Ubuntu, Windows 11.

Ubuntu, POP and Windows 11 hasn’t been used in a long time (pre-COVID even)

1 Like

Which Ubuntu version?

1 Like

20.04.2 LTS (20.04)

I booted Ubuntu from boot menu, added login Pword and it froze. I waited 5 minutes and for fun, pressed CTRL-ALT-DELETE and got a black screen.
A few minutes later, the desktop appeared and offers a “new version is available”
So, on your say-so, I’ll hit the Upgrade button for Ubuntu.

1 Like

I would upgrade it, unless you’re worried about losing or corrupting some package or personal data inside the current Ubuntu install. (Although probably nothing bad will happen anyway.)

It’s recommended to back up your data just in case, anyway. There should be a backup tool in Ubuntu that makes it easy.

The upgrade will take a while to complete.

Alternatively, you could first run apt search uuu to see if the uuu package is in the Ubuntu 20.04 repo. If it’s found, you can probably just do the L5 flashing first, then upgrade later. If uuu is not found, then the upgrade will need to be done first.

Or upgrade PureOS instead, and do the flash there. :wink:

1 Like