You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

KARO TX6S-8035嵌入式Linux启动Kernel panic问题求助

解决KARO TX6S-8035 Kernel panic: Requested init /linuxrc failed (error -2)问题

这个错误(error -2对应ENOENT,也就是文件不存在)通常是根文件系统挂载异常,或者系统找不到指定的初始化脚本导致的,我帮你梳理几个排查和解决方向:

1. 先检查U-Boot环境变量的bootargs配置

首先看你printenv输出里的bootargs参数,这是决定系统挂载哪个根文件系统的关键:

  • 确认root=指定的分区是否正确,KARO TX6S的eMMC通常第一分区是boot分区,第二分区是根文件系统,对应路径是/dev/mmcblk0p2,如果写的是mmcblk1或者错误的分区号,肯定找不到根fs里的/linuxrc。
  • 一定要加上rootwait参数,给eMMC足够的初始化时间,不然可能在设备就绪前就尝试挂载,导致失败。
  • 还要确认文件系统类型是否和你YOCTO构建的一致,比如如果是ext4,bootargs里不用特意指定,但如果是其他类型可能需要加rootfstype=xxx。

临时测试方法:在U-Boot命令行里修改bootargs试试:

setenv bootargs 'console=ttymxc0,115200 root=/dev/mmcblk0p2 rootwait rw'
saveenv
boot

如果这样能正常启动,说明就是U-Boot的环境变量配置错了。

2. 验证YOCTO构建的根文件系统内容

如果U-Boot配置没问题,那大概率是根fs本身的问题:

  • 在主机上挂载你的根fs镜像(比如rootfs.ext4)检查:
    mkdir -p /tmp/rootfs
    sudo mount -o loop path/to/your/rootfs.ext4 /tmp/rootfs
    ls -l /tmp/rootfs/linuxrc
    
    如果找不到/linuxrc,说明你的YOCTO构建没有生成这个初始化脚本——这通常是因为你用了systemd作为初始化系统,而不是传统的sysvinit/openrc。

解决办法:

  • 要么在U-Boot的bootargs里指定systemd作为初始化程序:
    setenv bootargs 'console=ttymxc0,115200 root=/dev/mmcblk0p2 rootwait rw init=/usr/lib/systemd/systemd'
    
  • 要么修改YOCTO的local.conf,切换到sysvinit:
    DISTRO_FEATURES_remove = "systemd"
    VIRTUAL-RUNTIME_init_manager = "sysvinit"
    
    然后重新构建根fs:bitbake core-image-minimal,再烧录测试。

另外还要检查/linuxrc的权限,必须是可执行的(-rwxr-xr-x),如果权限不对,也会导致无法执行。

3. 检查Mfgtools的烧录配置

确认Mfgtools的烧录脚本是不是把根fs镜像烧到了正确的分区:

  • 打开Mfgtools里的配置文件(比如cfg.ini或者对应的xml配置),找到根fs的烧录命令,比如:
    [CMD]
    command=flash -raw2sparse partition:2 image:rootfs.ext4
    
    这里的partition:2要和U-Boot bootargs里的root=/dev/mmcblk0p2对应,要是烧到了其他分区,系统自然找不到/linuxrc。

4. 从串口输出找更多线索

看你提供的串口输出,重点关注panic之前的日志:

  • 有没有出现VFS: Mounted root (ext4 filesystem) readonly on device xxx?如果没有,说明根fs挂载失败,回到第一步检查bootargs的root设备。
  • 如果挂载成功了但还是报错,那就是根fs里确实没有/linuxrc,或者权限异常,回到第二步处理。

内容的提问来源于stack exchange,提问作者vlad zouth

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 11:25:27