解决Buildroot 启动找不到console (can‘t open /dev/console: No such file or directory)

使用Buildroot构建好了根文件系统,启动时报如下错误:

hub 1-1:1.0: USB hub found
hub 1-1:1.0: 4 ports detected
devpts: called with bogus options
can't open /dev/null: No such file or directory
can't open /dev/null: No such file or directory
can't open /dev/null: No such file or directory
can't open /dev/null: No such file or directory
Starting syslogd: OK
Starting klogd: OK
Running sysctl: usb 1-1.2: new high-speed USB device number 3 using hiusb-ehci
OK
Starting network: OK
can't open /dev/console: No such file or directory
can't open /dev/console: No such file or directory
can't open /dev/console: No such file or directory
can't open /dev/console: No such file or directory
can't open /dev/console: No such file or directory

首先尝试在主机上的设备跟文件系统上创建这个设备,另外把串口设备也创建好。

cd output/target/dev
sudo mknod console c 5 1 
sudo mknod ttyAMA0 c 204 64

uboot下面我设置bootarg是'mem=64M console=ttyAMA0,115200 root=/dev/mtdblock2 rootfstype=jffs2 mtdparts=hi_sfc:1M(boot),3M(kernel),12M(rootfs)'
这里生成节点的参数在system/device_table_dev.txt文件中可以找到对应的,console节点是5 1,ttyAMA是204 64,使用上面的命令设对应的主次设备节点号在output/target/dev 目录下生成设备节点即可。
使用hisi的板子的串口名称是ttyAMA0,nxp imx6ull的串口名称是ttymxc0

在这里插入图片描述
生成完毕后,同样根据上面的表,赋予对应的权限。

sudo chmod 666 console
sudo chmod 666 ttyAMA0

完成后,重新烧录根文件系统,发生已经能够进入终端了,也不会再报错。
进入系统后,发现/dev 目录下基本没有设备,说明mdev没有生效,因此通过下面的方式,解决这个mdev不生效的问题。

在这里插入图片描述

1. 启用mdev

需要在Buildroot下勾选使用mdev,mdev会自动扫描/sys/proc虚拟文件系统的设备节点,在/dev下生成设备。

在这里插入图片描述

另外busybox中也需要配置mdev,buildroot中的busybox默认是配置好了mdev的,因此不需要再修改了。

2. 配置文件

对比另外板子正常启动的根文件系统,发现hisi板子的/etc/init.d/目录少了一个启动脚本,正好是配置mdev的——S10mdev。不知道为什么创建根文件系统时,这个脚本没有被放到根文件系统中。这里直接手动将该脚本放到根文件系统中。

sudo cp package/busybox/S10mdev output/target/etc/init.d/

然后重新编译打包根文件系统即可。
启动时,可以看到改脚本已经运行了。

在这里插入图片描述

然后查看/dev 目录,设备数量也已经正常了。

在这里插入图片描述

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值