Raaaaaaaah j'ai perdu trop de temps pour rien
This commit is contained in:
141
tp4.md
141
tp4.md
@@ -165,5 +165,146 @@ Et la led bleue de la board fait du morse avec deux pulsations puis pause le tou
|
||||
|
||||
Et j'avoue je sais pas pourquoi. Je vois dans le cours que il peut y avoir un problème quand le repertoire /dev n'existe pas alors je vais le créer dans nfsroot et on va voir si ca change quelque chose.
|
||||
|
||||
ET C'EST BON !! Comment je suis refais c'est une folie ca marche enfin.
|
||||
|
||||
```
|
||||
VFS: Mounted root (nfs filesystem) on device 0:14.
|
||||
devtmpfs: mounted
|
||||
Freeing unused kernel image (initmem) memory: 1024K
|
||||
Run /sbin/init as init process
|
||||
can't run '/etc/init.d/rcS': No such file or directory
|
||||
|
||||
Please press Enter to activate this console.
|
||||
~ # ls
|
||||
bin dev linuxrc sbin usr
|
||||
```
|
||||
|
||||
On a enfin un Linux qui tourne sur notre board avec lequel on peut interragir avec un invite de commande dont on a l'habitude je suis trop content.
|
||||
|
||||
## Configuration du système et démarrage
|
||||
|
||||
### [Q3] : Donnez le contenu de votre fichier inittab et de chaque fichier se trouvant dans le répertoire /etc/init.d/ de votre rootfs.
|
||||
|
||||
Dans nfsroot `mkdir etc` `cd etc` `vim inittab`
|
||||
|
||||
```
|
||||
::sysinit:/etc/init.d/rcS
|
||||
::respawn:-/bin/sh
|
||||
```
|
||||
|
||||
`mkdir init.d` `cd init.d` `vim rcS`
|
||||
|
||||
```bash
|
||||
#!/bin/sh
|
||||
# Start all init scripts in /etc/init.d
|
||||
# executing them in numeric order.
|
||||
|
||||
for i in /etc/init.d/S??*; do
|
||||
case "$i" in
|
||||
*.sh)
|
||||
# Source shell script for speed.
|
||||
. "$i"
|
||||
;;
|
||||
*)
|
||||
# No .sh extension, so fork subprocess.
|
||||
"$i" start
|
||||
;;
|
||||
esac
|
||||
done
|
||||
```
|
||||
|
||||
`sudo chmod 777 rcS`
|
||||
|
||||
C'est pas ouf de mettre autant d'autorisation mais je ne veux pas avoir le moindre problème donc je mets ca temporairement. Ca sera remis à des autorisations plus normales plus tard.
|
||||
|
||||
De ce que j'ai compris chaque service qui commence par S dans le repertoire init.d sera executé et c'est dans l'ordre alphabetique juste par ce que la recherche par nom qui commencent par S se fait dans cet ordre.
|
||||
|
||||
Par convention un service qui commence par 'K' sont desactivés
|
||||
|
||||
Je n'ai encore aucun service dans init.d je ne comprends pas vraiment la question car sur ma board ce repertoire n'existait même pas encore mais je peux essayer d'en ajouter un.
|
||||
|
||||
|
||||
```sh
|
||||
#!/bin/ash
|
||||
echo "The best distrib ever"
|
||||
```
|
||||
|
||||
le fichier ci dessus sera renommé S1.sh. En toute logique ca devrait être executé en premier.
|
||||
|
||||
On peut redémarrer notre kernel pour voir
|
||||
|
||||
```
|
||||
Run /sbin/init as init process
|
||||
Bad inittab entry at line 1
|
||||
Bad inittab entry at line 2
|
||||
```
|
||||
|
||||
Ca c'est par ce que il y avait des espaces dans le chemin du inittab. Après avoir règlé ca on a cette erreur
|
||||
|
||||
```
|
||||
VFS: Mounted root (nfs filesystem) on device 0:14.
|
||||
devtmpfs: mounted
|
||||
Freeing unused kernel image (initmem) memory: 1024K
|
||||
Run /sbin/init as init process
|
||||
can't run '/etc/init.d/rcS': Permission denied
|
||||
```
|
||||
|
||||
C'est bizarre par ce que j'avais mis les autorisations full sur rcS...
|
||||
|
||||
Je vais essayer avec la commande
|
||||
|
||||
`chmod +x rcS`
|
||||
|
||||
Mais non toujours impossible de run le rcS J'ai essayé en donnant les autorisations sur le repertoire au dessus etc... mais rien n'y fait
|
||||
|
||||
Après recherches il semble que ca soit ma config nfs qui soit à blâmer, voici la nouvelle (rappel je suis sur macos donc la config est pas la même que sur ubuntu)
|
||||
|
||||
```
|
||||
/Users/rohmermaxime/nfsroot 127.0.0.1 -alldirs -maproot=0
|
||||
/Users/rohmermaxime/nfsroot 192.168.144.100 -alldirs -maproot=0
|
||||
/Users/rohmermaxime/nfsroot 192.168.64.7 -alldirs -maproot=0
|
||||
```
|
||||
|
||||
J'ai changé le -mapall=nobody en -maproot=0
|
||||
|
||||
`sudo nfsd restart`
|
||||
|
||||
Mais toujours pas alors je vais tenter
|
||||
|
||||
`-mapall=0`
|
||||
|
||||
Mais toujours pas...
|
||||
|
||||
J'ai même essayé de chmod -R 777 tout nfsroot mais rien n'y fait.
|
||||
|
||||
Mais c'est bizarre par ce que je peux executer S1.sh depuis la board sans problème...
|
||||
|
||||
```
|
||||
~ # sh /etc/init.d/S1.sh
|
||||
The best distrib ever
|
||||
```
|
||||
|
||||
Bon en fait c'est par ce que le fichier rcS avait un espace dans le /bin/sh... yes... mais maintenant que le script est corrigé voila le resultat :
|
||||
|
||||
```
|
||||
VFS: Mounted root (nfs filesystem) on device 0:14.
|
||||
devtmpfs: mounted
|
||||
Freeing unused kernel image (initmem) memory: 1024K
|
||||
Run /sbin/init as init process
|
||||
The best distrib ever
|
||||
~ #
|
||||
```
|
||||
|
||||
On voit bien que notre fichier service a bien été executé au démarrage :)
|
||||
|
||||
### [Q4] : Que se produit-il lorsque vous exécutez la commande ps ?
|
||||
|
||||
```
|
||||
~ # ps
|
||||
PID USER VSZ STAT COMMAND
|
||||
ps: can't open '/proc': No such file or directory
|
||||
```
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user