根文件系统启用root用户
在新做的根文件系统中给root账户设置密码是报错如下:
passwd root
passwd: unknown uid 0
解决方法
-
可能是根文件系统构建过程中缺少部分文件
查看根文件系统目录下 /lib目录是否包含以下文件ls /lib/libnss_compat.so.2 /lib/libnsl.so.1 /lib/libnss_nis.so.2 /lib/libnss_files.so.2
-
查看根文件系统目录下是否存在passwd文件,如果不存在则自己创建,并添加以下内容
vi /etc/passwd root:x:0:0:root:/root:/bin/sh
-
查看根文件系统目录下是否存在group文件,如果不存在则自己创建,并添加以下内容
vi /etc/group root:x:0:
-
再次执行设置密码
passwd root
根文件系统启用登录用户名
由于默认情况下busybox构建的根文件系统是不启用设置的用户名登陆。但是在实际使用可能会需要使用登录名和密码,因此记录启用步骤。
busybox中配置
busybox config
|--->Login/password Management Utilities --->
|--->Uer internal password and group functions rather than system function y
确保 Uer internal password and group functions rather than system function 是被选中的状态。
设置 根文件系统
-
编辑/etc/init.d/rcS
vi /etc/init.d/rcS 添加 /bin/login
-
编辑/etc/inittab
a. 串口启用登录用户名vi /etc/inittab 不需要登录:::respawn:-/bin/sh 需要登录:mxc3::respawn:/sbin/getty -L ttymxc3 115200 vt100
由于我是用的是串口3所有此处填写的是ttymxc3,根据实际使用情况替换