0002 嵌入式linux根文件系统:启用登录用户名和密码

根文件系统启用root用户

在新做的根文件系统中给root账户设置密码是报错如下:

	passwd root
	passwd: unknown uid 0

解决方法

  1. 可能是根文件系统构建过程中缺少部分文件
    查看根文件系统目录下 /lib目录是否包含以下文件

    ls /lib/libnss_compat.so.2  /lib/libnsl.so.1 /lib/libnss_nis.so.2 /lib/libnss_files.so.2
    
  2. 查看根文件系统目录下是否存在passwd文件,如果不存在则自己创建,并添加以下内容

    vi /etc/passwd
    root:x:0:0:root:/root:/bin/sh
    
  3. 查看根文件系统目录下是否存在group文件,如果不存在则自己创建,并添加以下内容

    vi /etc/group
    root:x:0:
    
  4. 再次执行设置密码

    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 是被选中的状态。

设置 根文件系统

  1. 编辑/etc/init.d/rcS

     vi /etc/init.d/rcS
     添加 /bin/login
    
  2. 编辑/etc/inittab
    a. 串口启用登录用户名

     vi /etc/inittab
     不需要登录:::respawn:-/bin/sh
     需要登录:mxc3::respawn:/sbin/getty -L  ttymxc3 115200 vt100
    

    由于我是用的是串口3所有此处填写的是ttymxc3,根据实际使用情况替换

你可能感兴趣的:(嵌入Linux,根文件系统,linux)