102 lines
7.3 KiB
Markdown
102 lines
7.3 KiB
Markdown
---
|
|
layout: post
|
|
title: Instalujeme Arch Linux ARM na Raspberry Pi 3
|
|
subtitle: Protože proč ne
|
|
categories: tutoriál
|
|
tags: návod rpi arch
|
|
sidebar: []
|
|
---
|
|
![Arch Linux ARM logo](https://archlinuxarm.org/public/images/alarm.png)
|
|
|
|
Raspbian OS už je ohraný. Pojďme si nainstalovat [ARM verzi Arch Linuxu](https://archlinuxarm.org/platforms/armv8/broadcom/raspberry-pi-3) na Raspberry Pi 3. Proces je relativně prostý.
|
|
|
|
# Připravujeme SD kartu
|
|
Nejdřív je nutné SD kartu naformátovat a rozdělit oddíly. Můžete to udělat svým oblíbeným způsobem, já použiji GUI nástroj GParted.
|
|
|
|
Odstraníme všechny oddíly skrz kontextové menu pravého kliknutí a potvrzení fajfkou.
|
|
|
|
![Odstraněné oddíly v GParted](/assets/images/rpi-arch/01.png)
|
|
|
|
Následně vytvoříme jeden FAT32 oddíl, který bude sloužit jako bootovací. Bude stačit 128 MiB.
|
|
|
|
![Vytváření FAT32 oddílu v GParted](/assets/images/rpi-arch/02.png)
|
|
|
|
Druhý oddíl bude náš systémový, který bude ext4.
|
|
|
|
![Vytváření ext4 oddílu v GParted](/assets/images/rpi-arch/03.png)
|
|
|
|
Jakmile fajfkou potvrdíme a necháme oddíly vytvořit, můžete je ještě zformátovat, nicméně je nejdůležitější nastavit `boot` příznak na našem boot oddílu skrz kontextové menu.
|
|
|
|
![Výběr příznaků v GParted](/assets/images/rpi-arch/04.png)
|
|
|
|
Tak je všechno hotovo v GParted.
|
|
|
|
# Přesouváme systém
|
|
Dále připojíme naše oddíly podle jejich identifikátoru a čísla připojíme.
|
|
|
|
Nejdřív si vytvoříme složky, `sudo mkdir -p /mnt/archpi/{root,boot}` nám vytvoří složky `root` a `boot` pro naše oddíly.
|
|
|
|
Dále příkazem `sudo mount /dev/sdc1 /mnt/archpi/root` připojíme náš FAT32 bootovácí oddíl (**Označení `sdc1` se u vás může lišit, podívejte se do GPartedu nebo skrz příkaz `lsblk` na označení jednotlivých oddílů**) a příkazem `sudo mount /dev/sdc2 /mnt/archpi/boot` připojíme systémový oddíl.
|
|
|
|
Dle oficiální [dokumentace](https://archlinuxarm.org/platforms/armv8/broadcom/raspberry-pi-3) se další proces má dělat skrz root uživatele, takže se přepneme příkazem `sudo su`.
|
|
|
|
Příkazem `wget http://os.archlinuxarm.org/os/ArchLinuxARM-rpi-armv7-latest.tar.gz` stáhneme archiv a příkazem `tar -xf ArchLinuxARM-rpi-armv7-latest.tar.gz -C /mnt/archpi/root` ho rozbalíme.
|
|
|
|
Pak musíme přesunout bootovací soubory do bootovacího oddílu: `mv /mnt/archpi/root/boot/* boot` a tím jsme hotovi, stačí oddíly odpojit příkazem `umount /mnt/archpi/root` a `umount /mnt/archpi/boot`. Jakmile se příkazy dokončí, můžete SD kartu vložit do RPi a zapnout.
|
|
|
|
Výchozí jméno a zároveň heslo uživatele je `alarm` a roota `root`. Než bude systém nastavený, doporučuji použít `root` účet.
|
|
|
|
# Připojení k Wi-Fi síti
|
|
*Pokud používáte kabelové připojení, tak můžete přeskočit*
|
|
Nyní se připojíme skrz terminál k Wi-Fi síti. Předpokládám, že název (SSID) sítě a heslo znáte a že zabezpečení je WPA2 Personal. Jinak si můžete prohlédnout [Arch Wiki](https://wiki.archlinux.org/title/Network_configuration/Wireless) pro více návodů.
|
|
|
|
Příkazem `iw dev` zjistíte název vašeho interfacu (např. já mám `wlan0`). Zapneme ho pomocí `ip link wlan0 up` (místo `wlan0` tedy použijte váš název interfacu).
|
|
|
|
Dále se tedy připojíme k nějaké Wi-Fi síti. Nejdřív musíme vytvořit konfigurační soubor pro `wpa_supplicant`, který slouží jako [suplikant](https://cs.wikipedia.org/wiki/Suplikant) s podporou WPA, WPA2 a WPA3.
|
|
|
|
Pomocí příkazu `nano /etc/wpa_supplicant/wpa_supplicant.conf` vstoupíme do editace konfiguračního souboru. Do něj vložíme následující dva řádky:
|
|
|
|
```
|
|
ctrl_interface=/run/wpa_supplicant
|
|
update_config=1
|
|
```
|
|
|
|
Klávesovou zkratkou `Ctrl+X`, zadáním `y` a potvrzením enterem uložíme soubor a opustíme editaci. wpa_supplicant teď můžeme spustit příkazem `wpa_supplicant -B -i wlan0 -c /etc/wpa_supplicant/wpa_supplicant.conf`.
|
|
|
|
S běžícím wpa_supplicant můžeme použít příkaz `wpa_cli`, kde můžeme konfigurovat síť.
|
|
|
|
Sítě zde můžete hledat příkazem [`scan`](https://wiki.archlinux.org/title/Wpa_supplicant#Connecting_with_wpa_cli), následováný `scan_results`.
|
|
|
|
Pro přidání sítě použijeme příkaz `add_network`. Terminál vrátí `0`, což je ID sítě, které můžeme konfigurovat. Příkazem `set_network 0 ssid "MYSSID"` nastavíme SSID (název) sítě na `MYSSID`. Příkazem `set_network 0 psk "passphrase"` nastavíme heslo na `passphrase`. Jakmile je nastaveno, můžeme povolit síť pomocí `enable_network 0`. Konfiguraci uložíme příkazem `save_config` a opustíme pomocí `quit`.
|
|
|
|
Jelikož ale právě teď nemáme IP adresu, musíme nastavit službu DHCP (pokud ji samozřejmě váš router má). Stačí zapnout službu `dhcpcd` pomocí příkazu `systemctl enable dhcpcd`. Abychom při každém zapnutí nemuseli síť manuálně zapínat, můžeme do `dhcpcd` přidat [hook](https://wiki.archlinux.org/title/Dhcpcd#10-wpa_supplicant), který ji automaticky zapne, stačí použít `ln -s /usr/share/dhcpcd/hooks/10-wpa_supplicant /usr/lib/dhcpcd/dhcpcd-hooks/`.
|
|
|
|
V tomto stádiu doporučuji restartovat příkazem `reboot`.
|
|
|
|
# Nastavujeme správce balíků
|
|
Aktuálně bychom měli mít funkční síť, nicméně je potřeba pár dalších příkazů pokud chceme používat `pacman` správce balíků.
|
|
|
|
Nejdřív musíme vytvořit klíčenku příkazem `pacman-key --init`, poté přidáme klíče Arch ARM repozitářů příkazem `pacman-key --populate archlinuxarm`. Teď můžete příkazem `pacman -Sy` repozitáře synchronizovat.
|
|
|
|
Jako první balík bychom měli stáhnout [`sudo`](https://wiki.archlinux.org/title/sudo), abychom nemuseli používat `root` uživatele pro všechno nastavování. Nainstalujeme ho příkazem `pacman -S sudo`. Dále příkazem `nano /etc/sudoers` upravíme konfiguraci. Najdeme následující řádky (`Ctrl+W` pro hledání):
|
|
```
|
|
## Uncomment to allow members of group wheel to execute any command
|
|
#%wheel ALL=(ALL:ALL) ALL
|
|
```
|
|
a odstraníme mřížku před `%` pro odstranění komentáře. Tím umožníme uživatelům v uživatelské skupině `wheel` používat příkaz `sudo`.
|
|
|
|
Nyní přidáme uživatele `alarm` do skupiny `wheel` příkazem `gpasswd -a alarm wheel`. A teď už můžeme používat uživatele `alarm` pro různé administrativní operace místo roota.
|
|
|
|
# Nastavení SSH přístupu
|
|
Možná vás nebaví zapojovat RPi do monitoru nebo u něj klapat věci do klávesnice v terminálu nebo jen chcete vzdálený přístup. SSH lze povolit skrz OpenSSH, které je na Archu předinstalované. Stačí povolit službu pomocí `systemctl enable sshd`. Pro nějakou pokročilou konfiguraci si prohlédněte [Arch Wiki](https://wiki.archlinux.org/title/OpenSSH#Server_usage).
|
|
|
|
Nyní se stačí připojit skrz nějaký SSH klient na vaše zařízení (pokud neznáte IP, podívejte se skrz příkaz `ip a`), třeba skrz `ssh alarm@vase.ip.adresa`.
|
|
|
|
# HTTPS problémy
|
|
Pokud máte problémy s SSL nebo komunikací se zabezpečenými servery, zkuste nainstalovat balík `ca-certificates` a nastavit systémový čas skrz `timedatectl set-time "2022-10-29 15:00:00` (samozřejmě vaše datum).
|
|
|
|
# Závěr
|
|
|
|
![Arch neofetch](/assets/images/rpi-arch/05.png)
|
|
|
|
Instalace je opravdu prostý a snadný proces (i když jsem ho sám dělal asi 5x než mi to nabootovalo), takže určitě zkoušejte a zkoušejte.
|