내장 장치에서 루트 비밀번호를 재설정하는 중에 문제 발생

내장 장치에서 루트 비밀번호를 재설정하는 중에 문제 발생

Linux 임베디드 파일 시스템은 Full Image의 RootFS를 사용하여 원시 NAND 플래시 메모리에서 완전히 실행됩니다. Linux v.2.6.26.5, U-boot 2009.03 부트로더. 커널이 완전히 로드된 후 명령을 제출하려고 하면 장치에 콘솔 로그인 프롬프트가 표시됩니다. 그래서 장치의 루트 비밀번호를 재설정해야 합니다. 커널 부팅 매개변수 끝에 및 매개변수를 추가하여 singleU-boot를 사용하여 이 작업을 수행하려고 했습니다.init=/bin/sh

setenv bootargs ${bootargs} single init=/bin/sh

그런 다음 루트로 Busybox 셸 명령줄을 입력하고 여기에서 passwd루트 비밀번호를 재설정하는 명령을 실행해 보았습니다.

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

루트 비밀번호를 재설정하는 방법은 무엇입니까?

편집 : 로그에서

# 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

답변1

귀하는 busybox 비상 쉘에 있고 실제 루트 파티션은 아직 마운트되지 않았습니다.

ls /dev사용 가능한 장치를 나열 하고 해당 루트 파티션을 마운트하면 됩니다 mount /dev/<root_device> /<mount_point>.

나중에 passwd해당 마운트 지점에서 편집할 수 있습니다.

관련 정보