参照 《完全开发手册 - 从零移植篇》,使用 buildroot
进行构建,文中对 uboot
和 kernel
使用云仓库进行的管理,我尝试换成使用本地代码。
make uboot-rebuild
单独编译 uboot
, 分别指定了uboot
路径和要使用的分支版本,可是在编译时还是报错。(其中 uboot 和 kernel 在前期已经单独配置编译完成)
总结是:指定了本地仓库和分支版本,构建时为什么还要到网络下载呢?(网上下载的地方没有这个分支)
这样配置的是远程下载,毕竟用的是 URL;
可以参考如下操作来实现你的需求:
# 在 buildroot 顶层目录下创建 local.mk 文件,并写入需要本地编译的包
echo "UBOOT_OVERRIDE_SRCDIR=/home/tiansong/100ask_imx6ull_pro/uboot-imx" >> local.mk
# 单独编译 uboot
make uboot-rebuild
同理如果要编译本地 kernel
echo "LINUX_OVERRIDE_SRCDIR=/home/tiansong/100ask_imx6ull_pro/linux-imx" >> local.mk
make linux-rebuild
另:uboot 的 defconfig,就是上图配置的 U-Boot board name
参考博客 1:在家学习嵌入式5--buildroot的使用 | wowothink
参考博客 2:https://blog.csdn.net/nwpu053883/article/details/93379916
谢谢老师这么晚回复
我又琢磨了琢磨,还是用最开始的方式实现了 buildroot 对本地代码的管理
- 单独适配调试 uboot 和 kernel 工程到可执行
-
git add
git commit
, 更新本地仓储,然后git log -1
拿到仓库最近的提交编号 - 将编号填写到 buildroot 的 menuconfig 里面再编译
1 Like
是我想当然了,你的方式是正确的;
我不是老师;只是一个学员;
翻了您主页回答的问题,都很专业有条理,是学员也更是老师水平了