最近使用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的这一段内容。