Can someone with serial console access on Librem 5 (or devkit?) try to boot these aarch64 NixOS kernel, initrd and dtb, and let me know what error it gives?
This is the hardest ARM device I’ve ever encountered
I’ve spend the past two weeks trying to boot NixOS, and self-compiled barebox and u-boot on my Librem 5. As Librem 5 has no serial console port - https://puri.sm/posts/avoid-boot-loops-try-librem-5-serial/ - trying boot software is a matter of trial and error. (Purism, please include a serial port on the next version).
I’m not comfortable making hardware modifications to my Librem 5. I would have bought a devkit if that was still available. Or maybe a spare Librem 5 board when that gets available.
edit: actually the first solution does not require hardware modifications to Librem 5
You have all hardware required for serial console access?? I live in Arnhem. I’m currently compiling a kernel for Librem 5 with kexec enabled. If that does not enable me to boot a NixOS kernel and no one follows up on my request your offer could be my last resort to get NixOS on my phone
I was trying to picture an L5 with the old 25 pins parallel printer connector.
To be serious: there are USB to serial adapters, I used to use them when configuring switches at the console port. They where a pain in the a## . When they worked all was fine, but to get them going was always a nightmare.
So downloaded kernel source linux-6.2-rc2, copied contents of Librem 5 /proc/config.gz to .config, edited to enable KEXEC and compiled the kernel on an rpi4 just to be sure arch-wise.
Much to my surprise the resulting kernel does not boot. The led even switches off.
Do the kernels need to be signed for some kind of secure boot or something?
I would say “no”, both because that totally gets away from Purism’s approach and because I was able to build Jumpdrive from sources and boot it on my Librem 5 (which wouldn’t work if anyone other than I was needed to sign the resulting kernel).
I appreciate you take the time to reply, but from my original message it should be quite obvious that I am using uuu.
In the mean time I’ve discovered that the Linux kernel source from https://source.puri.sm/Librem5/linuxdoes produce a booting kernel so some essential code seems not available in upstream.
I’m trying to build a module-less variant to boot NixOS with.
Biggest issue atm is that I do not have sound in calls due to callaudiod segfaulting.
One of the minor issues that I have to run mkimage by hand to update /boot/boot.scr on configuration changes, to to boot into a new NixOS environment. It seems Purism u-boot does not support u-boot’s Generic Distro Configuration Concept which supports /boot/extlinux/ extlinux.conf: https://u-boot.readthedocs.io/en/latest/develop/distro.html
The part in /etc/nixos/configuration.nix that builds the Purism kernel is: