Hlavní navigace

Vše je jenom Linux: GNU/Hurd (2)

23. 2. 2001
Doba čtení: 4 minuty

Sdílet

V dnešním pokračování našeho pravidelného seriálu ještě zůstaneme u operačního systému GNU/Hurd, kterému jsme se věnovali minule.

Po vydání minulého dílu seriálu jsem měl po několik dní úplně zahlcený mailbox, z čehož lze usuzovat, že vás Hurd opravdu zaujal. A protože sliby se mají plnit, dnes si můžete přečíst návod na instalaci na linuxovém počítači. Předem chci upozornit případné nespokojence, že tento návod je ve skutečnosti zkrácenou kompilací několika návodů dostupných na zahraničních webových serverech, vlastně takové „převedení“ do češtiny a občas doplnění vlastními zkušenostmi.

Než se pustíme do samotného návodu, musím přiznat, že jsem u popisu Hurdu neuvedl žádný velký zápor. Jak se správně objevilo v diskuzi, největším záporem je právě jeho rychlost – to je však neduh všech systémů stejné koncepce, jako je GNU/Hurd.

GNU/Hurd – Instalace
Pro samotnou instalaci budete potřebovat především linuxový počítač a také zásobu volného času. Na používané distribuci příliš nezáleží, ale pokud nepoužíváte Debian Linux, můžete se setkat s problémy, na které jsem já nenarazil.

Názvy diskových oddílů
Hurd používá jiné označení pro diskové oddíly, než na jaké jste zvyklí z Linuxu. Značení IDE disků začíná hd0 pro primární (hda) disk a pokračuje lineárně pro každý další disk. SCSI disky jsou značeny stejně, jen písmeno h se změní na s – primární disk tedy bude sd0. Oddíly disku se označují s1, s2, s3… a toto označení se přidává za označení disku – třetí oddíl na sekundárním IDE disku bude mít označení hd1s3.

Vytvoření oddílu
Nejvhodnější velikost nové diskové oblasti je asi 500 MB, nedělejte ji však větší než 1GB, protože u takhle velké oblasti může docházet ke značnému zpomalování. Oddíl vytvořte nejlépe fdiskem a typ nastavte na Linux native (83). Nastavení na jiný typ nebude fungovat! Hurd může používat stávající swap oblast, nemusíte tedy žádnou nastavovat. Připravený oddíl nastavíte příkazem mke2fs -O sparse_super -o hurd /dev/hdb1 (místo /dev/hdb1 musíte pochopitelně uvést oddíl, který jste pro Hurd vyhradili).

Příprava Hurdu
Nejdříve si stáhněte binární distribuci Hurdu z těchto adres: ftp.debian.or­g/debian/dists/sid/ma­in/binary-hurd-i386 alpha.gnu.org/pub/gnu/hurd kde najdete instalační balík .debs pro Debian. K úspěšné instalaci je dobré mít staženy také následující skripty: www.debian.or­g/ports/hurd/ex­tra-files/cross-install www.debian.or­g/ports/hurd/ex­tra-files/native-install www.debian.or­g/ports/hurd/ex­tra-files/dpkg-hurd

Jako druhou alternativu lze použít přímo základní .tar.gz balík, osobně však preferuji použití jednotlivě stažených souborů. Jako poslední potřebujete bootloader GRUB, který lze získat na alpha.gnu.org/gnu/grub/.

Startujeme instalaci
Nejdříve si připravte startovací disketu s Grubem podle dokumentace. Dále nakopírujte všechny .debs soubory a skripty do jednoho adresáře. Přepněte se do něj a nastavte skriptům příznak ke spouštění:

chmod +x cross-install
chmod +x native-install
chmod +x dpkg-hurd

Svým oblíbeným textovým editorem upravte začátek skriptu cross-install a změňte v něm název vašeho počítače (hostname). Pak namapujte oblast pro Hurd:

mount /dev/hdb1 /gnu

Pokud využíváte auto-download funkci instalačního skriptu, spusťte jej takto:

./cross-install /gnu --download ftp.debian.org

nebo použijte tento zápis:

./cross-install /gnu

Instalace může chvíli trvat – doporučuji zvednout se od počítače a trochu se rozhýbat – třeba políbit manželku :-)

První start
Odmapujte diskovou oblast s Hurdem a restartujte s již vytvořenou startovací disketou. Až se na obrazovce zobrazí menu, ve kterém budete mít na výběr z pěti možností, stiskněte c pro zobrazení příkazové řádky. Nyní můžete začít spouštění:

root=(hd1,0)

kde root je název Grub oblasti. Jestliže Grub nahlásí správný typ partition (ext2) je vše v pořádku. Jestliže nahlásí špatný typ, zkontrolujte, zda jste zadali správné označení disku a oddílu. Další příkaz je:

kernel=/boot/gnumach.gz root=hd1s1 -s

Nyní jste použili označení Hurdu pro diskovou oblast. Volba -s Hurdu oznamuje, že se má spustit v jednouživatelském módu. Pokud vše funguje správně, zadejte tento příkaz:

module=/boot/serverboot.gz

Jedná se o Mach spustitelný soubor, který nahraje do operační paměti všechny potřebné servery. Start Hurdu dokončíte posledním povelem: boot.

Mach nyní nastartuje. Upozornění: Mach nepodporuje sdílení přerušení, proto může v této situaci zkolabovat. Pro dokončení základní instalace spusťte poslední skript:

./native-install

Jestliže skript nahlásí settrans chyby, musíte zrušit vlastníka -o hurd v zadání příkazu mke2fs.

Vytvoření zařízení, konfigurace
V jednouživatelském módu můžete kdykoli vyvolat terminál Machu příkazem:

export TERM=mach

Učiňte tak, protože přidáme do systému některá zařízení:

cd /dev
./MAKEDEV foo bar baz

Skript native-install vytvořil soubory zařízení pro root oblast disku. Ostatní oddíly nebo mechaniky musí být přidány ručně. Dále musíte nastavit síť. Native-install nastaví /servers/socket/2 bez parametrů, které musíte zadat dříve, než začnete pracovat se sítí:

settrans /servers/socket/2 --goaway
settrans -fg /servers/socket/2 /hurd/pfinet --interface=eth0
  --address=NN.NN.NN.NN --gateway=GG.GG.GG.GG --netmask=MM.MM.MM.MM

Nyní můžete nastavit uživatelům stejné adresáře, jako mají k dispozici v Linuxu, nejdříve však musíte připojit linuxový diskový oddíl. Jestliže linuxový oddíl je /dev/hda4, připojte jej na /linux následovně:

cd /
settrans -c /linux /hurd/ext2fs /dev/hd0s4
ln -s /linux/home /home

Poslední řádka nastavuje symbolický link, význam ostatních parametrů je zřejmý. Nyní použijte příkaz pro restart a vraťte se do linuxu:

root_podpora

/sbin/reboot

Dokončení
Upravte menu zobrazované Grub zavaděčem, které je uloženo ve /floppy/boot/grub/me­nu.lst – je nutno změnit jedno- na víceuživatelský mód pro start systému. A to je vše – restartujte počítač a zvolte víceuživatelský mód a máte na svém počítači HURD!!!!

Tím končíme s Hurdem a příště se vrhneme na jiný zajímavý operační systém.

Byl pro vás článek přínosný?