Kernel 6.18 available for testing

A few months ago we have moved from kernel 6.6 to 6.12, which was a great step forward, but it still was quite a few releases behind.

Since today, linux-image-6.18.0-1-librem5 based on 6.18.44 is available to install from crimson-updates-proposed (and landing too). It’s not being pulled in by default yet - you need to install the package manually - but if I don’t hear about any issues with it I’ll make it the default on crimson and dawn. I’ve been running it on my daily driver phone on-and-off for several months now and I’m not aware of any remaining regressions to solve, so it’s now your turn to either confirm that or prove me wrong :wink:

This kernel can be installed alongside the current version 6.12. In case of troubles, you can go back to the previous kernel temporarily by issuing sudo flash-kernel --force 6.12.0-1-librem5 (which will be overridden when flash-kernel runs the next time), or permanently by removing the package. In case of a boot failure, librem5-devkit-tools repo has a uuu script that can boot a previous kernel without having to fiddle with Jumpdrive or other rescue methods - but this shouldn’t be necessary at this point.

Once 6.18 becomes the default, the soon-to-be-released-upstream 7.2 kernel will be made available as well (but that one isn’t going to become the default - we’ll reserve that privilege to the latest LTS, which is currently 6.18 and it will likely stay this way until 7.4 or so).

Happy testing.

10 Likes

How is that done?

Does one need to first do something to add crimson-updates-proposed or landing?

1 Like

Wow, good news. Thanks for all your work on PureOS! I will start testing 6.18.

I think this is how to do it:

Add the following lines to the end of /etc/apt/sources.list:

deb https://repo.pureos.net/pureos crimson-updates-proposed main
deb https://repo.pureos.net/pureos-debug crimson-updates-proposed-debug main

(maybe the crimson-updates-proposed-debug is not necessary)

Next do:

sudo apt update
sudo apt install linux-image-6.18.0-1-librem5
1 Like

Thanks!

But if I do like you suggested now, I’m a little worried that it might mean that when I do “apt upgrade” next time I get lots of other packages from crimson-updates-proposed as well, not only the kernel package. Do I need to do something more to say that I only want crimson-updates-proposed to be used for one specific package?

I’m using crimson-updates-proposed since quite some time. In my experience it is pretty safe to do so, and you get updates a bit faster (like 8 days faster than stable packages). You will not get a flood of new packages (at least not at the moment).

See: Migration excuses for crimson-updates-proposed → crimson-updates - PureOS

2 Likes

Okay, I did it, running the new kernel now:

root@pureos:~# uname -a
Linux pureos 6.18.0-1-librem5 #2 SMP PREEMPT 6.18.44pureos1~cri1 2026-08-16 03:59:16 UTC aarch64 GNU/Linux

So far, everything seems to work!

4 Likes

Same for me, after one hour of testing :slight_smile:

3 Likes

You can either grab it from crimson-updates-proposed or wait a few days and get it once it migrates to crimson-updates. Then it’s simply a matter of installing linux-image-6.18.0-1-librem5 package. And judging from the fact that you need to ask, you want to leave landing alone :wink:

You will get the updates a few days earlier. In some cases, this may mean that you’ll get some broken updates that we have marked to not migrate to crimson-updates. It’s a rare thing, but it can happen (after all, that’s the whole purpose of this migration period).

4 Likes

uuu boot_kernel_version_librem5.lst

?

boot_kernel_version_librem5.lst, after changing the value of its fk_kvers variable to the kernel you want to boot as instructed by the comment (in this case, that would be 6.12.0-1-librem5).

2 Likes

Just FYI, I’m giving this a try also. i noticed this one message about possible missing firmware?

Unpacking linux-image-6.18.0-1-librem5 (6.18.44pureos1~cri1) …
Setting up linux-image-6.18.0-1-librem5 (6.18.44pureos1~cri1) …
update-initramfs: Generating /boot/initrd.img-6.18.0-1-librem5
W: Possible missing firmware /lib/firmware/imx/sdma/sdma-imx7d.bin for built-in
driver imx_sdma

I continued with install, and phone rebooted fine.

so, just FYI.

Thx!

3 Likes

Yeah, this is harmless. I’ll get it silenced before making 6.18 the default. Thanks for mentioning!

3 Likes

So librem5-devkit-tools do not ship: files/u-boot-librem5.imx as needed:

pureos1/uuu_scripts$ sudo uuu boot_kernel_version_librem5.lst
[sudo: authenticate] Contraseña:     
uuu (Universal Update Utility) for nxp imx chips -- lib1.5.243

Wait for Known USB Device Appear...
Error: can't find ext name in path: >../files/u-boot-librem5.imx

Why not shiping u-boot-librem5.imx? because it is a blob?

So after fix it i get new error:

librem5-devkit-tools-0.0.30pureos2/uuu_scripts$ sudo uuu boot_kernel_version_librem5.lst
[sudo: authenticate] Contraseña:     
uuu (Universal Update Utility) for nxp imx chips -- lib1.5.243

Success 0    Failure 1                                                                                                                                  
                                                                                                                                                         
                                                                                                                                                         
4:14-       10/11 [too long command                      ] FB: acmd booti ${kernel_addr_r} ${ramdisk_addr_r}:${filesize} ${fdt_addr_r}                                                                              
4:14-NXP     1/ 1 [=================100%=================] SDP: boot -f ../files/u-boot-librem5.imx                                                                                                                 

So i fixed the too-long command error by ucmd asynchronous.
#FB: acmd booti ${kernel_addr_r} ${ramdisk_addr_r}:${filesize} ${fdt_addr_r}
FB: ucmd booti ${kernel_addr_r} ${ramdisk_addr_r}:${filesize} ${fdt_addr_r}

So now i have this:

 2/librem5-devkit-tools-0.0.30pureos2/uuu_scripts$ sudo uuu boot_kernel_version_librem5.lst
[sudo: authenticate] Contraseña:     
uuu (Universal Update Utility) for nxp imx chips -- lib1.5.243

Success 0    Failure 1                                                                                                                                  
                                                                                                                                                         
                                                                                                                                                         
4:14-       10/11 [Bulk(R): LIBUSB_ERROR_IO (-1)         ] FB: ucmd booti ${kernel_addr_r} ${ramdisk_addr_r}:${filesize} ${fdt_addr_r}                                                                              
4:14-NXP     1/ 1 [=================100%=================] SDP: boot -f ../files/u-boot-librem5.imx                                                                                                                 

So i guess libusb error it is because: ucmd, however despite the usb error , the phone boot after executing this command, however gnulinux do not get done.

So i need to invest more time to fix it. The phone dont boot because i testing gnulinux 7.2 which break, so is not your gnulinux 6.18. I just reporting you all.

Also it looks like Librem 5 it need to ship a dedicated serial usb cable to prevent a lot a issues to get serial mode, i even found a way to get serial mode by pressing the 3 buttons as loook more security for.

Anyway my L5 still broken.

thanks

EDIT:

I changed booti to acmd, and the log look better however it is same boot phone issue like booti ucmb.

librem5-devkit-tools-0.0.30pureos2/uuu_scripts$ sudo uuu boot_kernel_version_librem5.lst
[sudo: authenticate] Contraseña:     
uuu (Universal Update Utility) for nxp imx chips -- lib1.5.243

Success 1    Failure 0                                                                                                                                  
                                                                                                                                                         
                                                                                                                                                         
4:14-       14/14 [Done                                  ] FB: Done                                                                                                                                                 
4:14-NXP     1/ 1 [=================100%=================] SDP: boot -f ../files/u-boot-librem5.imx                                                                                                                 

So looks like: LIBUSB_ERROR_IO was because booti on ucmd.

EDIT1:

dos this it the file i modified, check it:

# Edit those to suit your needs:
FB: ucmd setenv fk_kvers 6.12.0-1-librem5
FB: ucmd setenv bootargs console=ttymxc0,115200 quiet fsck.repair=yes security=apparmor splash plymouth.ignore-serial-consoles vt.global_cursor_default=0

FB: ucmd load ${devtype} ${devnum}:${partition} ${kernel_addr_r} ${prefix}vmlinuz-${fk_kvers}
FB: ucmd load ${devtype} ${devnum}:${partition} ${fdt_addr_r} ${prefix}dtb-${fk_kvers}
FB: ucmd load ${devtype} ${devnum}:${partition} ${ramdisk_addr_r} ${prefix}initrd.img-${fk_kvers}
#FB: acmd booti ${kernel_addr_r} ${ramdisk_addr_r}:${filesize} ${fdt_addr_r}
#FB: ucmd booti ${kernel_addr_r} ${ramdisk_addr_r}:${filesize} ${fdt_addr_r}
FB: ucmd setenv k ${kernel_addr_r}
FB: ucmd setenv r ${ramdisk_addr_r}:${filesize}
FB: ucmd setenv f ${fdt_addr_r}
FB: acmd booti ${k} ${r} ${f}
FB: Done

With more recent reflash scripts, at least, the .imx file is downloaded automatically. (I don’t know whether the script can be persuaded to download only the .imx file and skip downloading the disk image, which is of course a much larger file.)

1 Like