我正在研究Zedboard上的嵌入式项目。我想(至少现在)只使用Bitbake来生成正确的rootfs。我使用配方core-image-minimal,因为我只需要有限的员工。我怎么能告诉"它不能编译内核,不能生成u-boot等,只专注于rootfs?
这是我到目前为止所做的:
然后输入
bitbake core-image-minimal
我得到了我的rootfs,以及所有这些不必要的工作人员。我怎么能避免它?
答案 0 :(得分:2)
我最近同样需要仅使用yocto构建rootfs,跳过其他内容,例如内核,uboot,图像创建等。有很多正当理由这样做。无论如何,这是你必须要做的:
bitbake core-image-minimal -c image_cpio
在krogoth中,这将填充build/tmp/work/$MACHINE/core-image-minimal/1.0-r0/
中的 rootfs 目录,并在build/tmp/deploy/images/$MACHINE/
在morty中, rootfs.cpio 档案似乎在build/tmp/work/$MACHINE/core-image-minimal/1.0-r0/deploy-core-image-minimal-image-complete/
答案 1 :(得分:2)
有趣的概念。但是,根据我的观察,Yocto必须在内核中获取defconfig
并在u-boot中对图像本身进行配置。因此,删除该进程将使rootfs无法启动。
由于我使用不同的内核为不同的机器编译,因此这些事情发生在我身上很多时间。我认为ARM图像将是相同的并且适用于所有机器,但我错了。
对于Debian,编译的映像需要使用内核的相应配置来编译rootfs才能工作。和Yocto是一样的。
答案 2 :(得分:2)
bitbake -e |grep IMAGE_FSTYPE
会给你一些类似的东西:
IMAGE_FSTYPES="tar.gz cpio cpio.gz.u-boot ...."
它是将生成的所有图像的列表,用于删除不需要的图像,在local.conf文件中使用:
IMAGE_FSTYPES_remove = " cpio cpio.gz.u-boot"
第一个元素之前的空格不是可选的。 此致
答案 3 :(得分:2)
如果您不想构建内核,请将首选的虚拟/内核提供程序设置为' linux-dummy'。