On 12/19/25 12:54, Chris Adams via NANOG wrote:
Cisco 2500 series used a 68EC030, which is a dumbed-down 68030 with no
MMU. The Linux m68k project always required an MMU, so it would not run
on that CPU.
FWIW, MMU-less Linux is a thing and is no longer a separate fork. It's
supported by the mainline kernel sources. Just turn off CONFIG_MMU.
M68k should be supported for this purpose along with most other popular
architectures were MMUs are not an inherent part of the CPU architecture
including ARM and PPC.
You also still need enough RAM. The bare minimum is 4MB, and 8MB is far
more realistic, and that's just for the kernel itself.
The result, though, is a system with some serious limitations which was
also true of the old uClinux fork. In particular, there's no way to run
most standard ELF executables. You either need to use uclinux FLAT ABI
images (which does not support dynamic linking at all) or the much newer
(and with tenable toolchain support) FDPIC ELF ABI.
Either ABI imposes limitations on what userspace can do. For example,
fork(2) doesn't work, though vfork does. OpenSSH doesn't even compile
against the relevant headers IIRC, but dropbear does though I had
trouble getting it to work at last attempt.
Support for various other features often considered sundry to Linux
varies, too. For example, on ARMv7-M, causing a segmentation fault from
userspace will crash the entire system with rather terse kernel panic
instead of terminating the offending process. This is not a technical
limitation but rather a lacking implementation. Debuggers also don't
work properly and instead lock the system up (ditto regarding it not
being a technical limitation AFAIK).
I'm not sure that really solves the desire to meaningfully run Linux of
this platform for the purpose intended.
--
Brandon Martin
_______________________________________________
NANOG mailing list
https://lists.nanog.org/archives/list/[email protected]/message/OIWTGINAXFVDSQ2WARMMGXVCPXYASJUC/