- français
- English
Tout sur DSL Linux...
Un bien grand titre:
Tout sur DSL Linux...
en fait c'est toutes les astuces que j'ai utilisées pour mon projet d'écrans de signalisations de pannes pour notre Call Center au DIT de l'EPFL à Lausanne, et j'ai trouvé dommage de ne ma partager l'expérience que j'ai acquise avec ce merveilleux mini Linux !
Pour piloter mon écran, j'ai utilisé un très petit PC de www.pcengines.ch, le model alix1d:
http://www.pcengines.ch/alix1d.htm
Avec son boîtier et son alimentation, on doit être juste proche des 150FS et il ne consomme que 5W. Le CPU ne tourne qu'à 500MHz et il n'y a que 128MB de RAM, mais on verra par la suite que c'est amplement suffisant pour bien des choses !
http://www.pcengines.ch/order1.php?c=1
Je lui est mis comme moteur, un tout petit Linux qui fait seulement 50MB ! Le DSL Linux, une petite merveille à absolument connaitre et utiliser...
http://www.damnsmalllinux.org/
Petit article sur DSL Linux que je conseille de lire:
https://gpscope.dt.insu.cnrs.fr/spip/spip.php?article99
Et finalement j'ai mis encore une petite application (qui tient sur une page A4) écrite en Python pour gérer les messages de pannes à afficher sur l'écran via un webservice.
Lors de la réalisation de mon POC, j'ai eu beaucoup de petits problèmes que j'ai dû résoudre pas après pas. Je vais essayer d'écrire la marche à suivre pour refaire mon projet chez soit !
Veuillez bien m'excuser pour les phôtes d'orthographes, je n'ai pas le temps de me relire pour l'instant, l'information prime sur la qualité de l'expression !
Pourquoi avoir choisi un petit Linux embarqué au lieu d'un bon vieux gros Windows ou mieux Ubuntu ?
La durée de vie d'utilisation de ces écrans de visualisations d'annonces de pannes doit être de 10 ans. En informatique, 10 ans, c'est comme pour les chiens, 1 an compte 10 ans. Donc une durée de vie de 10 ans représente 100 ans pour un homme et en 100 ans, y'a beaucoup, mais vraiment beaucoup de choses qui se sont passées. Nous sommes en 2010, on a bien de la peine à imaginer que nous avons encore des serveurs qui tournent Windows 2000 !
Donc pour bien résister au temps, il faut utiliser le système le plus petit et possible et surtout gravé en dur sur un support protégé en écriture. On s'imagine mal faire des mises à jours de système sur l'électronique embarquée de sa machine à laver la vaisselle ;-)
Au moment où l'on creuse un peu sur internet à la recherche de système embarqué, on tombe très vite sur des complications de configurations des drivers entre le hardware et le système. L'avantage avec notre petit DSL, c'est qu'au moment du boot il a une phase de découverte et d'auto-configuration du hardware. Généralement cela tourne assez bien sur tout ce qui tourne ;-)
Toujours dans le but de simplifier l'usine à gaz au maximum, j'ai décidé de tout installer, le système et l'application, sur une simple clef USB. Ainsi, on sort de l'emballage le PC et hop on plante la clef et c'est prêt à fonctionner ! Si dans les premiers temps il faut améliorer l'usine, y'a qu'à monter sur une chaise pour changer la clef USB et c'est tout. Comme le système ne travail qu'en RAM, on peut mettre une horloge à poisson pour l'arrêter la nuit sans peur de corrompre le disque dur, vu qu'il n'y en a pas ;-)
Installation de la distribution DSL sur le petit pcengines.ch
En premier petite théorie très simpliste sur le fonctionnement de DSL Linux. DSL démarre sur un CD live, est donc totalement write protect... à chaque fois que l'on redémarre on perd toutes les modifications que l'on a faites. Pour palier à cet inconvénient on peut utiliser une partition sur une clef USB où l'on peut sauver la configuration. Toute de suite, on s'aperçoit qu'il est très élégant de supprimer le CDROM et d'en faire une clef USB bootable avec la petite partition supplémentaire writeable pour l'enregistrement de la configuration.
Donc pour démarrer l'installation de son moteur, il faut:
- graver un CD avec la distribution de DSL Linux
- une machine réelle ou mieux virtuelle, là, on n'a plus besoin de graver le CD, le fichier ISO suffit
- une clef USB formatée en FAT32, avec un dossier nommé mydsl !
On démarre le système en moins d'une minute et on arrive dans un super écran graphique. On connecte la clef USB. Au moyen de la souris on choisi dans le menu en bas à gauche:
DSL/Apps/Tools/USB-HDD Pendrive Install
Il suffit alors de répondre aux questions.
Lors de cette installation, on a simplement copié les 50MB du mini système DSL Linux sur la partition FAT32 de la clef USB et rendu bootable cette partition, donc tout ce qui avait avant sur la clef est resté en l'état. C'est important de bien comprendre, car après cette partition sera 'montée' automatiquement en Linux et sera la partie où l'on pourra sauver pleins de choses...
La clef est alors prête, on peut déjà utiliser son DSL Linux dans n'importe quelle machine.
Première chose à faire est de mettre le bon clavier au moyen du Panel de Configuration, bouton Keyboard. On peut aussi changer la résolution de l'écran au moyen du bouton xVesa, qui soit dit en passant va redémarrer le serveur X11 qui permettra de recharger le nouveau clavier !
Voilà notre installation de système est terminée.
Quel est le principe de sauvetage de la configuration actuelle DSL Linux
Après avoir fait joujou avec son nouveau système embarqué, il devient vite intéressant de configurer la partie sauvegarde de la configuration, au moyen du Panel de Configuration en bas à gauche, bouton Backup/Restore. On indique la partition FAT32 de la clef USB, sda1, et on clique sur le bouton Backup.
Ceci a pour objectif d'indiquer au système où, à chaque arrêt du système, il peut sauvegarder la configuration et surtout à chaque démarrage, il peut retrouver son ancienne configuration. Par défaut le dossier personnel /home/dsl est sauvegardé, mais il est possible, voir nécessaire de sauvegarder d'autres choses.
On doit alors, l'indiquer dans le fichier /opt/.filetool.lst. Il existe aussi une liste de choses à ne pas sauvegarder, par exemple, si vous 'montez' un drive réseau dans votre home, il ne faudra pas sauvegarder cette branche ! Le fichier pour les exceptions se trouve dans /opt/.xfiletool.lst.
Quand on veut, par exemple ajouter un nouvel utilisateur dans le système, il ne faudra pas oublier d'ajouter etc/passwd, etc/shadow et etc/sudoers dans le fichier /opt/.filetool.lst, autrement au prochaine reboot on aura tout perdu. Très facilement, on peut ajouter des 'objets' à sauvegarder avec le bouton Add2Filetool du gestionnaire graphique de fichiers (File Manager).
Installation du serveur VNC
sfdgkjsdl fgsd
Installation de Python et Tkinter
sdfgmnhdsf gkdslfgksdfg
Problèmes de fontes non lissées
Le grand problème avec un mini système embarqué, c'est l'affichage de grands caractères, comme on a économisé la place au maximum, on a mis dans le système que des petites fontes bitmaps, suffisant pour l'affichage jusqu'en taille 20, mais pas au delà. Si on désire écrire un texte en taille 64, on se retrouve avec de superbes gros escaliers de plusieurs millimètres à l'écran.
J'ai perdu beaucoup de temps pour réussir à installer des fontes Truetypes, mais surtout qu'elles soient visibles par le système, car sous Linux, chaque application peut gérer elle même ses fontes. Très facilement, j'ai réussi à installer des fontes Truetypes, mais elle n'étaient visibles que par Open Office ou Gimp, pas par le système ou les applications qui utilisent les fontes du système. (Oui, oui, Open Office et Gimp fonctionnent sur un système de 50MB !)
DSL Linux utilise, comme serveur X11, Xvesa. Xvesa est trop limité pour une configuration aux petits oignons pour afficher des fontes 'scalables'. J'ai installé Xfree86, mais l'installation de Xfree86 n'est pas aussi simple que d'installer une autre application via le DSL store MyDSL.
Il faut:
- Installer au moyen de MyDSL, XFree86.unc.
- Démarrer au moyen du menu 'DSL/Apps/Tools/Emelfm File Manager/Emelfm as super-user', afin de pouvoir copier les fichiers en mode 'root'.
- Copier le fichier '/home/dsl/XFree86_config_files/XF86Config-4_vesa' dans le dossier /etc/X11, et le renommer en XF86Config-4.
- Copier le fichier '/home/dsl/xserverrc_for_XF86' dans le dossier /home/dsl, et le renommer en .xserverrc (le point au début du fichier est important !).
- Modifier le fichier XF86Config-4 dans la section "InputDevice" "Mouse[1]", y mettre "/dev/mouse" comme "Device" et "auto" comme "Protocol".
- Ajouter la résolution exacte de l'écran dans la section "Screen" sous "Modes", par exemple chez moi "1280x1024".
- Et finalement ajouter le fichier etc/X11/XF86Config-4 la liste à sauvegarder avec le bouton Add2Filetool du File Manager.
Il ne reste plus qu'à sortir de Xvesa au moyen du menu Exit en choisissant 'Exit to Prompt' et de redémarrer le serveur X11 avec 'startx'. Normalement tout devrait bien se passer, si jamais ce n'était pas le cas, on peut revenir en arrière avec un CTRL+ALT+F1 et après un CTRL+C. On exécute ensuite xsetup.sh qui nous permet de repartir en mode Xvesa. Dans ce cas, il faudra remettre le fichier .xserverrc comme précédemment pour redémarrer le serveur Xfree86.
S'il y a toujours un problème, on peut installer xf86config.dsl au moyen de MyDSL pour faire sur mesure un fichier XF86Config-4.
Quand on est certain que notre nouveau serveur Xfree86 fonctionne bien, on peut s'attaquer à la partie Truetype, pour cela il faut faire:
- Récupérer sur une machine Windows ou Linux les fontes Truetypes qui nous intéressent, par exemple Arial et News Times Roman et les copier dans un dossier fonts sur notre partition FAT32 de la clef USB, qui est normalement montée sur /mnt/sda1.
- On modifie le fichier de configuration de Xfree86, 'etc/X11/XF86Config-4' et on ajoute notre dossier de fontes '/mnt/sda1/fonts'.
- Il faut encore créer le fichier '/mnt/sda1/font/fonts.dir' au moyen de l'utilitaire 'ttmkfdir', qui malheureusement n'est pas dans le store MyDSL. On l'installe avec un 'apt-get install ttmkfdir' (voir comment installer les packages Debian). Attention de l'utiliser dans le dossier '/mnt/sda1/fonts'.
On doit à nouveau redémarrer le serveur X11 afin que nos fontes Truetypes soient prises en compte. Pour tester le bon fonctionnement nous pouvons utiliser utilitaire 'xfontsel -scaled', choisir la taille 60 (pxlsz) et enfin la fonte Arial (fmly).
Comment installer les packages Debian ?
kdsljgl ksdfgsdfgsdfg
Christian Zufferey, 100311.1158