La seguente repo contiene istruzioni minimali per installare Arch Linux con Full Disk Encryption (LVM su LULS) inclusa la partizione /boot.
Per istruzioni dettagliate fare riferimento alla guida ufficiale: Installation guide (Italiano)
Scaricate una immagine iso da: https://www.archlinux.org/
Create una pennina bootable utilizzando la ISO che avete scaricato:
dd if=archlinux.img of=/dev/sdX bs=16M && sync # su linux
Eseguite il Boot dalla pennina USB appena creata.
Nelle istruzioni che seguono si assume che il boot sia stato eseguito correttamente e che vi troviate nella shell fornita dal setup di Arch Linux.
Connettetevi a una rete Wi-Fi utilizzando il comando
root@archiso ~ # wifi-menu
oppure usate un cavo ethernet.
Identificate il disco sul quale volete installare Arch Linux utilizzando il comando:
root@archiso ~ # lsblk
In questa guida utilizzeremo il disco
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 232.9G 0 disk
La struttura finale che vogliamo ottenere:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 232.9G 0 disk
└─sda1 8:1 0 232.9G 0 part
└─lvm 254:0 0 232.9G 0 crypt
├─vg-swap 254:1 0 4G 0 lvm
├─vg-root 254:2 0 20G 0 lvm /
└─vg-home 254:3 0 208.9G 0 lvm /home
Eseguiamo una pulizia del disco per eliminare eventuali dati sensibili:
shred -vfz --random-source=/dev/urandom -n 1 /dev/sda
Ci vorranno un paio di ore (minimo).
Iniziamo ora a partizionare il disco:
root@archiso ~ # parted -s /dev/sda mklabel msdos
root@archiso ~ # parted -s /dev/sda mkpart primary 2048s 100%
root@archiso ~ # cryptsetup -c aes-xts-plain64 -y --use-random --key-size 512 luksFormat /dev/sda1
root@archiso ~ # cryptsetup luksOpen /dev/sda1 lvm
root@archiso ~ # pvcreate /dev/mapper/lvm
root@archiso ~ # vgcreate vg /dev/mapper/lvm
root@archiso ~ # lvcreate -L 4G vg -n swap
root@archiso ~ # lvcreate -L 15G vg -n boot
root@archiso ~ # lvcreate -l +100%FREE vg -n home
root@archiso ~ # mkswap -L swap /dev/mapper/vg-swap
root@archiso ~ # mkfs.ext4 /dev/mapper/vg-boot
root@archiso ~ # mkfs.ext4 /dev/mapper/vg-home
root@archiso ~ # mount /dev/mapper/vg-boot /mnt
root@archiso ~ # mkdir /mnt/home
root@archiso ~ # mount /dev/mapper/vg-home /mnt/home
Un partizionamento di questo tipo mantiene separate le partizioni boot e home
A questo punto possiamo installare il sistema. Ho aggiunto anche alcuni pacchetti che tornano sicuramente utili al primo avvio del sistema:
root@archiso ~ # pacstrap -i /mnt base base-devel grub-efi-x86_64 zsh vim git efibootmgr dialog wpa_supplicant
Generate l'fstab:
root@archiso ~ # genfstab -pU /mnt >> /mnt/etc/fstab
Aggiungete questa riga al file /mnt/etc/fstab:
tmpfs /tmp tmpfs defaults,noatime,mode=1777 0 0
A questo punto, ho notato che queando si tenta di installare grub nei passaggi successi si incorre nell'errore
Failed to connect to lvmetad: No such file or directory. Falling back to internal scanning.
per evitare che ci siamo provlemi con lvm nei passaggi successivi, eseguite questi comandi:
root@archiso ~ # mkdir /mnt/hostrun
root@archiso ~ # mount --bind /run /mnt/hostrun
root@archiso ~ # arch-chroot /mnt /bin/bash
[root@archiso /]# mkdir /run/lvm
[root@archiso /]# mount --bind /hostrun/lvm /run/lvm
Notate che con root@archiso ~ # arch-chroot /mnt /bin/bash
siamo anche entrati nella shell del nuovo sistema.
Passiamo ora alla configurazione di alcuni parametri minori del sistema:
Timezone:
[root@archiso /]# ln -sf /usr/share/zoneinfo/Region/City /etc/localtime
[root@archiso /]# hwclock --systohc
Impostazioni di localizzazione:
Nel file /etc/locale.gen
rimuovete il commento a en_US.UTF-8 UTF-8
o altre localizzazioni di cui potreste aver bisogno.
Dopo di che:
[root@archiso /]# locale-gen
[root@archiso /]# ln -sf /usr/share/zoneinfo/Europe/Stockholm /etc/localtime
Impostate la variabile LANG in locale.conf /etc/locale.conf
:
LANG=en_US.UTF-8
Hostname /etc/hostname
:
myhostname
Aggiungete la corrispondente entry nel file /etc/hosts
:
127.0.0.1 localhost.localdomain localhost
::1 localhost.localdomain localhost
127.0.1.1 myhostname.localdomain myhostname
Impostate la password per l'utente root:
[root@archiso /]# passwd
Aggiungete un nuovo utente di sistema:
[root@archiso /]# useradd -m -g users -G wheel,games,power,optical,storage,scanner,lp,audio,video -s /bin/bash username
Impostate la password per l'utente appena creato:
[root@archiso /]# passwd username
Installate alcuni pacchetti che ci serviranno per terminare l'installazione:
[root@archiso /]# pacman -S sudo grub-bios os-prober
Possiamo ora configurare mkinitcpio:
[root@archiso /]# nano /etc/mkinitcpio.conf
Aggiungete ext4
a MODULES
e encrypt
e lvm2
a HOOKS
prima di filesystems
.
Rigenerate l'immagine initrd:
[root@archiso /]# mkinitcpio -p linux
Ora possiamo configurare GRUB: dato che abbiamo criptato il disco interamente dobbiamo fornire alcune indicazioni nel file di configurazione di GRUB /etc/default/grub
.
Modifichiamo con nano
[root@archiso /]# nano /etc/default/grub
e aggiungiamo la riga
GRUB_ENABLE_CRYPTODISK=y
inoltre aggiungiamo il parametro cryptodevice
per il kernel:
GRUB_CMDLINE_LINUX="cryptdevice=/dev/sda1:lvm"
Dopo di che possiamo eseguire:
[root@archiso /]# grub-mkconfig -o /boot/grub/grub.cfg
[root@archiso /]# grub-install /dev/sda
Siamo giunti alla conclusione del processo di installazione. Potete semplicemente riavviare con il comando:
[root@archiso /]# reboot
--
Rambod Rahmani rambodrahmani@autistici.org