Après avoir initialisé et monté le système de fichiers racine, Linux démarre /sbin/init
qui poursuit les initialisations de l'espace utilisateur dont le montage /proc
Très probablement votre rcS
ou n'importe quelle configuration init
reads ne le fait pas, et vous devez lui dire de le faire.
Si vous avez une invite de shell, vous pouvez monter /proc
manuellement avec :
mount -t proc p /proc
Notez que le /proc
Le répertoire doit exister avant que vous puissiez y monter quelque chose. Vous devez l'inclure dans votre image racine.
2) est très probable à cause de 1) - ps
utilise /proc
pour obtenir des informations sur les processus en cours d'exécution.
1) est soit parce que l'initialisation n'est pas censée le faire, soit parce qu'elle ne le fait pas. Vérifiez quelle est la distribution supposée à faire au démarrage - comment le système doit être mis en place.
Choses que vous pouvez essayer :
-
monter
/proc
, par exemple :mount -t proc proc /proc
- le second argument est arbitraire (c'est ce qui s'affiche comme source du montage). Vérifiez ce qui tourne avec PID=1 -
vérifier
/proc/cmdline
quels paramètres votre noyau reçoit au démarrage. S'il contientinit=...
vous devrez peut-être le changer par ex./sbin/init
ou supprimez-le pour laisser le noyau essayer de résoudre l'init à exécuter lui-même. Vous devez le faire dans la configuration du chargeur de démarrage (pour R-Pi, cela se trouve dans un fichier texte sur la carte SD IIRC). -
Vérifiez que l'exécutable init souhaité existe - Busybox a normalement des tonnes de liens symboliques pointant vers son binaire afin que l'on puisse utiliser
command [args]
plutôt quebusybox command [args]
. Il se peut que vous les manquiez.