正常情况下,启动linux最后会有“buildroot login:”要求输入用户名,重新制作了文件系统后,没有上述字样。Linux启动后会分析/etc/inittab中的内容,然后执行一些命令,可以顺着这条线分析哪出了问题。 看到这一条“::sysinit:/etc/init.d/rcS”,于是想到会不会在/etc/init.d/rcS这个脚本中出现了死循环,经验证并没有出现。当看到“ttyS0::respawn:/sbin/getty -L ttyS0 115200 vt100 # GENERIC_SERIAL”这一条时,猛然想起来开发板用ttyS1作为串口,改成ttyS1后就可以了。
linux的登录主要是由两个文件在控制,/usr/sbin/getty打开一个端口,获得用户名,并进行检查用户名是否存在,然后将用户名传递给/usr/bin/login来获取用户输入密码和检查密码是否正确。