Utilisateur:Sylphe/FAQ-fr
De HurdFr_Wiki.
Cette page est une version de travail de la mise à jour de la FAQ en français disponible sur cette page
Ceci est un première version de la traduction. Il y a un certain nombre de phrases sont à reformuler, cependant, si vous apercevez des erreurs, n'hésitez pas à me les indiquer.
Cet article est une ébauche. Cela signifie qu'il est n'est pas considéré par son auteur comme terminé.
Vous êtes libre de l'améliorer et de retirer cet avertissement si vous jugez que l'article est maintenant finalisé.
Ce document tente de répondre aux questions les plus fréquemment posées par les utilisateurs lorsqu'ils essayent d'installer, d'utiliser, ou de développer Debian GNU/Hurd. Il répond aussi à quelques questions sur le projet HurdFR. Vous êtes priés de lire attentivement ce qui suit avant de demander de l'aide.
Debian GNU/Hurd est activement développée et une version stable n'a pas encore vu le jour. Soyez prévenu que :
- il y a beaucoup de travail à finir ;
- vous trouverez des bugs ;
- votre système crashera.
Ceci dit, vous pouvez contribuer à de nombreux niveaux : développer le Hurd et Mach, porter des applications, écrire de la documentation et, le plus important, les reports des utilisateurs.
Si vous avez une question qui n'est pas citée dans ce document, envoyez-nous la (avec la réponse si possible !).
Le projet HurdFR
But
{HurdFR} HurdFR est une communauté de personnes passionées par GNU/Hurd, communauté dont le but principal pour le moment est de rassembler des développeurs afin de contribuer au Hurd en fournissant du code, de la documentation, etc. A long terme, HurdFR organisera, nous l'espérons, des réunions, conférences et d'autres choses que fait un HUG (Hurd User Group).
Venez nous rejoindre et contribuer à ce qui deviendra incontestablement l'OS du XXIème siècle !
Généralités
Qu'est ce qu'un micro-noyau multi-serveurs?
{NHW} Le terme de micro-noyau n'est pas en référence à la taille du noyau, mais plutôt aux services qu'il fournit. Il est généralement dit qu'il s'agit d'une série d'interfaces permettant aux processus de communiquer entre eux et une façon d'accéder au matériel. Les Pilotes Logiciels, comme j'aime à les appeler, sont alors implémentés dans l'espace utilisateur en temps que serveurs. Les exemples les plus évidents sont la pile TCP/IP, les systèmes de fichiers ext2 et NFS. Dans le cas du Hurd, les utilisateurs ont accès à des fonctionnalités auxquelles ils ne peuvent pas avoir accès dans un noyau monolithique, et ce du fait que les serveurs tournent dans l'espace utilisateur. Par exemple, dès que l'utilisateur les a lancés, celui-ci peut monter un système de fichiers ftp dans son répertoire personnel.
Pour plus d'information sur la conception de Hurd, lisez Vers une nouvelle stratégie de conception des OS de Thomas Bushnell, BSG :
Pour savoir pourquoi la FSF développe un nouveau noyau.
Grammaticalement, qu'est ce que le Hurd ?
{NHW} Hurd est un acronyme qui signifie Hird of Unix Replacing Daemons. Et Hird, Hurd of Interfaces Representing Depth.
Nous utilisons plus Hurd comme une appelation que comme un nom propre : il requiert un article, comme dans le Hurd. Par exemple, Le système de fichiers ext2 est fourni par le Hurd et non par Mach.
Nous écrivons le GNU Hurd au lieu de le Hurd quand nous voulons insister sur le fait que le Hurd est un paquet GNU. Une fois que ceci a été précisé, nous utiliserons généralement la forme courte, sans GNU.
Le système d'exploitation entier inclut non seulement le noyau et le système de serveurs, mais aussi un grand nombre de programmes. Ce système est appelé GNU ou système d'exploitation GNU. Les programmes GNU peuvent aussi fonctionner sur d'autres noyaux de systèmes d'exploitation. Nous disons GNU/Hurd, quand nous voulons mettre l'accent sur le fait que le système GNU fonctionne au dessus du Hurd, et pour le différencier du système GNU/Linux qui est GNU utilisant Linux comme noyau.
Finalement, il y a Debian GNU/Hurd. Cela se réfère à la distribution créée par les développeurs Debian. Par exemple : Ton portable tourne sous quoi ? Debian GNU/Hurd, bien sûr.
Quelles sont les listes de diffusion ?
{NHW} Il y a quatres listes de diffusion principales :
- [1] : Développement de Hurd et Mach.
- [2] : Questions générales sur Hurd.
- [3] : Maintenance des pages web de [4].
- [5] : tout ce qui est relatif à Debian GNU/Hurd (en particulier le portage d'applications).
Inscrivez-vous de la manière habituelle. ([6] et [7])
{HurdFR} Il y a aussi les listes de diffusion de l'association HurdFR. En voici les principales :
- [8] : Liste de diffusion générale.
- [9] : Maintenance des pages du site principal.
- [10] : Liste relative à la gestion du wiki
- [11] : Liste relative aux travaux proposés et sélectionnés par les membres de l'association.
Pour s'inscrire, contacter [12].
Où puis-je rapporter les bugs ?
{AMS}Envoyez le rapport de bug par courriel à [13] ou utilisez le Savannah Bug Tracker' à http://savannah.gnu.org/bugs/?group=hurd.
Y a-t-il une liste TODO ?
{NHW} Oui, il y en a, en fait, plusieurs.
- <hurd>/tasks
- <hurd>/TODO
Quand sort la prochaine version ?
{NHW} Personne ne semble le savoir. Cependant, le Hurd est utilisable, essayez-le et aidez-nous à le finaliser.
Pourquoi '/usr' est-il un lien symbolique vers '.' ?
{MB, FH} La distinction entre '/' et '/usr' a une justification historique, du temps où les systèmes Unix étaient amorcés à partir de deux bandes, une petite bande root et une plus grosse bande usr. Aujourd'hui, il est toujours pratique d'avoir des partitions séparées pour ces deux espaces. Hurd se débarasse de ce rebut historique, parce que nous pensons avoir trouvé une solution plus souple appelée union de systèmes de fichiers (traduction à demander...). Cependant le support de l'union des systèmes de fichiers est encore en développement.
Pourquoi n'y a-t-il pas d'informations sur le site officiel à propos du port du Hurd sur L4 (Hurd/L4) ?
{OK}Il y a un effort continu (((constant))) pour porter le Hurd sur la famille des micronoyaux L4. Ceci prendra du temps et le port n'est pas dans un état (((releasable))) - ceci explique pourquoi il n'y a pas d'informations à propos du port sur L4 sur le site du projet Hurd http://www.gnu.org/software/hurd ailleurs que dans cette FAQ.
Le développement de Hurd/L4 est en train de se faire dans le module hurd-l4 dans le répertoire CVS Hurd. Le répertoire doc contient un document qui peut être lu par n'importe qui qui souhaite en apprendre plus à propos de Hurd/L4. (Traduction un peu trop libre...). Si vous voulez suivre le développement ou contribuer aux modifications de Hurd/L4, merci de souscrire à la liste de diffusion [14], http://lists.gnu.org/mailman/listinfo/l4-hurd
Il y a beaucoup de spams sur les listes de diffusion GNU. Pourquoi ?
{OK} Les listes de diffusion GNU n'ont pas de filtres anti-spams afin que n'importe qui puisse poster sur les listes et que les courriels ne soient pas perdus. Nous attendons que les souscripteurs aient leur propre filtre.
Merci de ne pas faire remonter ce sujet dans les listes de diffusion du Hurd - il y aura fermeture du sujet. Cherchez dans les archives des listes de diffusion les fils à propos des pourriels. (Traduction trop libre...)
Installation
Où puis-je obtenir Debian GNU/Hurd ?
{AMS} Les instructions sur comment télécharger et installer Debian GNU/Hurd sont disponibles à cette adresse : http://www.debian.org/ports/hurd
Debian GNU Hurd peut être aussi installé en utilisant un CD , les informations peuvent être trouvée sur le site suivant : http://www.debian.org/ports/hurd/hurd-cd
Comment puis-je installer Debian GNU/Hurd ?
{NHW} Consultez un des nombreux guides. Le plus à jour peut être trouvé à cette adresse : http://web.walfield.org/papers/hurd-installation-guide/
Quel type de matériel est supporté ?
{NHW} Actuellement, GNU/Hurd tourne seulement sur les machines de type IA32. Cependant, le porter sur d'autres architectures ne devrait pas être difficile : le code a toujours été écrit dans un souci de portabilité.
Par respect, GNU Mach utilise un sous-ensemble de pilotes du noyau Linux 2.0.x. Un guide relativement complet du matériel supporté peut être trouvé à l'adresse : http://www.nongnu.org/thug/gnumach_hardware.html
Si vous avez des problèmes, c'est généralement car :
- Vous utilisez le partage d'IRQ ; GNU Mach ne supporte pas cela.
- Un pilote de périphérique monopolise le matériel et active accidentellement le mauvais périphérique.
Dans le premier cas, vous devrez enlever le périphérique ou jouer avec la configuration du BIOS. Dans le second, vous devrez recompiler un nouveau noyau avec uniquement les pilotes dont vous aurez besoin (GNU Mach ne supporte pas les modules chargeables).
Quel type de partition dois-je utiliser pour mes partitions GNU/Hurd ?
{MB} Choisissez un système de fichiers ext2. L'autre solution est d'utiliser ufs, dans le style BSD. Le numéro de type de partition pour ext2fs est 0x83 (le même que pour Linux), et pas 0x63 (GNU Hurd). Thomas explique pourquoi 0x63 n'est pas le bon choix:
Un jour, nous créerons peut-être un nouveau format de système de fichiers, qui s'appellera probablement le système de fichiers GNU Hurd, et pourrait bien utiliser ce code de partition.
Mais de toute façon, comme le fait remarquer Roland, il est toujours erroné d'utiliser ce code pour une partition ext2fs.
Comment dois-je nommer les partitions ?
{MB,NHW} Je savais que vous poseriez cette question. Si je devais réduire cette FAQ à une seule question, je choisirai celle-ci. C'est plutôt simple, mais vous devez savoir qu'il y a en réalité trois conventions de nommage.
Premièrement, le Hurd : si le disque en question est SCSI, vous devez savoir le numéro de périphérique SCSI ; si c'est un disque IDE, vous devez savoir sur quel contrôleur il est, et s'il est maître ou esclave. Le Hurd utilise la convention de nommage BSD, qui dit que les disques sont rangés selon leur emplacement, numériquement, en commencant par zéro. Ce schéma est proche de celui trouvé dans Linux, où le disque maître du contrôleur primaire est désigné par hda et l'esclave par hdb. Sur le second contrôleur, le maître et l'esclave sont désignés respectivement par hdc et hdd. Sous le Hurd, hda devient hd0, hdb sera hd1, etc.
Dans le Hurd, comme dans BSD, les partitions sont appelées slices, et sont numérotées en commençant par un. Donc, pour nommer une partition particulière, nous prenons le nom du disque, nous ajoutons un s et le numéro de la partition. Encore une fois, c'est similaire à Linux, sauf qu'il n'y a pas de s. Par exemple, hda1 devient hd0s1.
GRUB, le chargeur de démarrage, utilise une nomenclature complètement différente : il interroge le BIOS et attache chaque disque à un tableau. Les disques et partitions sont énumérés en partant de zéro. Le format est : hd (<disque>, <partition>). Donc, hd(0, 1) représente la seconde partition du premier lecteur détecté par le BIOS. Maintenant, grâce à la complétion automatique de GRUB, il n'y a pas de problème.
Puis-je utiliser des partitions de plus d'2 Go ?
{NHW} Non, pas avant que libdiskfs soit réécrite et LFS implémenté. Des efforts sont faits en ce moment, cependant, ce n'est pas une priorité pour les développeurs.
{HurdFR} Limitation levée depuis la sortie des CD Debian GNU Hurd K8.
De combien de swap ai-je besoin ?
{NHW} Généralement, beaucoup ; dès qu'elle s'épuise, Mach panique. J'ai au moins 128Mo de ram et 256Mo de swap sur toutes mes machines Hurd.
Puis-je partager la swap entre Linux et Hurd ?
{NHW} Oui. Le pager par défaut reconnaît et respecte les partitions de swap Linux. Il paginera sur une partition vierge, c'est à dire, tout ce qu'il ne reconnaitra pas en temps que swap Linux. Alors : SOYEZ PRUDENT.
Pourquoi est ce que j'obtiens Operation not permitted error ?
{MB} Vous avez oublié d'indiquer que le propriétaire du système de fichiers de la partition Hurd est hurd. Hurd utilise des informations supplémentaires dans les inodes pour positionner les traducteurs. Pour que ça fonctionne, il faut que la partition soit marquée comme appartenant au Hurd. Ceci se fait en passant l'option -o hurd à mke2fs lorsque l'on crée une partition ext2 à partir d'un autre système (les systèmes de fichiers créés sous Hurd ont cette option par défaut). Vous pouvez toujours utiliser le script e2os si vous échouez.
Lorsque native-install a fini, J'ai dû taper ccoommee cceeccii. En particulier, j'ai du taper rreebboott pour redémarrer.
{MB} Marrant, non ? En plus du serveur term de secours dans /tmp/console, un autre serveur term a démarré et sème la pagaille au niveau de l'entrée du clavier. Après un réamorçage ce problème disparaît et un seul serveur term subsistera. Si tar supportait les translators, nous n'aurions pas ce problème. Même si vous ne rencontrez pas ce problème juste après l'installation, redémarrez immédiatement pour ne pas avoir affaire à ce bug par accident.
Paramétrages
Comment puis-je ajouter un partition de swap ?
{MB} Une partition de swap est aussi appelée un fichier de pagination. Habituellement, il est suffisant d'ajouter la partition de swap à /etc/fstab, comme vous le feriez sous Linux. Vous pouvez paginer sur une partition de swap Linux et Hurd respectera la signature de la swap Linux (pour les deux versions de Hurd). Mais Hurd sera ravi de paginer sur tout autre espace disque et écrasera tout ce qu'il y trouvera, donc faites attention !
Si vous préférez paginer sur un fichier, ou être certain qu'il vérifie la signature de pagination Linux avant d'écraser les données qui s'y trouvent, vous devez modifier /boot/servers.boot. La syntaxe est le nom de fichier spécial de la partition, suivi éventuellement du nom du fichier de pagination sur un ext2fs, suivi d'un espace et au choix $(add-raw-paging-file), $(add-linux-paging-file), ou $(add-paging-file). Le premier fonctionne avec n'importe quel fichier ou partition, et ne respecte aucune signature. Le deuxième fait une vérification de sécurité, et ne fonctionne que si une signature de pagination linux est trouvée. Le troisième recherche une signature de pagination (et la respecte le cas échéant), mais passe en pagination brute s'il n'en trouve pas. C'est le fonctionnement par défaut des entrées de /etc/fstab.
Comment puis-je configurer le réseau ? Comment puis-je configurer une interface de loopback ?
{MB} Dans le premier cas, soyez sûr que GNU Mach a détecté votre carte réseau. D'une manière ou d'une autre, vous devez configurer pfinet. Voir : http://www.debian.org/ports/hurd/hurd-doc-server.
N'oubliez pas d'éditer /etc/resolv.conf, /etc/hosts, etc.
Evidemment, vous devez seulement faire cela si la procédure d'installation ne l'a pas fait pour vous.
Qu'est ce qu'un translator (traducteur) ?
{MB} Il y a un texte sur les translators disponible ici : http://www.debian.org/ports/hurd/hurd-doc-translator. Lisez-le et poser vos questions sur les listes de diffusion.
Qu'est ce que le shell login ?
{MB} Sous le Hurd, il existe une notion d'utilisateur non-logé. Cet utilisateur a des ids utilisateurs et des ids de groupes. Ceci du fait qu'Hurd supporte des série d'uid et de gid, et une possibilité est la série vide. Au lieu de refuser l'accès, le système de fichiers de Hurd offre un quatrième triplet de permission (i.e. rwx) servant à déterminer les privilèges des utilisateurs sans identités. Ceci doit cependant être activé fichier par fichier. Par défaut, les autres triplets de permission sont utilisés.
Le shell login de Hurd est un shell fonctionnant avec des uids et des gids. Pour restreindre l'accès à vos fichiers, activez et changez les quatres triplets de permission ou changez, dans /etc/passwd, le shell de login de l'utilisateur login en /bin/loginpr, qui implémente l'invite login standart.
Comment puis-je utiliser un clavier non-US ?
{NHW, FH} En jetant un oeil à : [15]
Si vous voulez un paquet Debian, vous pouvez ajouter à votre /etc/apt/sources.list
deb http://debian.duckcorp.org/unstable/binary-hurd-i386/ ./
et puis lancez
apt-get install console-driver-xkb
Comment puis-je activer la couleur dans la console ?
{NHW} Si vous utilisez le GNU Mach de Debian, vous pouvez changer votre terminal en mach-color. Par exemple:
export TERM=mach-color
Comment puis-je utiliser les consoles virtuelles ?
{NHW} Ceci peut être fait en lançant la commande suivante :
console -d -vga -d pc_kdb -d generic_speaker /dev/vcs
Si quelque chose ne fonctionnait pas ou si vous souhaitez juste sortir de la console Hurd, alors en tapant C-A-<Entrée> le fera quitter. (Traduction libre...).
Quel est le statut de X ?
{MB} Ca marche! Les packages sont disponibles dans n'importe quel miroir ftp de Debian. XFree86 4.0.2 est disponible, ainsi que quelques serveurs v3. Les instructions sur "comment utiliser les packages" sont dans les archives de la liste de diffusion.
Pourquoi X ne marche-t-il pas ?
{MB} Essayez export LD_LIBRARY_PATH=/usr/X11R6/lib. C'est un problème de résolution des liens. Le système Hurd veut utiliser 'RPATH', cependant, Debian veut éviter cela. Notez que ceci ne le coupe pas .............. Nous attendons à rectifier ceci en utilisant 'RUNPATH', qui spécifie le noveau standard ELF.
Quels sont ces étranges pids 2 and 3 ?
{MB} Deux est le noyau, trois est le pagineur par défaut et quatre est le système de fichiers root.
Pourquoi ps aux me donne des résultats bizarres ?
{MB, MMM} Essayez ps Aux. En effet, sous GNU/Hurd, ps aux ne liste pas tous les processus : il omet les leaders de session et de groupe et les processus sans parents. (A revoir...)
J'ai un processus bloquant que je veux tuer, cependant, ps se bloque aussi.
{MB} Interompez-le et passer lui l'option -M.
{NHW} Par défaut, ps rassemble les informations en provenance du serveur proc et des processus en question (via leurs ports de message). Si un processus se bloque, il ne sera pas capable de répondre à son port de message et donc, ps attendra indéfiniment. L'option -M dit à ps de ne pas utiliser les ports de message.
Où sont... ?
{MB} fdisk et dmesg ne sont pas encore portés. A la place de free, utilisez vmstat et vminfo. Pour les messages du noyau, lisez '/dev/klog' directement. Notez, une fois que vous lisez ceci, il ...........
Y a t il un système de fichiers proc ?
{MB} Non. Peut-être qu'il y aura une émulation un jour pour les programmes qui en ont besoin. Pour ce qui est du /proc vide, c'est juste un relicat d'un paquet Debian GNU/Linux (base-files).
Vous pouvez tester les périphériques existant avec l'utilitaire devprobe.
Pourquoi la commande df ne fonctionne pas ?
{NHW} Elle fonctionne, vous avez seulement à lui passer le système de fichiers. E.g;
df /
Pourquoi mes translators meurent-ils ?
{NHW} Essayez de passer le drapeaux -ap à settrans. Par défaut, settrans utilise un translator passif, par conséquent, il n'y aura pas de sortie sur votre terminal. En utilisant -ap, vous positionerez à la fois un translator actif et passif, ce qui veut dire que le translator démarera immédiatement et son stderr sera connecté à votre terminal.
De plus, le plus gros problème est de passer des chemins relatifs à des transtors passifs. Vous ne pouvez pas prédire quel sera le répertoire de travail d'un translator lorsqu'il est positioné en temps que translator passif.
Problèmes
Lorsque l'APM du BIOS stoppe mes disques durs, Hurd n'arrive pas à les relancer, que se passe-t-il ?
{MB} L'APM n'est pas supporté dans la version actuelle de GNU Mach, désolé. Désactivez l'APM dans la configuration de votre BIOS.
Quels sont ces messages relatifs à default pager, paging, et pager request ?
{MB} Le gestionnaire de pagination (default pager) gère l'allocation de mémoire virtuelle. S'il ne peut pas allouer une nouvelle page par manque de mémoire, des choses terribles peuvent arriver. Lorsque vous obtenez ce type d'erreur, soit vous avez besoin de plus de mémoire (soyez sûr que vous avez de la swap), soit vous avez découvert une fuite de mémoire. Ajoutez une partition de pagination.
Que signifie gratuitous error ?
{MB} Cela vient de strerror(EGRATUITOUS). D'après la documentation de la glibc, c'est un code d'erreur qui ne sert pas :). Ce n'est pas tout à fait vrai. En fait, cette erreur peut arriver lorsqu'une anomalie grave s'est produite. Les explications de Thomas :
Plus pécisément, EGRATUITOUS signifie officellement qu'un serveur
a répondu d'un façon impossible, ou qui ne respectait pas le
protocole. Il y a des cas dans Hurd où EGRATUITOUS est retourné
alors qu'un autre code serait plus approprié.
Si vous pouvez reproduire ce message, faites un rapport de bug.
Que computer bought the farm signifie ?
{FH} Ce message est le texte qui correspond à errno code 'EIEIO'. Roland McGrath explique :
Ce message n'est pas émis par un serveur particulier à un instant particulier ;
plus exactement, c'est le texte perror pour l'errno code EIEIO, qui est retourné
par différentes RPC et fonctions pour une variété de conditions d'erreurs 'désepérente'.
Que signifie /dev/hd0s1: MOUNTED READ-ONLY; MUST USE `fsysopts --writable` ?
{NHW} Dans ce cas, cela veut dire que /dev/hd0s1 n'a pas été démonté proprement. Au démmarage, Hurd lance fsck -p sur toutes partitions qu'il trouve dans /etc/fstab, donc, vous devriez ajouter la partition à ce fichier. Si vous pensez que la partition est propre, vous pouvez utiliser :
fsysopts /home --writable
qui demandera au translator positioné sur /home de passer de lecture-seul à lecture/écriture. Il est à noter que la commande sera envoyée au système de fichiers et non pas à store (e.g. /dev/hd0s1).
Quand Hurd crashe, GNU Mach redémarre automatiquement. Y a-t-il un moyen de le mettre en pause pour que je puisse noter l'erreur ?
{MB} Donnez l'option -H à init (ajoutez-la sur la ligne de commande d'amorçage), et init demandera à Mach d'entrer en déboguage noyau au lieu de se réamorcer. A l'invite du débogueur (db>), vous pouvez taper reboot pour réamocer le système.
Porter
Quels programmes ont été portés ?
{NHW} Plein, jetez un oeil aux archives Debian. Cependant, beaucoup de programmes ne nécessitent pas d'être portés ; ils n'ont simplement pas étés compilés.
Est-ce facile de porter ?
{NHW} Porter des applications vers Hurd est relativement facile du moment que l'application est compatible POSIX, car le Hurd fait de son mieux pour être un système d'exploitation conforme.
L'erreur la plus répandue est d'assumer que MAXPATHLEN et PATH_MAX sont définis. Sur la plupart des systèmes d'exploitation, elles sont positionées à quelques milliers, cependant, sous Hurd, il n'y a pas de maximum, donc elles ne sont pas définies. La meilleure chose à faire est de soumettre un patch qui alloue la mémoire dynamiquement à l'auteur original. (NDT: Il est déconseillé de patcher les sources pendant votre portage sans le signaler à l'auteur, car celà risquerait de poser des problèmes plus tard, si vous n'assurez plus le maintien de la version Hurd...)
Comment puis-je aider ?
{NHW} Un travail conséquent est fait par Jeff Bailey pour compiler tous les paquets Debian. Jetez un oeil à: [16] pour voir ce qui a déjà été fait et comment aider.
Compiler
Où puis-je obtenir les sources ?
{AMS} Les instructions sur comment télécharger l'arbre CVS depuis Savannah sont disponibles à cette dresse : [https:savannah.gnu.org/cvs/?group=hurd]
{NHW} Pour obtenir les sources des derniers paquets debian, jetez un oeil à n'importe quel miroir debian.
Puis-je faire une compilation croisée ?
{NHW} Oui. Si vous utilisez Debian GNU/Linux sur IA32, c'est plutôt facile, un compilateur croisé nécessitant peu d'espace disque est disponible; tout ce que vous avez à faire est d'installer les paquets gcc-i386-gnu et mig-i386-gnu. Lorsque vous lancer configure, vous devrez spécifier les programmes directement:
MIG=/usr/bin/i386-gnu-mig CC=/usr/bin/i386-gnu-gcc \
../src/hurd/configure ...
Si vous utilisez une autre distribution, vous devrez utiliser une méthode plus longue. Vous pouvez trouver des informations dans le Cross Compiling HOWTO disponible à : [17] (anglais) et [18] (français)
Farid Hajji <farid.hajji@ob.kamp.net> parle de son expérience (compilation croisée sous FreeBSD) à : [19]
Des astuces, conseils ?
{NHW} Oui, construire dans l'arborescence des sources n'a pas encore été testé. Essayez:
../src/hurd/configure ...
Développer
Qu'est ce qu'OSKit-Mach ?
{NHW} Il y a deux versions de GNU Mach qui sont utilisées : GNU Mach 1.x et GNU Mach 2.x jadis connu comme OSKit-Mach. La première utilise les pilotes de Linux 2.0.x alors que la seconde utilise la librairie OSKit, provenant de l'université d'Utah. Vous pouvez vous renseigner plus sur la librairie OSKit à [20]
GNU Mach 2.x est utilisable, mais des choses sont manquantes ou ne fonctionnent pas comme les ports série et les pilotes scsi. C'est pourquoi GNU Mach 2.0 n'est pas encore sortiet que les deux versions coexistent.
Où est la documentation ?
{NHW} Il y a eu plusieurs livres écrit sur le noyau Mach. Les informations contenues sont encore pertinentes et doivent être considérées comme lectures obligatoires pour les hackers potentiels. Ils peuvent être trouvés à : [21]
La documentation concernant le Hurd est insuffisante. Le commencement d'un livre, The GNU Hurd est dans le répertoire doc des sources de Hurd. Vous pouvez le lire en utilisant :
info hurd
L'endroit le plus important est, bien sûr, le code source ; ceci ne veut pas dire que nous n'apprecierons pas plus de documentation. Pour commencer, regardez <hurd>/doc/navigating.
Comment savoir si mon code est compatible POSIX ?
{NHW} Malheuresement, vous devez acheter les standards POSIX auprès de l'IEEE. The Single Unix Specification version 2, est disponible gratuitement sur Internet. Essayer : [22]
Où envoyer les patchs ?
{NHW} S'il sont en rapport avec Hurd, Mach, ou MiG, envoyez un patch à la liste de diffusion bug-hurd.
S'ils sont en rapport avec d'autres packages, le BTS de Debian est un bon endroit. Dans ce cas, soyez sûr d'avoir averti du bug la liste de diffusion debian-hurd.
Sous quel format devraient être les patches pour le Hurd et GNU Mach ?
{MB} Tous les patches doivent être envoyés au format unidiff (option -u à GNU diff). Il est utile pour nous si vous pouvez aussi utiliser l'option -p qui inclut des informations sur la fonction changée par un patch. Les changements qui sont similiaires peuvent regroupés ensemble dans un fichier, mais les changements sans liens doivent être envoyés dans des fichiers séparés. Les patches peuvent être inclus dans le message ou comme une pièce jointe MIME. Ils ne devraient pas être compressés et/ou archivés à moins qu'ils soint très gros. Et si ils sont très gros, il est probablement mieux de les stocker en-ligne et d'envoyer une URL.
Ecrivez un (((changelog entry))) pour chaque entrée, en suivant le format des fichiers existant. Ici un exemple :
2000-12-02 Marcus Brinkmann <marcus@gnu.org>
* ops.c (op_readlink):Before returning, check if the buffer
pointed to by transp is ours. f not, munmap it.
(op_read) Likewise for bp.
(op_readdir): Don't alloca a buffer here. Instead initialize
BUF and BUFSIZE to 0 and let the server (eh, MiG) do it.
munmap BUF before returning.
Le nom du fichier et le nom de la fonction changée doivent toujours orthographiés complètement, et non abrégés ou estropiés (comme foo{c,h}), parce que Le nom des varialbles locales sont toutes capitalisées. Il y a deux espaces entre les phrases. Vous pouvez utiliser C-x 4 a dans Emacs pour ajouter une entrée (((changelog))). Si vous faites ceci avec le (((mark being))) dans une fonction, Emacs remplira autmatiquement dans le nom du fichier et la fonction pour vous.
Ne pas envoyer un patch pour le fichier (((Changelog))). Incluez plutôt les entrées (((changelog))) dans le message qui contient le patch.Les patches pour (((changelog))) entrent souvent en conflit.
Si vous avez l'arbre source original dans le répertoire hurg-orig et l'arbre des sources modifiées dans hurd, la commande suivante produit un bon patch (assurez-vous qu'il n'y a pas de fichiers supplémentaires comme les sauvegardes dans l'arbre modifié ou ??????????????? -N). Vous aurez besoin de collecter les entrées (((changelog))) séparément.
diff -x changeLog -Nurp hurd-orig hurd
Traduit en partie par Gibran Hasnaoui [23]
Wikification par Nicolas Sapa <nico@thenico.fr.eu.org>
Les réponses ont été données par (par odre chronologique) :
- {NHW} Neal H. Walfield [24]
- {MB} Marcus Brinkmann [mailto:Marcus.Brinkmann@ruhr-uni-bochum.de>
- {AMS} Alfred M. Szmidt [25]
- {OK} OgnyanKulev [mailto:ogi@fmi.uni-sofia.bg}
- {FH} Frédéric Henry [26]
- {MM} Manuel Menal [27]

