Efter porteringen af Linux til Sega MegaDrive blev det muligt at starte Linux-kernen med et sæt Busybox-værktøjer på spilkonsollen Atari Jaguar, der blev udgivet i 1993. Konsollen var udstyret med en CPU Motorola 68000, leveret med 2 MB RAM, og kunne bruge cartridges med en størrelse på op til 6 MB som permanent lager. Enheden var udstyret med to co-processorer: Tom (GPU med 32-bit RISC-arkitektur + 64-bit videobehandlingsprocessor + 64-bit processor til logiske operationer) og Jerry (DSP med 32-bit RISC-arkitektur til lydbehandling).
I lighed med porten til Sega MegaDrive for at køre Linux-kernen på CPU Motorola 68000, som ikke har en hardwarehukommelsesstyringsenhed (MMU), blev den officielle kerne 7.2.0-rc1 samlet i den mikrokontroller-anvendte «NOMMU»-tilstand, der muliggør brug af en flad hukommelsesmodel med et lineært adresseområde (tidligere udviklinger for at fungere uden MMU blev udviklet i en fork af kerne uClinux, men blev senere optaget i hovedkernen som en «NOMMU»-mulighed). Problemet med utilstrækkelig RAM blev løst anderledes, gennem brugen af execute-in-place (XIP) mekanismen, som gør det muligt at udføre kernens kode direkte fra ROM uden at kopiere den til RAM.
RAM på enheden er afspejlet på adresse 0x000000, og ROM (cartridge) på adresse 0x80000, således blev Linux-kernens komponenter opdelt i to separate hukommelsesområder: sektionerne .rodata og .text med konstanter og kode blev placeret på cartridge, mens sektionerne .data og .bss med variable data blev i RAM. Da CPU 68000 søger efter interrupt-vektortabellen ved adresse 0x0, og kernen faktisk er placeret på cartridge, hvis indhold ligger på adresse 0x80000, blev der desuden anvendt et hack til at kopiere interrupt-vektorerne til RAM.
Problemet med fraværet af en timer i CPU Motorola 68000 blev løst ved at bruge timere i DSP'en til lydsyntese. Disse timere blev anvendt til at generere afbrydelser for at aktivere opgaveplanlæggeren. For at vise kernelmeddelelser under opstart blev en separat konsoldriver skrevet, som udførte output ved at simulere en parallell port gennem TXD- og RXD-pins, der styres gennem DSP-processoren.
For assembling the user space components, the Buildroot toolkit with patches from the LinuxMD project was utilized. To save memory upon initialization, the command shell '/bin/busybox sh' was called directly, the malloc function in the uClibc library was replaced with a simplified version malloc-simple that does not retain additional metadata, and instead of a full bootloader like U-Boot, control was directly transferred to the kernel with the command 'jmp $80000'.

Kilde: opennet.ru
