Just pushed a "wip-linux-libre-arm64-mnt-reform" branch that contains a kernel for the MNT/Reform family of systems.
I have successfully built and booted a linux-libre-arm64-mnt-reform@6.12 kernel on a "MNT Reform2 with RCORE RK3588 Module" ... running Debian, I know... but Guix System cannot be too far off! In theory it also supports the other MNT Reform platforms, but I have not tested! The whole patch is 1.2MiB, so on the ugly large side, but I think there are some ways we could get that down to a quite reasonable size patch by getting the patches from an upstream git repository as an input or whatever(rather than dumping them all into gnu/packages/patches/), if someone could help with that? :) So, what is in all that 1.2MiB? Applied almost all the patches from: https://source.mnt.re/reform/reform-debian-packages/-/tree/main/linux/patches6.12 One could not be enabled due to DEBLOBBING the wifi drivers, and the other may need a closer look. Although the second was for a platform I am not currently using, so... :) Rather than embedding all those patches into guix, I could really use help with figuring out how to apply those patches from the git checkout! It is a lot of patch: 149 files changed, 15460 insertions(+), 797 deletions(-) Also nudging more of those upstream in linux would really help. Used the build script to generate the .dts/.dtb patch: https://source.mnt.re/reform/reform-debian-packages/-/blob/main/linux/build.sh Which produces a patch: 13 files changed, 7025 insertions(+), 159 deletions(-) Many of the relevent parts are landing in upstream linux, so that diff should definitely be shriking over time... but help generating that in a cleaner way for the guix package would also be good! And then applied the configuration options in the linux-libre-arm64-mnt-reform package from: https://source.mnt.re/reform/reform-debian-packages/-/blob/main/linux/config This seems worth mirroring into the guix package definition, but maybe there is a clever way to auto-generate the list from those options rather than M-x replace-regexp :) For an arm64 system with 8 cores (4@1.2-2.4GHz and 4@1.0-1.8GHz) and 32GB of ram and an NVMe disk, this can actually reasonably handle building Guix packages natively ... built it's own kernel in maybe ... 15? 20? 30 minutes? Really should have timed it... will try again sometime. That was a lot easier than the last time I tried to make a MNT Reform kernel package in guix, partly because more is upstreamed and partly because I think the customized linux-libre infrastructure in guix is actually a bit simpler, as well as the MNT Reform project has them all organized nicely. Yay! live well, vagrant
signature.asc
Description: PGP signature