L'installation de Hurd


Tout d'abord il n'existe pas d'installation 100% assistée comme en fournisse les distributions des systèmes GNU/Linux.
Il existe plusieurs façon d'installer Hurd.
La première consiste à récupérer les archives du système Hurd et de les décompresser à partir d'un système UNIX Gnu/Linux.
La deuxième, celle que j'ai retenu, est une sorte de "cross installation". Elle consiste à utiliser l'installation d'une Debian GNU/Linux pour installer Hurd.

Tout d'abord il faut récupérer l'image iso du premier Cd de Hurd sur le site de Debian.
                http://www.debian.org/cd
Actuellement il y a quatre CD de binaires mais je vous conseille de ne télécharger que le premier qui contient tout ce qui est essentiel comme le serveur X et les principales applications par exemple.
N'oubliez pas de faire un md5sums sur l'image récupérée avant de la graver car sinon on peut avoir de mauvaises surprises lors de l'installation.

Voici l'écran de démarrage après boot sur le CD.

utilisez un navigateur capable d'affciher les images  ;)

Voici les options qui sont disponibles pour l'installation.
On a entre autre le choix entre différents noyaux Linux comme le 2.2 et le 2.4, le choix du support SCSI, etc. C'est toujours ce qui est proposé par défaut lors d'une installation d'un système GNU/Linux à partir d'une distribution digne de ce nom.

Options pour noyau qui sera utilisé pour la "Cross Installation"
change your navigator


Ecran d'acceuil
shade

Choix du clavier
dommage


Par défaut l'installation propose un partitionnement via cfdisk.
Ici la partition N°3 du disque dur maître pésent sur le controlleur IDE primaire servira de partition racine au système GNU/Hurd.
On remarque qu'il ne faut pas choisir le système de fichier Hurd mais celui ext2. En effet à l'heure actuelle (2002) le système de fichier Hurd n'est pas finalisé.

Partitionement

that's a pity
Il est déconseillé de choisir une partition supérieure à 1 Go car le système ne serait pas en mesure de la supporté.
En fait cette limitation était à la base volontaire car il était prévu que le serveur de fichier copie l'intégralité de la partition en mémoire vive pour augmenter la rapidité globale du système. Bien entendu aujourd'hui la disparition de cette limitation est programmée.

Choix de la Partition "racine" du système GNU/Hurd

that's a shame

Montage de la partition racine

:-(



Une fois la partition racine désignée, on peut commencer l'installation du système en cross Installation.

;(

Il faut choisir la source d'information contenant les fichiers du système
:'(

L'installation de Debian peut trouver elle même le média.
;(

Il est demandé de rentrer le chemin des fichiers source. Il se peut qu'il n'y ai pas de chemin par défaut. Il faut alors le rechercher manuellement en activant une console supplémentaire et en parcourant l'arborescence. ("<alt> <F2>" pour activer une autre console)
;(

;(


L'installation copie tous les fichiers de la base du système. Il faudra ensuite pour utiliser ce sytème le charger. Lilo ne peut pas être utilisé par contre GRand Unified Boot loader convient parfaitement. En fait il faut utiliser un boot loader qui supporte le standard multiboot. Au début je pensais que c'était le cas pour Lilo, vu qu'il y avait une ligne en commentaire pour GNU/Hurd mais Lilo ne reconnait la partition du fait des serveurs qu'il faut démarrer à la suite.

Une fois l'installation du système de base on s'aperçoit que celui-ci n'occupe qu'une cinquante de méga octets.
:))


Configuration du Boot loader GRUB :
fichier "menu.lst "
timeout 5
color black/cyan yellow/cyan
i18n (hd0,5)/boot/grub/messages
keytable (hd0,5)/boot/fr-latin1.klt
altconfigfile (hd0,5)/boot/grub/menu.once
default 0

title debian
root (hd0,4)
chainloader +1

title windaub
root (hd0,0)
makeactive
chainloader +1

title GNU/Hurd
root (hd0,2)
kernel /boot/gnumach.gz -s root=device:hd0s3
module /hurd/ext2fs.static --multiboot-command-line=${kernel-command-line} --host-priv-port=${host-port} --device-master-port=${device-port} --exec-server-t
module /lib/ld.so.1 /hurd/exec ${exec-task=task-create}