我在一个基于IMX6的SOM模块上使用嵌入式linux。我想给我的内核打补丁,它工作得很好,它已经打了补丁,但我想添加一些功能。我在源代码上应用旧的补丁,添加我的代码,然后创建一个新补丁。
在yocto中,我将我的补丁添加到食谱中并对其进行bitbake,我用新加载的内核启动了板子,但它似乎没有我的修改!
对于bitbake my new kernel,我输入:
bitbake -c clean linux-toradex-fsl
bitbake linux-toradex-fsl它编译没有任何错误,我复制我的uImage在我的tftp文件夹,但我的功能似乎没有执行。
所以我试着创建一个简单的补丁,
printk(KERN_WARNING"This is a test\n");我把它放在另一个警告之后,调用并显示。
而且它也不起作用。
我检查了一下-c devshell,我的修改是在yocto中应用的,补丁在这里有效。
我还检查了uImage文件,它有相同的大小,无论有没有我的补丁。
你对这个问题有什么想法吗?
你好,皮埃尔·奥利维尔
解决方案
经过几次尝试,我找到了解决方案,我只需要运行
bitbake -c cleansstate linux-toradex-fsl
bitbake my-image并使用修补后的内核对图像进行位烘焙。
发布于 2016-04-14 01:55:37
Bitbake对-clean很有趣。它试图保留一个状态目录,所以-clean只是在makefile中运行正常的“清理”,但是makefile可以被共享状态所缩短,共享状态可以包括来自先前构建的压缩的预构建二进制文件。试试这个:
bitbake -c cleansstate linux-toradex-fsl
bitbake linux-toradex-fsl注意在clean状态(干净共享状态)中额外的“%s”。
https://stackoverflow.com/questions/36599355
复制相似问题