mirror of
https://github.com/arthur-pbty/archinstallscript.git
synced 2026-08-01 20:28:08 +02:00
Mise à jour du script d'installation : amélioration des messages et suppression de la connexion Wi-Fi automatique. Ajout d'un fichier README.md pour la documentation.
This commit is contained in:
@@ -0,0 +1,45 @@
|
|||||||
|
# Arch Linux Auto-Install Script (Hyprland + Laptop Optimisé)
|
||||||
|
|
||||||
|
Script d'installation automatisée d'Arch Linux sans LUKS, avec BTRFS, systemd-boot et Hyprland.
|
||||||
|
|
||||||
|
## 🚀 Utilisation
|
||||||
|
|
||||||
|
Démarre sur la clé USB d'installation d'Arch Linux. Une fois sur le terminal root :
|
||||||
|
|
||||||
|
### 1. Configurer le clavier en Français
|
||||||
|
```bash
|
||||||
|
loadkeys fr-latin9
|
||||||
|
```
|
||||||
|
|
||||||
|
### 2. Se connecter au Wi-Fi (Requis pour télécharger le script)
|
||||||
|
```bash
|
||||||
|
iwctl
|
||||||
|
```
|
||||||
|
Une fois dans le prompt `iwctl` :
|
||||||
|
1. Cherche le nom de ton interface (souvent `wlan0`) : `device list`
|
||||||
|
2. Scanne les réseaux : `station wlan0 scan`
|
||||||
|
3. Affiche les réseaux : `station wlan0 get-networks`
|
||||||
|
4. Connecte-toi : `station wlan0 connect "TON_SSID_WIFI"` (remplace par le nom de ton réseau)
|
||||||
|
5. Tape ton mot de passe Wi-Fi quand demandé.
|
||||||
|
6. Quitte iwctl : `quit`
|
||||||
|
|
||||||
|
### 3. Télécharger et lancer le script
|
||||||
|
```bash
|
||||||
|
pacman -Sy --noconfirm git
|
||||||
|
git clone https://github.com/arthur-pbty/archinstallscript.git
|
||||||
|
cd archinstallscript
|
||||||
|
```
|
||||||
|
|
||||||
|
### 4. Vérifier les variables
|
||||||
|
Avant de lancer, vérifie que le disque cible et les mots de passe sont bons :
|
||||||
|
```bash
|
||||||
|
nano install.sh
|
||||||
|
```
|
||||||
|
*(Modifie les variables en haut du fichier, sauvegarde avec Ctrl+O, Entrée, quitte avec Ctrl+X)*
|
||||||
|
|
||||||
|
### 5. Lancer l'installation
|
||||||
|
```bash
|
||||||
|
chmod +x install.sh
|
||||||
|
./install.sh
|
||||||
|
```
|
||||||
|
Le PC s'éteindra/redémarrera tout seul à la fin.
|
||||||
+18
-22
@@ -7,8 +7,7 @@ DISK="/dev/sda" # Disque cible (ex: /dev/sda ou /dev/nvme0n1)
|
|||||||
USERNAME="archuser" # Ton nom d'utilisateur
|
USERNAME="archuser" # Ton nom d'utilisateur
|
||||||
USER_PASS="motdepasse123" # Mot de passe utilisateur
|
USER_PASS="motdepasse123" # Mot de passe utilisateur
|
||||||
ROOT_PASS="rootpassword123" # Mot de passe root
|
ROOT_PASS="rootpassword123" # Mot de passe root
|
||||||
WIFI_SSID="TonReseauWiFi" # Nom du réseau Wi-Fi
|
HOSTNAME="arch-laptop"
|
||||||
WIFI_PASS="CleWiFi123" # Clé WPA du Wi-Fi
|
|
||||||
# ==============================================================================
|
# ==============================================================================
|
||||||
|
|
||||||
set -e
|
set -e
|
||||||
@@ -29,27 +28,20 @@ else
|
|||||||
MICROCODE_IMG=""
|
MICROCODE_IMG=""
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# 2. Connexion Wi-Fi automatique
|
# 2. Vérification d'internet (le script suppose que tu as utilisé iwctl avant)
|
||||||
echo "Configuration du Wi-Fi..."
|
|
||||||
WLAN_IF=$(ls /sys/class/net/ | grep -v lo | grep wlan | head -n 1)
|
|
||||||
if [ -n "$WLAN_IF" ]; then
|
|
||||||
iwctl --passphrase "$WIFI_PASS" station "$WLAN_IF" connect "$WIFI_SSID"
|
|
||||||
sleep 5
|
|
||||||
fi
|
|
||||||
|
|
||||||
if ! ping -c 1 archlinux.org &> /dev/null; then
|
if ! ping -c 1 archlinux.org &> /dev/null; then
|
||||||
echo "Erreur : Pas de connexion internet. Vérifie tes variables Wi-Fi ou branche un câble Ethernet."
|
echo "❌ Erreur : Pas de connexion internet. Connecte-toi avec iwctl d'abord."
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
echo "Connexion internet établie."
|
echo "✅ Connexion internet établie."
|
||||||
|
|
||||||
# 3. Synchronisation horloge et dépôts
|
# 3. Synchronisation horloge et dépôts
|
||||||
echo "Préparation du système..."
|
echo "⏳ Préparation du système..."
|
||||||
timedatectl set-ntp true
|
timedatectl set-ntp true
|
||||||
pacman -Syy --noconfirm
|
pacman -Syy --noconfirm
|
||||||
|
|
||||||
# 4. Partitionnement automatique
|
# 4. Partitionnement automatique
|
||||||
echo "Partitionnement de $DISK..."
|
echo "⏳ Partitionnement de $DISK..."
|
||||||
if [[ $DISK == *"nvme"* ]] || [[ $DISK == *"mmcblk"* ]]; then
|
if [[ $DISK == *"nvme"* ]] || [[ $DISK == *"mmcblk"* ]]; then
|
||||||
PART_EFI="${DISK}p1"
|
PART_EFI="${DISK}p1"
|
||||||
PART_ROOT="${DISK}p2"
|
PART_ROOT="${DISK}p2"
|
||||||
@@ -62,8 +54,13 @@ sgdisk -Z "$DISK"
|
|||||||
sgdisk -n 1:0:+300M -t 1:ef00 "$DISK"
|
sgdisk -n 1:0:+300M -t 1:ef00 "$DISK"
|
||||||
sgdisk -n 2:0:0 -t 2:8300 "$DISK"
|
sgdisk -n 2:0:0 -t 2:8300 "$DISK"
|
||||||
|
|
||||||
|
# CORRECTION DE L'ERREUR : Forcer le noyau à relire la table des partitions
|
||||||
|
partprobe "$DISK" 2>/dev/null || true
|
||||||
|
udevadm settle
|
||||||
|
sleep 1
|
||||||
|
|
||||||
# 5. Formatage et Montage BTRFS optimisé
|
# 5. Formatage et Montage BTRFS optimisé
|
||||||
echo "Formatage BTRFS avec compression ZSTD..."
|
echo "⏳ Formatage BTRFS avec compression ZSTD..."
|
||||||
mkfs.fat -F32 "$PART_EFI"
|
mkfs.fat -F32 "$PART_EFI"
|
||||||
mkfs.btrfs -f "$PART_ROOT"
|
mkfs.btrfs -f "$PART_ROOT"
|
||||||
|
|
||||||
@@ -72,20 +69,20 @@ mkdir -p /mnt/boot
|
|||||||
mount "$PART_EFI" /mnt/boot
|
mount "$PART_EFI" /mnt/boot
|
||||||
|
|
||||||
# 6. Installation du système strict minimum et optimisé
|
# 6. Installation du système strict minimum et optimisé
|
||||||
echo "Installation des paquets (Noyau ZEN, Hyprland, Wayland, Opti Laptop)..."
|
echo "⏳ Installation des paquets (Noyau ZEN, Hyprland, Wayland, Opti Laptop)..."
|
||||||
pacstrap /mnt base base-devel linux-zen linux-zen-headers linux-firmware btrfs-progs \
|
pacstrap /mnt base base-devel linux-zen linux-zen-headers linux-firmware btrfs-progs \
|
||||||
networkmanager iwd sudo git neovim \
|
networkmanager sudo git neovim \
|
||||||
$MICROCODE power-profiles-daemon thermald acpi acpid brightnessctl \
|
$MICROCODE power-profiles-daemon thermald acpi acpid brightnessctl \
|
||||||
pipewire pipewire-pulse pipewire-alsa pipewire-jack wireplumber \
|
pipewire pipewire-pulse pipewire-alsa pipewire-jack wireplumber \
|
||||||
mesa wayland xdg-desktop-portal xdg-desktop-portal-hyprland \
|
mesa wayland xdg-desktop-portal xdg-desktop-portal-hyprland \
|
||||||
hyprland kitty wofi waybar hyprpaper ttf-jetbrains-mono-nerd
|
hyprland kitty wofi waybar hyprpaper ttf-jetbrains-mono-nerd
|
||||||
|
|
||||||
# 7. Génération fstab optimisée
|
# 7. Génération fstab optimisée
|
||||||
echo "Génération du fstab..."
|
echo "⏳ Génération du fstab..."
|
||||||
genfstab -U /mnt >> /mnt/etc/fstab
|
genfstab -U /mnt >> /mnt/etc/fstab
|
||||||
|
|
||||||
# 8. Configuration système dans le chroot
|
# 8. Configuration système dans le chroot
|
||||||
echo "Configuration du système..."
|
echo "⏳ Configuration du système..."
|
||||||
cat > /mnt/setup.sh << EOF
|
cat > /mnt/setup.sh << EOF
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
set -e
|
set -e
|
||||||
@@ -106,7 +103,7 @@ echo "$HOSTNAME" > /etc/hostname
|
|||||||
cat << HOSTS > /etc/hosts
|
cat << HOSTS > /etc/hosts
|
||||||
127.0.0.1 localhost
|
127.0.0.1 localhost
|
||||||
::1 localhost
|
::1 localhost
|
||||||
127.0.1.1 arch-laptop.localdomain arch-laptop
|
127.0.1.1 $HOSTNAME.localdomain $HOSTNAME
|
||||||
HOSTS
|
HOSTS
|
||||||
|
|
||||||
# Utilisateurs
|
# Utilisateurs
|
||||||
@@ -151,7 +148,6 @@ bootctl update
|
|||||||
|
|
||||||
# Services modernes pour laptop
|
# Services modernes pour laptop
|
||||||
systemctl enable NetworkManager
|
systemctl enable NetworkManager
|
||||||
systemctl enable iwd
|
|
||||||
systemctl enable power-profiles-daemon
|
systemctl enable power-profiles-daemon
|
||||||
systemctl enable thermald
|
systemctl enable thermald
|
||||||
systemctl enable acpid
|
systemctl enable acpid
|
||||||
@@ -193,7 +189,7 @@ rm /mnt/setup.sh
|
|||||||
umount -R /mnt
|
umount -R /mnt
|
||||||
|
|
||||||
echo "=================================================="
|
echo "=================================================="
|
||||||
echo "INSTALLATION TERMINÉE AVEC SUCCÈS !"
|
echo "✅ INSTALLATION TERMINÉE AVEC SUCCÈS !"
|
||||||
echo "=================================================="
|
echo "=================================================="
|
||||||
echo "Redémarrage dans 3 secondes..."
|
echo "Redémarrage dans 3 secondes..."
|
||||||
sleep 3
|
sleep 3
|
||||||
|
|||||||
Reference in New Issue
Block a user