![내장 장치에서 루트 비밀번호를 재설정하는 중에 문제 발생](https://linux55.com/image/122572/%EB%82%B4%EC%9E%A5%20%EC%9E%A5%EC%B9%98%EC%97%90%EC%84%9C%20%EB%A3%A8%ED%8A%B8%20%EB%B9%84%EB%B0%80%EB%B2%88%ED%98%B8%EB%A5%BC%20%EC%9E%AC%EC%84%A4%EC%A0%95%ED%95%98%EB%8A%94%20%EC%A4%91%EC%97%90%20%EB%AC%B8%EC%A0%9C%20%EB%B0%9C%EC%83%9D.png)
Linux 임베디드 파일 시스템은 Full Image의 RootFS를 사용하여 원시 NAND 플래시 메모리에서 완전히 실행됩니다. Linux v.2.6.26.5, U-boot 2009.03 부트로더. 커널이 완전히 로드된 후 명령을 제출하려고 하면 장치에 콘솔 로그인 프롬프트가 표시됩니다. 그래서 장치의 루트 비밀번호를 재설정해야 합니다. 커널 부팅 매개변수 끝에 및 매개변수를 추가하여 single
U-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
해당 마운트 지점에서 편집할 수 있습니다.