Créer des périphériques avec Make_devices-1.2

Le paquet Make_devices contient un script pour créer des n½uds de périphériques.

Temps de construction approximatif :  1 SBU
Espace disque requis :                160 Ko

Pour son installation, Make_devices dépend de Bash, Bzip2, Coreutils.

Créer des périphériques

Notez que le déballage du fichier make_devices-1.2.bz2 ne crée pas de répertoire pour vous car le fichier ne contient qu'un script shell.

Installez le script make_devices :

bzcat make_devices-1.2.bz2 >
/dev/make_devices
chmod 754 /dev/make_devices

Les n½uds de périphériques sont des fichiers spéciaux : ils peuvent générer ou revoir des données. Ils correspondent habituellement à des pièces matérielles physiques. Les n½uds périphériques peuvent être créés en lançant des commandes de la forme : mknod -m mode nom type majeur mineur. Avec une telle commande, mode est le triplet octal des droits lecture/écriture/exécution et nom est le nom du fichier périphérique à créer. Cela pourrait sembler surprenant mais le nom du périphérique est totalement arbitraire si ce n'est que la plupart des périphériques utilisent les périphériques suivant leur nom habituel comme /dev/null. Les trois paramètres restant indiquent au noyau à quel périphérique le n½ud fait référence. Le type est une lettre, soit b soit c, suivant que le périphérique est accédé bloc par bloc (comme un disque dur) ou caractère par caractère (comme une console). majeur et mineur sont des nombres formant ensemble un code qui identifie le périphérique pour le noyau. Une liste des numéros de périphériques déjà affectés est disponible dans le fichier devices.txt intégré dans le sous-répertoire Documentation des sources du noyau.

Notez que la même combinaison majeur/mineur est habituellement affecté au périphérique bloc et caractère. Néanmoins, certains périphériques ne peuvent être interchangés. Un périphérique est identifié par le triplet type/majeur/mineur et non pas seulement par la paire majeur/mineur, donc lors du choix d'un n½ud périphérique, il est important de choisir le bon type de périphérique.

Parce que regarder les triplets type/majeur/mineur et utiliser mknod manuellement est difficile et que l'erreur est facile, le script make_devices a été créé. Il contient toute une série de commandes mknod, une pour chaque périphérique, complète avec le nom recommandé, l'affectation des droits et du groupe. Il a été configuré pour que seul un ensemble minimal de périphériques ne soit créé, les autres étant en commentaire. Ouvrez make_devices avec un éditeur et personnalisez-le suivant vos besoins. Ceci peut prendre du temps mais est très simple. Une fois satisfait, lancez le script pour créer les fichiers périphériques :

[Warning]

Warning

Se tromper en éditant le fichier make_devices sur la correspondance avec votre configuration système (par exemple sur le nombre de partitions) peut vous amener des erreurs de démarrage.

cd /dev
./make_devices

Si vous avez réussi à monter le système de fichiers devpts un peu plus tôt dans la section intitulée « Monter les systèmes de fichiers proc et devpts », vous pouvez continuer avec la section suivante. Si vous êtiez incapable de monter devpts, vous devrez créer quelques n½uds périphériques statiques, ptyXX et ttyXX, à la place. Pour cela, ouvrez make_devices dans votre éditeur, allez à la section « Pseudo-TTY masters » et activez quelques périphériques ptyXX. Une poignée sera suffisante pour permettre aux suites de tests de se lancer mais, si vous pensez lancer un noyau sans support de devpts, vous aurez probablement besoin de beaucoup plus (chaque xterm, connexion ssh, connexion telnet et ainsi de suite utilise un de ces peuso-terminaux). Dans la section suivant immédiatement « Pseudo-TTY slaves », activez les périphériques ttyXX correspondants. Ceci fait, lancez ./make_devices à partir de /dev pour qu'il crée les nouveaux périphériques.

Contenu de Make_devices

Script installé : make_devices

Courte description

make_devices est un script pour créer un ensemble basique de n½uds périphériques statiques, résidant habituellement dans le répertoire /dev.