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
行定義的即爲密碼,第5
行1b
即爲ESC
鍵的ASCII
十六進制值。code
須要注意的是,CONFIG_AUTOBOOT_DELAY_STR
的全部字符須要在讀秒時間內所有發送完成。CONFIG_AUTOBOOT_DELAY_STR
和CONFIG_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