příspěvek: portable linux

This commit is contained in:
Matyáš Caras 2023-02-26 16:50:49 +01:00
parent a5e9a9ab01
commit 87d34b1862
5 changed files with 105 additions and 5 deletions

View file

@ -40,13 +40,13 @@ author: hernikplays
# "Copyright (c) 2017-{currentYear} <a href="https://example.com">{author}</a>" # "Copyright (c) 2017-{currentYear} <a href="https://example.com">{author}</a>"
# "Copyright © 2017-2021 Foobar" # "Copyright © 2017-2021 Foobar"
# #
copyright: "Copyright (c) 2021-{currentYear} {author}" copyright: "Copyright (c) 2021-{currentYear} {author}, obsah dostupný pod licencí <a href="http://creativecommons.org/licenses/by-sa/4.0/" target="_blank" rel="license noopener noreferrer" style="display:inline-block;">CC BY-SA 4.0<img style="height:22px!important;margin-left:3px;vertical-align:text-bottom;" src="https://mirrors.creativecommons.org/presskit/icons/cc.svg"><img style="height:22px!important;margin-left:3px;vertical-align:text-bottom;" src="https://mirrors.creativecommons.org/presskit/icons/by.svg"><img style="height:22px!important;margin-left:3px;vertical-align:text-bottom;" src="https://mirrors.creativecommons.org/presskit/icons/sa.svg"></a>"
description: >- # this means to ignore newlines until "baseurl:" description: >- # this means to ignore newlines until "baseurl:"
Welcome to my website/blog, full of weird stuff written by yours truly. Mít blog je dnes trendy
baseurl: "" # the subpath of your site, e.g. /blog baseurl: "" # the subpath of your site, e.g. /blog
url: "https://caras.cafe" # the base hostname & protocol for your site, e.g. https://example.com url: "https://blog.caras.cafe" # the base hostname & protocol for your site, e.g. https://example.com
favicon: "" # the favicon for your site favicon: "" # the favicon for your site
# Yat date format # Yat date format

View file

@ -65,8 +65,6 @@ sidebar:
{%- include extensions/comments/disqus.html -%} {%- include extensions/comments/disqus.html -%}
{%- endif -%} {%- endif -%}
{%- include extensions/comments/gitment.html -%}
{%- if site.utterances.repo -%} {%- if site.utterances.repo -%}
{%- include extensions/comments/utterances.html -%} {%- include extensions/comments/utterances.html -%}
{%- endif -%} {%- endif -%}

View file

@ -0,0 +1,102 @@
---
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/)

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB