Files

324 lines
13 KiB
Markdown
Raw Permalink Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
title: "Arch Linux Instalace"
date: 2021-12-30
author: "archos"
draft: false
categories: ['Návody', 'Arch Linux']
tags: ['instalace']
series: ['Arch Linux instalace']
---
Velké poděkování patří uživateli [raven2cz](https://github.com/raven2cz), který připravil tento skvělý návod včetně videa. Video je již nahráno na našem [PeerTube kanále](https://peertube.arch-linux.cz/c/videa_archlinuxcz/videos?s=1).
### Příprava zařízení pro instalaci
#### Stažení ISO a vytvoření BOOT USB disku
**[Stažení ArchLinux ISO](https://arch-linux.cz/jak-stahnout/)**, ve Win použít Rufus software (portable) na flash disk. V Linuxu použít `dd` command.
### Příprava partitions na cílovém disku
Zjistit disky a souborové systémy `fdisk -l`, pak `cfdisk /dev/`, zkontroluj kterou partition přesně použít pro umístění root adresáře, popř. domácího adresáře; např. pro nvmeXn1 bude nvmeXn1p2 nebo p3 apod. Pro EFI partition použít alespoň `+256M` parameter; nastav pro ni partition type to `EFI System (type 1)`, pro root partition `/` nastavit `Linux system`.
**DŮLEŽITÉ:** Návod používá dnes již standardní UEFI. Pokud testuje Arch dle tohoto seriálu v VirtualBox. Je nutné na záložce Systém VM **označit checkbox EFI**. Aby bylo možné používat EFI pro boot systému, jinak nepůjde instalovat bootloader.
## [](https://github.com/raven2cz/tux/tree/main/210906-arch-instalace#vytvo%C5%99en%C3%AD-souborov%C3%BDch-syst%C3%A9m%C5%AF)Vytvoření souborových systémů
#### Formát diskových oddílů
Zvolení formátu pro diskové oddíly: `MBR` nebo `GPT`. Pro `GPT` nutno UEFI a 64bit OS. Již pro nové stanice s novým HW doporučuji `GPT` a to s dual boot pro Win10/11 + Linux.
#### Formátování diskových oddílů
Formátování EFI partition `fat`, root partition formátuji `ext4`.
```
mkfs.fat -F32 /dev/sda1
mkfs.ext4 /dev/sda2
mkswap /dev/sdxY
swapon /dev/sdxY
```
### Internetové připojení
#### Wifi
Podívejte se na [IWD-iwctl](https://wiki.archlinux.org/title/Iwd).
```
iwctl
[iwd]# device list -> opsat si označení svého wifi zařízení
[iwd]# station get-networks -> opsat si síť, kterou potřebujete pro připojení
[iwd]# station connect -> připojit se ke zvolené síti a zadat heslo
druha moznost, pokud již informace máte předem zjištěné:
iwctl --passphrase station connect
ping archlinux.org -> otestovaní připojení
```
### [](https://github.com/raven2cz/tux/tree/main/210906-arch-instalace#ethernet)
#### Ethernet
Pouze otestovat připojení, zda internet je k dosažení.
```
ping archlinux.org
```
### Výběr Arch Mirrors
Výběr nejbližších a rychlých zrcadel balíčků archu.
Nejprve update, stažení skriptu `reflector` a záloha originální konfigurace.
```
pacman -Syy
pacman -S reflector
cp /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist.bak
```
Výběr země k nalezení nejbližších bodů připojení: US, CZ, DE atd.
```
reflector -c "CZ" -f 12 -l 10 -n 12 --save /etc/pacman.d/mirrorlist
```
## [](https://github.com/raven2cz/tux/tree/main/210906-arch-instalace#virtualbox-tty-rozli%C5%A1en%C3%AD-p%C5%99i-instalaci)
### Virtualbox tty rozlišení při instalaci
```
pacman -S fbset
fbset -g 2048 1080 2048 1080 32
```
# [](https://github.com/raven2cz/tux/tree/main/210906-arch-instalace#instalace-z%C3%A1kladn%C3%ADho-syst%C3%A9mu-base)
## Instalace základního systému (Base)
Připojení (mountování) naformátované partition připravené pro root systému
```
mount /dev/sda2 /mnt
```
Preferuji instalaci aktuálního kernelu (bez speciálních úprav a zen úprav). Bez nutnosti instalace LTS kernelu (Long Term Support). Balík jádra a dalších důležitých souvisejících nástrojů je označen `linux`
Dále doporučuji nainstalovat vhodný textový editor pro úpravu konfiguračních souborů. V mém případě, co bude prezentováno je textový editor `neovim`, který spouštíte příkazem `nvim`.
```
pacstrap /mnt base base-devel linux linux-headers linux-firmware neovim nano
```
Pro úplnost ještě uvedu instalaci s možností druhého LTS kernelu. Pro základní desktop toto není nutné. V případě problémů je možné kdykoliv doinstalovat, nebo zvolit zen-kernel.
```
pacstrap /mnt base base-devel linux linux-headers linux-firmware linux-lts linux-lts-headers neovim nano
```
### Konfigurace nainstalovaného Arch systému
Generovat `fstab` soubor pro připojení diskových oddílů a služeb při spuštění systému. Přepínač `-U` je vhodný pro ukládání UUID disků, aby bylo možné jednoduše disky přehazovat a přidávat!
```
genfstab -U /mnt >> /mnt/etc/fstab
```
## [](https://github.com/raven2cz/tux/tree/main/210906-arch-instalace#chroot)CHROOT
Vstupte do svého nového systému pomocí `chroot`.
**DÚLEŽITÉ:** Tento příkaz, kterému předchází příkaz `mount` pro root partition, je velmi užitečný pro opravu systému, reinstalace systému, opravy chyb, popřípadě volání příkazů, které vyžadují odpojený disk. USB klíčenka tak může kdykoliv sloužit pro jednoduché pořešení všech problemů. Systém se tak jednoduše stává nezničitelný.
```
arch-chroot /mnt
```
## [](https://github.com/raven2cz/tux/tree/main/210906-arch-instalace#nastaven%C3%AD-%C4%8Dasu-a-timezone)Nastavení času a timezone
Pozor na tento bod. Je potřeba jej udělat pečlivě, dle mého postupu.
```
timedatectl list-timezones
timedatectl set-timezone Europe/Prague
ln -sf /usr/share/zoneinfo/Europe/Prague /etc/localtime
hwclock --systohc (vygeneruje důležitý /etc/adjtime)
```
## [](https://github.com/raven2cz/tux/tree/main/210906-arch-instalace#nastaven%C3%AD-lokalizace)Nastavení Lokalizace
Doporučuji si ponechat `US` lokalizaci. V češtině potom používat určité množiny programů a nástrojů, které jsou pro češtinu vhodné. Podobně postupují i programátoři, kteří do kódu určitě nepíší české komentáře. Myšlenkově tedy mějte oddělený jazyk pro konfigurace a jazyk pro GUI.
Editujte soubor `/etc/locale.gen` obsahující všechny dostupné lokalizace. odkomentujte potřebné lokalizace. V našem případě odkomentujte `en_US.UTF-8 UTF-8`
Nyní již můžete generovat lokalizační soubory a nakonfigurovat `locale.conf` Pokud tento krok uděláte špatně, budete mít velké problémy v mnoha programech a terminálových aplikacích, proto si pečlivě zkontrolujte následující příkazy.
```
locale-gen
echo LANG=en_US.UTF-8 > /etc/locale.conf
export LANG=en_US.UTF-8
```
## [](https://github.com/raven2cz/tux/tree/main/210906-arch-instalace#network-konfigurace)Network konfigurace
Zadejte svůj definovaný název počítače do `/etc/hostname`. V mém případě `r7arch`. Pozor nesmí obsahovat pomlčky. Dále pak udělejte základní mapování do `/etc/hosts`.
```
echo r7arch > /etc/hostname
nvim /etc/hosts (uložte následující řádky)
127.0.0.1 localhost
::1 localhost
127.0.1.1 r7arch
```
## [](https://github.com/raven2cz/tux/tree/main/210906-arch-instalace#nastaven%C3%AD-root-hesla)Nastavení root hesla
Nastavte své root heslo pomocí příkazu `passwd`.
## [](https://github.com/raven2cz/tux/tree/main/210906-arch-instalace#instalace-m%C3%A9ho-fundamental-software)Instalace mého Fundamental Software
Nyní doporučuji nainstalovat naprosto fundamentální software pro přístup a základní obsluhu systému.
```
pacman -S openssh networkmanager wpa_supplicant netctl
systemctl enable NetworkManager
systemctl enable sshd
pacman -S amd-ucode (pro AMD) pacman -S intel-ucode (pro INTEL)
mkinitcpio -p linux
```
## [](https://github.com/raven2cz/tux/tree/main/210906-arch-instalace#instalace-ovlada%C4%8D%C5%AF-a-xorg)Instalace ovladačů a Xorg
Pro desktop je nutné nainstalovat správné grafické ovladače a základní basement pro Xorg grafické rozhraní. Toto doporučiji i v případě, že budete chtít používat Wayland s plasma nebo gnome.
### [](https://github.com/raven2cz/tux/tree/main/210906-arch-instalace#amd-grafick%C3%A1-karta)AMD grafická karta
```
pacman -S xorg
pacman -S mesa (již obsažen v xorg, pouze pro informaci)
```
### [](https://github.com/raven2cz/tux/tree/main/210906-arch-instalace#nvidia-grafick%C3%A1-karta)NVIDIA grafická karta
Pokud používáte LTS, nezpomeňte zvolit suffix LTS v názvu balíčků.
```
pacman -S xorg
pacman -S nvidia nvidia-utils
pacman -S nvidia-lts nvidia-utils-lts (varianta pro LTS kernel)
```
### [](https://github.com/raven2cz/tux/tree/main/210906-arch-instalace#virtualbox-support)Virtualbox Support
Pokud systém testujete v virtualboxu, doporučuji nainstalovat další balíčky.
```
pacman -S virtualbox-guest-utils xf86-video-vmware
```
#### [](https://github.com/raven2cz/tux/tree/main/210906-arch-instalace#nvidia-tty-nespu%C5%A1t%C4%9Bn%C3%AD-tty-termin%C3%A1lu-%C4%8Dern%C3%A1-obrazovka)NVIDIA TTY (nespuštění tty terminálu, černá obrazovka)
Nvidia kartami občas bývá problém, dlouhé diskuze zde vést nebudu. Doporučuji přidat nvidia do KMS. Tento krok můžete udělat/neudělat kdykoliv bude potřeba, pokud ale máte černou obrazovku po restartu systému, budete toto muset udělat hned.
```
sudo vim /etc/mkinitcpio.conf
(editovat následující dvě řádky v souboru)
MODULES=(nvidia nvidia_modeset nvidia_uvm nvidia_drm)
FILES="/etc/modprobe.d/nvidia.conf
sudo mkinitcpio -P
nvim /etc/modprobe.d/nvidia.conf
(přidat tuto řádku do souboru a uložit)
options nvidia_drm modeset=1
```
Ještě pro jistotu doporučuji přidat `*nvidia-drm.modeset=1` do příkazů při spuštění kernelu v `grub.cfg` (pokud používáte grub). Viz dokument [https://wiki.archlinux.org/index.php/kernel\_parameters](https://wiki.archlinux.org/index.php/kernel_parameters](https://wiki.archlinux.org/index.php/kernel/_parameters](https://wiki.archlinux.org/index.php/kernel_parameters)
Později po restartu systému (teď ještě nerestartovat!) ověřit si správné instalovanou nvidia kartu pomocí příkazu
```
lspci -vnn | grep VGA
```
## [](https://github.com/raven2cz/tux/tree/main/210906-arch-instalace#p%C5%99id%C3%A1n%C3%AD-u%C5%BEivatele-linuxu)Přidání uživatele Linuxu
Nyní již můžeme přidat naše uživatele linuxu. Nutno v příkazech zaměnit `` za vaše jméno. Já v ukázkách používám jméno uživatele `box`.
Velmi užitečnou výhodou v archu je použití již připravených skupin: `storage` a `power`. Umožňují jednoduše používat mountování disků a vypínání/restart systému přímo uživatelem, bez nutnosti dalších berliček.
```
useradd -m -g users -G wheel,storage,power -s /bin/bash
passwd
pacman -S sudo
EDITOR=nvim visudo,  (odkomentovat řádku) %wheel ALL=(ALL) ALL
```
## [](https://github.com/raven2cz/tux/tree/main/210906-arch-instalace#instalace-bootloader-grub2)Instalace Bootloader Grub2
Instalace bootloaderu pro možnost dual boot s windows, popř. přepínání s dalšími operačními systémy. Rovněž konfigurace dostupných kernelů pro zavedení a spuštění. Zde je celá řada možností. Uvádím zde jedno z nejstarších řešení.
```
pacman -S grub efibootmgr dosfstools os-prober mtools
```
Vytvoření adresáře kde bude mountována EFI partition:
```
mkdir /boot/efi
```
Nyní připojíme EFI partition, kterou jsme dříve vytvořili v prvním kroku instalace.
```
mount /dev/sda1 /boot/efi
```
Instalace grub2 například takto pro UEFI:
```
grub-install --target=x86_64-efi --bootloader-id=ARCH --efi-directory=/boot/efi --recheck
```
V tomto případě potom budeme mít v biosu v nabídce jméno EFI části `ARCH` (bootloader-id).
Nakonec se musí zavolat natažení konfigurace do `grub.cfg`
```
grub-mkconfig -o /boot/grub/grub.cfg
```
Základní systém je hotov.
## [](https://github.com/raven2cz/tux/tree/main/210906-arch-instalace#restart-z%C3%A1kladn%C3%ADho-syst%C3%A9mu-a-jeho-test)Restart základního systému a jeho test
Nejprve regulerně opustě chroot prostředí pomocí `exit` příkazu nebo klávesovou zkratkou `ctrl+d`. Volitelně můžete odpojit mountované disky `umount -R /mnt`.
Nakonec zavolejte:
```
reboot
```
Po restartu systému se spustí grub2 a po správném zavedení systému se objeví tty terminál se zadáním uživatelského jména a zvoleného hesla.
Po úspěšném přihlášení jste ve svém novém Arch systému! Vítejte doma ![](https://github.githubassets.com/images/icons/emoji/unicode/1f427.png)
https://www.youtube.com/watch?v=gpIFaCIB9Cg&t=1170s
# Důležité odkazy
- [Youtube Channel TUX: Svět Linuxu](https://www.youtube.com/user/tondafischer/featured)
- [archlinux.org](https://archlinux.org/)
- [wiki.achlinux.org](https://wiki.archlinux.org/)
- [fishlive.org/blog](https://fishlive.org/en/blog-tech-art/arch)
- [github/raven2cz/tux](https://github.com/raven2cz/tux)
- [github/raven2cz/dotfiles](https://github.com/raven2cz/dotfiles)