Linux开发时,有时需要修改uboot代码,或者有时需要查看uboot代码。
在Yocot build时,若要生成uboot,需要:
(如果使用的是u-boot.bb文件)
$bitbake u-boot
然后就会得到uboot的image文件。
但如果要修改u-boot的话,就要在build u-boot之后,在u-boot的源码的目录里修改代码。
修改完成后使用git diff做成一个patch文件,然后把patch加入到yocoto的bb文件中。
(比如修改了test.c文件,就是用git diff test.c > fixbug.patch得到patch文件)
这样下次构建u-boot时,先远程下载u-boot源码,然后打上我们加的patch文件,得到最终源码。
这个修改过程对kernel也是一样的。
但有的时候发现,build完成了,却找不到源码?
别急,可能是build过程中,源码作为中间产物没有留下。
我们只需执行命令:
$bitbake -c unpack u-boot
然后去u-boot的构建目录里去找就能发现源码:
.\machine-bsp\build\tmp\work\machine-poky-linux-gnueabi\u-boot\v2017.03-r0\git
在同级的deploy-u-boot目录,可以找到构建的image文件。
对于kernel的源码位置:
.\machine-bsp\build\tmp\work\machine-poky-linux-gnueabi\linux\4.1.15-r0\git