Passer au contenu principal

Installation de ArchLinux dans VirtualBox

Version de ArchLinux téléchargée : 2021.07.01-x86_64.
Version de VirtualBox : 6.1.

Configuration de la machine virtuelle

  • 4Go mininum de mémoire vive.
  • Disquette désactivée.
  • 2 processeurs.
  • 128Mo de mémoire vidéo.
  • Accélération 3D désactivée.
  • Mode d'accès réseau par pont (en0: Wi-Fi).
  • Mode UEFI non activé.

Monter l'image ISO de ArchLinux sur le lecteur optique IDE de VirtualBox.

Lancement de l'installation

Installation guide.

Initialisation de l'installation

loadkeys fr
ping -c 4 archlinux.org
# [...] 4 pings et le résumé
timedatectl set-ntp true
timedatectl set-timezone Europe/Paris

Gestion du disque

Vérifier les disques

lsblk

Résultat :

NAME   MAJ:MIN  RM    SIZE  RO  TYPE  MOUNTPOINTS
loop0    7:0     0  641.6M   1  loop  /run/archiso/airootfs
sda      8:0     0     40G   0  disk
sr0     11:0     1  779.3M   0  rom   /run/archiso/bootmnt

Partitionner

Partition the disks.

fdisk /dev/sda

Résultat :

Command (m for help): n
Partition type
	p	primary (O primary, O extended, 4 free)
	e	extended (container for logical partitions)
Select (default p):
Partition number (1-4, default 1):
First sector (2048-83886079, default 2048):
Last sector, +/-sectors or +/-size{K,M,G,T,P} (2048-83886079, default 83886079): +4G

Created a new partition 1 of type 'Linux' […]

Command (m for help): t
Selected partion 1
Hex code or alias (type L to list all): 82
Changed type of partition 'Linux' to 'Linux swap / Solaris'.

Command (m for help): n
	[…]
Select (default p):
Partition number (2-4, default 2):
First sector […]:
Last sector, […]:

# pour afficher le résultat final
Command (m for help): p

Command (m for help): w
The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.

Vérifier la nouvelle table de partition

lsblk

Résultat :

NAME   MAJ:MIN  RM    SIZE  RO  TYPE  MOUNTPOINTS
loop0    7:0     0  641.6M   1  loop  /run/archiso/airootfs
sda      8:0     0     40G   0  disk
|—sda1   8:1     0      4G   0  part
|—sda2   8:2     0     36G   0  part
sr0     11:0     1  779.3M   0  rom   /run/archiso/bootmnt

Formater les partitions

Format the partitions.

Formater la partition swap.

mkswap /dev/sda1

Formter la partition home.

mkfs.ext4 /dev/sda2

Monter les partitions

swapon /dev/sda1
mount /dev/sda2 /mnt

Installation du système

Installation.

pacstrap /mnt base base-devel linux linux-firware sudo networkmanager vim zsh git man-db man-pages texinfo

Prendre un café…

Paramétrage du système

Générer la table de partition

Fstab.

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

Entrer dans le chroot

Chroot.

arch-chroot /mnt

Paramétrer le fuseau horaire et synchroniser l'horloge

Time zone.

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

Fichier locale.gen

Génération des données locales

Localization.

Décommenter les lignes en_US.UTF-8 UTF-8 (et fr_FR.UTF-8 UTF-8 si nécessaire) dans le fichier /etc/locale.gen.
Puis générer les données locales.

locale-gen

Résultat :

Generating locale...
	en_US.UTF-8... done
	fr_FR.UTF-8... done
Generation comple.

Régler les données locales par défaut

echo "LANG=en_US.UTF-8
LC_COLLATE=C" > /etc/locale.conf

Régler le clavier en français

echo "KEYMAP=fr-latin9" > /etc/vconsole.conf

Entrer le hostname

Network configuration.

echo "myarch" > /etc/hostname

Régler le fichier hosts

echo "127.0.0.1 localhost
::1 localhost
127.0.1.1 myarch.local myarch" >> /etc/hosts

Régler le mot de passe de root

Root password.

passwd

Définir l'éditeur par défaut

Mais aussi ajouter quelques aliases.

echo "alias l='ls -lah'
alias vi='vim'
export EDITOR='vim'" >> /etc/skel/.bashrc

Bootloader : grub

Arch boot process - Boot loader.
GRUB - MBR.

pacman -S grub
# […]
grub-install --target=i386-pc /dev/sda

(Re-)Générer le fichier de configuration principale.
GRUB - Generate the main configuration file.

grub-mkconfig -o /boot/grub/grub.cfg

Microcode(s)

Dans l'hypothèse d'une machine virtuelle déplaçable, installer les 2 microcodes.
Microcode.

pacman -S intel-ucode amd-ucode

Regénérer le fichier de configuration de Grub.

grub-mkconfig -o /boot/grub/grub.cfg

NetworkManager

NetworkManager.

systemctl enable NetworkManager

Redémarrer

exit
umount -R /mnt
reboot

Penser à éjecter l'image ISO d'installation…

Gestion des utilisateurs

Groupe wheel

Nécessite que sudo soit bien installé et que le VISUAL soit bien défini (par exemple vim).
Sudo.

visudo

Puis décommenter la ligne :

## Uncomment to allow members of group wheel to execute any command
%wheel ALL=(ALL) ALL

Ajout d'un utilisateur

useradd -m -g wheel -c '<username>' -s /usr/bin/zsh username
passwd <username>
exit

Personnalisation de zsh

La personnalisation se fait depuis le compte utilisateur.

Installer oh-my-zsh

ohmyz.sh.

sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

Personnaliser le thème voulu dans le fichier ~/.zshrc.

Installer le plugin zsh-autosuggestions

git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions

Activer le plugin dans le fichier ~/.zshrc.

plugins=([…] zsh-autosuggestions […])

Installer le plugin zsh-syntax-highlighting.

git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting

Le plugin doit être le dernier activé dans le fichier ~/.zshrc.

plugins=( [plugins...] zsh-syntax-highlighting)

Vraiment personnaliser zsh

yay -S ttf-meslo-nerd-font-powerlevel10k zsh-theme-powerlevel10k-git
[…]
echo "source /usr/share/zsh-theme-powerlevel10k/powerlevel10k.zsh-theme" >> ~/.zshrc

Relancer zsh et répondre au question pour peronnaliser ZSH Powerline 10k.

Si besoin, pour relancer la configuration de zsh-theme-powerlevel10k :

p10k configure

Serveur d'affichage Xorg

Xorg.

Vérifier le pilote vidéo nécessaire à la ligne Subsystem.

lspci -v | grep -A1 -e VGA -e 3D

Résultat :

00:02.0 VGA compatible controller: VMware SVGA II Adapter (prog-if 00 [VGA controller])
	Subsystem: VMware SVGA II Adapter
	Flags: bus master, fast devsel, latency 64, IRQ 18
pacman -S xorg-server xf86-video-vmware

Environnement de bureau : Plasma & KDE

KDE.

  • plasma → environnement de bureau.
  • kde-applications → ensemble d'applications.
  • Des polices…
  • packagekit-qt5 → permet à Discover de fonctionner correctement (Discover does not show any applications).
pacman -S plasma kde-applications ttf-{bitstream-vera,liberation,freefont,dejavu} freetype2 packagekit-qt5

Reprendre un deux trois cafés…

Gestionnaire d'affichage : SDDM

SDDM.

pacman -S sddm
systemctl enable sddm
localectl set-x11-keymap fr-latin9
systemctl start sddm

Il est possible de personnaliser le thème.

mkdir /etc/sddm.conf.d/
cat << EOF > /etc/sddm.conf.d/theme.conf
[Theme]
Current=breeze
EOF

Gestionnaire de paquets AUR

L'installation du gestionnaire de paquet soit se faire depuis un compte utilisateur (autre que root), sans quoi il n'est pas possible de lancer le makepkg.
AUR helpers.

git clone https://aur.archlinux.org/yay.git
cd yay
makepkg -si
yay -S yay

Si il y a une erreur, réinstaller base-devel.

Installer le Guest Additions

Install the Guest Additions.

pacman -S virtualbox-guest-utils
systemctl enable vboxservice
systemctl start vboxservice

Recommandations générales

General recommendations.