Linux käivitus mängukonsoolis Atari Jaguar


1

Arendaja cakehonolulu portis Linux mängukonsoolile Atari Jaguar 1993. aastast. Konsoolis õnnestus laadida Linuxi kerneli 7.2.0-rc1+ ja minimaalne kasutajakeskkond BusyBoxi põhjal, ning see kehtib mitte ainult emulaatori kohta, vaid ka reaalses riistvaras cartridge'i kaudu.

Ülesanne oli keeruline Jaguar'i arhitektuuri tõttu. Konsoolis on ainult 2 MB RAMi, kuni 6 MB ROMi cartridge'is ja peamine protsessor Motorola 68000 ilma MMU-ta. Sellise riistvara puhul ei sobi tavaline Linuxi käivitamise skeem, seetõttu kasutas arendaja NOMMU-režiimi m68k/uClinux jaoks ja tasandilist mälumudelit..

Kuna kernel pidi mahtuma konsooli piirangutesse, jagati see mälu ja cartridge'i vahel: muutumatud sektsioonid nagu .text ja .rodata täidetakse otse ROM-ist XIP skeemi kaudu, samas kui muudetavad .data ja .bss paigutatakse RAM-i. Varase väljundi jaoks kasutati DSP-kiipi Jerry, millel on järjestikused liinid TXD/RXD ja taimerid, ning hiljem lisas arendaja lihtsa konsoolidraiveri kiibile Tom, et väljund töötaks ka reaalses konsoolis. Need üksikasjad on kirjeldatud lõigus, mida Linux vajab Jaguar'i käivitamiseks..

Kasutajakeskkond tuli maksimaalselt kärpida. MMU puudumise tõttu ei kasutata ELF-faile, vaid FLAT-binaare; BusyBox käivitatakse otse shellina, ilma standardsete applet-linkide komplekti installimiseta, kuna see põhjustas mälupuudust. Samuti tuli seadistada uClibc läbi Buildroot'i, sealhulgas lihtsama malloc-simple mälu eraldusstrateegia; rohkem teavet on käsitletud jaotises Kasutajakeskkond.

Sellisest portimisest on praktiliselt kasu vähe: Atari Jaguar ei muutu mugavaks Linuxi arvutiks. Kuid eksperiment näitab hästi, kui kaugele saab vanade riistvarakoosseisude toetust Linuxis venitada ja kui elujõuline jääb m68k arhitektuur. Muudetud tuumade lähtekood on avaldatud hoidlas cakehonolulu/linux_jag.

Allikas: linux.org.ru

Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid 🔥 Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster