HeadlinesBriefing favicon HeadlinesBriefing.com

Linux Ported to Atari Jaguar Console

Hacker News •
×

A developer has successfully booted Linux kernel 7.2.0-rc1 on the Atari Jaguar, a commercial failure from 1993 built around the Motorola 68000 processor. The Jaguar's 2 MB of RAM and 6 MB cartridge ROM presented severe constraints for a modern kernel, but the m68k architecture support in mainline Linux and the uClinux subsystem for MMU-less systems made the attempt feasible.

The primary obstacle was fitting the kernel into 2 MB of RAM. The solution leveraged Execute-In-Place (XIP) to store read-only sections (.text, .rodata) in cartridge ROM mapped at 0x80000 while keeping writable sections (.data, .bss) in RAM at 0x000000. The Jerry DSP's serial pins provided early console output, and its timers supplied the periodic interrupt Linux requires for scheduler calibration. A critical compiler issue emerged: Ubuntu's m68k-linux- cross-compiler emitted unaligned memory accesses that the base 68000 cannot handle, requiring a custom m68k-elf- toolchain built from source. The 68000's vector table at address zero also needed relocation since ROM sits at 0x80000.

The kernel now boots and initializes subsystems, reporting 1.04 BogoMIPS and 512 total pages. However, userspace remains blocked by the FLAT binary format requirement—ELF executables need an MMU—and the elf2flt conversion tool proves difficult to build standalone. The project demonstrates that Linux's m68k port retains enough flexibility to target hardware three decades old, but practical use demands solving the userspace toolchain gap.