Portál AbcLinuxu, 5. května 2025 01:03

Jaderné noviny - historie Linuxu 2

2. 11. 2007 | Luboš Doležel
Články - Jaderné noviny - historie Linuxu 2  

Vydání verze 0.10. Založení mailing listu linux-activists, první linuxové konference. Theodore T'so: první americký linuxář. MCC Interim: první distribuce Linuxu. Jak Linus začal používat Linux místo Minixu.

„ZÁLOHUJTE VEŠKERÁ DŮLEŽITÁ DATA,“ začínaly instalační instrukce Linuxu 0.10. Linux přistupuje k vašemu hardwaru přímo, a pokud se váš hardware liší od mého, může vás čekat ošklivé překvapení. Dvakrát zkontrolujte, že je váš hardware kompatibilní: harddisk ve stylu AT, VGA řadič. Průvodce instalací vysvětloval, že k nainstalovanému a běžícímu Linuxu vede pět kroků, včetně výše uvedeného zálohování. Druhým krokem bylo použití Minixu a příkazu mkfs pro vytvoření nového souborového systému na volném oddílu vašeho disku. Třetím krokem bylo použití dd pro zapsání linuxových diskových obrazů 'boot' a 'root' na diskety. Čtvrtým krokem bylo samotné bootování z disket: disketa jako kořenové zařízení není moc rychlá (obzvláště na stroji s celkovou RAM menší než 6 MB -> malá cache bufferů), ale funguje to (doufám). Konečným krokem bylo připojení prázdného diskového oddílu, zkopírování souborů z disket na oddíl a vytvoření potřebných souborů v /dev/ pomocí mknod, nyní byste měli mít souborový systém, který jde nabootovat. Pohrajte si s tím, zkuste se s novým systémem seznámit. Odhlaste se, až toho budete mít dost. Dokument poznamenal, že zatímco je možné Linux nainstalovat pomocí DOSu, instrukce byly určené pro lidi používající Minix:

Všeobecně je tato verze stále určená pro lidi s minixem: jsou více zvyklí na systém a mohou dělat věci, které uživatelé DOSu nemohou. Pokud máte jen DOS, očekávejte nějaké potíže. Jak vyplývá z čísla verze, toto stále není konečný produkt.

Verze 0.10

Bohužel nepřežily žádné kopie oznámení o vydání verze 0.10. Řada webových stránek říká, že jádro 0.10 bylo vydáno 3. prosince 1991, ale různé příspěvky v mailing listech z této doby jasně říkají, že k vydání došlo počátkem listopadu.

V interview z roku 1992 mluvil Linus o skoku z verze 0.03 na 0.10:

Opojený neočekávaným úspěchem jsem příští verzi pojmenoval 0.10 a hned jsem dostal komentáře od betatesterů, stejně tak jako patche. Linuxová komunita nebyla velká: dejme tomu 10 - 20 uživatelů minixu, které bavilo hackovat nové jádro.

V e-mailu z roku 1992 Linus poznamenal, že v době verze 0.10 probíhal vývoj stále pod Minixem. Dále řekl:

Po verzi 0.03 jsem usoudil, že další verze je docela použitelná (svým způsobem byla) a pojmenoval jsem ji 0.10 (listopad?). Pořád měla poměrně závažnou chybu v kódu pro zacházení s cache bufferů, ale po opatchování to bylo ok.

Mailing list linux-activists

Mailing list linux-activists byl vytvořen počátkem října 1991 a byl prvním diskuzním fórem speciálně pro Linux. Dřívější příspěvky do mailing listu linux-activists nejsou zachovány (což pravděpodobně zahrnuje chybějící oznámení o 0.03 a 0.10).

Všechny zájemce o začátky historie Linuxu potěší, že se Theodore Ts'o počátkem listopadu 1991 o Linuxu dozvěděl, přihlásil se do mailing listu linux-activists a uložil si jeho archiv. Také si uložil lehce upravenou verzi 0.10, což je jediný známý zdrojový kód této verze. Ve svém prvním příspěvku do linux-activists Theodore poznamenal, že založil americký FTP server s Linuxem - dále dodal:

Zrovna nedávno jsem se doslechl o Linuxu z mailing listu Hurdu a co se tak dívám na zdrojový kód, vypadá velmi velmi zajímavě. Zatím jsem si to na disk nenainstaloval (vypadá to, že budu muset vyhodit OS/2, abych uvolnil jeden ze čtyř primárních diskových oddílů --- hrůza), ale jen podle toho dívání na zdrojový kód je tam hromada věcí, které vypadají jako zajímavý projekt --- například podpora rozšířených diskových oddílů DOSu a vícero vláken na úlohu. Teď už si jen musím najít nějaký čas na hraní... :-)

Theodore během víkendu aktivně portoval software na Linux a hackoval jádro. Rychle portoval programy GNU diff, GNU sed, patch a tr: sestavily se bez nutnosti nějakých velkých změn --- jediným skutečným problémem, na který jsem narazil, bylo to, že konfigurační program, který je zapotřebí pro sestavení sedu, sám o sobě chce použít sed pro vytvoření Makefile. Ups. :-) Také upravil tools/build.c, aby bylo možné dynamicky určit kořenové zařízení: přidejte k tomu definici $(ROOTDEV) v makefile a upravení jader pro konkrétní systém je hotové raz dva! Jenže když se pokusil zkompilovat GCC 2.0, narazil na nějaké problémy s poškozením souborového systému.

Linusovi se problémy s poškozením souborového systému podařilo vystopovat a vydal první patch na jádro 0.10 v podobě změny zdrojového souboru buffer.c:

Re: poškození souborového systému: Měl jsi pravdu. Myslím si, že jsem našel chybu, a někdy během dneška pošlu opravený "buffer.c". Snad to ten problém zažehná. První patch jádra pro tuto verzi: není to tak zlé.

První FAQ Linuxu

Spolu s růstem komunity uživatelů vznikla potřeba vytvoření sady často kladených otázek a odpovědí. 8. listopadu rozeslal Linus požadavek na otázky (a k tomu snad i rovnou odpovědi), přičemž samotné FAQ spravoval Robert Blum:

Linuxu by se rozhodně šiklo FAQ (Frequently Asked Questions pro všechny z vás, kteří nebyli na netu od narození :-). A jak by určitě všichni, kteří četli mé 'help-files', souhlasili, nejsem tím nejlepším kandidátem na to, abych to psal. Proto je tu nový projekt: dát do kupy FAQ za pomoci linux-activists.

V tom samém e-mailu Linus napsal, že ve verzi 0.10 se už Linux většině lidí daří rozchodit, zdá se, že většině lidí, kteří měli problémy, se to teď podařilo rozjet. Abych to shrnul: funguje to na SXkách s pouhými 2M paměti. Také to 'funguje' s monochromatickými kartami, ale neuvidíte nic. Mtools nezvládá DOS 5.0 (přinejmenším velké oddíly), ale zdá se, že Linux i tak bootuje v pohodě. Je tu někdo, komu to nejde nabootovat?

Dále uvedl, že byl inspirován k napsání linuxového nástroje fsck (původně pouze se schopností detekovat problémy se souborovými systémy, ne však je opravovat) a k vývoji přímo z Linuxu samotného, když si omylem přepsal svůj minixový oddíl. Včera jsem si přepsal svůj minixový oddíl (ani se neptejte jak - na některé věci je lepší zapomenout :-)) a ačkoliv už tu mám zase funkční minix-386, je to poněkud neohrabané (žádný bash, žádný make). Vypadá to, že si budu muset napsat fdisk/mkfs/fsck pro Linux, abych už minix nepotřeboval. Nakonec z toho bude něco pozitivního. V interview z roku 2005 Linux poskytl úplné vysvětlení, co se stalo s jeho minixovým oddílem:

Na úplném začátku vývoje Linuxu bylo jednou z věcí, které jsem často dělával, čtení internetových zpráv z univerzitního počítače. Vytáčel jsem univerzitu, obvykle jsem dostával obsazovací tón, a tak jsem naprogramoval automatický dialer. Vytočilo to a pokud to dostalo obsazovací tón, počkalo to minutu a vytočilo znovu. Nepoužíval jsem Linux výhradně, ale používal jsem ho. Omylem jsem vytočil svůj pevný disk a jednoduše řečeno jsem přepsal operační systém řetězci pro vytáčení. Takže jsem se musel rozhodnout, zda reinstaluji OS, který jsem používal, nebo začnu výhradně používat Linux. Řekl jsem dobře, to je znamení, začnu Linux používat výhradně.

V pozdějším vlákně Linus vysvětlil dva speciální procesy, které vždy běžely na Linuxu 0.10.

Linux má dva speciální procesy: swapovač (#0) a init. Swap je používán jako 'nulový' proces. Když nechce žádný jiný proces běžet, swapovač jen sedí a nedělá nic. Není mu dovoleno spát.

Init (#1) je skutečným otcem všech procesů. Opravdu by měl dělat mnohem víc, než dělá v současnosti: spustit soubory /etc/rc a spustit přihlašování. Nyní jen spustí 2 procesy: /bin/update (#2) a /bin/sh (#3). Pak jen čeká než nějaký z nich skončí a sesynchronizuje souborové systémy (Obvykle se to stane, jen když se ukončí /bin/sh, neboť /bin/update by se za žádných okolností nemělo ukončit.)

MCC Interim

V listopadu 1991 spustilo Manchester Computing Centre (MCC) z Manchesterské univerzity v Británii své FTP zrcadlo linuxového jádra. Během několika měsíců začali vydávat "MCC Interim" verze Linuxu, naše verze jsou nazvány 'interim', protože není jejich záměrem, aby byly konečné či oficiální. Jsou malé, vyvážené a přiměřeně testované. Nevyhovují každému - jaké vydání by vyhovovalo, že ano? -- ale měly by poskytnout stabilní základ, ke kterému může být přidáván jiný software.

README projektu vysvětlovalo:

Když se na podzim roku 1991 objevil Linux 0.10, byl vydán Linusem Torvaldsem jako dvojice disket známých také jako 'boot' a 'root' disky. Sám Linus vydal několik utilit, které se na tyto disky nevešly. Nakonec bylo k dispozici docela mnoho dalších věcí. Distribuce softwaru byla poněkud chaotická a bylo zapotřebí velké úsilí, abyste dohromady poskládali kompletní základ systému.

Vydání MCC Interim jsou citována jako první distribuce Linuxu, tyto verze Linuxu instalujeme na malé stroje 386-SX pro naše kurzy C a Unixu a potřebovali jsme je nainstalovat na dvanáct strojů přibližně během jedné hodiny. Tuto verzi Linuxu také distribuujeme našim klientům v Manchesteru.

Související články

Jaderné noviny - historie Linuxu
Jaderné noviny - historie Linuxu 3
Jaderné noviny - 10. 10. 2007
Jaderné noviny - 3. 10. 2007
Jaderné noviny - 19. 9. 2007
Jaderné noviny - 12. 9. 2007

Odkazy a zdroje

Linux: The 0.10 Release

Další články z této rubriky

Jaderné noviny – přehled za březen 2025
Jaderné noviny – přehled za únor 2025
Jaderné noviny – přehled za leden 2025
Jaderné noviny – přehled za prosinec 2024
Jaderné noviny – přehled za listopad 2024

Diskuse k tomuto článku

2.11.2007 00:10 laco
Rozbalit Rozbalit vše Re: Jaderné noviny - historie Linuxu 2
Odpovědět | Sbalit | Link | Blokovat | Admin
Moc hezké citace.

"Když nechce žádný jiný proces běžet, swapovač jen sedí a nedělá nic. Není mu dovoleno spát."

Mně teď taky ne.
2.11.2007 00:12 trekker.dk | skóre: 72
Rozbalit Rozbalit vše Re: Jaderné noviny - historie Linuxu 2
Odpovědět | Sbalit | Link | Blokovat | Admin
Asi chybka?
(Obvykle se to stane, jen když se ukončí /bin/sh, neboť /bin/sh by se za žádných okolností nemělo ukončit.)
Quando omni flunkus moritati
Luboš Doležel (Doli) avatar 2.11.2007 22:03 Luboš Doležel (Doli) | skóre: 98 | blog: Doliho blog | Kladensko
Rozbalit Rozbalit vše Re: Jaderné noviny - historie Linuxu 2
Díky, opraveno.
2.11.2007 00:16 Ses | skóre: 16 | blog: Nevím nic, ale zato to vím správně | Ivančice
Rozbalit Rozbalit vše Re: Jaderné noviny - historie Linuxu 2
Odpovědět | Sbalit | Link | Blokovat | Admin
...vytočil svůj pevný disk a jednoduše řešeno jsem přepsal operační systém...

Jinak díky za články. Čtením Ábíčka si doplňuji svoje základní vzdělání... :)
Nikdo mi nerozumí. Jsem záhadný.
Luboš Doležel (Doli) avatar 2.11.2007 22:03 Luboš Doležel (Doli) | skóre: 98 | blog: Doliho blog | Kladensko
Rozbalit Rozbalit vše Re: Jaderné noviny - historie Linuxu 2
Díky, opraveno.
Milan Lajtoš avatar 2.11.2007 01:41 Milan Lajtoš | skóre: 22 | blog: /blog/babraq
Rozbalit Rozbalit vše Re: Jaderné noviny - historie Linuxu 2
Odpovědět | Sbalit | Link | Blokovat | Admin
Jaderné noviny - historie Linuxu 3 vysli skor ako Jaderné noviny - historie Linuxu 2.. Preco?
“Every great achievement was once considered impossible.”
Milan Lajtoš avatar 2.11.2007 01:42 Milan Lajtoš | skóre: 22 | blog: /blog/babraq
Rozbalit Rozbalit vše Re: Jaderné noviny - historie Linuxu 2
Neprecital som si poznamku.. Prepacte, mozete to zmazat.. :(
“Every great achievement was once considered impossible.”
2.11.2007 23:13 Jiří Kadeřávek | blog: jkblog | Brno
Rozbalit Rozbalit vše Re: Jaderné noviny - historie Linuxu 2
Jaderné noviny 2 nebo 3?

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.