diff --git a/tp5.md b/tp5.md index 0739445..2162a0f 100644 --- a/tp5.md +++ b/tp5.md @@ -129,6 +129,181 @@ ensuite c'est une histoire de faire les bons chmods a la racine pour assigner le ## 2. Hotplug et mdev +Led bleue : `/sys/class/leds/d2/device/leds/d2/` +Led rouge : `/sys/class/leds/d2/device/leds/d3/` + +Dans chacuns de ces repertoires on peut trouver un fichier brightness dans lequel on peut mettre 0 ou 1 pour changer l'étât des leds. + +Ensuite avec le fichier depuis le git compressé + +`xz --decompress disk.img.xz` + +Ensuite on peut utiliser dd pour copier le contenu dans la clé usb + +`dd if=./disk.img of=/dev/sdb` + +la destination est /dev/sdb qui représente la clé usb que on vient d'insèrer. + +`mkdir media` à la racine de notre système embarqué + +Quand on plugg la clé USB sur notre système embarqué le nom est SDA + +donc dans media : `mkdir sda` + +`mount /dev/sda /media/sda` + +On peut voir que désormais dans le repertoire media/sda on a bien toutes les images : + +``` +/media/sda # ls +alien.jpg grimsel_pass.jpg rhone_winter.jpg +antelope.jpg ice.jpg sardinia.jpg +appenzell.jpg island.jpg shark.jpg +autumn.jpg jet_d'eau.jpg snail.jpg +azores.jpg jonction.jpg sphere.jpg +bamboo.jpg kauai.jpg stranger.jpg +beach.jpg lagoa_do_fogo.jpg sunrise.jpg +bee.jpg leaves.jpg sunset.jpg +blossoms.jpg lizard.jpg sup.jpg +boat.jpg lone_horse.jpg surfer.jpg +chateau_d'oex.jpg lost+found swan1.jpg +cyclists.jpg magnolia.jpg swan2.jpg +daisy.jpg misty.jpg tentacles.jpg +dendelion.jpg moutain_haze.jpg the_view.jpg +dropplets.jpg paradise.jpg tortoises.jpg +elephant.jpg peak.jpg tulips.jpg +fern.jpg peaks.jpg turtle.jpg +flower.jpg petals.jpg vertigo.jpg +flower_dropplets.jpg rain_forest.jpg vines.jpg +glacier.jpg rhone.jpg +``` + +Ensuite pour faire ces actions de manière automatique on va crééer le fichier /etc/mdev.conf sur le système embarqué. + + +``` +sd[a-z] 0:0 777 @/etc/usb_automount.sh $MDEV +``` + +Cette commande permet de dire que pour tout perpherique dans /dev qui commence par sd qui appartiendra a root et au groupe 0 et avec les permissions 777 et ca va lancer le script automount.sh avec comme argument le nom du peripherique. + +Pour le script on doit allumer la led rouge + +Créer le repertoire /media/[nom du peripherique] +monter le peripherique dans /media/[nom du peripherique] + +Installer le contenu de ce repertoire dans le repertoire correspondant dans le site web sous www + +Démonter le peripherique + +Eteindre la led rouge + +```sh +#echo "$1 Mounted !" >> /dev/console + +echo 1 > /sys/class/leds/d2/device/leds/d3/brightness + +echo "mounting fs" >> /dev/console + +mkdir /media/$1 +mount /dev/$1 /media/$1 + +echo "transferring files" >> /dev/console +install /media/$1/* /media/installed/ + +echo "unmounting" >> /dev/console +umount /media/$1 +rm -r /media/$1 + +echo "done" >> /dev/console + +echo 0 > /sys/class/leds/d2/device/leds/d3/brightness +``` + +Quand on lance ce script on a bien la led rouge qui s'allume pour indiquer que le transfers est en cours et elle s'eteint quand c'est fini. + +Et quand on va regarder dans le repertoire installed après coup : + +``` +/media # ls ./installed/ +alien.jpg grimsel_pass.jpg sardinia.jpg +antelope.jpg ice.jpg shark.jpg +appenzell.jpg island.jpg snail.jpg +autumn.jpg jet_d'eau.jpg sphere.jpg +azores.jpg jonction.jpg stranger.jpg +bamboo.jpg kauai.jpg sunrise.jpg +beach.jpg lagoa_do_fogo.jpg sunset.jpg +bee.jpg leaves.jpg sup.jpg +blossoms.jpg lizard.jpg surfer.jpg +boat.jpg lone_horse.jpg swan1.jpg +chateau_d'oex.jpg magnolia.jpg swan2.jpg +cyclists.jpg misty.jpg tentacles.jpg +daisy.jpg moutain_haze.jpg test +dendelion.jpg paradise.jpg the_view.jpg +dropplets.jpg peak.jpg tortoises.jpg +elephant.jpg peaks.jpg tulips.jpg +fern.jpg petals.jpg turtle.jpg +flower.jpg rain_forest.jpg vertigo.jpg +flower_dropplets.jpg rhone.jpg vines.jpg +glacier.jpg rhone_winter.jpg +``` + +Maintenant il faut que on fasse un script qui créée une page web et qui affiche toutes les images du repertoire pour qu'on puisse les voir depuis le site web. + +```sh +#!/bin/sh +echo "Content-type: text/html" +echo "" +echo "
" +echo "$img
" + echo "