当前位置: 首页 > Linux

U-boot登录增加密码验证

时间:2023-04-06 01:44:01 Linux

U-boot具有简单的登录验证功能。U-boot代码source/common/main.c中,定义了三个宏:CONFIG_AUTOBOOT_KEYED//是开关CONFIG_AUTOBOOT_PROMPT//是打印信息CONFIG_AUTOBOOT_DELAY_STR//是密码CONFIG_AUTOBOOT_STOP_STR//是中断自动启动的关键,所以它可以在main.在c中加入如下内容:#defineCONFIG_AUTOBOOT_KEYED1#defineCONFIG_AUTOBOOT_PROMPT"autobootin%dseconds",bootdelay#defineCONFIG_AUTOBOOT_DELAY_STR"passwd"#defineCONFIG_AUTOBOOT_STOP_STR"\x1b"第一行开启KEY功能,第二行按下自动中断startup,第4行定义密码,第5行1b为ESC键的ASCII十六进制值。需要注意的是CONFIG_AUTOBOOT_DELAY_STR的所有字符都需要在倒计时时间内发送。CONFIG_AUTOBOOT_DELAY_STR和CONFIG_AUTOBOOT_STOP_STR是OR关系,只要在倒计时时间内满足一个,就会中断自启动,即只要按ESC键或者输入passwd,就会进入命令行。另外,可以使用如下方法定义多位STOP_STR:#defineCONFIG_AUTOBOOT_STOP_STR"stopgs"#defineCONFIG_AUTOBOOT_STOP_STR"\x1b\x1b"第一行用字符串定义STOP_STR,第二行定义一个双位STOP_STRwithASCII,即需要连续按两次ESC键才能中断自启动。参考文章为U-boot命令行登录添加密码验证