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

Attachment: signature.asc
Description: PGP signature

Reply via email to