Razvijalec cakehonolulu je prenesel Linux na igralno konzolo Atari Jaguar leta 1993. Na konzoli je uspelo naložiti jedro Linux 7.2.0-rc1+ in minimalno uporabniško okolje na osnovi BusyBox, pri čemer govorimo ne samo o emulatorju, temveč tudi o zagonu na pravi strojni opremi preko cartridge-a.
Naloga je bila zapletena zaradi arhitekture Jaguar. Konzola ima le 2 MB RAM-a, do 6 MB ROM-a na cartridge-u in glavni procesor Motorola 68000 brez MMU. Za tako strojno opremo običajni načini nalaganja Linuxa niso primerni, zato je razvijalec uporabil NOMMU način za m68k/uClinux in ploščat model pomnilnika.
Da bi jedro ustrezalo omejitvam konzole, so ga razdelili med pomnilnikom in cartridge-om: nespremenljive sekcije kot .text in .rodata se izvajajo neposredno iz ROM-a po načrtu XIP, medtem ko so spremenljive .data in .bss nameščene v RAM-u. Za zgodnji izhod sporočil je bil uporabljen DSP čip Jerry, ki ima zaporedne vrstice TXD/RXD in timerje, kasneje pa je razvijalec dodal preprost konzolni vmesnik za čip Tom, da je izhod deloval tudi na pravi konzoli. Ti detajli so opisani v razdelku o tem, kaj je potrebno za nalaganje Linuxa na Jaguar.
Uporabniško okolje je bilo treba čim bolj zmanjšati. Zaradi pomanjkanja MMU se ne uporabljajo ELF datoteke, temveč FLAT binarni programi; BusyBox se zažene neposredno kot shell, brez standardne namestitve niza applet povezav, ker je to privedlo do pomanjkanja pomnilnika. Prav tako je bila potrebna nastavitev uClibc preko Buildroot, vključno z enostavnejšo strategijo dodeljevanja pomnilnika malloc-simple; podrobneje je to razloženo v razdelku Userspace.
Praktične vrednosti takšnega porta skoraj ni: Atari Jaguar se ne spremeni v udoben Linux računalnik. Vendar pa poskus dobro pokaže, kako daleč je mogoče raztegniti podporo stare strojne opreme v Linuxu in kako vztrajna ostaja arhitektura m68k. Izvorna koda spremenjenega jedra je objavljena v repozitoriju cakehonolulu/linux_jag.
Izvor: linux.org.ru
