我使用YOCTO为KARO TX6S-8035目标构建嵌入式Linux。我用 Mfgtools-TX6-2018-01工具将图像闪存到板中但是当我启动设备时我有以下错误:内核恐慌 - 未同步:请求的init / linuxrc失败(错误-2)。 我该如何解决这个问题?
以下是来自U-BOOT的printenv的结果: printenv
And the serial output from the board:
serial output
答案 0 :(得分:1)
内核正在寻找init程序而无法找到它。很可能你的形象是腐败的。更多信息:What is linuxrc purpose and is it needed in the rootfs?
我会尝试:
另外,我不知道你正在使用什么设置,但我会看FSL Community BSP。其他人很有可能为该平台建设。
答案 1 :(得分:0)
内核崩溃 - 未同步:请求的 init /linuxrc 失败(错误 -2)
就我而言,我使用 busybox 创建了 initrd。 /linuxrc 执行错误,因为找不到动态库。
挂载initrd后执行下面的脚本
mkdir -p $WORKSPACE/initrd
mount $WORKSPACE/ramdisk.img $WORKSPACE/initrd -t ext2 -o loop=/dev/loop0
pushd $WORKSPACE/initrd/
cp -rf /opt/buildtools/gcc-arm-10.2-2020.11-x86_64-aarch64-none-linux-gnu/aarch64-none-linux-gnu/libc/lib ./
cp -rf /opt/buildtools/gcc-arm-10.2-2020.11-x86_64-aarch64-none-linux-gnu/aarch64-none-linux-gnu/libc/lib64 ./
aarch64-none-linux-gnu-strip $WORKSPACE/initrd/lib/*
aarch64-none-linux-gnu-strip $WORKSPACE/initrd/lib64/*
aarch64-none-linux-gnu-strip $WORKSPACE/initrd/bin/busybox
popd
umount $WORKSPACE/initrd
gzip -9 $WORKSPACE/ramdisk.img
修复选项 1:
将库复制到 initrd。
make -j16 -C $WORKSPACE/$BUSYBOX ARCH="arm64" LDFLAGS="--static" CROSS_COMPILE="aarch64-none-linux-gnu-" install
修复选项 2:
静态构建busybox。
collections.defaultdict