Skip to content

Latest commit

 

History

History
234 lines (173 loc) · 6.21 KB

README.md

File metadata and controls

234 lines (173 loc) · 6.21 KB

Installazione Arch Linux Full Disk Encryption (LVM on LUKS) (incluso /boot)

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