Instalace Linuxu na USB flash

Pro jeden pracovní projekt jsem před časem potřeboval vytvořit plně funkční systém s Linuxem, který by se kompletně spouštěl z USB flash paměti. O nabyté zkušenosti v této problematice se samozřejmě rád podělím :)


Standardní instalace linuxové distribuce nepřipadala v úvahu. Kdyby totiž systém zapisoval na flash tak intenzivně, jak to dělá na harddisk, paměť by byla brzy zničena. Navíc bez speciálních úprav v jádru není možné běžnou instalaci provést (resp. provést ano, ale systém pak nelze spustit). Proto jsem se nejdříve ohlížel po klasických live distribucích.

Damn Small Linux jsem musel vyloučit okamžitě, protože používá jádro řady 2.4. Druhým kandidátem byl Slax. Ten jsem na flash paměť nainstaloval díky výbornému prográmku MySlax Creator, který umí Slax na USB jak nainstalovat, tak upravovat parametry jeho spouštění, přidávat nebo ubírat moduly a podobně.

Instalace proběhla bez potíží, Slax nabootoval svižně a vše fungovalo. Bohužel jak se ukázalo, nebyl pro mé potřeby vhodným kandidátem, protože umožňuje uložení pouze základních nastavení, zatímco já jsem potřeboval v systému provádět rozsáhlejší změny.

Dalším (a jak se ukázalo, tím správným) kandidátem byl Ubuntu Linux 7.10. Ten totiž v live režimu umožňuje systém spustit v permanentním modu, kdy se veškeré změny ukládají na speciální oddíl.

Instalace je vcelku jednoduchá. Potřeboval jsem k tomu pouze live CD Ubuntu 7.10 a patch, který zajistí automatické spuštění systému právě v permanentním modu.

Postup je následující:
  • Vložit live CD do mechaniky a nastartovat z něj systém (*)
  • Připojit flashku do USB, pokud se automaticky připojí, odmountovat ji
  • Nainstalovat balíčky syslinux a mtools (je samozřejmě potřeba být připojen k Internetu) pomocí sudo apt-get install syslinux mtools
  • fdiskem vytvořit dvě partice (**), jednu pro systém, druhou pro ukládání změn. Já jsem pro první oddíl použil souborový systém FAT32, protože bylo nutné, aby byl čitelný ve Windows z důvodu aktualizace dat. Tento oddíl je potřeba nastavit jako aktivní! Druhý oddíl musí být pojmenována casper-rw a musí obsahovat nativní linuxový filesystém, v tomto případě nežurnálovací ext2 (jakýkoliv žurnálovací by drasticky snížil životnost flash paměti)
  • Odpojit a znovu zapojit flashku z USB, aby se projevily změny v tabulce oddílů
  • Naformátovat první oddíl: mkfs.vfat -F 32 -n ubuntu710 /dev/sdx1 (kde ubuntu710 je název oddílu a /dev/sdx1 první oddíl flashky, v mém případě to byl /dev/sdb1)
  • Naformátovat druhý oddíl: mkfs.ext2 -b 4096 -L casper-rw /dev/sdx2 (kde casper-rw je povinný název oddílu a /dev/sdx2 druhý oddíl flashky, v mém případě to byl /dev/sdb2)
  • Opět odpojit a znovu zapojit flashku, aby se připojily nově vytvořené oddíly (případně přimountovat je ručně)
  • Použít syslinux na první oddíl: syslinux -sf /dev/sdx1 (kde /dev/sdx1 je první oddíl flashky, v mém případě to byl /dev/sdb1)
  • Nakopírovat vše potřebné z live CD na první oddíl flashky: cd /cdrom a poté cp -rf casper disctree dists install pics pool preseed .disk isolinux/* md5sum.txt README.diskdefines ubuntu.ico casper/vmlinuz casper/initrd.gz /media/ubuntu710/ (kde /media/ubuntu710/ je bod, kam se připojil první oddíl flashky). Při kopírování se pravděpodobně objeví hlášky o nemožnosti vytvoření symbolických linků, ignorujte je
  • Stáhnout soubor s patchem: http://pendrivelinux.com/downloads/U710fix.zip
  • Rozbalit jej a kompletní obsah uložit na první oddíl flashky (duplicitní soubory přepsat)
A to je vše. Nyní je potřeba restartovat počítač, v BIOSu nastavit bootování z USB flash (samozřejmě pokud to základní deska umožňuje) a zavést systém. To sice trvá delší dobu, asi 2 minuty se zavádí jádro a rozbaluje systém do paměti, ale po spuštění již vše běhá standardní rychlostí.

Pokud by se systém nechtěl zavést, může být problém v poškozeném MBR flashky. V takovém případě je potřeba znovu nabootovat z CD, nainstalovat lilo pomocí sudo apt-get install lilo a zadat příkaz lilo -M /dev/sdx (kde x je písmeno zařízení, u mne by to bylo /dev/sdb). Poté restartovat počítač a systém by se měl normálně zavést. Pokud se nezavede ani teď, zřejmě jste zapomněli označit první oddíl jako aktivní. V tom případě je nutné provést celou instalaci znovu.

Pokud neovládáte práci s programem fdisk, můžete si přečíst například tento návod (v angličtině), kde je instalace popsána krok za krokem.
Nebo si můžete chtít vytvořit vlastní live distribuci, v tom případě musíte zde.

(*) Lze nabootovat ze standardně nainstalovaného Linuxu a CD použít jen pro zkopírování dat. Pokročilí uživatelé mohou použít libovolnou distribuci, v tom případě je potřeba příkazy, týkající se instalace balíčků, přizpůsobit konkrétnímu systému.

(**) Velikost obou oddílů je na vašem uvážení. Pokud chcete více místa na ukládání a systémový oddíl jen tak velký, jak je nezbytně nutné, vytvořte první oddíl o velikosti 750MB (velikost CD) a oddíl casper-rw přes celý zbytek flashky.



Ohodnoťte tento článek:

Přidej odkaz na:
| | | | vybrali.sme.sk |
del.icio.us | TextTip.cz

Komentáře