忘记密码   免费注册 查看新帖 | 论坛精华区

ChinaUnix.net

  平台 论坛 博客 认证专区 大话IT HPC论坛 徽章 文库 沙龙 自测 下载 频道自动化运维 虚拟化 储存备份 C/C++ PHP MySQL 嵌入式 Linux系统
最近访问板块 发新帖
查看: 11551 | 回复: 3

[其它] buildroot重新编译package [复制链接]

论坛徽章:
0
发表于 2012-07-16 09:41 |显示全部楼层
本帖最后由 shiyigudong 于 2012-07-16 14:54 编辑

最近使用buildroot制作编译环境,文件系统。使用过程当中有许多注意点。今天的一点注意记录如下:
使用buildroot则样重新编译某一个包。比如说我们在某一个包里修改了代码,怎么重新编译呢。
我使用的是buildroot-2012-02版本。我的文件系统里要使用vsftpd,于是在buildroot根目录下make menuconfig的时候。选择编译vsftpd。但是我的vsftpd需要添加一点自己的东西。
添加了以后,开始回到根目录make,怎么都不编译。后来仔细阅读buildroot/doc目录下的文档,才把问题解决。所以大家如果对buildroot有任何问题,基本在doc目录下都能得到满意答复。

我的解决方法是这样的:
进入buildroot/output/build/vsftpd-2.3.4目录,
然后进入这个目录。按自己的要求修改文件,然后删除这个目录下的.stamp_built和.stamp_target_installed.然后回到这个
buildroot根目录下make。buildroot会自动重新编译vsftpd并且拷贝到文件系统。
buildroot/output/build/vsftpd-2.3.4这个目录下除了上面提到的两个文件还有类似的4个:
.stamp_configured, .stamp_downloaded, .stamp_patched,.stamp_extracted
其实每个工具包里都有这样的几个文件,这几个文件主要控制这个工具包的下载,解压,打包,配置,编译,安装。而根据我们的需要是要修改然后重新编译,安装即可。所以删除.stamp_built和.stamp_target_installed就可以啦。然后编译完了再进去看看。
这两个文件又产生啦,如果我们仅仅是修改了文件,而没有删除这两个文件是不会编译的。

主要参考的是doc目录下understanding how to rebuild packages的这一段内容。

这是2012-7-16下午重新写的。上午写的有有点误导别人。看了下好像有30多人已经阅读过。对这部分人说声:实在对不起啊。

论坛徽章:
0
发表于 2012-07-18 17:31 |显示全部楼层
.stamp.*这些标号不用看doc的,看一下对应的Makefile就知道了。

论坛徽章:
1
拜羊年徽章
日期:2015-03-03 16:15:43
发表于 2012-08-03 21:47 |显示全部楼层
本帖最后由 linuxfellow 于 2012-08-03 21:48 编辑

回复 1# shiyigudong
buildroot效率很低。 即使只改动一点点,再编译时也花很长时间。
最好的方法是要会逐一编译单个package. 如果我只改动根文件系统,我就只编译根文件package. 编好了还要能用。麻烦的是,好多时候,只编译改动的package, 结果不能用。得重新来一个clean
你有没有什么高效的方法?

   

论坛徽章:
0
发表于 2013-03-01 17:31 |显示全部楼层
向楼主学习)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号 北京市公安局海淀分局网监中心备案编号:11010802020122
广播电视节目制作经营许可证(京) 字第1234号 中国互联网协会会员  联系我们:
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP