由于busybox提供的命令有限,所以有时候需要通过交叉编译添加命令
arch:unicore32
以tar为例
1.搜索引擎 搜tar gnu,并下载
2.查看/usr/share 下有没有automake文件夹,没有的话 sudo apt-get install automake,这个用以生成Makefile
3.在 automake文件夹的config.sub文件下增加
a.case $basic_machine in
下添加unicore32 架构
b.# Recognize the basic CPU types with company name
下添加unicore32-*
4.进入下载的tar目录
./cofigure --host=unicore32-linux
这个是配置在开发板的架构,及编译工具,出错的话去config.log查看,排错
5.有可能会遇到tar下面的config.sub文件不正确,那么把刚才修改好的automake文件夹下的automake复制过来即可
6.不能在root下做这些事情
7.生成好以后make
8.make结束以后unicore32-linux-readelf -d src/tar 查看用的动态库,因为有时候在ramdisk中链接不到动态库,添加进去也找不到
9. 所以要静态编译,在tar 所在目录的/src目录中修改Makefile
CC = unicore32-linux-gcc -std=gnu99 --static
添加 --static
这么编译好了以后再readelf看下,发现没有动态库了,好了,可以放在根文件系统的bin目录下用了
阅读(1722) | 评论(0) | 转发(0) |