Pages : 1
#1 Le 02/05/2006, à 22:54
- JoNas-fr
Problème de script bash au démarrage
Bon alors j'espère que ce topic n'a pas déja été posé (lopo trouvé l'gâ ) si c'est le cas avertissez moi!
Donc voilà j'ai ces commandes à éxécuter à chaque démarrage :
sudo modprobe -r ov51x
sudo modprobe ov51x
sudo modprobe ov519_decomp
Je pense avoir fais le bon choix en les mettants dans un fichier .sh avec les droits 755
Donc je ne sais pas si il faut le démarrer avant le logon ou après c'est à dire avec l'interface graphique (j'espère être clair dans mes propos...) et je ne sais pas non plus comment m'y prendre et en plus il faut qu'il soit éxécuté avec les droits root (--> à cause des sudo).
Pour info j'ai Ubuntu 5.10 sous GNOME.
"If you see strict DRM and copy protection that threatens the preservation of history, fight it: copy the work, keep it safe, and eventually share it so it never disappears. [...] no one living 500 years from now will judge your infringing deeds harshly when they can load up an ancient program and see it for themselves."
B. E. - [url=[Merci de relire les règles]/benjedwards]Why History Needs Software Piracy[/url]
Hors ligne
#2 Le 03/05/2006, à 00:52
- nono
Re : Problème de script bash au démarrage
Bonjour,
Si tu veux que des modules soient charger au démarrage de l'ordi, il te suffit de les rajouter dans /etc/modules
sudo gedit /etc/modules
puis tu rajoutes dans le fichier
ov51x
ov519_decomp
Par contre je ne comprend pas bien pourquoi tu veux decharger le module ov51x pour le recharger après (sudo modprobe -r ov51x, sudo modprobe ov51x)
Voila en espérant t'avoir aider
nono
Hors ligne
#3 Le 03/05/2006, à 14:10
- JoNas-fr
Re : Problème de script bash au démarrage
Par contre je ne comprend pas bien pourquoi tu veux decharger le module ov51x pour le recharger après (sudo modprobe -r ov51x, sudo modprobe ov51x)
Car en fait le chargement du module ov519_decomp (version 'hackée' du ov519) ne peut se faire chez moi qu'en chargeant et déchargeant le module ov51x auparavant.
J'allais oublier, il me manquait une commande pour que ma cam démarre, voici les 4 commandes necessaires :
sudo depmod -a (n'est-il pas déja fait par défaut au démarrage d'ubuntu?)
sudo modprobe -r ov51x
sudo modprobe ov51x
sudo modprobe ov519_decomp
Comme il faut que je puisse décharger ov51x je ne pense pas que ta solution ne marche nono
"If you see strict DRM and copy protection that threatens the preservation of history, fight it: copy the work, keep it safe, and eventually share it so it never disappears. [...] no one living 500 years from now will judge your infringing deeds harshly when they can load up an ancient program and see it for themselves."
B. E. - [url=[Merci de relire les règles]/benjedwards]Why History Needs Software Piracy[/url]
Hors ligne
#4 Le 03/05/2006, à 14:37
- sksbir
Re : Problème de script bash au démarrage
Bonjour, voici un lien vers un autre topic de ce forum où j'ai déjà expliqué comment réaliser des actions au démarrage.
Je te laisse déja regarder ça avant de continuer à développer...
Dernière modification par sksbir (Le 03/05/2006, à 14:37)
Hors ligne
#5 Le 03/05/2006, à 16:50
- JoNas-fr
Re : Problème de script bash au démarrage
Merci beaucoup sksbir.
Cependant quelques interrogations me sont venues au cours de cette manip'.
Cela fais peu de temps que je suis passé à linux, donc ma capacité d'appréhension de ce nouveau monde est encore un peu limitée quoique grandissante de jour en jour notamment grâce à des posts comme le tien.
Voici mes interrogations :
- du fait même de la nature de mon script (chargement/déchargement de modules) ne serait-il pas plus judicieux de le faire démarrer avec les autres modules comme le préconisait nono mais avec le possibilité de décharger puis charger un module (ici ov51x)?
- ce script fais marcher ma webcam quand je l'éxécute dans un terminal au cours d'une session déja ouverte, coment ce fait-il qu'il ne la fasse pas fonctionner lors du démarrage d'Ubuntu?
"If you see strict DRM and copy protection that threatens the preservation of history, fight it: copy the work, keep it safe, and eventually share it so it never disappears. [...] no one living 500 years from now will judge your infringing deeds harshly when they can load up an ancient program and see it for themselves."
B. E. - [url=[Merci de relire les règles]/benjedwards]Why History Needs Software Piracy[/url]
Hors ligne
#6 Le 03/05/2006, à 17:31
- sksbir
Re : Problème de script bash au démarrage
@jonas-fr :
- non justement car le fichier /etc/modules est un fichier parametre contenant la liste des modules à charger au boot. Le programme inclu dans ubuntu qui s'occupe de lire ce fichier, et d'exécuter le chargement des modules qu'il y trouve n'est pas codé pour décharger un module: il a été conçu pour charger une liste, un point c'est tout.
- je ne comprend pas ta 2eme question. Il faudrait expliquer ce que tu as réalisé au juste comme manip avec le démarrage...
Hors ligne
#7 Le 03/05/2006, à 19:21
- JoNas-fr
Re : Problème de script bash au démarrage
@sksbir
Oui pardon j'ai oublié de le mentionner dans mon précédent post. J'ai fais un script dans /etc/init.d/ qui s'appelle init_eyetoy, il a les droits en éxécution (755 owner:root)et voici ce qu'il contient (c'est un script très basique) :
#!/bin/sh
echo -n "lancement init_eyetoy"
sudo /home/jonas/eyetoy
Je l'ai testé :
sudo /etc/init.d/init_eyetoy
Je l'ai activé au démarrage :
sudo update-rc.d init_eyetoy start 20 2 3 4 5 .
Voici maintenant ce que contient le fichier /home/jonas/eyetoy :
#!/bin/sh
depmod
modprobe -r ov51x
modprobe ov51x
modprobe ov519_decomp
Ce fichier aussi est éxécutable (777 owner:jonas).
"If you see strict DRM and copy protection that threatens the preservation of history, fight it: copy the work, keep it safe, and eventually share it so it never disappears. [...] no one living 500 years from now will judge your infringing deeds harshly when they can load up an ancient program and see it for themselves."
B. E. - [url=[Merci de relire les règles]/benjedwards]Why History Needs Software Piracy[/url]
Hors ligne
#8 Le 03/05/2006, à 20:01
- PDemong
Re : Problème de script bash au démarrage
JoNas-fr, tu apprends vite.
D'une façon générale, tu ne peux pas mettre dans un script la commande sudo. Je te rappelle que cette commande est "interactive" et te demande un mot de passe à rentrer au clavier. Si tu lances la commande dans un script, cela ne pourra pas fonctionner.
Le but de "sudo" est de lancer une commande en tant que root.
Or ton script /etc/init.d/init_eyetoy appartient DEJA à root. Donc pas besoin d'y mettre une commande sudo, mets directement dedans :
#!/bin/sh
ARG=$1
if [ "${ARG}" = "start" ]; then
depmod
modprobe -r ov51x
modprobe ov51x
modprobe ov519_decomp
fi
Pour la commande update-rc.d que tu utilises, je ne connaissais pas. Mais ce qui est clair, c'est que 20 est bien trop tot, tu devrais faire ce script tout à la fin de ton boot, à 99 donc. Ce qui donnerait plutot :
sudo update-rc.d init_eyetoy start 99 2 3 4 5
Faudra donc au préalable effacer ta précédente déclaration avec l'option remove de update-rc.d :
sudo update-rc.d init_eyetoy remove
Hors ligne
#9 Le 03/05/2006, à 20:32
- JoNas-fr
Re : Problème de script bash au démarrage
@Pdemong
Je n'ai absolument aucun mérite, ces commandes viennent d'un lien proposé par sksbir, et puis à l'IUT info où je suis on nous apprend à être de bon geeks ouvrant bien grand leurs oreilles pour écouter. J'ai mis en place ta méthode via la modification de mon script et dès que je pourrai redémarrer je vous tiendrai au courant.
(juste le tout petit oubli du point "."à la fin de ta commande
sudo update-rc.d init_eyetoy start 99 2 3 4 5
pour la rendre fonctionnelle.
Merci encore de ton post Pdemong et du tien sksbir.
"If you see strict DRM and copy protection that threatens the preservation of history, fight it: copy the work, keep it safe, and eventually share it so it never disappears. [...] no one living 500 years from now will judge your infringing deeds harshly when they can load up an ancient program and see it for themselves."
B. E. - [url=[Merci de relire les règles]/benjedwards]Why History Needs Software Piracy[/url]
Hors ligne
#10 Le 03/05/2006, à 22:22
- sksbir
Re : Problème de script bash au démarrage
pas de quoi
Et puis ça fait toujours plaisir de rendre service à quelqu'un qui cite le flim le plus classe du monde
@Pdemong, je te cite : "Or ton script /etc/init.d/init_eyetoy appartient DEJA à root. Donc pas besoin d'y mettre une commande sudo"
Ne pas confondre le propriétaire du fichier et le propriétaire du processus qui exécute le shell lisant le fichier.
Ici, c'est parce que c'est le processus de boot (initié par root) qui lit les fichiers /etc/rcX.d que les instructions sont exécutées avec les privilèges de root.
Le fichier peut appartenir à qui tu veux, en théorie, ça marchera aussi.
Hors ligne
#11 Le 03/05/2006, à 22:40
- JoNas-fr
Re : Problème de script bash au démarrage
Bon alors ça ne marche pas. Et-ce je pense pour une (ou deux) des raisons suivantes :
1- le coup du déchargement/chargement du module ne passe pas trop
2- c'est un vilain petit canard de module (un module hacké damned!)
Je continue de mettre les mains dans le camboui on verra bien, en plus c'est en forgeant qu'on devient...
@sksbir
quelle classe en effet ce flim!
Dernière modification par JoNas-fr (Le 03/05/2006, à 23:57)
"If you see strict DRM and copy protection that threatens the preservation of history, fight it: copy the work, keep it safe, and eventually share it so it never disappears. [...] no one living 500 years from now will judge your infringing deeds harshly when they can load up an ancient program and see it for themselves."
B. E. - [url=[Merci de relire les règles]/benjedwards]Why History Needs Software Piracy[/url]
Hors ligne
#12 Le 03/05/2006, à 23:02
- PDemong
Re : Problème de script bash au démarrage
Par curiosité, si tu le veux bien, je te ferais bien rajouter de quoi logger ton script.
Cela donnerait :
#!/bin/sh
ARG=$1
if [ "${ARG}" = "start" ]; then
depmod >> /tmp/eyetoy.log
modprobe -r ov51x >> /tmp/eyetoy.log
modprobe ov51x >> /tmp/eyetoy.log
modprobe ov519_decomp >> /tmp/eyetoy.log
fi
Puis envoie le résultat des commandes suivantes :
ls -l /etc/init.d/init_eyetoy
ls -l /etc/rc?.d/*eyetoy*
cat /etc/init.d/init_eyetoy
Enfin redémarre et envoie le résultat de la commande :
cat /tmp/eyetoy.log
Hors ligne
#13 Le 03/05/2006, à 23:25
- JoNas-fr
Re : Problème de script bash au démarrage
Voilà pour les 1ères commandes :
jonas@ubuntuT22:~$ ls -l /etc/init.d/init_eyetoy
-rwxr-xr-x 1 root root 200 2006-05-03 23:08 /etc/init.d/init_eyetoy
jonas@ubuntuT22:~$ ls -l /etc/rc?.d/*eyetoy*
lrwxrwxrwx 1 root root 21 2006-05-03 20:27 /etc/rc2.d/S99init_eyetoy -> ../init.d/init_eyetoy
lrwxrwxrwx 1 root root 21 2006-05-03 20:27 /etc/rc3.d/S99init_eyetoy -> ../init.d/init_eyetoy
lrwxrwxrwx 1 root root 21 2006-05-03 20:27 /etc/rc4.d/S99init_eyetoy -> ../init.d/init_eyetoy
lrwxrwxrwx 1 root root 21 2006-05-03 20:27 /etc/rc5.d/S99init_eyetoy -> ../init.d/init_eyetoy
jonas@ubuntuT22:~$ cat /etc/init.d/init_eyetoy
#!/bin/sh
ARG=$1
if [ "${ARG}" = "start" ]; then
depmod >> /tmp/eyetoy.log
modprobe -r ov51x >> /tmp/eyetoy.log
modprobe ov51x >> /tmp/eyetoy.log
modprobe ov519_decomp >> /tmp/eyetoy.log
fi
Et un petit reboot plus tard :
jonas@ubuntuT22:~$ cat /tmp/eyetoy.log
jonas@ubuntuT22:~$ ls -l /tmp/eyetoy.log
-rw-r--r-- 1 root root 0 2006-05-03 23:14 /tmp/eyetoy.log
Le fichier est vide, mais ma cam ne marche toujours pas!!
Un petit lsmod m'indique que mon ov519_decomp n'est pas chargé, alors que ov51x l'est
(usbcore 104316 6 ov511,ov51x,snd_usb_audio,snd_usb_lib,uhci_hcd)
. Effectv me confirme cela en ne démarrant pas. Je tape les commandes de mon script à la main et bingo ma cam marche! Cependant un autre lsmod ne m'indique toujours pas mon ov519_decomp comme étant chargé (usbcore 104316 6 ov51x,ov511,snd_usb_audio,snd_usb_lib,uhci_hcd), étrange...
"If you see strict DRM and copy protection that threatens the preservation of history, fight it: copy the work, keep it safe, and eventually share it so it never disappears. [...] no one living 500 years from now will judge your infringing deeds harshly when they can load up an ancient program and see it for themselves."
B. E. - [url=[Merci de relire les règles]/benjedwards]Why History Needs Software Piracy[/url]
Hors ligne
#14 Le 03/05/2006, à 23:36
- sksbir
Re : Problème de script bash au démarrage
Bon alors ça ne marche pas. Et-ce je pense pour une (ou deux) des raisons suivantes :
1- le coup du déchargement/chargement du module ne passe pas trop
2- c'est un vilain petit canard de module (un module hacké damned!)Je continue de mettre les mains dans le camboui on verra bien, en plus c'est en forgeant qu'on devient...
@sksbir
quelle classe en effet ce film!
c'est pas un film, c'est un flim d'abord...:P
Sinon,
sudo update-rc.d init_eyetoy remove
sudo update-rc.d init_eyetoy start 99 2 .
Je ne vois en effet pas l'intéret d'activer ce script à chaque changement de level au cours du boot : il suffit de l'activer une seule fois à la fin du boot, quand on passe au level2 (level final)
Activer une trace OK, mais plutot que de mettre des redirections à chaque commande, je conseille de rajouter l'instruction set -x en début de script après la 1ere ligne (#!/bin/sh) , puis d'aller voir dans /var/log les traces de l'exécution du script.
Par ailleurs, une fois le PC démarré et le script modifié comme indiqué, que donne la commande
sudo /etc/init.d/init_eyetoy start
?
Dernière modification par sksbir (Le 03/05/2006, à 23:37)
Hors ligne
#15 Le 04/05/2006, à 00:08
- JoNas-fr
Re : Problème de script bash au démarrage
Quelle bourde incroyable de ma part!! Merci c'est réparé! ouf!
Hum sur quel fichier dois-je m'attarder pour observer les log du script?
jonas@ubuntuT22:~$ ls /var/log
acpid debug.2.gz lpr.log messages.2.gz
acpid.1.gz debug.3.gz lpr.log.0 messages.3.gz
acpid.2.gz dmesg lpr.log.1.gz news
acpid.3.gz dpkg.log lpr.log.2.gz samba
acpid.4.gz dpkg.log.1 lpr.log.3.gz scrollkeeper.log
aptitude dpkg.log.2.gz mail.err scrollkeeper.log.1
aptitude.1.gz evms-engine.1.log mail.err.0 scrollkeeper.log.2
aptitude.2.gz evms-engine.2.log mail.err.1.gz syslog
auth.log evms-engine.3.log mail.err.2.gz syslog.0
auth.log.0 evms-engine.4.log mail.err.3.gz syslog.1.gz
auth.log.1.gz evms-engine.5.log mail.info syslog.2.gz
auth.log.2.gz evms-engine.6.log mail.info.0 syslog.3.gz
auth.log.3.gz evms-engine.7.log mail.info.1.gz syslog.4.gz
base-config.log.1 evms-engine.8.log mail.info.2.gz syslog.5.gz
base-config-pkgsel.log evms-engine.9.log mail.info.3.gz syslog.6.gz
base-config.timings.1 evms-engine.log mail.log user.log
btmp faillog mail.log.0 user.log.0
btmp.1 fontconfig.log mail.log.1.gz user.log.1.gz
cups gdm mail.log.2.gz user.log.2.gz
daemon.log icecast mail.log.3.gz user.log.3.gz
daemon.log.0 installer mail.warn uucp.log
daemon.log.1.gz kern.log mail.warn.0 wtmp
daemon.log.2.gz kern.log.0 mail.warn.1.gz wtmp.1
daemon.log.3.gz kern.log.1.gz mail.warn.2.gz Xorg.0.log
debian-installer kern.log.2.gz mail.warn.3.gz Xorg.0.log.old
debug kern.log.3.gz messages
debug.0 kismet messages.0
debug.1.gz lastlog messages.1.gz
Sinon pour la commande voici le résultat:
jonas@ubuntuT22:~$ sudo /etc/init.d/init_eyetoy start
Password:
+ ARG=start
+ '[' start = start ']'
+ depmod
+ modprobe -r ov51x
+ modprobe ov51x
+ modprobe ov519_decomp
Et ce qui est intéressant c'est qu'avant cette commande, effectv ne marchait pas et après celle-ci (l'éxécution du script, que ce soit à la main ou via le script comme ici) il marche (j'entend par effectv qui marche, ma webcam qui marche bien sûr!)...
Peut-être le problème (qui n'est plus trop un problème de démarrage en soit ) est-il du au fait qu'un processus tier (genre X ou je ne sais quoi) n'est pas encore lancé au moment du chargement des modules, rendant alors inutile le script?
"If you see strict DRM and copy protection that threatens the preservation of history, fight it: copy the work, keep it safe, and eventually share it so it never disappears. [...] no one living 500 years from now will judge your infringing deeds harshly when they can load up an ancient program and see it for themselves."
B. E. - [url=[Merci de relire les règles]/benjedwards]Why History Needs Software Piracy[/url]
Hors ligne
Pages : 1