SSD, Arch Linux, LVM, GPT
Je me suis accordé un petit plaisir : un SSD (Samsung 840 Pro chez LDLC) à greffer aux entrailles de mon Samsung N210 acheté d'occasion à une amie (qui a honteusement croqué une pomme), qui maintenant galope tel un bon petit diable. J'en ai profité pour refaire une installation de base, ayant la flemme de cloner le disque et n'ayant pas le matériel idoine non plus. Pour ne pas changer, j'ai installé Arch Linux, cette distribution qui n'en finit pas de me convenir.
À ce propos, je suis tombé sur ce gist reprenant un peu tout ce qu'il y a à savoir quant à une installation d'Arch Linux, à garder sous le coude (merci alphazo d'agréger tant d'informations) pour ceux qui ont des questions quant à l'installation de la bête. Comique, d'ailleurs, j'ai reconnu des passages de mon cru, je suis content de voir que mes articles peuvent servir.
Pourquoi encore Arch Linux ? Raison première : parce que. Ensuite, j'ai pris l'habitude du confort des distributions en rolling release : on installe et on configure, on ajoute le flux RSS de la page d'accueil à son agrégateur ou on s'inscrit à la liste d'annonce, et c'est stable, à jour, perpétuellement à jour, et pas de mauvaise surprise si on fait un tant soit peu attention.
L'installation est résolument simple, je serai intraitable là dessus, simple comme KISS. Pour cette nouvelle configuration que je pouvais triturer comme un adolescent son premier bouton, je me suis amusé : GPT et LVM, LUKS ça sera pour une prochaine fois.
[caption id="attachment_850" align="aligncenter" width="330"] LUKS, je suis ton père.[/caption]
On procède d'abord au formatage du disque, j'ai suivi à peu près cette méthode, à la différence du système de fichiers que j'ai changé pour ext4, créant un gros LVM avec des conteneurs boot
, swap
, root
et home
, monté dans /mnt
pour que tout soit rendu accessible depuis le système live.
Ensuite, installation de la panoplie de base avec pacstrap /mnt base base-devel
, à laquelle on j'ai ajouté grub-bios gnome gnome-extra gnome-tweak-tool gnome-shell-extensions firefox firefox-i18n-fr abiword abiword-plugins gnumeric meld minetest wireshark firewalld cpupower ntp cups redshift devilspie rhythmbox mlocate redshift seahorse seahorse-nautilus
, chacun rajoutera les paquets qui lui font plaisir, j'en ai bien quelques autres, plein d'autres très certainement, mais là n'est pas le propos.
[caption id="attachment_847" align="aligncenter" width="660"] 530 paquets installés, visualisation par pacgraph.[/caption]
Création du fstab avec un genfstab -U -p /mnt >> /mnt/etc/fstab
qui va bien, j'ai ajouté au mien les options relatime
et discard
:
UUID=8bf23251-41dc-44fa-aef0-e166cef2d651 / ext4 defaults,relatime,discard 0 1 UUID=4b188e53-0fb2-4807-af58-605fa6da97f9 /home ext4 defaults,relatime,discard 0 2 UUID=17e4a517-2dc9-44c2-89c6-7207d506d0a8 /boot ext4 defaults,relatime,discard 0 2 UUID=851b7cd7-e207-469d-a498-6b92696e0f0b none swap defaults 0 0
On poursuit avec un chroot
dans le disque avec arch-chroot /mnt
, histoire d'installer Grub sur les premiers secteurs du disque (grub-install /dev/sda
), configurer le mot de passe du compte root avec passwd
, créer un utilisateur tout de suite ajouté aux groupes qui vont bien (dans mon cas sys disk lp wheel locate network audio storage scanner power users wireshark
), puis passwd
pour cet utilisateur nouvellement créé, configuration de la locale et du fuseau horaire, etc. À ce stade, la marche à suivre ne diffère pas des multiples tutoriels qui pullulent sur Internet, dont le wiki d'Arch Linux (RTFW, relis ton foutu wiki) pour ne citer qu'une seule source.
[caption id="" align="aligncenter" width="350"] xkcd: RTFM (cc by-nc 2.5)[/caption]
Tant qu'on y est, autant ajouter de nouveaux répertoires à /etc/pacman.conf
(et ne pas oublier les options Color et ILoveCandy), repo-ck pour installer linux-ck
et les drivers liés (broadcom-wl-ck-atom
et linux-ck-atom-headers
sélectionnés à partir d'un seul pacman -S ck-atom
), archlinuxfr pour installer yaourt
afin d'aller chercher dans AUR gpaste electrum latexila samsung-tools profile-sync-daemon hplip-plugin
, pour ne retenir que les plus notables.
J'en ai profité pour copier quelques fichiers personnels dans /etc/{modprobe.d, modules-load.d, udev/rules.d, sysctl.d}
:
- /etc/modprobe.d/i915.conf
options i915 i915_enable_rc6=7 i915_enable_fbc=1 lvds_downclock=1
- /etc/modprobe.d/powersave.conf
# USB options usbcore autosuspend=1 # SOUNDCARD options snd-hda-intel enable_msi=1 options snd-hda-intel power_save=1 options snd-hda-intel power_save_controller=Y
- /etc/modprobe.d/nobeep.conf
blacklist pcspkr
- /etc/modules-load.d/cpufreq.conf
## cpufreq driver acpi_cpufreq ## cpufreq governors cpufreq_performance cpufreq_conservative cpufreq_ondemand cpufreq_powersave cpufreq_stats cpufreq_userspace
- /etc/udev/rules.d/99-powersave.rules
# pcie_aspm=force SUBSYSTEM=="power_supply", ENV{POWER_SUPPLY_ONLINE}=="0", RUN+="/bin/sh -c 'echo powersave > /sys/module/pcie_aspm/parameters/policy'" SUBSYSTEM=="power_supply", ENV{POWER_SUPPLY_ONLINE}=="1", RUN+="/bin/sh -c 'echo performance > /sys/module/pcie_aspm/parameters/policy'" # usb / pci / sata ACTION=="add", SUBSYSTEM=="usb", TEST=="power/autosuspend", ATTR{power/autosuspend}="2" ACTION=="add", SUBSYSTEM=="usb", TEST=="power/control", ATTR{power/control}="auto" ACTION=="add", SUBSYSTEM=="pci", TEST=="power/control", ATTR{power/control}="auto" ACTION=="add", SUBSYSTEM=="scsi_host", ATTR{link_power_management_policy}="min_power" # network, substitute en* and wl* with your interface name ACTION=="add", SUBSYSTEM=="net", KERNEL=="en*", RUN+="/usr/bin/ethtool -s %k wol d" ACTION=="add", SUBSYSTEM=="net", KERNEL=="wl*", RUN+="/usr/bin/iw dev %k set power_save on"
- /etc/sysctl.d/powersave.conf
vm.laptop_mode=5 vm.vfs_cache_pressure=50 vm.dirty_writeback_centisecs=1500 vm.swappiness = 1
Configuration nécessaire : le noyau, et la configuration de grub, donc dans /etc/mkinitcpio.conf
et /etc/default/grub
:
- /etc/mkinitcpio.conf
(...) MODULES="intel_agp i915" (...) HOOKS="base udev autodetect modconf block lvm2 filesystems keyboard fsck consolefont keymap timestamp" (...)
- /etc/default/grub
GRUB_CMDLINE_LINUX_DEFAULT="quiet resume=UUID=851b7cd7-e207-469d-a498-6b92696e0f0b" GRUB\\_CMDLINE\\_LINUX="elevator=deadline pcie_aspm=force nmi_watchdog=0"
On applique le tout d'un mkinitcpio -p linux-ck
, et d'un grub-mkconfig -o /boot/grub/grub.cfg
. N'oublions pas non plus un petit issue_discards = 1
dans /etc/lvm/lvm.conf
.
Ne reste plus qu'à activer les services essentiels (ou non) avec un bon systemctl enable ntpd cups avahi-daemon avahi-dnsconfd cpupower cronie firewalld gdm graphical NetworkManager ntpd samsung-tools psd psd-resync
, qu'on clôt d'un exit
après avoir vérifié que tout est bien configuré. Une fois de retour au système live, on démonte tout (umount -a
), et on redémarre. Ça merde ? J'ai peut-être oublié l'une ou l'autre manipulation, vérifiez dans la documentation si tout est bien configuré et installé, comme les drivers graphiques (xf86-video-intel intel-dri
, en ce qui me concerne, avec SNA comme méthode d'accélération graphique) ou le serveur X.Org sans lequel vous n'irez pas bien loin (xorg-server xf86-input-synaptics
, dans mon cas).
Certes, celui qui n'aime pas consacrer un peu (beaucoup, admettons) de temps à installer et configurer une distribution pour qu'elle lui convienne au mieux, le choix d'Arch Linux peut paraître saugrenu voire rédhibitoire, même sur une machine assez puissante pour faire tourner un bloatware tel qu'Ubuntu ou toute la clique qui y ressemble. Je ne cracherai pas sur les Ubunteros, ceux-ci sont du même côté que moi, celui du free software.
[caption id="attachment_851" align="aligncenter" width="800"] Source inconnue, retrouvé dans $WALLPAPERS.[/caption]
Je taquine cette distribution en la qualifiant de bloatware alors que je l'ai pourtant longtemps aimée et utilisée, m'ayant mis le pied à l'étrier du monde de GNU / Linux, lorsqu'elle réinstalle toute sa panoplie tous les 6 mois au prix d'une pénible mise à jour, j'en ai gardé des séquelles. Enfin, tous les 6 mois ou tous les 2 ans, que l'on préfère les versions au long terme, les LTS, ces versions qui ne prennent pas les utilisateurs pour des testeurs commis d'office, ou les quelques versions de test qui les séparent.
J'ai goûté au fruit du rolling release, et j'en suis encore tout fébrile, comme lors de ma première installation d'Arch Linux, quand j'ai malencontreusement écrasé tout mon disque, partition Windows comprise.
Je ne l'ai jamais réinstallée depuis, c'est tout ce que j'en retiens.