El sistema de archivos integrado de Linux se ejecuta completamente en flash NAND sin formato, use RootFS de Full Image. Linux v. 2.6.26.5, gestor de arranque U-boot 2009.03. Una vez que el kernel está completamente cargado, cuando intento enviar un comando, el dispositivo muestra el mensaje de inicio de sesión de la consola. Entonces necesito restablecer una contraseña de root en el dispositivo. Intenté hacer esto con U-boot agregando argumentos single
y init=/bin/sh
al final de los parámetros de arranque del kernel:
setenv bootargs ${bootargs} single init=/bin/sh
Luego me colocaron en la línea de comando del shell Busybox con privilegios de root, desde aquí intenté ejecutar passwd
el comando para restablecer la contraseña de root.
BusyBox v1.10.2 (2015-09-06 10:58:05 CST) built-in shell (ash)
Enter 'help' for a list of built-in commands.
/bin/sh: can't access tty; job control turned off
# help
Built-in commands:
-------------------
. : [ [[ alias bg break cd chdir continue echo eval exec exit
export false fg hash help jobs let local pwd read readonly return
set shift source test times trap true type ulimit umask unalias
unset wait
# passwd
passwd: unknown uid 0
# cd etc
# cat passwd
cat: can't open 'passwd': No such file or directory
# ls -l
...
lrwxrwxrwx 1 1014 1014 11 Oct 26 2015 passwd -> /tmp/passwd
¿Cómo restablecer la contraseña de root?
Editar: desde el registro
# df
Filesystem 1k-blocks Used Available Use% Mounted on
df: /proc/mounts: No such file or directory
# cd dev
# ls -l
crw-r--r-- 1 0 0 5, 1 Jan 1 00:05 console
crw-r--r-- 1 0 0 2, 0 Oct 26 2015 nfs
Respuesta1
Estás en un shell de emergencia de Busybox y tu partición raíz real obviamente aún no está montada.
Puede enumerar los dispositivos disponibles ls /dev
y montar su partición raíz respectiva mediante mount /dev/<root_device> /<mount_point>
.
Después de eso, puede editar el passwd
debajo del punto de montaje respectivo.