Después de inicializar y montar el sistema de archivos raíz, Linux inicia /sbin/init que continúa con las inicializaciones del espacio de usuario, incluido el montaje /proc
Lo más probable es que tu rcS o cualquier configuración init reads no hace eso, y necesitas decirle que lo haga.
Si tiene un indicador de shell, puede montar /proc manualmente con:
mount -t proc p /proc
Tenga en cuenta que el /proc El directorio debe existir antes de poder montar algo allí. Deberías incluirlo en tu imagen raíz.
2) es muy probable debido a 1) - ps usa /proc para obtener información sobre los procesos en ejecución.
1) es porque no se espera que la inicialización haga eso o porque no lo hace. Compruebe cuál es la distribución supuesta para hacer en el arranque:cómo se activará el sistema.
Cosas que puedes probar:
-
montar
/proc, por ejemplo:mount -t proc proc /proc- el segundo argumento es arbitrario (es lo que se muestra como la fuente del montaje). Compruebe lo que se está ejecutando con PID=1 -
comprobar en
/proc/cmdlinequé parámetros recibe su kernel en el arranque. Si contieneinit=...es posible que deba cambiarlo a, p./sbin/inito elimínelo para permitir que el kernel intente resolver el init para que se ejecute solo. Tienes que hacer esto en la configuración del cargador de arranque (para R-Pi esto está en algún archivo de texto en la tarjeta SD IIRC). -
Verifique que exista el ejecutable de inicio deseado:Busybox normalmente tiene toneladas de enlaces simbólicos que apuntan a su binario para que uno pueda usar
command [args]en lugar debusybox command [args]. Puede que te los estés perdiendo.