En bref, j’ai installé Hurd

Posted by

Deuxième article de mon projet Hurd, voyons comment se passe l’installation de GNU-Hurd sur mon ordinateur portable. J’ai installé GNU-Hurd de nombreuses fois mais c’est la première fois sur du vrai matériel.

Choix du système d’exploitation

Il n’y a que très peu de distributions basées sur GNU-Hurd, voyons les différents choix.

  • Arch : aucune activité depuis2018
  • Debian : projet actif
  • Nix : rien depuis 2012
  • Guix : impossible de télécharger une ISO, seulement des images qcow2

Allons y avec Debian, qui se retrouve le meilleur/seul choix disponible. Debian 11, Bullseye a été publié récemment et une image stable pour Debian GNU-Hurd est aussi disponible. J’ai téléchargé une image que j’ai dû graver sur un disque. Je ne pense pas qu’il soit possible de l’installer directement depuis une clé USB.

Installation

J’ai mis le disque (RW) dans le lecteur et démarré l’installation depuis celui-ci. L’installeur Debian s’affiche et je choisis une installation Pseudo-graphique. Le choix de la localisation, de la langue et du clavier sont similaire à une installation de Debian GNU/Linux. Je crée un autre utilisateur afin de ne pas utiliser directement le compte root. Pour les partitions je mets 75Go pour mon système et je garde 5Go pour le swap, en espérant qu’il ne sera pas utilisé.

Le disque dur est lent, l’installation prend très longtemps. Une erreur concernant le générateur de nombres aléatoires s’affiche mais le processus continue.

Pour être certain de ne pas casser le système avant la fin de l’installation, je choisi de ne pas utiliser un miroir réseau. Pour une utilisation de bureau il va me falloir une interface graphique, mon choix se porte sur XFCE. À la fin de l’installation, j’enlève le disque et redémarre l’ordinateur.

Premier démarrage

L’ordinateur démarre, Grub apparaît sur l’écran et démarre Debian GNU-Hurd. Quelques erreurs apparaissent mais rien de critique. L’interface graphique n’apparait pas, au lieu de cela l’invite de commande me demande mon utilisateur et mon mot de passe.

Point positif, mon interface réseau filaire est bien reconnue mais pas ma carte wifi.

$ inetutils-ifconfig 
/dev/eth0 (2):
  inet address  192.168.1.51
  netmask       255.255.255.0
  broadcast     192.168.1.255
  flags         UP BROADCAST RUNNING ALLMULTI MULTICAST
  mtu           1500
  link encap    Ethernet
  hardware addr XX:XX:XX:XX:XX:XX

lo (1):
  inet address  127.0.0.1
  netmask       255.0.0.0
  flags         UP LOOPBACK RUNNING
  mtu           3924
  link encap    Local Loopback

Pour mettre à jour le système, j’enlève le disque du fichier sources.list et ajoute les sources que je recommandais dans un de mes précédents articles. Le système est basé sur Debian Instable, c’est donc normal que de nombreux paquets doivent être mis à jour.

apt update
apt upgrade

Je redémarre le système, même résultat pour l’interface graphique. J’essaye de lancer le bureau manuellement avec startx, mais l’erreur suivant apparaît.

/usr/lib/xorg/Xorg.wrap: Only console users are allowed to run the X server

Cette erreur est classique sur Debian GNU-Hurd. Avant de la corriger j’ajoute les répertoire sbin à ma variable PATH dans mon fichier .bashrc.

export PATH=$PATH:/sbin:/usr/sbin:/usr/local/sbin

Les permissions de Xorg doivent être réglées sur « anybody ».

dpkg-reconfigure xserver-xorg-legacy

Je tente un startx à nouveau, l’écran devient noir et… ça fonctionne !

L’interface graphique

Devant mes yeux éblouis, XFCE s’affiche sur l’écran. La résolution est correcte, cela me semble intéressant, excepté le fait qu’il n’y a ni fond d’écran, ni icônes sur le bureau. À ma plus grande surprise, je peux modifier le volume dans le coin supérieur droit de l’écran. Après plusieurs minutes d’inactivité l’écran devient noir, l’économie d’énergie fonctionne donc plus ou moins.

Le clavier fonctionne bien, le touchpad et la souris USB aussi mais impossible de voir le pointeur. Lorsque je démarre le terminal une erreur apparait, apparemment un problème sur le nombre de processus mais au moins le pointeur fait son apparition. La plupart des logiciels fonctionne, à part le terminal de XFCE et le navigateur Internet.

Je visite les logs et vois quelques problèmes avec lightdm. Changer pour xdm devrait corriger le problème.

apt install -y xdm

Après un redémarrage, l’interface graphique s’affiche et la souris fonctionne directement. Par-contre le haut des fenêtres est toujours manquant et je vois des erreurs dans mes logs de session.

apt install -y pm-utils
xfwm4 -- reload

Maintenant j’ai le fond d’écran, les icônes mais le reste du bureau a disparu.

Conclusion

J’ai maintenant un système GNU-Hurd fonctionnel, avec une interface graphique. La prochaine étape sera d’installer des logiciels.

5 comments

  1. Le support de l’USB a bien évolué depuis 2016, quand je l’avais testé pour un exercice de ASRALL (IUT Nancy)
    A l’époque j’avais du l’installé sur une mini-tour avec un clavier PS2 :O
    C’est un système intéressant mais exigeant ! C’est pas fonctionne out-of-the-box…

  2. Très très cool tout ça.
    Es que le Hurd nécessite un matériel particulier ?
    J’imagine que necessitant unstable il doit y avoir pas mal de bug risque de crash ?

  3. Je te conseille du matériel un peu ancien, un résumé de mon expérience : https://paranoiaque.fr/2021/08/31/gnu-hurd-materiel/
    En gros il faut au moins 1Go de mémoire vive, un peu de disque dur, une carte graphique Intel pas trop récente (certaines ATI ont un driver, à tester aussi). Le plus important reste quand-même l’Ethernet pour le réseau.
    Pour les paquets le plus gros problème c’est les dépendances. Par exemple actuellement Git est cassé et l’ancienne version ne s’installe plus à cause des dépendances. J’en parlerai sûrement dans mon prochain article.

  4. merci pour le partage, et félicitations, tu fais partie des quelques « linuxiens » qui ne se moquent pas de GNU-Hurd sans l’avoir testé (contrairement aux religieux qui répètent religieusement ce que leur dieu Linus T. a dit, et s’il le dit c’est que c’est vrai, et le -vrai- proverbe « Allan l’a fait, Linus l’a cassé » n’a jamais existé)

Leave a Reply

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *