Yocto在Banana Pi M2 Zero启动挂起的调试问询
Yocto Mickledore构建Banana Pi M2 Zero镜像卡Runlevel 5问题排查
环境与问题现象
基于Yocto Mickledore分支(所有Layer同步此分支)构建MACHINE="bananapi-m2-zero"的core-image-minimal镜像,烧录SD卡后设备能启动,但卡在Runlevel 5阶段,最终输出停留在:
[ 4.571532] udevd[130]: starting eudev-3.2.11 [ 5.077202] EXT4-fs (mmcblk0p2): re-mounted. Quota mode: disabled. INIT: Entering runlevel: 5 Configuring network interfaces... ip: SIOCGIFFLAGS: No such device Starting syslogd/klogd: done
使用的Layer列表:
BBLAYERS ?= " \ /home/magnus/poky/meta \ /home/magnus/poky/meta-poky \ /home/magnus/poky/meta-yocto-bsp \ /home/magnus/poky/meta-openembedded/meta-oe \ /home/magnus/poky/meta-openembedded/meta-python \ /home/magnus/poky/meta-sunxi \ "
已做过的尝试:
- 把日志输出到SD卡而非ramdisk,没拿到新信息;
- 在initscript里后台加了循环输出脚本,只打了4次"Hello World"就停了。
问题1:最佳调试策略
- 开启init调试日志:修改
/etc/inittab或在Yocto配置中添加INIT_DEBUG参数,让init输出每一步执行细节,定位卡住的脚本/进程。 - 逐个禁用rc5启动项:将
/etc/rc5.d/下的非必要启动链接重命名(比如加.bak后缀),逐个排查,找出导致挂起的脚本。 - 用strace追踪init进程:如果能通过串口attach到PID 1(init进程),执行
strace -p 1,查看系统调用的阻塞点,直接定位卡住的操作。 - 简化镜像构建:先构建仅包含必要Layer的基础
core-image-minimal,再逐步添加其他Layer,排查是否是某个Layer的包引发冲突。 - 检查硬件驱动兼容性:查看
meta-sunxiMickledore分支的commit记录,确认Banana Pi M2 Zero的外设(如网卡、存储)驱动是否存在已知的启动阻塞问题。
问题2:修改inittab仅保留串口控制台
- 找到镜像中的
/etc/inittab(或Yocto Layer里的模板文件),仅保留以下关键行,注释或删除其他Runlevel相关启动项:# Banana Pi M2 Zero串口控制台(通常为ttyS0,波特率115200) ttyS0::respawn:/sbin/getty -L ttyS0 115200 vt100 # 基础系统初始化 si::sysinit:/etc/init.d/rcS - 注释所有
l5:开头的Runlevel 5启动行,比如:# l5:5:wait:/etc/init.d/rc 5 - 确保没有其他会阻塞的启动脚本被调用,仅保留串口getty和基础系统初始化流程。
- 要么重新构建镜像,要么直接挂载SD卡修改
/etc/inittab,烧录后启动即可进入串口控制台,之后再逐步恢复rc5.d中的脚本排查问题。
问题3:判断是initscript挂起还是其他原因
- 查看init进程状态:如果能进入串口或通过JTAG连接系统,执行
ps aux查看PID 1的状态——若为D(不可中断睡眠),说明卡在IO操作或系统调用;若为R,可能在循环等待某个条件。 - 给init发送SIGUSR1信号:传统sysvinit支持
kill -USR1 1,执行后init会将当前正在运行的脚本/进程信息输出到控制台,直接定位卡住的位置。 - 检查系统日志:执行
dmesg查看内核日志,或cat /var/log/messages(若日志已写入),排查是否存在进程崩溃、资源耗尽的信息。 - 单用户模式测试基础功能:启动时进入单用户模式,执行
ls、ps等基础命令,验证用户空间核心功能是否正常,排除基础库损坏的可能。 - 内核状态验证:拔出SD卡时内核有报错,说明内核仍在运行,问题大概率出在用户空间的init脚本或某个启动进程,而非内核挂起。
内容的提问来源于stack exchange,提问作者HappyDonkey
相关产品推荐
相关产品推荐

