Before flash the librem 5 make sure that your device it is on flash mode. I going to flash my second librem 5 tomorrow then i can helping more for you, i going to using a GNU Operating System and Thinkpad X200 to flashing.
uuu -lsusb correctly shows phone in flash mode.
Also LED status is showing flash mode.
After SDP: boot phone tries to go out of flash mode though
This might easily be just regular behavior (as I was thinking too much yesterday). Please ensure following (as mandatory):
sudo apt install build-dep build-essential python debos bmap-tools f2fs-tools
sudo apt install git
git clone https://source.puri.sm/Librem5/librem5-flash-image.git
If above still not working:
sudo apt install python3-pip
sudo pip install tqdm yaml pyyaml python3-jenkins
@librem5, please change above CLI command into:
sudo ./scripts/librem5r4-flash-image --variant luks (if
plain option isn’t …)
in accordance with this main article: https://puri.sm/posts/reflashing-the-librem-5/.
Yes I’ve followed those exact directions, everything worked correctly.
I’m assuming EMMC has issue. Both jumpdrive and flashing gets stuck around EMMC mounting (just thinking in terms of steps).
Can phone boot from SD card alone? if yes, how ?
Yes, but we need to search through this Forum for this particular instruction.
Otherwise (before installing new PureOS onto microSD), I would erase everything on this eMMC and try again … as above.
Please post here output of:
sudo fdisk --list /dev/sdb −− the one referring to eMMC, after L5 mounted with JumpDrive
At least make sure to
umount those two L5 partitions before proceeding with flashing.
My above post edited to:
git clone https://source.puri.sm/Librem5/librem5-flash-image.git
@librem5, please post this output here.
Anyway and if not about to erase your L5 eMMC by using JumpDrive we do not need this tool at all, not for our intended flashing purpose here, I think, therefore I would like to either propose or introduce to you another method (without involving JumpDrive tool, kind of old school method, after ensured that your L5 already connected through:
Perhaps, I hope so, you would like, @librem5, to follow this official guide/reference and rename respectively, actually use
flash_librem5r4.lst (instead of using
flash_devkit.lst or, here just for example,
purism-librem5.lst from within JumpDrive extract folder)?
If your answer is yes (as I didn’t test this because I need to make backup first, but not today) please proceed with (above linked guide adjusted from my side so double check for eventual errors):
Please make fresh (as of today) download of
Note, no need to download the Recovery Image while it be included afterwards within
Second note, there is, as well, no need to download the Latest Image:
luks Build 10655:
or plain Build 10652:
Now it is time for me to make above long story shorter (as partially tested it) and get it done:
sudo ./scripts/librem5r4-flash-image --variant plain --dir /home/path-to-your-workspace/Downloads/Flash_Librem5 --skip-cleanup --skip-flash
As present there (shown):
librem5r4.img is ready to be used as is (no need to “unpack the image”).
It is time to connect your Librem 5 and proof if everything ready:
Now, actually only when you are ready, please execute:
or (if required and probably preferably):
sudo uuu flash_librem5r4.lst
P.S. @librem5, if your Librem 5 survive this procedure (non-torture), I’ll follow your live environment steps gladly !?
P.P.S. Partial proof of above from my side:
sudo ./scripts/librem5r4-flash-image --variant plain --dir /home/path_of_yours/Downloads/Flash_Librem5 --skip-cleanup --skip-flash
2022-03-19 10:33:35,352 INFO Looking for librem5r4 plain byzantium image
2022-03-19 10:33:38,771 INFO Found disk image Build 10652 ‘plain librem5r4 byzantium image’ from Sat Mar 19 01:49:27 2022
2022-03-19 10:33:40,446 INFO Found uboot Build 82 from Fri Sep 10 20:19:03 2021
2022-03-19 10:33:40,446 INFO Downloading to /home/path_of_yours/Downloads/Flash_Librem5
2022-03-19 10:33:41,021 INFO Downloading image from
2022-03-19 10:38:10,350 INFO Calculating sha256sum of /home/path_of_yours/Downloads/Flash_Librem5/librem5r4.img
2022-03-19 10:38:58,816 INFO Downloading uboot from
@librem5 ok it seems that your eMMC of L5 it corrupted, so to fix it you need reach the eMMC to perform a “clean” or reformating the emmc.
Jumpdrive or sd card with a SO can helping you.
I agree with your kind proposal as probably very necessary, thank you! Please write in advance to @librem5 on how to do this by using JumpDrive. Only reliable command that I know of and would propose is
This one will do (besides another one to erase the whole eMMC), as important one:
jumpdrive doesn’t work, in both cases (jumpdrive and flashing) process just gets stuck after SDP: boot
uuu (Universal Update Utility) for nxp imx chips -- lib1.4.77 Connected Known USB Devices Path Chip Pro Vid Pid BcdVersion ================================================== 1:1 MX8MQ SDP: 0x1FC9 0x012B 0x0001
Bus 001 Device 005: ID 1fc9:012b NXP Semiconductors i.MX 8M Dual/8M QuadLite/8M Quad Serial Downloader
Image download and creation
../librem5-flash-image/scripts/librem5-flash-image --variant plain --dir ./ --skip-cleanup --skip-flash 2022-03-19 12:29:49 INFO Looking for librem5r4 plain byzantium image 2022-03-19 12:29:52 INFO Found disk image Build 10652 'plain librem5r4 byzantium image' from Fri Mar 18 17:49:27 2022 2022-03-19 12:29:54 INFO Found uboot Build 82 from Fri Sep 10 11:19:03 2021 2022-03-19 12:29:54 INFO Downloading to ./ 2022-03-19 12:29:54 INFO Calculating sha256sum of ./librem5r4.img 2022-03-19 12:30:05 INFO Downloading image from https://arm01.puri.sm/job/Images/job/Image%20Build/10652/artifact/librem5r4.img.xz 2022-03-19 12:33:31 INFO Calculating sha256sum of ./librem5r4.img 2022-03-19 12:33:42 INFO Downloading uboot from https://arm01.puri.sm/job/u-boot_builds/job/uboot_librem5_build/82/artifact/output/uboot-librem5/u-boot-librem5.imx
drwxr-xr-x 2 monkey monkey 4096 Mar 19 12:33 . drwxr-xr-x 6 monkey monkey 4096 Mar 19 12:25 .. -rw-r--r-- 1 monkey monkey 561 Mar 19 12:33 flash_librem5r4.lst -rw-r--r-- 1 monkey monkey 4500000256 Mar 19 12:33 librem5r4.img -rw-r--r-- 1 monkey monkey 1073880 Mar 19 12:33 u-boot-librem5.imx
This gets stuck at
uuu (Universal Update Utility) for nxp imx chips – lib1.4.77
Success 0 Failure 0 1:1 1/ 1 [=================100%=================] SDP: boot -f u-boot-libre
As I’ve mentioned in previous post.
Following command from lst never finishes:
SDP: boot -f u-boot-librem5.imx
After that PC just keeps waiting.
sudo has same behavior
Som more info (Commands run in uuu shell)
U>CFG: SDP: -chip MX8MQ -compatible MX8MQ -vid 0x316d -pid 0x4c05 >Start Cmd:CFG: SDP: -chip MX8MQ -compatible MX8MQ -vid 0x316d -pid 0x4c05 Okay U>SDP: boot -f u-boot-librem5.imx >Start Cmd:SDP: boot -f u-boot-librem5.imx New USB Device Attached at 1:1 6400%1:1>Okay (0.349s) Okay U>SDPU: delay 1000 1:1>Start Cmd:SDPU: delay 1000 Wait for Known USB \
Should vid and pid be what’s listed in lsusb?
I think that you gave your best to recover your Librem 5 from cannot power on state, please reach out for professional help at
email@example.com, as you and @carlosgonz supposed already it seems like some particular hardware issue (I just hoped it isn’t).
Didn’t check yet, but I think it should.
uuu (Universal Update Utility) for nxp imx chips – lib1.4.193
Connected Known USB Devices
Path Chip Pro Vid Pid BcdVersion
2:1 MX8MQ SDP: 0x1FC9 0x012B 0x0001
Yes checking with support as well.
And looks like vid and pid can be different, thanks for checking.
jumpdrive is not really able to mount eMMC.
Can you point to SD card with SO steps or something?
I do not agree at this point as my phone VID and PID are the very same ones as yours.
Sorry I meant vid and pid mentioned in .lst file:
U>CFG: SDP: -chip MX8MQ -compatible MX8MQ -vid 0x316d -pid 0x4c05
USB Vendor ID 316D recognizes Purism, SPC as the USB Vendor and manufacturer of devices. For example Librem key PID is 4C4B.
It fine that Jumpdrive can not mount the eMMC because the eMMC it CORRUPTED, but Jumpdrive can expose the memory(eMMC) for gnu-tools “parted” to formating to clean.
I not sure how Jumpdrice work on Librem 5, because i never needed. give me some time then i can troubleshooting .
Yes I hope that too:
sudo parted /dev/sdb
GNU Parted 3.4
Welcome to GNU Parted! Type ‘help’ to view a list of commands.
Model: JumpDriv e eMMC (scsi)
Disk /dev/sdb: 31.3GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Number Start End Size Type File system Flags
1 5243kB 493MB 488MB primary ext2 boot
2 493MB 31.3GB 30.8GB primary ext4
Wow good job! Thank you @Quarnero
@librem5 you can use too the app “gparted” for easy for you, just delete all partitions to clean of the emmc-L5
@librem5, please check out if this page helps to you any further:
jumpdrive finish with
It never shows eMMC. (same with gparted)
sudo fdisk --list /dev/sdb fdisk: cannot open /dev/sdb: No medium found