User Tools

Site Tools


sysadmin:install_encrypted_archlinux

Installation d'une Arch Linux chiffrée

Installation réalisée sur elan.slaanesh.org avec le live cd Arch Linux 2019.10.

Passage du clavier en bepo

# loadkeys fr-bepo

Activation du WiFi

# cp /etc/netctl/examples/wireless-wpa /etc/netctl/wifi
# vim /etc/netctl/wifi
# netctl start wifi

Activation de sshd pour faire l'installation depuis une autre machine

# passwd
# systemctl start sshd

Effacement sécurisé des données précédentes (optionnel mais améliore la sécurité)

# dd if=/dev/urandom of=/dev/sda bs=4M status=progress

Partionnement du disque dur

// schéma:
//  - BIOS partition (si machine BIOS), 1MB, type "BIOS boot" 
//  - EFI partition (si machine EFI), 512MB, type "EFI System"
//  - /boot, 4GB, type "Linux filesystem"
//  - conteneur chiffré, reste du disque
# cfdisk /dev/sda

Création et montage du conteneur chiffré

# cryptsetup luksFormat /dev/sda3
# cryptsetup open /dev/sda3 elan-container

Création des volumes logiques

# pvcreate /dev/mapper/elan-container
# vgcreate elan /dev/mapper/elan-container
# lvcreate -L 16G elan -n swap
# lvcreate -L 100G elan -n root
# lvcreate -l 100%FREE elan -n home

Création des systèmes de fichier

# mkfs.fat -F32 /dev/sda1
# mkswap /dev/elan/swap
# mkfs.ext4 /dev/sda2
# mkfs.ext4 /dev/elan/root
# mkfs.ext4 /dev/elan/home

Montage des partitions

# swapon /dev/elan/swap
# mount /dev/elan/root /mnt
# mkdir /mnt/{boot,efi,home}
# mount /dev/sda2 /mnt/boot
# mount /dev/sda1 /mnt/efi
# mount /dev/elan/home /mnt/home

Choix du mirroir

# echo 'Server = https://mirrors.slaanesh.org/archlinux/$repo/os/$arch' > /etc/pacman.d/mirrorlist

Installation du système de base

# pacstrap /mnt base base-devel efibootmgr grub linux linux-firmware lvm2man-db man-pages neovim networkmanager openssh os-prober sudo texinfo zsh

Génération du fichier fstab

# genfstab -U /mnt >> /mnt/etc/fstab 

Changement de la racine

# arch-chroot /mnt /usr/bin/zsh

Choix du nom de la machine

# HOSTNAME="elan.slaanesh.org"

Configuration de l'heure

# ln -sf /usr/share/zoneinfo/Europe/Paris /etc/localtime
# hwclock --systohc

Configuration de la localisation du système

# sed -i 's/#en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' /etc/locale.gen
# locale-gen
# echo 'LANG=en_US.UTF-8' > /etc/locale.conf
# echo 'KEYMAP=fr-bepo' > /etc/vconsole.conf

Configuration du réseau

# echo "${HOSTNAME}" > /etc/hostname
# cat > /etc/hosts <<EOF
127.0.0.1 ${HOSTNAME} ${HOSTNAME%%.*} localhost.localdomain localhost
::1 ${HOSTNAME} ${HOSTNAME%%.*} localhost.localdomain localhost
EOF
# systemctl enable NetworkManager

Activation du serveur ssh

# systemctl enable sshd

Configuration de sudo

# sed -ie 's/^# %wheel ALL=(ALL) ALL/%wheel ALL=(ALL) ALL/' /etc/sudoers

Installation du micro-code CPU (en fonction du processeur)

# pacman -S amd-ucode
# pacman -S intel-ucode

Initramfs

# sed -i 's/^HOOKS=\(.*\)/HOOKS=(base systemd autodetect modconf block keyboard sd-vconsole sd-encrypt sd-lvm2 fsck filesystems resume)/' /etc/mkinitcpio.conf
# mkinitcpio -P

Grub

# grub-install --target=x86_64-efi --efi-directory=/efi --bootloader-id=GRUB
# sed -i 's@^GRUB_TIMEOUT=.*@GRUB_TIMEOUT=2@' /etc/default/grub
# sed -i 's@^GRUB_CMDLINE_LINUX_DEFAULT=".*"@GRUB_CMDLINE_LINUX_DEFAULT="rd.luks.name=3a2a5ddf-05b8-4bcd-b624-bbb35ff1394a=elan-container root=/dev/elan/root resume=/dev/elan/swap loglevel=3 quiet"@' /etc/default/grub
# grub-mkconfig -o /boot/grub/grub.cfg

Configuration de root et cie

# passwd
# chsh -s /usr/bin/zsh
# cat >> /etc/profile <<EOF
SUDO_EDITOR=nvim
EDITOR=nvim
VISUAL=nvim
PAGER=less  
EOF

Reboot

# exit
# umount -R /mnt
# reboot
sysadmin/install_encrypted_archlinux.txt · Last modified: 2019/11/30 15:38 by killruana