>>> Generating root filesystem image rootfs.tar
rm -rf /home/goembed/mnt/B6H/B6H/buildroot-2018.08.2/output/build/buildroot-fs/tar
mkdir -p /home/goembed/mnt/B6H/B6H/buildroot-2018.08.2/output/build/buildroot-fs/tar
echo '#!/bin/sh' > /home/goembed/mnt/B6H/B6H/buildroot-2018.08.2/output/build/buildroot-fs/tar/fakeroot
echo "set -e" >> /home/goembed/mnt/B6H/B6H/buildroot-2018.08.2/output/build/buildroot-fs/tar/fakeroot
printf ' mkdir -p /home/goembed/mnt/B6H/B6H/buildroot-2018.08.2/output/build/buildroot-fs/tar/target\n tar xf /home/goembed/mnt/B6H/B6H/buildroot-2018.08.2/output/build/buildroot-fs/rootfs.common.tar -C /home/goembed/mnt/B6H/B6H/buildroot-2018.08.2/output/build/buildroot-fs/tar/target\n' >> /home/goembed/mnt/B6H/B6H/buildroot-2018.08.2/output/build/buildroot-fs/tar/fakeroot
printf ' \n' >> /home/goembed/mnt/B6H/B6H/buildroot-2018.08.2/output/build/buildroot-fs/tar/fakeroot
printf ' (cd /home/goembed/mnt/B6H/B6H/buildroot-2018.08.2/output/build/buildroot-fs/tar/target; find -print0 | LC_ALL=C sort -z | tar -cf /home/goembed/mnt/B6H/B6H/buildroot-2018.08.2/output/images/rootfs.tar --null --no-recursion -T - --numeric-owner)\n' >> /home/goembed/mnt/B6H/B6H/buildroot-2018.08.2/output/build/buildroot-fs/tar/fakeroot
chmod a+x /home/goembed/mnt/B6H/B6H/buildroot-2018.08.2/output/build/buildroot-fs/tar/fakeroot
PATH="/home/goembed/mnt/B6H/B6H/buildroot-2018.08.2/output/host/bin:/home/goembed/mnt/B6H/B6H/buildroot-2018.08.2/output/host/sbin:/home/goembed/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games" /home/goembed/mnt/B6H/B6H/buildroot-2018.08.2/output/host/bin/fakeroot -- /home/goembed/mnt/B6H/B6H/buildroot-2018.08.2/output/build/buildroot-fs/tar/fakeroot
>>> Executing post-image script board/freescale/common/imx/post-image.sh
INFO: cmd: "mkdir -p "/home/goembed/mnt/B6H/B6H/buildroot-2018.08.2/output/build/genimage.tmp"" (stderr):
INFO: cmd: "rm -rf "/home/goembed/mnt/B6H/B6H/buildroot-2018.08.2/output/build/genimage.tmp"/*" (stderr):
ERROR: file(zImage): stat(/home/goembed/mnt/B6H/B6H/buildroot-2018.08.2/output/images/zImage) failed: No such file or directory
ERROR: vfat(boot.vfat): could not setup zImage
最近使用新版板的buildroot製作文件系統,出現 “ERROR: vfat(boot.vfat): could not setup zImage” 這樣的錯誤,這是英文我把在內部編譯的uboot和kernel都去掉,沒有編譯生成zImage,所以,在生成sdcard.img的時候(這個鏡像集成了uboot,kernel,rootfs),找不到zImage,生成失敗。
這裏要生成sdcard.img集成的uboot,和kernel並不是我們想要的,所以我們不用生成這個鏡像也可以。
追查代碼發現,在編譯路徑下的Makefile 調用了post-image.sh來生成sdcard.img:
Makefile:
我用的imx6ul,所以這個文件在“board/freescale/common/imx/post-image.sh”:
這裏面用到的鏡像配置文件在這“board/freescale/common/imx/genimage.cfg.template”, 他配置了sdcard.img的分區,分區裏面分別是uboot,kernel,rootfs分區的大小和偏移量:
最開始說我們不需要編譯sdcard.img鏡像,說以我們把它屏蔽掉即可:
編譯結果:
done