fin tp5
This commit is contained in:
70
tp5.md
70
tp5.md
@@ -182,7 +182,7 @@ Ensuite pour faire ces actions de manière automatique on va crééer le fichier
|
||||
|
||||
|
||||
```
|
||||
sd[a-z] 0:0 777 @/etc/usb_automount.sh $MDEV
|
||||
sd[a-z] 0:0 777 @/bin/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.
|
||||
@@ -251,7 +251,7 @@ 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
|
||||
#!/bin/sh
|
||||
echo "Content-type: text/html"
|
||||
echo "<html>"
|
||||
echo "<body>"
|
||||
@@ -326,6 +326,72 @@ Ca permet de s'assurer de ou les modules sont installés.
|
||||
|
||||
Après juste le make sans options on peut voir avec la commande `find ./ -name "*.ko"` Que on a pleins de fichiers modules dans /lib, /fs, /crypto, /net et /drivers. On voit que certains modules parlent d'usb genre `./drivers/usb/storage/usb-storage.ko` mais je n'ai pas compris si on devait prendre juste les fichiers .ko et les mettre dans /lib/modules/version ou si il fallait conserver la même arborescence. J'ai pas tout capté honnêtement.
|
||||
|
||||
On va deja essayer de deployer le kernel sans les modules USB pour bien voir que ca ne marche plus. Et ensuite le but sera de les importer uns à uns jusqu'à ce que ca marche.
|
||||
|
||||
Sur la board dans u-boot je fais un `run update_kernel` qui est mon script qui nettoie la NAND et qui tftp le nouveau kernel dedans.
|
||||
|
||||
Maintenant quand on boot sur ce nouveau kernel et que on insère une clé USB il ne se passe plsu rien ! super...
|
||||
|
||||
`make modules_install INSTALL_MOD_PATH=/home/moi/shared_tftp/lesmodules`
|
||||
|
||||
Qui nous permet d'output les modules directement dans un fichier que je pourrai TFTP sur ma machine hôte qui contient le nfsroot.
|
||||
|
||||
Pour transfèrer le tout par tftp comme d'hab on ne peut pas transfer le repertoire directement donc on doit commencer par zipper et envoyer le fichier
|
||||
|
||||
La compilation des modules fait une arborescence qui commence par /lib/modules
|
||||
|
||||
J'ai pris le repertoire modules et je l'ai mis dans /lib/modules sur le système embarqué ce qui nous donne une arborescence `/lib/modules/6.6.56` ou on peut voir différents modules.
|
||||
|
||||
Sous `/lib/modules/6.6.56/kernel/drivers/usb`
|
||||
|
||||
On a plusieurs categories `class core host serial storage`
|
||||
|
||||
Sous `/lib/modules/6.6.56/kernel/drivers/usb/storage` On peut voir un fichier usb-storage.ko qui je pense sera utile.
|
||||
|
||||
Sous `/lib/modules/6.6.56/kernel/drivers/usb/core` on peut voir un fichier usbcore.ko que j'imagine important également.
|
||||
|
||||
On va monter ces deux modules et voir si l'USB remarche.
|
||||
|
||||
`modprobe usb-storage`
|
||||
|
||||
`modprobe usbcore`
|
||||
|
||||
Mais ca ne suffit pas
|
||||
|
||||
Quand on va regarder dans /lib/modules/6.6.56/kernel/drivers/usb/host
|
||||
|
||||
On peut voir pleins de fichiers OHCI (USB1) et EHCI (USB2)
|
||||
|
||||
On a donc deux fichiers intéressants `ehci-atmel.ko` et `ehci-hcd.ko`
|
||||
|
||||
`modprobe ehci-atmel`
|
||||
|
||||
Et la ca marche !! magnifique.
|
||||
|
||||
Maitenant si on reboot, ca ne marche plus car les modules ne sont pas montés.
|
||||
|
||||
Donc on va mettre en tant que service dans `/etc/init.d` un script `SmodUsb.sh` avec ce contenu :
|
||||
|
||||
```sh
|
||||
#!/bin/sh
|
||||
|
||||
modprobe usb-storage
|
||||
modprobe usbcore
|
||||
modprobe ehci-atmel
|
||||
```
|
||||
|
||||
Et à présent quand on redémarre le système embarqué, les modules USB sont montés correctements et le fonctionnement du script que l'on a créé au préalable est de retour !
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user