Script di installazione automatica per Arch Linux, sviluppati e testati su hardware reale.
| Script | Descrizione |
|---|---|
install-arch.sh |
Installazione completa con scelta DE (GNOME, KDE, Cinnamon, XFCE, Niri+Noctalia) |
install-arch-gnome.sh |
Installazione dedicata GNOME con scelta bootloader (GRUB, systemd-boot, Limine) |
- Boot da Arch Linux ISO in modalità UEFI
- Connessione internet (WiFi o Ethernet)
- Disco da almeno 20GB
loadkeys itSe sei collegato via cavo, la rete è già attiva. Verifica con:
ping -c 3 archlinux.orgiwctlDentro iwctl:
device list
station wlan0 scan
station wlan0 get-networks
station wlan0 connect "NomeDellaRete"Digita la password quando richiesta, poi esci:
exitVerifica la connessione:
ping -c 3 archlinux.orgcurl -O https://raw.githubusercontent.com/mruin/arch-install/main/install-arch.sh
chmod +x install-arch.sh
./install-arch.shcurl -O https://raw.githubusercontent.com/mruin/arch-install/main/install-arch-gnome.sh
chmod +x install-arch-gnome.sh
./install-arch-gnome.sh- Filesystem btrfs con subvolumi:
@,@home,@snapshots,@log,@cache - Kernel linux-zen
- ZRAM swap con compressione zstd
- Snapper con snapshot automatici pre/post ogni operazione pacman
- Locale e tastiera italiani
- SSH abilitato
- NetworkManager
- zsh + Oh My Zsh + Powerlevel10k
- Plugin: git, sudo, archlinux, autosuggestions, syntax-highlighting, history-substring-search, colored-man-pages
- Greeter di benvenuto con info sistema (uptime, RAM, IP, disco, snapshot, aggiornamenti)
- Funzione
saliasper salvare alias persistenti - Funzione
listaper visualizzare gli alias - Wrapper
parucon controllo automatico riavvio dopo aggiornamenti
paru— AUR helperbat— sostituto dicatbtop— sostituto dihtopneedrestart— controllo riavvio kernel
| Opzione | Scelte disponibili |
|---|---|
| CPU | AMD / Intel |
| Disco | Qualsiasi (nvme, sata, virtio) |
| DE | Nessuno, GNOME, KDE Plasma, Cinnamon, XFCE, Niri+Noctalia |
| Display server | Wayland / X11 |
| Driver video | VirtualBox, NVIDIA, AMD, Intel, automatico |
| Tipo macchina | Desktop/VM, Laptop ASUS, ThinkPad Intel, ThinkPad AMD |
| VirtualBox Guest Additions | Sì / No |
| ZRAM | Dimensione in MB (default: 3072) |
| Opzione | Scelte disponibili |
|---|---|
| CPU | AMD / Intel |
| Disco | Qualsiasi (nvme, sata, virtio) |
| Display server | Wayland / X11 |
| Driver video | VirtualBox, NVIDIA, AMD, Intel, automatico |
| Bootloader | GRUB, systemd-boot, Limine |
| VirtualBox Guest Additions | Sì / No |
| ZRAM | Dimensione in MB (default: 4096) |
| Plymouth | Sì / No (tema arch-charge-big) |
- Battery limit all'80% via
asus-nb-wmi - Alias
battery-limit(blocca all'80%) ebattery-full(sblocca al 100%) - Persistente al riavvio tramite udev
thermaldper gestione termica IntelTLPottimizzato per ThinkPad con profili AC/batteria- Battery threshold start 75% / stop 80% gestito da TLP
- Retroilluminazione tastiera persistente al boot (livello 1)
acpi_callper battery threshold- Driver Intel:
mesa,vulkan-intel,intel-media-driver,libva-intel-driver - Audio:
pipewire+wireplumber - Bluetooth:
bluez
paru -S ttf-nerd-fonts-symbols noto-fonts-emoji
p10k configureDopo il primo boot con Niri, installa Noctalia Shell:
paru -S noctalia-shellPoi decommmenta la riga in ~/.config/niri/config.kdl:
spawn-at-startup "qs" "-c" "noctalia-shell"
Riavvia niri con Mod+Shift+E.
Durante lo sviluppo sono stati documentati e risolti questi problemi:
- fstab /boot errato:
genfstabpuò generare una riga/bootcome subvolume btrfs invece della partizione EFI vfat — causa moduli kernel non caricabili dopo aggiornamento. Risolto con sostituzione automatica. - vconsole.conf mancante: va creato prima di
mkinitcpio, altrimenti genera un warning durante la build. - Snapper in chroot:
snapper create-configfallisce in chroot per mancanza di dbus. Risolto con configurazione manuale. - NetworkManager-wait-online: disabilitato per evitare timeout al boot quando la rete non è subito disponibile.
- Binario Noctalia: il binario corretto è
qs, nonnoctalia-qs. - p10k instant prompt: impostato
POWERLEVEL9K_INSTANT_PROMPT=quietper evitare warning con il greeter.
In caso di problemi dopo un aggiornamento, avvia dalla live ISO e ripristina:
# Monta il filesystem al top level
mount -o subvolid=5 /dev/sdX2 /mnt
# Elimina subvolumi annidati se presenti
btrfs subvolume delete /mnt/@/var/lib/portables 2>/dev/null || true
btrfs subvolume delete /mnt/@/var/lib/machines 2>/dev/null || true
# Elimina @ corrente e ripristina dallo snapshot desiderato
btrfs subvolume delete /mnt/@
btrfs subvolume snapshot /mnt/@snapshots/NUM/snapshot /mnt/@
# Monta e reinstalla GRUB
mount -o subvol=@ /dev/sdX2 /mnt
mount /dev/sdX1 /mnt/boot
mount -o subvol=@home /dev/sdX2 /mnt/home
mount -o subvol=@snapshots /dev/sdX2 /mnt/.snapshots
mount -o subvol=@log /dev/sdX2 /mnt/var/log
mount -o subvol=@cache /dev/sdX2 /mnt/var/cache
arch-chroot /mnt
grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=GRUB
grub-mkconfig -o /boot/grub/grub.cfg
exit
rebootSostituisci
sdX1esdX2con le tue partizioni reali, eNUMcon il numero dello snapshot pre-aggiornamento.
| Hardware | Stato |
|---|---|
| VirtualBox VM (AMD Ryzen 9 5900HX) | ✅ |
| Asus VivoBook S15 S530F | ✅ |
| Lenovo ThinkPad T14 Gen1 Intel (i5-10310U) | ✅ |