Installer ArchLinux sur un portable Acer 5720G avec lvm, grub2, systemd, journald etc…

Cet article est un peu particulier, pour moi, car je faits rarement des rapports d’installation, je ne passe plus beaucoup de temps à essayer les distributions. Aujourd’hui j’ai tendance à préférer rester sur debian. Mais sur mon portable, la gestion de l’énergie et du wifi est chaotique : comprendre sur-chauffe et noyau qui laîche au démarrage 1 fois sur 2.
Il me fallait donc trouver une solution. L’idée à été de basculer sur un freebsd + ZFS. Mais là encore la gestion de l’énergie l’emportant. Cette machine doit être fabriquée avec un respect des standards terrible…. Donc j’ai essayé dessus, successivement fedora, suse. Toujours le même résultât. J’ai donc opté pour une ArchLinux. Comme la documentation pour réaliser cette installation était dispersée sur la toile, j’ai noté chacune de mes étapes.

Il s’agit de ma première installation d’ArchLinux. Il est donc possible que certaines façon ou choix, ne soit pas totalement dans la philosophie de la distribution.

L’article explique pas à pas, comment installer ArchLinux sur un Acer Aspire 5720G.
Le but de cette installation est d’utiliser lvm, systemd, journald, WindowMaker (le desktop de demain), mais aussi d’avoir un portable économe en énergie.

  1. Partitionnement
  2. On va utiliser lvm pour mettre le système. Seul le noyau sera sur une partition primaire.
    Pourquoi ? Le but est de pouvoir agrandir les partitions en fonction des besoins.
    Ainsi le disque est partitionné de la manière suivante :

    username@computername:$ /dev/sda1 => /boot en ext2 50Mo, type primaire.
    /dev/sda2 => extended de la taille du reste du disque
    /dev/sda5 => lvm

  3. Création du PhysicalGroup et du VolumeGroup
    Création du physical group

Il s’agit de créer un « disque lvm ».

username@computername:$ pvcreate /dev/sda5
    Création du volume groupe
username@computername:$ vgcreate portable /dev/sda5
    Création des logical volume (l’équivalent LVM des partitions)
username@computername:$ lvcreate -L 15G portable -n racine
lvcreate -L 4G portable -n tmp
lvcreate -L 4G portable -n swap_1
lvcreate -L 15G portable -n var
lvcreate -L 50G portable -n home

    Formatage des partitions
username@computername:$ mkfs -t ext2 /dev/sda1
mkfs -t ext4 -m1 /dev/portable/var
mkfs -t ext4 /dev/portable/racine
mkfs -t ext4 -m0 /dev/portable/tmp
mkfs -t xfs /dev/portable/home
mkswap /dev/portable/swap_1
    Activation de la partition de swap
username@computername:$ swapon /dev/portable/swap_1

  • Installation
    • Activation du réseau
    username@computername:$ dhcpd eth0
      Montage des FS
    username@computername:$ mount /dev/portable/racine /mnt
    mkdir /mnt/{boot,home,var,tmp}
    mount /dev/sda1 /mnt/boot
    mount /dev/portable/var /mnt/var
    mount /dev/portable/tmp /mnt/tmp
    mount /dev/portable/home /mnt/home

      Installation du système de base
    username@computername:$ pacstrap /mnt base base-devel vim grub-bios
      Generation du fichier fstab
    username@computername:$ genfstab -p /mnt >> /mnt/etc/fstab

  • Configuration
    • chroot
    username@computername:$ arch-chroot /mnt
      Définition du nom de la machine
    username@computername:$ vi /etc/hostname

    le nom de ma machine est portable

    username@computername:$ vi /etc/hosts
    127.0.0.1 portable.kywyxy.net localhost.localdomain localhost portable
      Définition de la zone horaire
    username@computername:$ ln -s /usr/share/zoneinfo/Europe/Paris /etc/localtime
      Paramétrage de la langue

    On décommente les lignes fr_FR dans le fichier :

    username@computername:$ vi /etc/locale.conf
    LANG="fr_FR.UTF-8"

    On génère les « locales »

    username@computername:$ locale-gen
      Paramétrage de la langue du clavier

    On édite le fichier /etc/vconsole.conf pour y mettre :

    username@computername:$ KEYMAP=fr_pc

  • Configuration du boot
    • Activation du support de LVM au démarrage
    username@computername:$ vi /etc/rc.conf
    USELVM="yes"
      Création de l’image d’initram

    Paramétrage de l’image :

    username@computername:$ vi /etc/mkinitcpio.conf
    MODULES="dm_mod ext4 xfs"
    HOOKS="base udev autodetect pata usb lvm2 sata"
      Génération de l’image
    username@computername:$ mkinitcpio -p linux
      Configuration de grub
    username@computername:$ grub-mkconfig -o /boot/grub/grub.cfg
    vi /boot/grub/grub.cfg
    setroot=(portable-racine)

    Sur l’acer, le disque est relativement lent. Du coup la détection du lvm ne marche pas bien. Il faut ralentir la phase de boot en ajoutant la ligne suivante, dans la section du kernel du fichier grub.cfg:

    username@computername:$ lvmwait=/dev/mapper/portable-racine

    La ligne de chargement du noyau devient donc :

    username@computername:$ linux /vmlinuz-linux root=/dev/mapper/portable-racine lvmwait =/dev/mapper/portable-racine
      Installation de grub
    username@computername:$ grub-install --boot-directory=/boot --no-floppy --recheck /dev/sda
      Note :

    Après toute modification dans le fichier de configuration de grub, faire un

    username@computername:$ grub-install /dev/sda

    pour prise en compte au prochain boot.

  • Wifi
    • Installation des paquets
    username@computername:$ pacman -S wireless_tools wpa_supplicant
      Lister les réseaux
    username@computername:$ iwlist wlan0 scan
      Configurer le wifi
    username@computername:$ vi /etc/wpa_supplicant/wpa_supplicant.conf
    network={
    ssid="mon_reseau"
    psk="laclé"
    priority=5
    }
      Connexion
    username@computername:$ wpa_supplicant -i wlan0 -c /etc/wpa_supplicant.conf

    Mettre -B pour lancer la commande en mode daemon.

    username@computername:$ dhcpcd wlan0

  • Users
    • Ajout d’un user capable de devenir root
    username@computername:$ useradd -m -G wheel,adm,storage,power,audio,video,optical,scanner,uucp,lp alexandre
      wheel : autorise le user à faire sudo
      adm : pour utiliser journalctl. Mettre log donne accès aux logs de /var/log
      storage : permet à l’utilisateur d’utiliser ses clés/disques usb
      power : l’utilisateur peut éteindre ou redémarrer la machine
      audio : accés au périphérique(s) de son
      video : la même pour la video
      optical : accès aux leteurs dvd
      scanner : …
      uucp : permet à l’utilisateur d’accéder aux modem usb (le téléphone par exemple ?)
      lp : autorise l’utilisateur à gérer les jobs d’impression
      network
      networkmanager
      locate : l’utilisateur peut utiliser la suite d’utilitaire slocate/mlocate

  • Xorg
  • /

      Installation
    username@computername:$ pacman -S --needed xorg-server xorg-inti xorg-server-utils ttf-dejavu xf86-video-ati

      Activer le 3ème bouton du touchpad, pour les actions de copier/coller

    Créer le fichier de configuration suivant :

    username@computername:$
    vi /etc/X11/xorg.conf.d/20-mouse.conf
    Section "InputClass"
    Identifier "middle button emulation class"
    MatchIsPointer "on"
    Option "Emulate3Buttons" "o"
    EndSection

  • Autres applis
  • username@computername:$ pacman -S openssh rsync ntp windowmaker dbus

  • Divers
    • Liste des paquets installé :
    username@computername:$ pacman -Qi *
      Ajouter un service au démarrage avec systemd
    username@computername:$ systemctl enable lvm.service

    Fichier paramétrage :

    username@computername:$ /etc/systemd/system/lvm.service

  • autre
    • Installer ifplugd qui configure eth0 et l’active si le cable est branché
    username@computername:$ pacman -Rsn initscripts
    pacman -S systemd-sysvcompat
    vi /boot/grub/grub.cfg
    Ajouter ini=/sbin/systemd à la lige du kernel

  • Gestion de l’énergie – laptop-mode
    • Installation
    username@computername:$
    pacman -S laptop-mode-tools

      Lancement
    username@computername:$ systemctl start laptope-mode-tools.service
      Activation au démarage
    username@computername:$ systemctl enable laptope-mode-tools.service

  • Gestion dynamique de la vitesse du cpu
    • Installation de cpupower
    username@computername:$ pacman -S cpupower
      On récupère les informations propre au cpu
    username@computername:$ cpupower frequency-info

    Ce qui nous donne :

      On configure le fichier paramètre en conséquence :
    username@computername:$ vi /etc/conf.d/cpupower
      On active le service
    username@computername:$ sytemctl start cpupower.service
      On active le service au démarrage
    username@computername:$ systemctm enable cpupower.service
    Print Friendly
    Vus : 2274
    Publié par Alexandre LUCAZEAU : 35