在嵌入式裝置上重設 root 密碼時出現問題

在嵌入式裝置上重設 root 密碼時出現問題

Linux嵌入式檔案系統完全運行在原始NAND快閃記憶體上,使用Full Image的RootFS。 Linux v.2.6.26.5,U-boot 2009.03 引導程式。核心完全加載後,當我嘗試提交命令時,裝置顯示控制台登入提示。所以我需要在裝置上重置root密碼。我嘗試透過在核心啟動參數末尾添加single和參數來使用 U-boot 來做到這一點:init=/bin/sh

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

然後我以 root 權限進入 Busybox shell 命令列,從這裡我嘗試執行passwd命令來重設 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

如何重置root密碼?

編輯:來自日誌

# 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 緊急 shell 中,而您的實際根分割區顯然尚未安裝。

您可以透過 列出可用設備ls /dev並透過 掛載各自的根分割區mount /dev/<root_device> /<mount_point>

之後,您可以passwd在對應的安裝點下編輯。

相關內容