I am writing software for the MNT Pocket Reform in support of some custom hardware I'm building. I wanted to learn about how the bootloader, firmware, initramfs, and OS worked on the laptop. Getting Arch Linux running on it seemed like a reasonable way to do this, at the time. 🤷
The MNT Pocket Reform is a compact, portable laptop built on the principles of open hardware and user freedom.
At launch, the Pocket Reform shiped with the NXP i.MX8M Plus SoC, a quad-core ARM Cortex-A53 processor paired with a Cortex-M7 real-time core. This is the only SoC supported now, but I plan to support the rk3588 module as well.
The team at MNT Research has done an amazing job documenting their open hardware platform, making this project possible. 🙌
You'll need some tooling:
required_tools = ['git', 'make', 'tar', 'aarch64-linux-gnu-gcc', 'patch']Then run:
git clone https://github.com/cetola/mnt-build.git
cd mnt-build
git submodule update --init --recursiveThe first time you build, your config will not be correct. I'm still working on a portable way of doing this in the script. For now, run this:
## From a release tag [KERN_VER]-[PKGREL]-mnt-pocket
## e.g. Releases 6.17.9-2-mnt-pocket
cd linux
git checkout -b my-branch-name tags/v[KERN_VER]
cp ../configs/defconfig .config
make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- olddefconfig
cp .config ../configs/config-[KERN_VER]-mnt-reform-arm64
cd ..
./scripts/build.pyYou'll end up with a tarball of the kernel for the tag you selected. You can install it manually or use the PKGBUILD in Additional Tooling.
If you want headers for building out of tree modules:
./scripts/header-gen.pyAgain, you can install manually, or use the Additional Tooling.
If you want to install this "the Arch way" you can use this PKGBUILD project.
Likewise for the kernel headers you can use this PKGBUILD.
This is very much a work in progress. Do not try to use this unless you are on a release tag. Even then, YMMV.
There is a container in the scripts directory if you happen to be building for Arch and care about toolchain skew.
These scripts are an automation of a full guide that I posted on the MNT Community Forum. See there for more details. See the Arch Linux Arm site to grab a filesystem.