ELKS 0.4.0 - podmnožina Linuxu pro 8086
O ELKS neboli Embeddable Linux Kernel Subset jsem poprvé slyšel někdy kolem přelomu století. Dotáhl jsem si domů odněkud ze sběrného dvora starou desku s procesorem i80286 a jelikož to tehdy ještě bylo čisté podivínství a ne jako dnes sběratelství či retrocomputing, pátral jsem, co s tou deskou dělat.
Už tehdy mě DOS nelákal, byl jsem rád, že ta epizoda je za mnou a než jsem objevil vcelku funkční Minix, chvíli jsem experimentoval právě s ELKS - ořezaným subsetem linuxového jádra pro 16bitové procesory odvozené od 8088/8086 (tj. kromě této dvojice ještě 80188/80186, 80286, V20 a V30).
O několik let později jsem nastartoval ELKS na kapesním počítači Psion Series 3a, pro nějž existovala binární verze, ale jelikož tou dobou už ELKS vypadal mrtvě a hlavně nativní systém na Psionu toho uměl mnohonásobně více, pustil jsem tento pokus o downsizing Linuxu zcela ze zřetele. Proto jsem si také ne úplně všiml, že v roce 2012 došlo k zmrtvýchvstání projektu. Aktuálně vydaný release 0.4.0 tak byl zajímavou příležitostí podívat se, co je nového.
Poslední verzí vydanou původním týmem bylo 0.1.0, od ní tedy vznikly tři „větší“ releasy. Co tedy ELKS umí?
- Systém umí bootovat z FAT16, FAT32 a Minix FS, tyto filesystémy umí na disketách, pevných discích a diskových oddílech. Dokonce je každý release vydáván tak, že si můžete vybrat.
- Instalace se provádí nabootováním z některého ze stažených diskových obrazů, vytvořením oddílu, naformátováním a přenesením běžícího systému pomocí příkazu sys - tedy velmi podobně, jako to lze udělat v MS-DOSu.
- Nastartovat lze v jednouživatelském či víceuživatelském režimu, režim lze změnit i po bootu příkazem
init + číslo
virtuální konzole se přepínají stejně jako v linuxových distribucích, tj. Alt-Fx, případně je možno připojit se přes sériový port. - Funguje síťování. Síťový stack ktcp podporuje standard ne-2k, síťovky od SMC a SLIP/CSLIP. Spouští se příkazem
net start
, konfigurace je tak automatická, jak to jen jde. - Na bootdisku jsou obsaženy servery
telnetd
ahttpd
pro přístup na počítač s ELKSem (skrze telnetd se lze opravdu přihlásit, httpd pouze vrací statickou infostránku) a klientytelnet
,ftpget
,httpget
atinyirc
. První tři jmenované klienty fungují bez potíží, telnetem se normálně připojíte na svoji oblíbenou BBS a vyzvednete si novinky z FidoNETu, httpget vám stáhne HTML sourbor servírovaný nešifrovaným HTTP protokolem, ftpget totéž zvládne přes FTP. U tinyirc je však někde nějaký problém, nepřipojil se na žádný z mých oblíbených serverů. - Bootdisk obsahuje i několik grafických programů, jmenovitě hodiny, mapu světa, hru Miny, terminál a grafické demo. Všechny tyto programy jsou psány pro grafický systém Nano-X, o němž jsem zcela popravdě neměl nejmenší tušení, že se mu ještě autor věnuje.
- Najdete zde základní unixové utility -
sed
,grep
,wc
,sort
,head
,tail
,tee
,touch
- s výjimkou shellu ale není obsažen žádný programovací ani skriptovací jazyk, což je trochu škoda. - Součástí systému je jednoduchý textový editor kilo. Ovládá se pomocí zkratek CTRL+klávesa podobně jako třeba linuxové
nano
a umí základní operace s textem, nad jejich rámec je zajímavá asi pouze možnost vytváření bookmarků v editovaném souboru a rychlých skoků na tyto bookmarky. Když tu ale nemůžete editovat žádný delší zdroják, protože není v čem programovat, zůstává potenciál nevyužit.
I po zhruba pětadvaceti létech je ELKS pořád relativně na začátku. Takhle nějak (prý) vypadal Linux v letech 1992/1993. Přesto doufám, že autoři neztratí zapálení s jakým v posledních letech commitují změny a myslím, že si někam systém natrvalo nainstaluju. Desku s 286 aktuálně žádnou funkční nemám, ale někde pod postelí je Compaq Contura 4/25, což je sice zbytečně moderní tři-osm-šestka, ale zas alespoň bude systém pěkně odsýpat. Jak tak ELKS 0.4.0 v QEMU zkouším, řekl bych že vysloveně potřebuje Gopher klienta.