内蔵デバイスでルートパスワードのリセット中に問題が発生しました

内蔵デバイスでルートパスワードのリセット中に問題が発生しました

Linux 組み込みファイルシステムは、フルイメージの RootFS を使用してネイティブ NAND フラッシュメモリで完全に実行されます。 Linux v.2.6.26.5、U-boot 2009.03ブートローダ。カーネルが完全にロードされた後にコマンドを送信しようとすると、デバイスにコンソールログインプロンプトが表示されます。そのため、デバイスのルートパスワードをリセットする必要があります。カーネルブートパラメータの最後にパラメータを追加し、singleU-bootを使用してこれを実行しようとしました。init=/bin/sh

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

次に、rootとしてBusyboxシェルのコマンドラインを入力し、ここでpasswdrootパスワードをリセットするコマンドを実行しました。

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そのマウントポイントで編集できます。

関連情報