Just a friendly reminder to backup any important files before experimenting with a new unstable PureOS image.
This. Just this. Everyone. Please.
I am interested in doing the same on my second L5. Please share your steps to get there and your experience! Thank you
If I didn’t get nerd7473 wrong he’s using his second device. So I guess there is no important file that needs to be saved.
However, wouldn’t it be better to flash it to crimson instead of updating? At least for people who want a “production-ready” experience with stable crimson builds later. Or am I wrong?
My opinion, yes. It is simpler and cleaner.
By cleaner, I mean, for example, that everyone installing crimson
from scratch has an initially identical system.
As a data point, when a new LTS version of Ubuntu is released, they don’t even offer the upgrade from the previous LTS version until the first point release update to the new LTS version comes out. So the only way to run the LTS version immediately is to install from scratch (unless you really want to be on the bleeding edge and force the update before it is offered and are prepared to deal with whatever mess ensues).
The steps are mostly the same as reflashing the Librem 5.
The major difference is downloading the landing image (plain variant only as of this time) instead of the Byzantium image.
https://arm01.puri.sm/job/Images/job/Image%20Builds%20landing/
After you download it, extract the file and put it in the root directory of librem5-flash-image
. Also get the DAS U-Boot image (u-boot-librem5.imx) and place it in the same directory.
https://arm01.puri.sm/job/u-boot_builds/job/uboot_librem5_mainline_build/
Then open the Terminal in the directory, and run this command:
$ ./scripts/librem5-flash-image --skip-download
This only works on the Evergreen model; do not follow these steps if you are on any other Librem 5 revision.
OK, that’s another reason to limit this to a crash-and-burn phone, not a real-use phone.
Well, since December 27th, 2018, whenever anyone followed the instructions to reflash the Librem 5, the plain variant was used as the default. It was only recently changed to LUKS in June 23rd, 2023, which my actions may have been a catalyst for: I mentioned about it to Purism support just before I decided to make a forum account on June 26th, 2023.
Absoultely, that’s why I’m testing on my other L5
If you are gonna make the jump perhaps you should image your current byzantium set up via Jumpdrive and gnome disk as described here:
I was experimenting with image restoration and was successful at reflashing an image backup from my L5 that was saved on my L13 laptop.
@FranklyFlawless
Thanks for the instructions. I can reflash the L5 with byzantium no problem, but the git scripts mentioned above are for flashing byzantium, not crimson AFAICT. I am getting ‘image not found’ errors when executing any of the flash-image scripts. The script needs modification for crimson but I have no idea how to change it.
Here are the instructions:
OK. Followed instructions and still getting the no image error. The librem5r4.img and imx files are both located in the root folder.
Here’s the terminal output:
pureos@pureos:~/librem5-flash-image$ ./scripts/librem5-flash-image --skip-download --dir ./
2024-07-06 22:46:40 INFO Looking for librem5r4 luks byzantium image
2024-07-06 22:46:46 ERROR No matching image found
Seems like the script is still attempting to download an image and ignoring the --skip-download flag.
Okay, try adding --stable
and let me know if the script makes any further progress.
Yes, now the script progresses. When I plug in the phone, it begins the flash but dies before the process completes. The messages are as follows:
1:3 3/ 5 [===========> 32% ] FB: flash -raw2sparse all
Traceback (most recent call last):
File “/home/pureos/librem5-flash-image/./scripts/librem5-flash-image”, line 538, in
sys.exit(main())
File “/home/pureos/librem5-flash-image/./scripts/librem5-flash-image”, line 521, in main
flash_image(uuu_target, args.debug)
File “/home/pureos/librem5-flash-image/./scripts/librem5-flash-image”, line 351, in flash_image
subprocess.check_call([‘uuu’, uuu_target])
File “/usr/lib/python3.9/subprocess.py”, line 373, in check_call
raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command ‘[‘uuu’, ‘./flash_librem5r4.lst’]’ died with <Signals.SIGBUS: 7>.
Those last few messages are referring to uuu
. If you have not done so already, you need to install uuu
and the udev rules for serial access permissions to the Librem 5.
I ran through the install steps up to the udev rules install. uuu is installed and the udev rules are there in /etc/udev/rules.d/70-librem5-flash-image.rules but the script keeps dying at the same spot.
Okay, there is another step that is often overlooked in the documentation:
sudo apt build-dep .
Ensure that the Python dependencies are built, then try running the script again.
Yes, I ran that command again just to be sure. Same result.
There are a few ideas I have left:
- Use a different flashing mode method
- Use a different USB cable
- Use a different USB port