Linux /m68k

Jan Skýpala

Málokdo ví, že na Amize může provozovat i jiný operační systém, než ten, který je v ROMce, tedy AmigaOS. A nemám teď na mysli emulátory typu PC-Task nebo ShapeShifter, ale operační systém, který komplet převezme nadvládu nad vašim strojem, AmigaOS vypne a nabídne vám svoje služby - UNIX.

Pro Amigu existují tři varianty operačního systému Unix. Úplně nejstarší je AmigaUX od Commodore - systém, který byl kdysi dodáván s počítačem Amiga 3000UX, ale hlavně systém, který už dnes není vyvíjen a tak se o něm nemá smysl dále bavit. Pak je zde NetBSD - verze Unixu vyvíjená na americké univerzitě Berkeley Tento Unix je velice vyspělý, avšak oficiální updaty se objevují jen velmi zřídka a v současnosti se nachází ve verzi 1.1.
Posledním kandidátem je Linux. Vznik tohoto operačního systému je dobře znám, ale přesto: Někdy začátkem devadesátých let si Linus Torvalds z Finska zprotivil MSDOS natolik, že se rozhodl nainstalovat si na svůj počítač jiný operační systém, nejlépe Unix. Jenže všechny Unixy byly na jeho stroji (i386) tak zoufale pomalé, že začal psát sám svůj. První verze tedy byla od jednoho jediného člověka. Postupně se Linux začal šířit po Internetu do celého světa a dnes má mezi písíčkáři statisíce spokojených uživatelů, a taky obrovský tým lidí, kteří na vývoji nyní pracují.
Postupem času se stal Linux tak populární, že začaly vznikat porty na jiné platformy. Dnes je tedy možné se setkat s Linuxem i na Amize, Atari ST, počítačích s procesory PowerPC (např. Power Macintosh), Alpha (pracovní stanice Digital) či Sparc (Sun).

Je téměř mou povinností udělit tomuto software 10 bodů. Tak obrovský kus práce a zadarmo, to si nezaslouží žádnou jinou známku.
Linux se stal tolik populárním hlavně díky ceně (zadarmo, to se líbí každému) a rychlosti vývoje (na PC je nová verze na Internetu dvakrát do týdne, na Amize „pouze“ jednou za 3 týdny) a rychlosti systému (kritické části jsou napsány v assembleru).
Nevýhodou Linuxu pro Amigu je jeho malá dostupnost. Na rozdíl od PC ho ještě nikdo nevydal na nějaké CD-ROM (měl by se snad objevit na Debianu), takže ho lze získat jen přes Internet. No a tahat megabajty přes FTP a pak po disketách domů není zrovna příjemné.

Požadavky na hardware
Na Linux potřebujete aspoň trošku lepší Amigu. Každý Unix totiž vyžaduje MMU (jednotku správy paměti), která je u Motoroly až u procesoru MC68030 (plnohodnotné verze, ne EC!). Takže obyčejná A500, A600 nebo A1200 stačit nebude, chce to aspoň turbokartu. Dříve Linux vyžadovali FPU, v současnosti už umí kód pro matematiku emulovat, ale neměl jsem to možnost vyzkoušet. No a taky je zapotřebí nějaká ta Fast-RAM. Pro nabootování Linuxu bude stačit 2MB, pro základní práci 4MB, pro kompilace a základní spuštění X Window System 8MB, ale ještě lépe 16.
No a samozřejmě na harddisku udělat partition jako virtuální paměť, doporučeno dvakrát tolik, kolik je skutečná velikost paměti. Možná se vám to zdá hodně, ale při současných cenách pamětí to už není tak hrozné.

Instalace
No a pojďme k instalaci. Ta není tak pohodlná, jako na PC, žádné menu zatím všichni radši píšou vlastní Linux, než prográmky pro pohodlnou instalaci. Takže je zapotřebí vlastní jádro - soubor asi 1MB dlouhý, který tvoří kompletní operační systém sám o sobě (něco jako Kickstart v Amize). Pak zavaděč několikakilový prográmek, který nahraje jádro do paměti, shodí AmigaOS a nahodí Linux. Toto je jediný prográmek, který je napsán přímo pro Amigu, jinak je vše stejné i pro Atari ST.
Dále RAM-disk image. Linux se musí odněkud nabootovat. AmigaOS to umí z diskety, Linux sice taky, ale 880kB je mizerně málo. Umí to ale taky z RAMdisku. Zavaděč natáhne RAM-disk image do paměti a vytvoří z něho RAMdisk, v kterém jsou uloženy všechny soubory potřebné k tomu, abyste mohli Linux nainstalovat na váš počítač. No a nakonec archivy s programy, které patří na váš harddisk. Nejprve ale musíte vyhradit Linuxu alespoň jeden vlastní partition, na ten (již v nabootovaném Linuxu) nandat ext2 filesystem, a pak tam můžete rozbalit výše zmíněné archivy. A je teoreticky nainstalováno.
Všechny, kteří budou instalovat, odkazuji na Installation Guide, soubor obsahující podrobný návod na instalaci (v angličtině). Tento návod existuje ve třech formátech: jako obyčejný text, hypertext pro AmigaGuide, nebo WWW hypertext (třeba pro NetScape nebo IBrowse).

IDE - první problémy
Již při instalaci se objevily první problémy. Byly způsobené tím, že Linux je téměř bez výjimky vyvíjen lidmi s Amigami s SCSI řadiči, a IDE driver byl jen minimálně funkční. Takže jsem musel počkat nějakou dobu, než se objevil jedinec zdatný natolik, aby to spravil. Dnes tedy běhá IDE řadič fajn, ale stále má jeden problém. Některé harddisky vyžadují omezit MaxTransfer na určitou hodnotu (včetně toho mého). Pokud se kopírují velké věci, může dojít k problémům, někdy Linux i spadne. Prý je to vyřešeno v beta verzi 2.0.0, ale neměl jsem to možnost vyzkoušet, protože se mi ji zatím nepodařilo stáhnout. Je ale nutno říci, že to je jediný případ, kdy mi zatím Linux spadnul.

Zavedení jádra
Poté, co máte Linux nainstalován, se můžete rozhodnout mezi dvěmi verzemi jeho „nahazování.“ Jedna je téměř identická s tím, jak jste ho instalovali. Z AmigaOS voláte zavaděč, pouze mu zadáte, že má místo z RAM-disku bootovat přímo z harddisku.
Druhá možnost je nahrát jádro a (jiný) zavaděč (tzv. lilo - linux loader) do RDB bloku na harddisku - to je tam, kde se ukládají údaje o partitionech, filesystémy apod. Celé se to tam tak tak vleze (nejnovější lilo zvládne i jádro zkomprimované gzipem, takže je to lepší) a máto tu výhodu, že při resetu si můžete vybrat, co nabootujete, a nemusíte nejprve bootovat AmigaOS, ten pak shazovat a nahazovat Linux.

Vlastní jádro
Přestože je základní jádro stažené z Internetu plně funkční, je jasné, že obsahuje plno věcí navíc. Vzhledem k tomu, že funguje jak na Amize, tak na Atari ST, musí mít kód, který zjistí, o jaký počítač se tedy jedná, a nastaví rutiny, které pracují přímo s hardwarem tohoto počítače (např. výstup na obrazovku, práci s disketovou jednotkou i harddiskem, porty, myší atd.). Dále jádro obsahuje např. i emulaci matematického koprocesoru, což je pro majitele tohoto chipu zbytečné. Není proto od věci si překompilovat jádro podle svých představ - zkrátí se totiž asi na dvě třetiny a bude zabírat méně jak na disku, tak v paměti. Mé jádro (verze 1.2.13p110) má nyní 623kB oproti 1 141kB kompletního jádra, tedy 55% původní délky.

Kompilace
Kompilace je docela snadná, spouštíte make s různými parametry - nejdříve odstraníte staré soubory, poté se vás make ptá, co v jádru chcete a co ne (a vy jen mačkáte Y nebo N) a pak to necháte kompilovat. Rychlost kompilace není nijak závratná - ale to je spíše problém mé Amigy než Linuxu, na 68060 by se to asi chovala jinak. Pokud ale máte přístup třeba někde k Pentiu nebo jiné mašině, můžete si na ní udělat cross-compiler, tj. překladač vytvářející výsledný kód pro jiný systém, než na jakém běží. Na mém počítači (68030 a 68881 obojí na 50MHz) trvá zkompilování jádra (oněch 623kB) asi 2 hodiny, na Pentiu 75MHz méně jak půl hodiny. Standardním kompilerem v Linuxu/m68k je GNU C tedy všeobecně známý a široce používaný překladač céčka zadarmo.
Vlastně většina utilit je z GNU distribuce, takže kromě toho, že jsou zadarmo, máte k nim i zdroják (a můžete studovat co a jak). To, co je obsaženo v archivech pro instalaci, je skutečně jen naprosté minimum, a je téměř nezbytné stáhnout toho z Internetu mnohem více. Některé věci najdete už přímo pro Linux/m68k, většinu ale pouze ve zdrojácích a budete si to muset sami přeložit. Ovšem je nutné říci, že až na pár výjimek (programy jdoucí přímo na hardware písíček jako třeba Doom pro Linux) lze úspěšně přeložit všechno, co pro písíčkářský Linux je, a že toho je.

Midnight Commander
Objeví se ale i pár nepříjemných překvapení. Příkladem je Midnight Commander 3.0, který měl chybu ve čtení Shiftu, Ctrl a Altu - použil na to proměnnou typu int a měl použít char. Problém byl v tom, že na little-endian počítačích (tj. takových, které ukládají nejdříve nižší bajty slova a až poté vyšší - např. Intel nebo Alpha) vše fungovalo v pořádku, ale na big-endianech ne. Brzy se objevil vše napravující patch, nyní je ale už verze 3.2.3, která funguje bez problémů všude.

Nice editor
Další problémy jsem měl u kompilace mého oblíbeného texťáku pro Unix Nice editoru. Nepodařil se mi přes veškeré úsilí zprovoznit s termcap databankou (údaje o velikostí a vlastnostech použitého terminálu), ale s ncurses už to jede v pohodě - i když je program bohužel skoro dvakrát tak dlouhý.

Spolupráce s Amigou
Linux umí číst data z partitionů se standardním amigáckým Fast File Systemem. Verze driveru, která umí i zapisovat, je nyní v beta-fázi, a snad tedy bude brzo hotová. Naopak se čtením dat v AmigaOS z partitionů pro Linux je trochu problém. Nejprve to nebylo vůbec možné, nedávno se však objevil handler, umožňující práci s partitiony s filesystémem ext2 verze 0.5b. Avšak Linux/m68k používá ext2 verzi 0.5a a občas dochází k chybám. Z osobní zkušenosti doporučuji na Linux partition pod AmigaOS s ext2v 0.5b handlerem vůbec nezapisovat. Linux se z toho vzpamatovává jen velmi těžko. Objevily se i chyby při obyčejném kopírování souboru z Linux partitionu ven. Jednalo se o binárku (konkrétně o překompilované jádro) a kupodivu pomohlo tento soubor v Linuxu zkomprimovat gzipem, pak překopírovat a v AmigaOS gzipem pro něj zase rozbalit.

X-Window
Linux bude většině Amigistů připomínat MS-DOS. Černá obrazovka, bílý text. Pár programů (Midnight Commander) zvládnou i barvy. Jo, je to sice multitaskové a může to znít i více konzol (přepínají se Alt-F1. Alt-F2...), ale grafika žádná. Ale i pro Linux existuje grafická nadstavbu. Jmenuje se X Window System, pracuje docela jinak než Intuition nebo i Windows, ale jede úplně v pohodě. Teda až na jednu drobnost. Se standardní AGA Amigou na VGA monitoru rozjedete tak akorát 640x480, a pokud se pokusíte o 256 barev, bude to nesnesitelně pomalé. To je ale samozřejmě problém Amigy a ne Linuxu. Kupte si CyberVision a nahrajte Linuxovský driver pro něj, a jste vysmáti.
Příjemným překvapením pro mne bylo, že ixy (jak se X Window Systemu říká) umí pracovat i jinak, než ve 2 či 256 barvách. Na ostatních platformách totiž většinou umí pouze 1, 8, 16 nebo 24 bitplánů. Na Amize tolik, kolik chcete. Některé programy to sice nepochopí (XEarth) u tvrdošíjně trvají na svém, ale většina jich jede fajn. Zde je vlastně i výhoda Linux/m68k oproti NetBSD pro Amigu. Ten totiž umí spustit ixy právě pouze ve 2 nebo 256 barvách, jiné možnosti nenabízí. A navíc ve 2 barvách je pomalejší, než Linuxovské ixy v šestnácti.
Pokud jsem psal. že pro Linux je třeba si většinu programů zkompilovat, u ixů to platí dvojnásob. Jediné, co jsem našel už přímo přeložené, byly ixy vlastní a hra XBill (Bill Gates se snaží na různé počítače dávat Windows NT a vy mu v tom musíte bránit). A vlastně ještě Athena3D - knihovnu, nahrazující původní ošklivé a špatně ovladatelné ixovské tlačítka (představte si scrollbar: kliknete-li levým tlačítkem myšky nad ním, posouvá se o skok nahoru, pravým o skok dolů (!!!), pod ním levým o kousíček nahoru, pravým o kousíček dolů, a oběma na něm s ním můžete posunovat, tak jak je běžné) na docela snesitelné a hlavně normálně ovladatelné ekvivalenty - scrollbar najednou vypadá jak v Motifu, včetně šipek, a ovládá se taky normálně).

Netscape, Motif a ostatní
Nicméně, co jsem pro ixy chtěl, to jsem bez problémů přeložil. Jediné, co se mi nepovedlo rozběhnout, byl window manager fvwm-2. Někteří z vás asi ví, jak běhal NetScape Navigator pod ixama. Neinstalujte si Linux/m68k a ixy pro něj kvůli tomu, že byste chtěli provozovat NetScape. Tento program je plně komerční, a tak je pochopitelné, že se nedodává ve formě zdrojáků, ale přeložený pro ten procesor, na kterém ixy běží. Smůla. Linux/m68k používá takové minimum lidí, že firmě NetScape se nevyplatí přeložit svůj WWW prohlížeč pro tento systém.
Další věcí je Motif. To je grafická knihovna pro ixy, řekněme něco jako MUI pro Amigu. Další plně komerční produkt nedostupný (alespoň zatím) pro Linux/m68k. Mnohé programy Motif potřebují (pokud se nemýlím, NetScape Navigator taky). Existuje sice Lesstif - snaha skupinky programátorů napsat Motif zadarmo, ale zatím to je jen v betaverzi 0.50 a docela mi to padá. No a těchto komerčních programů by se našlo ještě víc (např. Oracle). Ale pokud chcete, bombardujte firmy píšící tento soft e-maily, třeba změní svůj názor.

Závěr
Linux/m68kje výjimečný produkt pro Amigu. Pokud jste počítačoví začátečníci, radši se jím nezabývejte. Pokud jste zkušení, může to být kus softwaru pro vás. Pokud ale píšete programy, a štve vás, když váš program spadne a shodí s sebou i operační systém, Linux/m68k je skvělým řešením pro vás. Má jediné dvě nevýhody: malou dostupnost (v současnosti pouze přes Internet) a pomalost Amigy (pokud ale máte Amigu 4000, CyberStorm 060 a CyberVision 64, tato nevýhoda neplatí). A než začnete Linux/m68k instalovat, přečtěte si všechnu možnou dostupnou literaturu, kterou najdete - přinejmenším Installation Guide. FAQ a Announce soubory.

Ještě nějaké Internetovské adresy, které s Linuxem/m68k souvisí:
Dokumentace:
Linux /m68k Frequently Asked Questions:
ftp.uni-erlangen.de/pub/Linux/LOCAL/680x0/FAQ
Linux /m68k Installation Guide pro Amigu:
www.informatik.uni-oldenburg.de/~amigo/inst.html

News-konference:
comp.os.linux.m68k nebo comp.unix.amiga

e-mail konference:
subscribe: majordomo@phil.uni-sb.de, tělo textu: subscribe linux-m68k, vlastní konference: linux-m68k@phil.uni-sb.de
Tato konference je mirorována na Webu
(http://aire.ncl.ac.uk/Atari/Mailing-Lists/Linux-m68k-phil-List.index.html) a je také možné se přihlásit na adrese linux-m68k-digest@phil.uni-sb.de, v tomto případě dostanete pouze 1 mail za den, a v něm všechny zprávy, které do konference došly.

FTP archivy s Linuxem/m68k:
ftp.uni-erlangen.de/pub/Linux/LOCAL/680x0/
ftp://ttp.informatik.ani-oldenburg.de/pub/linux/680x0/
ftp://src.doc.ic.ac.uk/computing/operating-systems/Linux/tsx-11-mirror/680x0/
ftp.funet.ti/pub/Linux/BETA/680x0/
ftp.phil.uni-sb.de/pub/linux-m68k/mirror.erlangen/

WWW stránky věnované Linuxu/m68k
www.rose-halman.edu/~lawrenc/linux/index.html
http://src.doc.ic,ac.uk/packages/Linux/tsx-11-mirror/680x0/
www.cs.kuleuven.ac.be/~geert/Linux/m68k/
www.ujep.cz/linux/

IRC:
#Linux68k

Linux /m68k

Hodnocení: 10 z 10
Autor: kolektiv
Cena: -
Typ: public domain

+

cena; výkon; neustálý vývoj; UNIX na Amize

-

dostupnost; jen pro zkušené uživatele počítačů


Pozn.: články boli naskenované ako text a preto obsahujú aj zopár chýb. Taktiež neručíme za zdrojové kódy (Asm, C, Arexx, AmigaGuide, Html) a odkazy na web. Dúfame, že napriek tomu vám táto databáza dobre poslúži.

Žiadna časť nesmie byť reprodukovaná alebo inak šírená bez písomného povolenia vydavatela © ATLANTIDA Publishing