O sistema de arquivos embarcado Linux é executado inteiramente em flash NAND bruto, use RootFS da Full Image. 2.6.26.5, carregador de inicialização U-boot 2009.03. Depois que o kernel estiver totalmente carregado, quando tento enviar o comando, o dispositivo mostra o prompt de login do console. Então preciso redefinir uma senha root no dispositivo. Eu tentei fazer isso com o U-boot adicionando argumentos single
e init=/bin/sh
no final dos parâmetros de inicialização do kernel:
setenv bootargs ${bootargs} single init=/bin/sh
Então fui colocado na linha de comando do shell do Busybox com privilégios de root, a partir daqui tentei executar passwd
o comando para redefinir a senha 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
Como redefinir a senha root?
Editar: do 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
Responder1
Você está em um shell de emergência do busybox e sua partição raiz real obviamente ainda não está montada.
Você pode listar os dispositivos disponíveis ls /dev
e montar sua respectiva partição root via mount /dev/<root_device> /<mount_point>
.
Depois disso, você pode editar passwd
o respectivo ponto de montagem.