# Arch Linux - instalacja Strona projektu: [Arch Linux](https://demo.hedgedoc.org/FOMrmQ-YQ1mOd93Zgui3hA?both "Arch Linux") Oficjalna instrukcja instalacji [Installation guide](https://wiki.archlinux.org/title/Installation_guide "Instalation guide") Zalozenia specyfikacji sprzetu: Dysk 1 (sda) - partycje: EFI, /, /opt Dysk 2 (sdb) - partycja /home; szyfrowanie Drugi dysk bedzie szyfrowany w celu zabezpieczenia wrazliwych danych. NIC 1 - dhcp (adres przydzieli VirtualBox, prawdopodobnie 10.0.2.15, NAT) NIC 2 - konfiguracja manualna (siec host only 192.168.57.57/24) ### Konfiguracja sieci ``` ip link ip address show ip address add 192.168.57.57/24 dev enp0s8 (opcjonalnie) ip route add 0/0 via 192.168.57.1 ping archlinux.org -c 3 ping 192.168.57.57 -c 3 ``` ### Polaczenie z lokalnego terminala Ma zastosowanie jedynie w przypadku instalacji w virtualnej maszynie ``` ss -ntulp passwd (z lokalnego terminala) ssh -l root 192.168.57.57 ``` ### Sprawdzenie ustawienia czasu ``` timedatectl timedatectl set-ntp true ``` ### Konfiguracja repozytoriow ``` reflector -c Poland -a 6 --sort rate --save /etc/pacman.d/mirrorlist cat /etc/pacman.d/mirrorlist pacman -Sy ``` ### Weryfikacja boot mode ``` cat /sys/firmware/efi/fw_platform_size ``` - __64__ - boot mode EFI, system 64-bit - __32__ - boot mode EFI, system 32-bit - __brak pliku__ bootujemy z uzyciem BIOS ### Partycjonowania dyskow ### ``` lsblk gdisk /dev/sda Number Start (sector) End (sector) Size Code Name 1 2048 2099199 1024.0 MiB EF00 EFI system partition 2 2099200 86327295 40.2 GiB 8300 Linux filesystem cryptsetup -v -s 512 luksFormat /dev/sdb cryptsetup open /dev/sdb crypto_home pvcreate /dev/sda2 pvcreate /dev/mapper/crypto_home pvs PV VG Fmt Attr PSize PFree /dev/mapper/crypto_home lvm2 --- 7.98g 7.98g /dev/sda2 lvm2 --- 40.16g 40.16g vgcreate vg0 /dev/sda2 lvcreate -n lvroot -L 35G vg0 lvcreate -n lvopt -l 100%FREE vg0 lvs LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert lvopt vg0 -wi-a----- 5.16g lvroot vg0 -wi-a----- 35.00g vgcreate vg1 /dev/mapper/crypto_home lvcreate -n lvhome -l 100%FREE vg1 lvs LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert lvopt vg0 -wi-a----- 5.16g lvroot vg0 -wi-a----- 35.00g lvhome vg1 -wi-a----- 7.98g vgs VG #PV #LV #SN Attr VSize VFree vg0 1 2 0 wz--n- 40.16g 0 vg1 1 1 0 wz--n- 7.98g 0 ``` ### Zakladanie systemow plikow ``` mkfs.fat -F32 /dev/sda1 mkfs.ext4 /dev/vg0/lvroot mkfs.ext4 /dev/vg0/lvopt mkfs.ext4 /dev/vg1/lvhome ``` ### Mountowanie partycji ``` mount /dev/vg0/lvroot /mnt mkdir -p /mnt/{boot,home,opt} mount /dev/sda1 /mnt/boot mount /dev/vg0/lvopt /mnt/opt mount /dev/vg1/lvhome /mnt/home ``` ### Instalacja bazowego systemu ``` pacstrap /mnt base linux linux-firmware vim intel-ucode lvm2 ``` ### Wygenerowanie fstab ``` genfstab -U /mnt >> /mnt/etc/fstab ``` ### Generowanie crypttaba ``` echo "crypto_home UUID=fed2ef40-6a2c-4957-8fdf-6cda1e82a0f5 none luks,discard" >> /mnt/etc/crypttab ``` ### chroot ``` arch-chroot /mnt ``` ### dodaje plik wymiany "swapfile" ``` dd if=/dev/zero of=/swapfile bs=1M count=1024 status=progress chmod 600 swapfile mkswap /swapfile swapon /swapfile echo "/swapfile none swap default 0 0" >> /etc/fstab ``` ### ustawienie strefy czasowej ``` ln -sf /usr/share/zoneinfo/Europe/Warsaw /etc/localtime ``` ### ustawiamy localesy ``` vim /etc/locale.gen locale-gen echo LANG=en_US.UTF-8 > /etc/locale.conf ``` ### hostname ``` echo "archlaptop" >> /etc/hostname vim /etc/hosts ``` __zawartosc pliku `/etc/hosts`:__ ``` # Static table lookup for hostnames. # See hosts(5) for details. 127.0.0.1 localhost 127.0.1.1 archlaptop.localdomain archlaptop # ipv6 ::1 localhost ``` ### haslo dla konta root ``` passwd root ``` ### instalacja dodatkowych pakietow ``` pacman -Sy efibootmgr base-devel networkmanager wireless_tools wpa_supplicant pacman -S linux-headers reflector git wget curl rsync man bash-completion ``` ### rekofiguracja rozruvhu systemu ``` vim /etc/mkinitcpio.conf ``` Zmieniamy linijke z HOOKami dodajac moduly `encrypt` i `lvm2` ``` HOOKS=(base udev autodetect modconf kms keyboard keymap consolefont block encrypt lvm2 filesystems fsck) ``` ``` mkinitcpio -p linux ``` ### Instalacja bootloadera ``` bootctl --path=/boot install cd /boot/loader vim loader.conf ``` __zawartosc pliku `loader.conf`:__ ``` timeout 5 #console-mode keep default archlinux ``` Tworzymy plik `archlinux.conf` w katalogu `/boot/loader/entries` ``` title Arch Linux linux /vmlinuz-linux initrd initramfs-linux.img options root=/dev/vg0/lvroot rw ``` ### reboot - Mozemy opcjonalnie odmountowac partycje - Upewniamy sie, ze system zbootuje sie z dysku twardego - Wychodzimy z chroota - Rebootujemy system ``` reboot ``` ### Konifiguracja sieci ``` systemctl status NetworkManager systemctl enable --now NetworkManager ```