U-boot登陸加入密碼驗證

U-boot帶有一個簡單的登陸驗證功能。在U-boot的代碼source/common/main.c中,有三個宏定義:html

CONFIG_AUTOBOOT_KEYED        //是開關 
CONFIG_AUTOBOOT_PROMPT       //是打印信息 
CONFIG_AUTOBOOT_DELAY_STR    //是口令 
CONFIG_AUTOBOOT_STOP_STR     //是中斷自動啓動的按鍵

那麼能夠在main.c中加入以下內容:命令行

#define CONFIG_AUTOBOOT_KEYED 1 
#define CONFIG_AUTOBOOT_PROMPT "autoboot in %d seconds", bootdelay
#define CONFIG_AUTOBOOT_DELAY_STR "passwd" 
#define CONFIG_AUTOBOOT_STOP_STR "\x1b"

1行使能KEY功能,第2行打印提示,按ESC中斷自動啓動,第4行定義的即爲密碼,第51b即爲ESC鍵的ASCII十六進制值。code

須要注意的是,CONFIG_AUTOBOOT_DELAY_STR的全部字符須要在讀秒時間內所有發送完成。CONFIG_AUTOBOOT_DELAY_STRCONFIG_AUTOBOOT_STOP_STR是或的關係,讀秒時間內只要有一個知足就會中斷自啓,即只要按ESC鍵或者輸入passwd都會進入命令行。htm

另外可使用以下的方式定義多位STOP_STR字符串

#define CONFIG_AUTOBOOT_STOP_STR        "stopgs"
#define CONFIG_AUTOBOOT_STOP_STR        "\x1b\x1b"

1行使用字符串的方式定義STOP_STR,第2行用ASCII的方式定義兩個位的STOP_STR,即須要連續按兩次ESC鍵纔會中斷自啓。get

參考文章

給U-boot命令行登陸加入密碼驗證thread

相關文章
相關標籤/搜索