Trying to install Void Linux, at a Loss

I received my Pocket Reform (IMX8MP) last Friday, and trying to get Void Linux (glibc) working on it has eaten my entire week with no success.

I’m at a complete loss, I can still only manage to boot into the rootfs with the kernel and initrd generated by Debian with practically zero functionality. Has anyone had success booting Void into a usable state? What was your install process?

Thread Void Linux on Pocket Reform imx8mp

I can help you. I started porting it but never made it real nice to use. Maybe having someone else who wants void will help motivate me. Take a look at that thread and I’ll be happy to help

1 Like

That’d be great! I actually looked at your thread & tried your packages after having no luck building a patched kernel on my own.

I ran into several missing drivers when generating the initrd with dracut. Some were under different names found in their Kconfig files, but some were missing altogether, notably imx-dcss, which I seemed to have no luck building.

Luckily imx-dcss is not needed for iMX8MPlus, only for the older iMX8M.

1 Like

Did you use xbps-src to build it in the container?

In general, your process should be

  1. clone my repo

  2. use ./xbps-src pkg /pkgname/ to build

  3. xi /pkgname/ to install

What’s your level of experience? Have you built your own rootfs with Void before?

1 Like

I used xbps-src to build and xbps-install with the repository flag. I’ll give xi a shot.

I haven’t built my own rootfs before. I’ve been using Linux for several years, but haven’t dug this deep into the kernel or boot process before.

This might help you out GitHub - void-linux/void-mklive: The Void Linux live image maker

1 Like

If I recall correctly, I made a package in my repo called pocket-reform-base which should take care of most of what you need

1 Like

With mkplatformfs, did you build use one of the existing targets or write settings for the pocket reform?

I’ll have to look again. I think I used one of the default targets

1 Like

After making an image with mkimage (.sh), I still seem to be missing some drivers and the DTBs. Are there some package(s) I’m missing that would have those?

I’m pretty sure pocket-reform-kernel should ship with all those files and should install them into /boot correctly

I had to rebase to the newest upstream commit to get build to work at all, and I’ve been running them overnight since the kernel takes ~12 hours to compile, so it’s possible some funny business is going on? Although the build “completes” successfully.

Lazily using dkms for the missing drivers doesn’t seem to help either. Adding mxsfb and pwm_imx27 gets dracut to stop complaining, but I’m not convinced I’m even booting into initramfs at this point.

I’m really curious what rebasing you had to do. Can you elaborate on that? I’ll try and take a look tomorrow or the next day at my repo and recompile it

bootstrap build refuses to make glibc from statically linked xbps (compiling from the Reform’s preinstalled Debian) and binary-bootstrap fails due to dependency breaks, so I rebased to update the other source packages which compiles the packages you had made “successfully” (exit code 0). I also had to remove the metapackage property from pocket-reform-base since metapackages aren’t allowed to vinstall files in the newer version.

Ahh interesting :thinking: that’s good to know. Okay thanks

Is there any way to see where the boot process is failing?

I’ve not done this on the Pocket yet, but it works on the full sized MNT Reform – there is an internal serial port where uboot and the kernel output messages during boot. You have to have the right kind of adapter to connect to it, but they’re relatively inexpensive. Some docs:

2 Likes

@sleeplessval once you are set up, there is also this MR which needs more coding and design decisions to make things “nice”:

(in case you are looking for things to help out with)

2 Likes