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 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