Vícero Live Linuxů na jedné USB flash klíčence

Dříve bylo ve velké oblibě vypalovat si tzv. LiveCD linuxových distribucí, tedy CD, ze kterých se dá spouštět Linux bez toho, aby se nejdříve instaloval. Nyní je ještě oblíbenější dávat tyto Live distribuce na USB flashky. Ty jsou totiž nejen dostatečně velké, ale hlavně lépe přenositelné. V tomto článku ukážu, jak si na svou USB flashku dát ne jednu, ale hned několik linuxových distribucí a samozřejmě mít poté možnost si vybrat, jaká se spustí.

Motivace pro vytvoření takové Multi Linux USB klíčenky může být různá. Například:

  • Nadbytečně velká USB klíčenka nebo případně jejich větší množství (jsou levné a v poslední době jsou častým reklamním předmětem mnoha firem).
  • Vybírat si Linux podle potřeb hostitelského počítače (na staré počítače využiji spíš Knoppix, na novějších chci Ubuntu...). Avšak nemusí jít jenom o Linux, můžu chtít třeba FreeBSD nebo OpenSolaris. Také může rozhodovat architektura počítače.
  • Možnost instalovat různé distribuce z jednoho média, protože Live USB je zároveň instalační médium.
  • A v neposlední řadě s tím můžu zamachrovat před slečnou na diskotéce a tím si zajistit její přízeň, protože Multi Linux USB klíčenky mají jenom hustí geeci :D

Na vytvoření USB flashky s více distribucemi nepotřebuji oproti vytváření jedné Live distribuce nic zvláštního. Postup není ani o nic víc těžší. Základní potřeby, které by každý předpokládal jsou:

  • Počítač, kde běží Linux (nejen, že jde spustit, on už je i spuštěn - budeme pracovat v Linuxu)
  • Dostatečně velká USB flash klíčenka (tak, aby se tam vešlo vše, co chci)
  • ISO obrazy CD distribucí, které chci na flash médiu mít (já jsem zvolil Xubuntu, Arch Linux a OpenSolaris)

Mimochodem, pokud se Vám nechce počítač neustále restartovat a nemáte žádný jiný, hodí se i Virtuální PC, například VirtualBox.

Postup vytvoření Multi Live USB klíčenky

Zde je to hlavní - samotný postup. Většinu práce udělám v linuxovém terminálu. Nultý krok je tedy otevření terminálu v oblíbené linuxové distribuci. Další kroky jsou následující.

Nastavení USB flash disků

Po vložení klíčenky je nutné zjistit, jaké je označení disku v systému. V terminálu nejlépe získáním výpisu jádra příkazem dmesg

$ dmesg
<em>... (výpis)</em>
[xxxx.yyyyy] sd 7:0:0:0: [sdc] Attached SCSI removable disk

Takže disk budu identifikovat jako /dev/sdc (podle [sdc] viz výše).
Rozdělení disku popíšu v terminálu, protože je to univerzálnější, ale klidně použijte jakýkoliv okenní manažer disků, kde je to možná pohodlnější.
V každém Linuxu je program fdisk, na který je ovšem nutné mít práva uživatele root. Program fdisk se ovládá vkládáním písmen, která budou pro lepší čitelnost textu uvedena tučně.
Dalším postupem smažete všechna data na USB klíčence!

Spustím fdisk jako root.

fdisk /dev/sdc

Zadám p pro výpis současných partitions, jež si představte v pořadí od 1 do N, takže na prvním řádku je partition číslo 1, na druhém je partition číslo 2 atd.
Pomocí d smažu postupně všechny partitions (můžete být vyzváni k zadání čísla partition, viz jejich výpis). Výsledkem je, že když znovu zadám p, je výpis prázdný.
n vytváří nové partitions a dále nabízí volbu p pro primární disk. Číslo diskového oddílu (partition) 1, První cylindr - nic nezadám a jen potvrdím, Poslední cylindr - zadám +16M, čímž vytvořím partition o velikosti 16MB. První oddíl je tedy hotov, viz jejich výpis.
Nyní zadám a, abych označil novou partition příznakem boot, přičemž jsem opět vyzván k zadání Čísla diskového oddílu a zadám tedy 1.
Zbývá vybrat typ, nebo chcete-li "souborový systém". Po zmáčknutí t jsem vyzván k zadání typu a je mi nabízena volba L pro výpis toho, co mohu zadat. Chci FAT16 (ano opravdu jej chci :)), tedy 6. Tím je první partition hotova.
Další partition bude tzv. rozšířená. Jedná se o nadoddíl, kde se dají vytvářet logické partitions. Zadám nejprve n, potom e (extended). Číslo diskového oddílu bude 2 a následný první a poslední cylindr jen potvrdím, nic nezadám, čímž se extended vytvoří na celém zbytku USB disku.
Nyní pro každý Live Linux, který jsem na začátku vybral, musím udělat vlastní partition o velikosti, která je rovna (ale lépe trochu větší) jeho ISO obrazu. Já jsem všechny velikosti zaokrouhlil nahoru na nejbližší hezké kulaté číslo. Velikost jednotlivých ISO obrazů zjistíte příkazem ls -lh *.iso.
Další partitions vytvářím v tom nadoddílu extended, ale jinak se postupuje stejně jako v případě té první primární parittion, jen po stisknutí n (nový), zadám l (logický). První cylindr jako vždy jen potvrdím implicitní, poslední cylindr určím podle velikosti ISO obrazu, takže pokud má Xubuntu CD velikost 673, napíšu +680M. Toto udělám pro všechny ISO obrazy, které mám. Typ souborového systému nezadávám.
Pokud mi zbude nějaké volné místo, vytvořím volně přístupnou datovou oblast, ke které se potom dá libovolně přistupovat tak, jak jsme u USB klíčenek zvyklí.
Na konci když zadám p, dostanu následující výpis:
Zařízení Zavádět   Začátek       Konec    Bloky    Id  Systém
/dev/sdc1   *           1          17       17104+   6  FAT16
/dev/sdc2              18        3880     3893904    5  Rozšířený
/dev/sdc5              18         709      697504+  83  Linux
/dev/sdc6             710        1086      379984+  83  Linux
/dev/sdc7            1087        1788      707584+  83  Linux
/dev/sdc8            1789        3880     2108704+   b  W95 FAT32

Poslední příkazy fdisku jsou w(potvrzení) a q ukončení.

Výše uvedený návod můžete použít i jindy při práci s fdiskem. Postup vytváření nových diskových oddílů je vždy stejný.

Nastavení bootloaderu

Aby MULTI LIVE USB klíčenka fungovala při startu počítače, je potřeba do ní nahrát tzv. bootloader. Známé bootladery jsou GRUB nebo LILO, avšak pro naše účely bude lepší Gajin. Ten vložím na primární partition o velikosti 16MB, kterou jsem na USB disku vytvořil. Je potřeba ji naformátovat. Označení disku známe, já mám sdc, vy můžete mít místo c, jiné písmeno. Je potřeba na to dát pozor, aby se nesmazala žádná data.

mkfs.msdos -F 16 /dev/sdx1

Gujin je ke stáhnutí zde. Po stáhnutí archívu jej rozbalte a vstupte do adresáře install (může být gujin-install). Následující příkaz pak udělá všechnu práci.

./instboot boot.bin /dev/sdx1 --disk=BIOS:0x80 -w

Pokud příkaz nefunguje, zkuste následující (díky Honzee)
./gujin /dev/sdg --disk=BIOS:0x00,auto

Od teď je USB flashka bootovatelná a vyzkoušet to můžete v jakémkoliv virtualizéru nebo emulátoru.

Vložení ISO obrazů na USB flash disk

Kdo zapomněl, jaká čísla mají partitions, které vytvořil, připomene si je příkazem.

fdisk -l /dev/sdx

Nakopírování ISO obrazů je lehké, ale je potřeba dát si pozor, aby se vybrali odpovídající si ISO a partition. Logické partitions začínají od čísla 5 (myšleno sdx5).
Samotné kopírování vypadá takto:
dd if=xubuntuCD.iso of=/dev/sdx5 bs=2M
dd if=dalšíCD.iso of=/dev/sdx6  bs=2M
...
dd if=posledníCD.iso of=/dev/sdx[poslední]  bs=2M

Hotovo!

Nezbývá než Multi USB klíčenku vyzkoušet.

Napište, jak se Vám návod líbí v komentáři. Chcete-li více podobných návodů, přidejte si prosím tento web do své RSS čtečky.