全部博文(396)
分类: 嵌入式
2017-02-16 09:08:35
经过第一次完整编译后,如果我们需要对源码包重新配置,我们不能直接在buildroot上的根目录下直接make,buildroot是不知道你已经对源码进行重新配置,它只会将第一次编译出来的文件,再次打包成根文件系统镜像文件。不过,我们可以通过以下两个方法修改源码的配置。
1. 直接删除源码包,例如我们要重新编译openssh,那么可以直接删除output/build/openssh-vesion 文件夹,那么当你make的时候,他就会自动从dl文件夹下,解压缩源码包,并重新安装
2. 也是以openssh为例子,如果我们不想重新编译,只想重新配置,也就是./configure,
交叉编译器的路径在Output/host目录下,你可以使用arm--gcc ,arch-linux-objdump等等,虽然看上去非常美好的,但笔者时候的时候却是非常难受,因为当移植一个软件的时候,你需要编译的东西,可能不仅仅是一个源码包,这个软件可能需要到另外一个源码包的库,而这个源码包更可能需要其他的库,结果到最后,编译的包各种多,如果你对库依赖熟悉还好,不熟悉的情况,实在让人头痛,这种方法,笔者不太推荐,buildroot的优势有点类似在CentOS下的YUM,大部分的包,他都能够识别依赖,你需要的库,只要选上,基本编译就不成问题了,如果实在不行,你稍微制定路径就可以,路径一般在/output/host/usr/ARCH-unknown-linux-gnu/sysroot/usr下,这个目录相当于交叉编译的编译环境,他提供了很多库依赖,减轻了很多移植工作,buildroot的强大之处。