PC Engines · 24 min read · Jan 11, 2026

CONSTRUCTION D'UN SYSTÈME WRAP PC ENGINES POUR UTILISATION GÉNÉRALE

MOTS-CLÉS: WRAP PC ENGINES PLATEFORME WRAP CARTE WRAP LINUX DEBIAN SBC SOC LINUX SUR WRAP SERVEUR SILENCIEUX PETIT FAIBLE CONSOMMATION D’ÉNERGIE

Auteur: Nathan L. Cutler
Date: 18 juin 2006

Avertissement

Ce document est fourni dans l’espoir qu’il puisse s’avérer utile à quelqu’un. Cependant, si vous suivez les procédures décrites dans ce document, vous le faites À VOS PROPRES RISQUES. L’auteur ne garantit pas que le suivi des instructions ici conduira au résultat souhaité. L’auteur n’accepte aucune responsabilité pour quoi que ce soit qui arrive à quiconque lit ou utilise ce document.

Contexte

J’utilise Linux plus ou moins comme utilisateur depuis plus de dix ans maintenant. Au cours des dernières années, je n’ai pas vraiment fait grand-chose avec. En mai 2006, mon ami Chip Coldwell (http://frank.harvard.edu/~coldwell) m’a parlé d’un ordinateur à carte unique (SBC) basé sur ARM qu’il avait acquis et qu’il transformait en répondeur. Il faisait des choses intéressantes avec, comme activer les transferts DMA dans le pilote série du noyau. J’avais déjà entendu le terme “informatique embarquée” auparavant, mais jusqu’à ce moment-là, je ne réalisais pas ce que cela signifiait. Quand j’ai vu les photos du SBC de Chip (basé sur une puce “System-on-a-Chip” (SoC) Atmel (jeu de mots voulu)) et que j’ai lu sur Internet des personnes faisant fonctionner Linux sur ces petits ordinateurs simplifiés, j’ai été captivé par l’idée d’avoir un système Linux qui consomme moins de 10W de puissance, sans ventilateurs ni disques tournants. J’ai finalement réussi à faire fonctionner un système sans ventilateurs tournants, mais j’ai dû céder et obtenir un disque tournant pour cela.

J’ai passé environ une semaine à examiner diverses options, mais cela se résumait essentiellement à trois :

  • la plateforme WRAP de PC Engines basée en Suisse (http://www.pcengines.ch)
  • une carte VIA EPIA (format Mini-ITX) basée sur la puce C3 Eden
  • ressusciter une vieille carte Pentium 90 (avec un dissipateur thermique passif), installer un adaptateur USB et l’exécuter avec une clé USB au lieu d’un disque dur

Celles-ci sont listées dans l’ordre dans lequel je les ai considérées. Au début, j’étais très enthousiaste pour le WRAP, mais j’ai vite commencé à m’inquiéter qu’il soit sous-alimenté pour mes besoins, car je rêvais de l’utiliser pour lire des MP3 et exécuter X, et des choses comme ça, et le WRAP n’a pas de capacité audio ou VGA et aucun moyen de les ajouter. J’ai donc été attiré par la gamme de cartes EPIA de VIA, dont l’une a un convertisseur DC-DC intégré et peut être alimentée par un “adaptateur mural”. Encore une fois, après quelques jours de recherche, j’étais prêt à acheter des composants et à construire un système. Mais ensuite, ma femme a suggéré qu’il serait peut-être préférable d’attendre avant de faire un investissement comme ça et j’ai eu des doutes et j’ai commencé à envisager l’alternative à très bas coût (troisième de la liste ci-dessus). Pour cela, cependant, je devrais acheter l’un des nouveaux blocs d’alimentation à découpage sans ventilateur et un adaptateur USB, ce qui ajouterait un coût significatif, et je savais qu’un tel système consommerait beaucoup plus d’énergie que le WRAP ou le VIA EPIA.

Plus tard, j’ai réalisé que les cartes mémoire à état solide et les clés USB ne sont vraiment pas appropriées pour faire fonctionner un système à usage général. Elles peuvent être bonnes pour les routeurs et d’autres applications embarquées qui peuvent se contenter d’un disque en lecture seule + un petit ramdisk, mais pour vos besoins informatiques Linux quotidiens, vous devez vraiment avoir un disque dur tournant. Heureusement, il existe maintenant des Microdrives abordables qui se branchent directement dans le slot CF du WRAP, qui accepte à la fois les cartes CF de type I et de type II.

Je me lance

J’ai finalement décidé pour le WRAP, pour les raisons suivantes :

  • La consommation d’énergie la plus faible des 3 options, de loin
  • Miniaturisation extrême - cela semble plus cool
  • Soutenir les petites entreprises - la carte est conçue par un gars en Suisse, pas par une entreprise
  • Elle peut être modifiée pour prendre en charge l’USB, donc je peux y connecter des imprimantes et le modem CDMA.
  • Elle a plus de mémoire (128 Mo) que l’ancienne carte Pentium 90, pour laquelle il serait difficile de trouver des modules de mémoire
  • Je pourrais me passer des capacités audio et vidéo, puisque je peux toujours faire des choses A/V sur ma boîte Linux normale

Alors j’ai acheté la carte WRAP. Comme je veux et ai besoin que mon système ait une capacité USB, j’ai été agréablement surpris d’apprendre qu’ils avaient un adaptateur USB double disponible, donc je l’ai également pris. Plus d’informations sur l’ajout de l’option USB plus tard. J’ai également acheté un adaptateur Compact Flash-IDE, qui (prétendument) vous permet de brancher une carte CF dans une interface IDE standard et de la faire apparaître comme un disque dur.

Après être rentré chez moi, j’ai réalisé que deux composants critiques manquaient encore : (1) une carte CF pour le système de fichiers racine, et (2) un câble NULL Modem, sans lequel je ne pourrais pas voir les messages de démarrage. Pour l’alimentation, j’ai décidé d’utiliser un adaptateur AC/DC “Universel” que j’avais en stockage. Je l’ai sorti, trouvé un connecteur qui s’adaptait à la carte, et testé la sortie avec mon multimètre. C’était exactement 12V, et je suppose que les 6VA qu’il produit seront suffisants pour alimenter la carte WRAP.

Le câble NULL Modem dont vous avez besoin a des connecteurs femelles à 9 broches aux deux extrémités. Comme la carte WRAP n’a pas de capacité VGA, le seul moyen d’accéder à la configuration du BIOS et de voir les messages de démarrage est par le port série (d’où le câble NULL Modem), en utilisant un émulateur de terminal sur un deuxième ordinateur.

Carte CF ou Microdrive ?

Au début, j’avais l’idée erronée que j’aurais le système de fichiers racine sur une carte CF de 512 Mo et que le reste de mes données serait sur une clé USB de 1 Go connectée via USB 1.1 (le WRAP ne prend pas en charge l’USB 2.0). Heureusement, je n’ai pas acheté la clé USB, bien que j’aie acheté la carte CF - cela dit, elle était bon marché (moins de 400 CZK) et je peux garder une installation de Voyage Linux dessus si jamais je décide d’utiliser le WRAP comme routeur dédié.

Après avoir essayé d’installer un système Debian sur la carte CF et m’être heurté à des difficultés pour le faire fonctionner en lecture seule avec seulement certains fichiers et répertoires critiques sur un système de fichiers tmpfs (disque RAM), j’ai abandonné et installé Voyage Linux 0.2. Cela a été relativement indolore, et c’était agréable de voir ma petite carte WRAP démarrer et me donner un prompt Linux, mais peu à peu, il m’est apparu que j’avais vraiment besoin d’un disque dur, car je voulais utiliser le système au quotidien et j’avais besoin que le système de fichiers racine soit en lecture-écriture tout le temps. Après quelques recherches, j’ai trouvé trois options différentes pour ajouter un HDD au WRAP :

  • Construire mon propre adaptateur CF vers IDE (c’est-à-dire un qui me permettra de brancher un disque IDE dans le slot CF de la carte WRAP)
  • Acheter un NASD (dispositif de stockage en réseau), reprogrammer le firmware pour le faire fonctionner sous Linux, exporter des partages NFS vers le WRAP
  • Acheter un Microdrive et le brancher dans le slot CF du WRAP

Je les ai écrites dans l’ordre dans lequel elles m’ont été suggérées. La première option était la plus intéressante pour moi, car je pensais avoir trois ou quatre disques de 3,5” qui traînent, je pourrais en utiliser un. Cependant, incroyable que cela puisse paraître, il n’existe pas d’adaptateur facilement disponible qui transforme un slot CF en port IDE, même si le slot CF fonctionne en mode “True IDE”. Une partie du problème est la tension - la carte WRAP ne fournit que 3,3V au CF, tandis qu’un disque IDE a besoin de 5V. Cela en fait une proposition de type hack matériel, impliquant de souder 44 fils. Ce serait difficile avec le connecteur IDE standard, mais avec le connecteur CF, qui est beaucoup plus petit, cela serait presque impossible.

Hier encore, je n’avais aucune idée qu’il existait quelque chose comme un NAS. J’en ai entendu parler parce que je pensais qu’il existait peut-être un adaptateur pour connecter un disque IDE à un port Ethernet RJ45. Je me suis dit que puisque j’ai une interface LAN supplémentaire que je n’utilise pas, je pourrais brancher le HDD dessus. Bien sûr, j’ai trouvé plein de petites boîtes qui contiennent des disques durs - il suffit de les brancher sur votre LAN et c’est parti. Le problème, c’est que ces boîtes sont significativement plus chères qu’un HDD de 3,5” car elles contiennent des SBC (ordinateurs à carte unique). Mais, me suis-je dit, un SBC est ce que j’essaie de construire ici - cela n’a pas beaucoup de sens d’en avoir deux. Néanmoins, j’ai été tenté d’acheter un Linksys LSLU2 Network Storage Link, car j’ai découvert qu’il existe une communauté active d’enthousiastes qui travaillent à le hacker. Ils ont même plusieurs versions de nouveaux firmwares pour cela, donc vous pouvez complètement reprogrammer le firmware et le transformer en boîte Linux. Cette solution semblait intéressante, mais je devais admettre que c’était un détour.

D’après ma correspondance avec Pascal Dornier, le concepteur de la carte WRAP, j’ai appris que vous pouvez simplement brancher un Microdrive dans le WRAP, et que cela fonctionnera. Je n’avais pas envisagé cette possibilité, car (1) je n’avais qu’une vague idée de ce qu’est un “Microdrive”, et (2) je pensais que cela nécessiterait trop de puissance pour l’alimentation de la carte WRAP et (3) je pensais que le WRAP ne prenait que des cartes CF de type I. Il s’avère que le Microdrive est une solution idéale - Pascal était catégorique sur le fait que cela fonctionnerait, alors je suis allé en acheter un. Avec cet obstacle surmonté, le chemin pour transformer ma petite carte WRAP en boîte Linux à usage général était ouvert.

Selon les spécifications techniques, le Microdrive IBM/Hitachi de 4 Go consomme 395mA à 3,3V pour l’écriture, soit 1,3 watts.

Configuration du système de fichiers racine

Puisque j’avais du temps pendant le week-end, j’ai fouillé sur le net et trouvé un HOWTO (en fait une entrée de blog) de Jan Willem (http://www.lextreme.nl) pour installer un système Debian standard sur la carte WRAP. Cela m’a intéressé car les alternatives, comme Voyage Linux, bien qu’elles prennent explicitement en charge le WRAP, sont orientées vers des applications de routage sans fil et l’exécution du système de fichiers racine à partir d’une carte CF. Je cherchais une solution plus générale, et un simple Debian semblait idéal. L’installation est simple. Vous avez besoin d’un adaptateur CF vers IDE pour permettre au Microdrive d’être branché sur un ordinateur qui fonctionne déjà sous Linux et qui a une connexion Internet ou un CD d’installation Debian. Essentiellement, cela se résume aux étapes de base suivantes, qui sont juste une version légèrement modifiée de la procédure de Jan Willem :

  • En utilisant fdisk, créez deux partitions sur le Microdrive, swap et racine
  • Formatez le Microdrive en utilisant mkfs.ext3 (j’utiliserai un système de fichiers journalisé) et mkswap
  • Montez le Microdrive, disons, sous /mnt
  • En utilisant debootstrap, téléchargez et installez un système Debian minimal dans /mnt
  • Installez le noyau 2.6.15 de Voyage Linux 0.2, configurez les modules
  • exécutez lilo -r /mnt pour installer le chargeur de démarrage lilo
  • Déplacez le Microdrive vers le WRAP
  • Démarrez le WRAP

Ceci est juste une liste généralisée des étapes. Les détails suivent.

fdisk

Après avoir branché ma carte CF vers IDE dans le port IDE1 de ma boîte Linux, inséré le Microdrive dans le slot CF, et allumé la boîte Linux, dmesg voit le Microdrive comme /dev/hdc :

hdc: HMS360404D5CF00, CFA DISK drive
...
hdc: max request size: 128KiB
hdc: 7999488 sectors (4095 MB) w/128KiB Cache, CHS=7936/16/63, UDMA(33)
hdc: cache flushes supported
  hdc: hdc1

Donc j’exécute “fdisk /dev/hdc” en tant que root. Le Microdrive est pré-formaté avec un système de fichiers FAT32.

Disk /dev/hdc: 4095 MB, 4095737856 bytes
128 heads, 63 sectors/track, 992 cylinders
Units = cylinders of 8064 * 512 = 4128768 bytes
   Device Boot      Start         End      Blocks   Id  System
/dev/hdc1   *           1         992     3999712+   b  W95 FAT32

Ainsi, la première étape consiste à détruire ce bébé et à créer une partition swap et une partition racine à sa place.

Disk /dev/hdc: 4095 MB, 4095737856 bytes
128 heads, 63 sectors/track, 992 cylinders
Units = cylinders of 8064 * 512 = 4128768 bytes
   Device Boot      Start         End      Blocks   Id  System
/dev/hda1               1          32      128992+  82  Linux swap / Solaris
/dev/hda2              33         992     3870720   83  Linux

Comme vous pouvez le voir, j’ai mis la partition swap au début du disque. Je pourrais probablement me passer de swap, mais pourquoi pas ? 128 Mo ne représente qu’environ 3 % du disque. Avec un système à disque unique, la partition swap est “supposée” être au centre du disque, mais ayant déjà fait cela auparavant, je préfère avoir toutes mes données dans un seul système de fichiers plutôt que de les répartir sur deux.

Initialiser les Partitions et Monter

Quoi qu’il en soit, les prochaines commandes consistent à initialiser les nouvelles partitions :

mkswap /dev/hdc1  
mkfs.ext3 /dev/hdc2

Ces deux commandes se sont bien déroulées, donc j’ai monté /dev/hdc2 comme /mnt :

mount -t ext3 /dev/hdc2 /mnt

Installer un Système Debian Minimal en Utilisant debootstrap

Puis il m’est venu à l’esprit que soit (1) le support ext3 doit être compilé dans le noyau, soit (2) je dois utiliser initramfs pour charger le module ext3 au démarrage. Cela pourrait poser un problème avec le noyau de Voyage Linux, qui est de type monolithique, s’il n’a pas ext3 compilé. Mais un rapide coup d’œil à “voyage-0.2/boot/config-2.6.15-486-voyage” m’a rassuré. ext3 est là. Je peux continuer.

debootstrap sid /mnt ftp://ftp.cz.debian.org/debian/

Je voulais installer “sid”, qui est plus récent, mais cela a échoué au moment où il a essayé de télécharger le passage “base-config”. Pour une raison quelconque, la liste des paquets sid inclut “base-config” mais le dépôt sid ne contient pas ce paquet. Plus tard, cependant, j’ai appris que pour installer sid sur un système sarge comme le mien, je dois mettre à niveau vers la version sid de debootstrap, ce qui a en fait beaucoup de sens. Après avoir fait cela, cela a fonctionné, sans aucune erreur.

Que faire ensuite ?

Lors de ma précédente tentative d’obtenir Debian fonctionnant sur le WRAP (en utilisant une carte CF), je m’étais immédiatement chrooté dans /mnt à ce stade et j’avais essayé de configurer le système pendant que la carte CF était toujours dans ma machine d’installation. Cela n’a pas bien fonctionné, surtout quand il s’agissait d’exécuter “base-config”. Le problème était les locales - dans la prison chroot, base-config ne voyait aucun support de locale, mais il pouvait voir mes variables d’environnement de locale. Donc, cela a généré beaucoup d’avertissements. Souhaitant éviter cela, je vais me passer de la configuration initiale et passer directement à l’installation du noyau et à l’exécution de lilo.

Installation du Noyau Voyage Linux 2.6.15

Après une tentative timide de compiler un paquet de noyau pour le WRAP, j’ai abandonné et téléchargé Voyage Linux 0.2, qui inclut un noyau précompilé qui a été patché pour bien fonctionner avec le WRAP. Une belle caractéristique de ce noyau (en plus du support ext3 compilé, comme mentionné ci-dessus), est qu’il a littéralement tout inclus en tant que modules. Donc, vous n’avez pas besoin de recompiler - si vous devez activer une fonctionnalité du noyau, il vous suffit d’ajouter le nom du module à /etc/modules.

Tout d’abord, j’ai décompressé l’archive voyage-0.2 et commencé à fouiller dedans. J’ai exécuté les commandes suivantes pour transférer le noyau Voyage vers mon système de fichiers racine CF :

cd voyage-0.2  
cp -a boot/* /mnt/boot  
cp -a lib/modules/* /mnt/lib/modules

Configuration de Base (Pré-démarrage)

Modules du Noyau

Le premier fichier de configuration que j’ai abordé était /etc/modules. Voici le /etc/modules créé par le script d’installation de la distribution Voyage Linux pour la carte WRAP, moins les pilotes WLAN, qui ne sont pas couverts par ce document :

# Interfaces LAN  
natsemi   
# minuterie de surveillance incluse dans le processeur Geode `SC1100`  
# Décommentez la ligne suivante si vous exécutez le démon de surveillance  
# wd1100 sysctl_wd_graceful=0 sysctl_wd_timeout=30   
# matériel de surveillance thermique  
lm77  
# National Semiconductor SCx200 ACCESS.bus (nécessaire pour la lecture de la température)  
scx200_acb base=0x820,0   

Une autre chose à laquelle j’ai pensé à faire est “depmod”, mais ensuite j’ai réalisé que le fichier modules.dep est déjà là dans /mnt/lib/modules/2.6.15-486-voyage, donc il n’y a pas besoin.

/etc/inittab

Le prochain fichier de configuration à éditer est /etc/inittab. CECI EST CRUCIAL, SINON VOUS NE RECEVREZ PAS DE CONSOLE SÉRIE. Pour des raisons évidentes, l’installation standard de Debian suppose que vous aurez un clavier et un VGA comme votre console Linux. Mais le WRAP a besoin d’une console série. Cela signifie que nous devons éditer /etc/inittab pour nous débarrasser des consoles virtuelles et activer une console série. C’est très simple, mais vous devez faire attention au débit en bauds - s’il ne correspond pas à ce que le BIOS du WRAP attend, vous ne verrez rien dans l’émulateur de terminal au démarrage. Pour savoir à quoi le WRAP est réglé, appuyez sur la touche “s” pendant que le WRAP effectue son test de mémoire initial. Cela vous amènera au menu du BIOS, où vous pouvez régler le débit à 9600, 38400 ou même un débit plus élevé. J’ai choisi 38400. Voici le fichier complet /etc/inittab :

# /etc/inittab: configuration init(8).  
# $Id: index.html,v 1.2 2006/06/19 08:52:38 livingston Exp $  
  
# Le niveau d'exécution par défaut.  
id:2:initdefault:  
  
# Script de configuration/initialisation du système au démarrage.  
# Cela s'exécute en premier sauf lors du démarrage en mode d'urgence (-b).  
si::sysinit:/etc/init.d/rcS  
  
# Que faire en mode utilisateur unique.  
~~:S:wait:/sbin/sulogin  
  
# /etc/init.d exécute les scripts S et K lors du changement  
# de niveau d'exécution.  
#  
# Le niveau d'exécution 0 est l'arrêt.  
# Le niveau d'exécution 1 est utilisateur unique.  
# Les niveaux d'exécution 2-5 sont multi-utilisateurs.  
# Le niveau d'exécution 6 est le redémarrage.  
  
l0:0:wait:/etc/init.d/rc 0  
l1:1:wait:/etc/init.d/rc 1  
l2:2:wait:/etc/init.d/rc 2  
l3:3:wait:/etc/init.d/rc 3  
l4:4:wait:/etc/init.d/rc 4  
l5:5:wait:/etc/init.d/rc 5  
l6:6:wait:/etc/init.d/rc 6  
# Normalement non atteint, mais passe à travers en cas d'urgence.  
z6:6:respawn:/sbin/sulogin  
  
# Que faire lorsque l'alimentation échoue/revient.  
pf::powerwait:/etc/init.d/powerfail start  
pn::powerfailnow:/etc/init.d/powerfail now  
po::powerokwait:/etc/init.d/powerfail stop  
  
# Console série pour WRAP  
T0:23:respawn:/sbin/getty -L ttyS0 38400 vt100

La dernière ligne exécute getty sur le port série, permettant de se connecter en tant que root.

/etc/fstab

Voici la stratégie KISS (Keep It Simple, Stupid). Puisque nous avons un Microdrive, nous pouvons nous passer de l’idée de minimiser le nombre d’écritures sur le système de fichiers racine.

# WRAP avec Microdrive  
/dev/hda1 swap swap defaults, 1 1  
/dev/hda2 / ext3 defaults, 0 0  
proc /proc proc defaults

/etc/apt/sources.list

Ce fichier est utilisé par “apt-get” pour trouver des dépôts de paquets deb. Nous n’avons besoin que d’une seule entrée à ce stade :

deb http://ftp.debian.cz/debian/ sid main

Une fois que nous avons ce fichier créé dans l’arborescence /mnt, nous chrootons et installons des paquets supplémentaires. Certains, comme “less”, sont des commodités, mais d’autres, comme “lilo”, sont critiques et vous ne pourrez pas démarrer le WRAP sans eux.

chroot /mnt /bin/bash  
mount /proc  
apt-get update  
apt-get install watchdog # va avec le module wd1100  
apt-get install less  
apt-get install lilo # CRITIQUE ! C'EST UN MUST !  
apt-get install udev # CRITIQUE ! C'EST UN MUST !  
apt-get install [votre paquet préféré sans lequel vous ne pouvez pas vivre]

Notez que, autant que je sache, grub ne fonctionnera pas avec le WRAP et vous devez utiliser LILO. Je ne fais que répéter ce que j’ai lu ailleurs, cependant, je ne parle pas d’expérience.

/etc/lilo.conf

L’étape suivante consiste à installer lilo (ai-je vraiment réussi à aller aussi loin ?!). Voici comment je l’ai fait. Après avoir bricolé et consulté la documentation, j’ai obtenu ceci pour le fichier de configuration :

boot = /dev/hdc # Le Microdrive apparaît comme /dev/hdc sur mon système  
disk = /dev/hdc # Microdrive  
bios = 0x80 # Le BIOS du WRAP le verra comme Master Principal  
#compact  
lba32 # définir LBA dans la configuration du BIOS WRAP - mais j'ai essayé avec CHS et cela fonctionne aussi  
install=text  
map=/boot/map  
vga=normal  
delay=1  
timeout=50  
prompt  
serial=0,38400n8 # Pas moyen de régler le duplex, donc je reçois un doublement de chaque caractère au démarrage. Soupir.  
default=Linux  
  
image=/vmlinuz  
# initrd=/initrd.img # Voyage Linux n'utilise pas initramfs (Dieu merci !)  
root=/dev/hda2 # C'est ainsi que le Microdrive apparaîtra sur le WRAP  
label=Linux  
append="console=ttyS0,38400n8 reboot=bios"  
read-only  
# restricted  
# alias=1

Si vous utilisez “sid”, il y a un hic : le chroot dans “sid” fonctionne différemment de celui dans sarge. Dans l’environnement chroot, il n’y a pas de “/dev/hda” ou “/dev/hdc” du tout. Lorsque vous exécutez “df”, vous obtenez ceci :

Filesystem 1K-blocks Used Available Use% Mounted on  
sysfs 3809936 220184 3396216 7% /sys

Ce qui est le Microdrive, mais pas en tant que “/dev/hdc”. En regardant dans le répertoire /dev, je vois qu’il n’y a qu’un ensemble minimal de fichiers de périphériques qui n’inclut pas /dev/hdc. Donc “lilo -t” produit une erreur disant qu’il ne peut pas trouver /dev/hdc. De plus, le lien symbolique “vmlinuz” dans le répertoire racine doit être créé. La solution de contournement que j’ai trouvée pour cela est la suivante, en supposant que nous sommes déjà chrootés dans /mnt :

cd /  
ln -si boot/vmlinuz-2.6.15-486-voyage vmlinuz  
cd dev  
./MAKEDEV hda  
./MAKEDEV hdc  
lilo -t

Sur mon système, cela a suffi pour passer par lilo -t sans erreurs.
Ensuite, j’ai fait :

lilo -v # s'est bien passé sans erreurs  
umount /proc # je ne sais pas si c'est nécessaire  
exit # quitter le chroot  
umount /dev/hdc2 # démonter le Microdrive  
shutdown -h now

Le Moment de Vérité

Tout ce qui reste à faire est de mettre le Microdrive dans la carte WRAP et de l’allumer. Cependant, si vous voulez le voir démarrer (et je suis sûr que vous le voulez), vous devez connecter le port série de la carte WRAP à un autre ordinateur à l’aide d’un câble NULL modem DB9(femelle)-à-DB9(femelle) (également connu sous le nom de câble Laplink).
Ces câbles peuvent encore être achetés, bien qu’ils soient généralement un article sur commande spéciale. Une fois que vous avez connecté le câble NULL modem aux deux extrémités, vous exécutez un programme d’émulateur de terminal tel que (sous Winblows) TuTTY (qui est BEAUCOUP mieux que Hyperterminal) ou (sous Linux) minicom. Les paramètres corrects sont :

débit en bauds : 38400 (ou quel que soit le débit configuré pour la carte WRAP)  
bits de données : 8  
parité : aucune  
bits d'arrêt : 1  
contrôle de flux : XON/XOFF

C’est le moment que nous attendions ! Dans mon cas, cela a démarré directement et m’a récompensé avec un prompt de connexion :

Debian GNU/Linux testing/unstable wrap ttyS0  
  
wrap login:

La première fois que vous vous connectez, il n’y a pas de mot de passe root, donc vous devriez obtenir un prompt root juste en tapant “root”.

Configuration (Post-démarrage)

Avoir démarré le WRAP à partir du Microdrive n’est que le début. Il reste encore beaucoup de configuration à faire.

Démon de Surveillance

Il y a quelques choses à garder à l’esprit ici. Tout d’abord, si vous mettez la ligne wd1100 dans /etc/modules, vous DEVEZ exécuter le démon de surveillance, sinon le module wd1100 redémarrera votre système après pas plus de 30 secondes ! Donc, faites attention à activer le module noyau wd1100.

Si vous l’activez (en utilisant les paramètres donnés ci-dessus), tout ce que vous avez à faire est d’exécuter “apt-get install watchdog” pendant que le Microdrive est encore dans la machine d’installation (avant de démarrer le WRAP) et il n’y aura pas de problème. Le démon de surveillance est configuré pour écrire automatiquement dans /dev/watchdog toutes les 10 secondes, tandis que le module wd1100 ne redémarre que si /dev/watchdog n’a PAS été écrit depuis 30 secondes ou plus. Donc, vous êtes en sécurité. Vous pouvez ajuster “interval” dans /etc/watchdog.conf à 15 secondes si vous le souhaitez.

Une autre chose à examiner est à quel moment pendant le démarrage le démon de surveillance est lancé. Sur mon système, c’est la toute dernière chose à démarrer. Cela signifie que si un autre élément de démarrage est retardé ou expire, le module wd1100 serait en cours d’exécution mais le démon de surveillance ne serait pas démarré à temps pour l’empêcher de redémarrer le système. Donc, sur mon système, j’ai déplacé le démarrage du démon de surveillance à un point plus tôt dans le processus de démarrage. Je voulais m’assurer qu’il soit démarré avant ntpdate, qui est susceptible d’être retardé car il se connecte à un serveur Internet pour obtenir l’heure actuelle.

Réseau

La configuration du réseau dépasse le cadre de ce document. Le strict minimum dont vous avez besoin est de configurer une interface IP fixe dans /etc/network/interfaces et des pointeurs vers des serveurs de noms dans /etc/resolv.conf. Il est également bon de configurer /etc/hostname et /etc/hosts (si vous avez d’autres machines à IP fixe sur votre réseau, vous pouvez mettre leurs adresses IP dans /etc/hosts et mapper les adresses à des noms lisibles par l’homme tels que “daisy” ou “patty”).

Telnet/ssh

Si vous utilisez Hyperterminal pour communiquer avec le WRAP, vous aurez bientôt envie d’utiliser PuTTY à la place. Pour que cela fonctionne, vous devez configurer soit telnet (avertissement de sécurité obligatoire : telnet n’est pas sécurisé - les mots de passe ne sont pas cryptés, théoriquement quelqu’un pourrait capturer votre mot de passe en écoutant le port telnet) soit ssh. J’avais besoin d’une solution rapide et sale, donc j’ai utilisé telnet. Tout d’abord, ajoutez la ligne suivante à /etc/inetd.conf :

#:STANDARD: Ce sont des services standards.  
telnet stream tcp nowait telnetd.telnetd /usr/sbin/tcpd /usr/sbin/in.telnetd

Ensuite, installez le paquet telnetd en utilisant “apt-get install telnetd” et faites fonctionner le super serveur inetd (“/etc/init.d/openbsd-inetd start” dans Debian “sid”). Configurer ssh sur sid est sans doute encore plus facile. Tout ce que vous avez à faire est :

apt-get install openssh-server

Cela prend 2 Mo d’espace disque, mais s’il y a même une chance qu’une personne extérieure puisse se connecter au port telnet de votre machine, alors, eh bien, je vous laisse décider ce qui est mieux.

Avant de pouvoir utiliser telnet ou ssh, cependant, vous devez configurer un compte utilisateur via “adduser”. Il est également bon de définir un mot de passe root via “passwd”.

À partir de là, il ne vous reste plus qu’à lancer PuTTY et à choisir soit telnet soit SSH. Évidemment, vous devez être en mesure de voir le WRAP depuis votre boîte Winblows. Si vous avez TCP/IP activé et que le WRAP et la boîte Winblows sont sur le même sous-réseau (j’utilise 192.168.0.0/24, le WRAP est 192.168.0.7 et la boîte Winblows est 192.168.0.5 - toutes ces adresses sont fixes, le DHCP n’est pas utilisé), alors il vous suffit de taper l’adresse IP du WRAP et cela devrait fonctionner.

exim4

Utilisez la commande “dpkg-reconfigure exim4-config” pour le configurer.

ntpdate

Puisque le WRAP n’a pas de batterie, vous perdez votre réglage horaire chaque fois que vous redémarrez. Pour vous assurer que le WRAP sait quelle heure il est, et en supposant que vous avez une connexion Internet “toujours active”, vous pouvez simplement installer le paquet ntpdate. Cela consultera automatiquement un serveur de temps et réglera votre horloge système au démarrage.

Client NFS

Au début, j’avais besoin d’accéder aux fichiers de ma boîte Linux depuis le WRAP. La boîte Linux exécute la version 2 du serveur NFS kernel. Pour que le WRAP y accède, j’ai fait ce qui suit :

apt-get install portmap  
apt-get install nfs-common

Du côté SERVEUR, j’ai configuré un fichier /etc/exports comme ceci :

/home/livingston wrap(rw)

(wrap est configuré dans /etc/hosts pour pointer vers la boîte WRAP)

Sur le WRAP, j’ai fait cela :

mount -o nfsvers=2,rw f216:/home/livingston /mnt

(f216 est le serveur.) Pour plus d’informations détaillées, référez-vous au NFS-HOWTO.

Astuces Sympas pour WRAP

Pour connaître la température actuelle du système :

cat /sys/bus/i2c/devices/0-0048/temp1_input

(multipliez le résultat par 1000 pour obtenir des degrés Celsius). Voici un petit script bash qui fournira une sortie plus conviviale (nécessite “bc”, donc faites “apt-get install bc” d’abord) :

#!/bin/sh  
t=`cat /sys/bus/i2c/devices/0-0048/temp1_input`  
t2=`echo scale=1",$t/1000|bc -l`  
echo "Température du système : "$t2" degrés Celsius"  
Share: X/Twitter LinkedIn

Recevez de nouveaux articles dans votre boîte de réception.

Aucun spam. Désabonnez-vous à tout moment.