您的位置:首页 > 其它

移植最新BusyBox

2016-09-29 15:45 162 查看
忘记了csdn不能粘贴图片的, 截好的图都丢了

补了几张放在下面的链接, 

很是生气@_@
http://www.jianshu.com/p/717472476071
1. 好了, 下面开始作死.去busybox.net 下载最新的1.26.0, 小白都能看懂 的一步一步截图教程.

2. 解压后

现在是没有_install这个文件夹的

3. 我们去改一下Makefile吧. 

去164行改你的交叉编译工具

和在190行改你的架构

4. 用make menuconfig去配置一下busybox, 

在Busybox Settings选项处回车进入(后面同样)

进入build options

空格键切换红框为*即可. 目的把busybox编译成静态链接的可执行文件.不用依赖其他库运行.

方向右键切换到exit退出, 回到上一级目录

进入红框选项

把红框也空格键切换为*, 目的是设置为VI风格编辑命令行

好了, 切换exit退出

再退出

5. 下面是为驱动开发命令的设置, 没有需要的请跳过.

6. 是否要支持mdev, 根据自己情况选择此项.

如图选上

留意这里有个blkdiscard, 下面可能有彩蛋.

7. 切换exit退出

再退出

在yes处回车保存即可.

8. make一下看看

miscutils/nandwrite.c: In function 'nandwrite_main':

miscutils/nandwrite.c:151: error: 'MTD_FILE_MODE_RAW' undeclared (first use in this function)

miscutils/nandwrite.c:151: error: (Each undeclared identifier is reported only once

miscutils/nandwrite.c:151: error: for each function it appears in.)

make[1]: *** [miscutils/nandwrite.o] Error 1

make: *** [miscutils] Error 2

出现以上错误了^^

查了一下

MTD_FILE_MODE_RAW出现在本机的/usr/include/mtd/mtd-abi.h头文件中,

那我复制到include下面试试

还要去给提示错误的那个c文件添加上头文件

# vi miscutils/nandwrite.c +54

9. 再make一下

util-linux/blkdiscard.c: In function 'blkdiscard_main':

util-linux/blkdiscard.c:72: error: 'BLKSECDISCARD' undeclared (first use in this function)

util-linux/blkdiscard.c:72: error: (Each undeclared identifier is reported only once

util-linux/blkdiscard.c:72: error: for each function it appears in.)

make[1]: *** [util-linux/blkdiscard.o] Error 1

make: *** [util-linux] Error 2

又出现错误了, 仔细看看 blkdiscard不正是上面提到的那个模块吗. 应该用不到,无去掉它试试

10. 很多未定义^^

util-linux/lib.a(nsenter.o): In function `nsenter_main':

nsenter.c:(.text.nsenter_main+0x188): undefined reference to `setns'

coreutils/lib.a(sync.o): In function `sync_main':

sync.c:(.text.sync_main+0x78): undefined reference to `syncfs'

collect2: ld returned 1 exit status

Note: if build needs additional libraries, put them in CONFIG_EXTRA_LDLIBS.

Example: CONFIG_EXTRA_LDLIBS="pthread dl tirpc audit pam"

make: *** [busybox_unstripped] Error 1

那试试不编译这两个模块.

11. 保存, 再make

没有错误.

12. 接着make install

13. 好像成功了, 因为尝鲜用,就不一一google每个错误了. 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  busybox