--- layout: post title: Jak si vytvořit přenosný Arch Linux systém na USB subtitle: Protože občas je Linux nutný na cestách categories: tutoriál tags: návod arch sidebar: [] --- # Co bude potřeba - Systém s Linuxem - USB s alespoň 4 GB místa {: .box-note} **Poznámka:** Instalaci můžete provést i na Windows či macOS, stačí si nainstalovat VirtualBox, na kterém spustíte nějaký linux systém skrz live ISO a následně řeknete VirtualBoxu, aby přesměroval vaše přenosné USB do virtuálního počítače. # 1. Příprava USB {: .box-note} **Poznámka:** Pokud instalujete systém, který má GUI instalátor, můžete nejdřív zkusit systém nainstalovat přes něj. ## 1.1 Rozdělení na oddíly Pro jednoduchost budu používat nástroj GParted, který je dostupný snad na všech distribucích. Skrz něj si na USB v záložce `Zařízení` vytvoříme novou tabulku oddílů. Jako typ zvolíme `gpt` a dáme `Použít`. Dále si vytvoříme naše systémové oddíly. Pokud používáte UEFI (což dnes asi ano), vytvoříme na disku oddíl ve formátu FAT32 o velikosti ~500 MiB (to je [**MiB**](https://simple.wikipedia.org/wiki/Mebibyte), **nikoli MB**; pokud plánujete používat více jader tak třeba 800 MiB). Ten bude sloužit jako [EFI systémový oddílový](https://wiki.archlinux.org/title/EFI_system_partition). Ze zbytku vytvoříme nový EXT4 oddíl, na kterém bude náš systém. Naše rozdělení pak bude vypadat asi takto: ![GParted zobrazení oddílů na USB](/assets/images/portable-arch/01.png) Nyní je třeba naše oddíly připojit k našemu již běžícímu systému. ## 1.2 Připojení Nejdřív si zjistíme označení našich oddílů. Na to stačí příkaz `lsblk`. ![Výpis lsblk](/assets/images/portable-arch/02.png) V mém případě je USB označeno jako `sdb`, kde EFI oddíl je `sdb1` a sýstemový oddíl je `sdb2`. V `/mnt` si vytvoříme složku, kam naše oddíly připojíme. Nejdřív připojíme náš systémový oddíl. ```sh sudo mount --mkdir /dev/sdb2 /mnt/usb ``` Poté vytvoříme složku v `/mnt/usb`, do které připojíme náš EFI oddíl. Složka by se měla jmenovat vždy `boot`. ```sh sudo mount --mkdir /dev/sdb1 /mnt/usb/boot ``` # 2. Instalace Arch Linuxu ## 2.1 Instalace nutných balíků Přípravu systému provedeme příkazem `pacstrap`, který je dostupný v balíku `arch-install-scripts`. Příkaz nám nainstaluje základní balíky a linuxové jádro. ```sh pacstrap -K /mnt/usb base linux linux-firmware coreutils bash grep gawk file tar gzip systemd sed sudo nano ``` Pokud chcete použít jiné jádro, stačí nahradit `linux` za jádro vašeho výběru. ## 2.2 Nastavení GRUB GRUB nám bude sloužit k nabootování. Instalovat ho budeme už přímo na náš přenosný systém, takže se v našem nepřenosném systému přeneseme do jeho prostředí pomocí príkazu `arch-chroot` (součástí `arch-install-scripts`). {: .box-note} **Poznámka:** Pokud jste nenásledovali UEFI instrukce, bude se tento krok lišit, vizte [Arch Wiki návod](https://wiki.archlinux.org/title/GRUB#BIOS_systems) ```sh sudo arch-chroot /mnt/usb/ ``` Nejdříve nainstalujeme balíky `grub` a `efibootmgr` příkazem `pacman -S grub efibootmgr`. Jelikož není úplně ideální používat Secure Boot s linuxem a nastavovat ho je celkem otrava, bude v tomto návodu přeskočen. Budete-li ho potřebovat, následujte [oficiální Arch Wiki návod](https://wiki.archlinux.org/title/GRUB#Secure_Boot_support). Nasměrujeme GRUB instalaci na náš EFI oddíl. Protože jsme uvnitř našeho přenosného systému, nesměrujeme na `/mnt/usb` ale přímo `/` (v případě nejistoty zkontrolujte lokaci EFI oddílu příkazem `lsblk`). ```sh grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=GRUB --removable ``` Po instalaci ještě musíme vytvořit základní konfigurační soubor. ```sh grub-mkconfig -o /boot/grub/grub.cfg ``` ## 2.3 Vytvoření prvního uživatele Uživatele přidáme příkazem `useradd`. Pro vytvoření uživatele s domovskou složkou použijeme `useradd -m jmenouzivatele`. Pro vytvoření hesla použijeme příkaz `passwd`: `passwd jmenouzivatele`. Uživatele rovnou přidáme do skupiny sudařů, abychom nemuseli používat roota na administrátorské procesy. Nejdříve ale musíme umožnit skupině, aby příkaz `sudo` mohla používat. Otevřeme si konfiguraci příkazem `visudo` a kombinací `Ctrl+W` vyhledáme `%sudo`. Sekce by měla v souboru vypadat takto: ``` ## Uncomment to allow members of group sudo to execute any command # %sudo ALL=(ALL:ALL) ALL ``` Odstraníme mřížku před `%` a soubor uložíme stisknutím kombinace `Ctrl+X`, poté klávesy `y` a `enter`. Teď stačí skupinu vytvořit příkazem `groupadd sudo` a uživatele přidat do skupiny příkazem `usermod -aG sudo jmenouzivatele`. ## 2.4 Nainstalujte, co je třeba Nejlépe následujte návod na [Arch Wiki](https://wiki.archlinux.org/title/Installation_guide#Time_zone) pro doinstalování všeho, co je potřeba pro funkční systém. ## 3. Konec Nyní stačí jen nabootovat a nainstalovat vše co jen potřebujete. Adaptováno z [Install Arch Linux on a removable medium](https://wiki.archlinux.org/title/Install_Arch_Linux_on_a_removable_medium) od autorů Arch Wiki pod licencí [CC-BY-SA 3.0](https://creativecommons.org/licenses/by-sa/3.0/)