Yocto在修改源代码后重建图像
在对驱动程序源代码进行一些修改后,如何重建映像Yocto在修改源代码后重建图像,yocto,bitbake,openembedded,Yocto,Bitbake,Openembedded,在对驱动程序源代码进行一些修改后,如何重建映像 我尝试了bitbake-f-c编译和bitbake,但在驱动程序中找不到修改过的设置。有人能告诉我如何用修改过的代码重建图像吗。我想你想重新生成整个图像,不是吗?如果是,可以尝试以下命令以确保bitbake不会使用sstate缓存: bitbake image-name -c cleansstate && bitbake image-name 如果您只想重建内核,请用virtual/kernel(或要重建的任何配方的名称)替换映像
我尝试了bitbake-f-c编译和bitbake,但在驱动程序中找不到修改过的设置。有人能告诉我如何用修改过的代码重建图像吗。我想你想重新生成整个图像,不是吗?如果是,可以尝试以下命令以确保bitbake不会使用sstate缓存:
bitbake image-name -c cleansstate && bitbake image-name
如果您只想重建内核,请用virtual/kernel(或要重建的任何配方的名称)替换映像名称
注意,do_cleansstate任务将删除配方${WORKDIR}强>
有关进一步资料:
在直接在${WORKDIR}中进行此类修改的情况下,除非进行测试,否则不应进行此类修改,执行以下命令就足够了:
bitbake virtual/kernel -f -c compile
或
我猜你想重新生成整个图像,不是吗?如果是,可以尝试以下命令以确保bitbake不会使用sstate缓存:
bitbake image-name -c cleansstate && bitbake image-name
如果您只想重建内核,请用virtual/kernel(或要重建的任何配方的名称)替换映像名称
注意,do_cleansstate任务将删除配方${WORKDIR}强>
有关进一步资料:
在直接在${WORKDIR}中进行此类修改的情况下,除非进行测试,否则不应进行此类修改,执行以下命令就足够了:
bitbake virtual/kernel -f -c compile
或
如果您没有直接在${WORKDIR}中进行修改,则必须将SRCREV设置为新哈希并增加PR。然后输入命令
bitbake <image-name>
bitbake
它会再次编译一个包,并使用您的更改创建新映像
如果您在${WORKDIR}中进行了更改,请添加、提交并将其推送到您的存储库中,然后按照上面的步骤操作。这是最干净的解决方案
其他解决方案建议的命令:
bitbake <image-name> -c cleansstate
bitbake-c cleansstate
将导致所有包重新生成,如果没有sstate镜像,这可能需要很长时间 如果您没有直接在${WORKDIR}中进行修改,则必须将SRCREV设置为新哈希并增加PR。然后输入命令
bitbake <image-name>
bitbake
它会再次编译一个包,并使用您的更改创建新映像
如果您在${WORKDIR}中进行了更改,请添加、提交并将其推送到您的存储库中,然后按照上面的步骤操作。这是最干净的解决方案
其他解决方案建议的命令:
bitbake <image-name> -c cleansstate
bitbake-c cleansstate
将导致所有包重新生成,如果没有sstate镜像,这可能需要很长时间 由于${WORKDIR}中的更改将在清理后重写,因此可以通过命令devtool modify
默认情况下,配方代码将放入tmp/workspace/source/directory
现在,您可以像往常一样自由修改代码并使用bitbake
进行简单构建
修改完成后,您可以轻松地将更改保存为原始配方代码的补丁(只要是开源和下载的):
- 在工作区中提交更改
- 为了自动创建补丁并将其附加到配方,请使用命令
devtool recipe update-a
devtool modify
默认情况下,配方代码将放入tmp/workspace/source/directory
现在,您可以像往常一样自由修改代码并使用bitbake
进行简单构建
修改完成后,您可以轻松地将更改保存为原始配方代码的补丁(只要是开源和下载的):
- 在工作区中提交更改
- 为了自动创建补丁并将其附加到配方,请使用命令
devtool recipe update-a