Booting Linux on the Atari Jaguar, a 68000 console with no MMU
A developer has coaxed a modern Linux kernel into booting on the Atari Jaguar, the commercially doomed 1993 console built around Motorola’s 68000 CPU. The port leans on uClinux, the MMU-less branch that was folded into mainline Linux years ago and lives under arch/m68k, letting the kernel run with a flat memory model instead of virtual memory. The real constraint is the Jaguar’s 2MB of RAM, which the author works around by splitting the kernel across memory regions: read-only sections like .text and .rodata execute in place from the cartridge ROM at 0x80000, while .data and .bss live in RAM, with Linux handling the relocations.
Bringing the board up required implementing the bare minimum Linux expects — an output path and a system tick. The author bit-bangs a serial console over the TXD/RXD pins of Jerry, the Jaguar’s DSP, to capture earlyprintk output, and repurposes one of Jerry’s hardware timers (normally used for audio) as the programmable interval timer that drives the scheduler. Several traps surfaced along the way: Ubuntu’s stock m68k cross-compiler emits unaligned memory accesses that crash the base 68000 even with -m68000, so a compiler built from source targeting m68k-elf was needed; the 68000’s reset vectors had to be memcpy’d to the base of RAM because ROM sits at 0x80000 rather than 0x0; and even gdb had to be rebuilt to cooperate with MAME’s debug stub.
The payoff is a real boot log — kernel 7.2.0-rc1, uClinux on an MC68000, delay loop calibrated at about 1 BogoMIPS — before the kernel panics looking for an init process that doesn’t exist yet. The remaining work is userspace: because the nommu target uses FLAT binaries rather than ELF, the author hit trouble getting the elf2flt conversion toolchain to build standalone. It’s a hobbyist bring-up rather than anything practical, but a clean demonstration of how far Linux’s flat-memory support and existing m68k architecture code can be stretched onto hardware never meant to run a Unix-like OS.
Read the full article
Continue reading at Hacker News →This is an AI-generated summary. Read the original for the full story.