mercredi 14 décembre 2022

Archlinux sur une clé USB

Installation d'Arch Linux sur une clé USB. Le résultat est une installation persistante identique à une installation normale d'un «disque dur» avec quelques optimisations de performances destinées à faire tourner linux sur des supports flash amovibles. Elle utilise un démarrage UEFI avec EFISTUB.

Introduction

La procédure décrite ici diffère assez peu d'une installation normale d'ArchLinux sur un «disque dur», généralement un SSD. Les petites nuances décrites ici sont essentiellement:

Sources :

Guide d'installation

Install Arch Linux on a removable medium

EFISTUB

ArchLinux USB

Installation

Une clé de 64 Go suffit amplement. Il faut bien repérer la clé cible au moyen par exemple de lsblk. Cette cible pourrait être /dev/sdb, /dev/sdc voire /dev/sdd. Dans la suite nous ferons référence à /dev/sdd

Attention cette phase est critique. Il ne faut pas se tromper de cible sous peine de courir à l'irréparable.

Préparation du support

Nous allons créer deux partition sur cette clé :

  1. une partition de type fat 32 de 512 Mo pour le boot
  2. une partition de type ext4 pour le système
sgdisk -o -n 1:0:+512M -t 1:EF00 -n 2:0:0 -t 2:8300 /dev/sdd

Puis nous allons les formater :

mkfs.fat -F32 /dev/sdd1
mkfs.ext4 /dev/sdd2

Et enfin les monter. Pour ce faire nous créons un point de montage appelé usb pour monter la partition racine du nouveau système

mkdir usb
mount /dev/sdd2 usb

Puis un dossier usb/boot pour monter l'EFI

mkdir usb/boot
mount /dev/sdd1 usb/boot

Installation du système

On commence par télécharger et installer Arch Linux avec pacstrap.

pacstrap usb linux linux-firmware base vim

Puis on génère fstab en utilisant les UUIDs.

genfstab -U usb > usb/etc/fstab

Configuration

On change de root.

arch-chroot usb

Locale

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

Edition de /etc/locale.gen pour décommenter en_US.UTF-8 et fr_FR.UTF-8.

vim /etc/locale.gen

Et générer les locales.

locale-gen

Définir la variable LANG dans /etc/locale.conf.

echo LANG=fr_FR.UTF-8 > /etc/locale.conf

Connexion

iwctl
device list
station wlan0 scan
station wlan0 get-networks
station wlan0 connect Livebox password
station wlan0 show



Réalisé avec Qlam - LGPL