Close

Mainline Linux 7.1 on a Motorola 68008 - The Slowest Still-Supported CPU?

A project log for Mackerel-68k Linux SBCs

Homebrew Motorola 68k single-board computers running mainline Linux

colin-maykishColin Maykish 06/07/2026 at 22:351 Comment

Mackerel-08 now boots the mainline Linux kernel! That's v7.1-rc6 at the time of writing. An 8 MHz-rated Motorola 68008 (here running at 14 MHz) and 3.5 MB of RAM are enough to boot the latest kernel into userspace and provide a minimal BusyBox shell. That's about all it can do. My attempts to add more kernel features quickly blow up the memory budget and the board runs out of RAM before it finishes booting, but it does technically run!

In my estimation, this has to be one of the slowest real computers with full modern kernel support. If you know of one even more limited, I would legitimately love to hear about it. It's still amazing to me how versatile Linux is. This 40+ year-old cost-reduced CPU was not a powerhouse even in its day (the 68010 came out the same year), yet it boots the same kernel as my new Ryzen desktop.

Mackerel-08 and Mackerel-10 have shared a functional uClinux port for some time now, but it was based on a decade-old release tarball I found online and used kernel v4.4. This actually worked out alright. There's honestly not a huge difference between v4.x and v7.x specific to the m68k architecture, but it was tied to an old prebuilt toolchain that I couldn't reproduce locally and it made adding new modern code to the project much harder - gcc 5.4 doesn't always want to compile the latest application code.

Recently, I was able to boot v6.17 on Mackerel-30, but that system has a real MMU and comparatively a ton of RAM at 128 MB. I actually started with the goal of getting the 68010 with its NOMMU config running the same version as the 68030 and eventually settled on the latest release candidate, v7.1-rc6. I didn't really consider that the 68008 would be feasible with a decade of kernel bloat and its anemic memory budget. When the 68010 port went relatively smoothly, I set up a similar config for the 68008 and off I went: Step 1, remove everything from the kernel config you think you can live without. Step 2, keep removing stuff... Eventually, with a tiny ROMfs baked into the kernel image and all code executing in place (not copying into RAM first), Mackerel-08 managed to boot into BusyBox with a few hundred KB of RAM to spare.

I now have the same kernel, with only per-board defconfigs and a few #ifdefs, booting and running on all three Mackerel boards.

Discussions

Adam Quantrill wrote 06/23/2026 at 10:52 point

Now I have to port it to my Sinclair QL!

  Are you sure? yes | no