Soon I hope to be able to run Guix proper on my MNT Pocket Reform... I'm still running Guix on top of Debian due to my limited time to sort through things
Soon I hope to be able to run Guix proper on my MNT Pocket Reform... I'm still running Guix on top of Debian due to my limited time to sort through things
@cwebber i have guix system running on my pocket from nvme (which is possible with the latest u-boot for pocket), my config isn't on a public git forge yet but if you want to i could help you or anyone interested in this getting things up and running at guix days
@cwebber Saaaaame. I'll let you know if I get anywhere on that - I think before I can daily drive it I need to find a good way to use bits of a community config for the hardware-specific stuff rather than trying to bundle it all into my own config. Gotta share the load somehow!
@jfred I have opened and stared at @vagrantc's config several times https://codeberg.org/vagrantc/mnt-reform-guix-config/src/branch/main/config-mnt-reform.scm
One thing tho is Guix still doesn't have the nice option Debian has for unencrypted /boot and encrypted rest-of-root! Which without Grub becomes a lot more important...
(I think Nix has it, and has the same challenges that Guix does, but they seem to have solved it; presumably we could too?)
There is a workaround, essentially a script that manually copies over the relevant files into an unencrypted /boot:
https://issues.guix.gnu.org/48172#4
If you wanted to preserve rollbacks, you'd have to copy all the relevant generations boot files (kernel, initrd, dtb) and adjust the extlinux.conf appropriately, and plan for a larger than expected size for /boot... because this is #Guix :)
Unencrypted rootfs blocks me from really using it more, too!
@cwebber @vagrantc That's kexec, yeah. It's usable from a technical standpoint, though I think it can be a bit fiddly to set up. That's what Heads uses to load the OS kernel: https://github.com/linuxboot/heads/blob/master/initrd/bin/kexec-boot
(...and it's used sometimes for faster reboots as well: https://wiki.archlinux.org/title/Kexec)
Yeah, kexec exists, and "guix system reconfigure ..." even generates a kexec script to reboot without going all the way into the bootloader... and sometimes even suceeds!
Maybe for some systems it is quite reliable; I have had mixed results, so not sure I would want to rely on kexec without a lot of testing...
Off the top of my head, petitboot implemented a "boot to minimal linux and kexec to full system" sort of interface... there may be other projects in this space as well.
@cwebber @vagrantc Oh yeah that bit me years ago too when I was booting a Guix machine off of Heads (which likewise doesn't use grub). In that case though I could manually decrypt from the recovery shell, which isn't possible on the Reforms yet due to the lack of graphics in early boot
That might be a sticking point for Guix on MNT hardware too, since rolling back to previous generations from the boot menu is one of the nicer features of Guix
I am going to propagandize at Guix Days that the Guix community should rally around MNT's open hardware laptop things because I hate the direction computer hardware has been going in otherwise and MNT's shit is getting better to use all the time
@cwebber
I would love a reform next, if the support for Linux was better on arm
@cwebber Doesn’t MNT devices require a non-free blob to train DDR memory, and to even start at all? Which to me is worse than optional WiFi or GPU blobs. The state of libre-friendly user controllable hardware is sad. The MNT effort is great, and helps, but for me this became a deal-breaker to rely more on my MNT Reform.
@jas There are different modules you can swap in, iirc this doesn't apply to all of them but I'm not quite sure. Regardless, the big thing is we *can* switch out the modules with MNT devices. Even RISC-V and FPGA modules exist for it
@cwebber As far as I know, MNT don’t sell any CPU module that works with a fully libre OS - the Rockchip RK3588 is the problem. I have ordered their Reform Next to support them, but alas it looks equally problematic. I find the approach taken by Dasharo, to publish details of what is FOSS and what isn’t, an inspiration here: https://docs.dasharo.com/variants/novacustom_nv4x_adl/openness-score/ Pending better libre-compatible hardware, I regard that as the current best in class.