移植最新BusyBox

  1. 好了, 下面开始作死.去busybox.net 下载最新的1.26.0, 小白都能看懂 的一步一步截图教程.
Paste_Image.png
  1. 解压后
移植最新BusyBox_第1张图片
Paste_Image.png

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

  1. 我们去改一下Makefile吧.
Paste_Image.png

去164行改你的交叉编译工具
和在190行改你的架构

Paste_Image.png
Paste_Image.png

改后

移植最新BusyBox_第2张图片
Paste_Image.png
  1. 用make menuconfig去配置一下busybox,
移植最新BusyBox_第3张图片
Paste_Image.png

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

移植最新BusyBox_第4张图片
Paste_Image.png

进入build options

移植最新BusyBox_第5张图片
Paste_Image.png

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

移植最新BusyBox_第6张图片
Paste_Image.png

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

进入红框选项

移植最新BusyBox_第7张图片
Paste_Image.png

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

移植最新BusyBox_第8张图片
Paste_Image.png

好了, 切换exit退出

再退出

移植最新BusyBox_第9张图片
Paste_Image.png
  1. 下面是为驱动开发命令的设置, 没有需要的请跳过.
移植最新BusyBox_第10张图片
Paste_Image.png
移植最新BusyBox_第11张图片
Paste_Image.png
  1. 是否要支持mdev, 根据自己情况选择此项.
Paste_Image.png

如图选上

移植最新BusyBox_第12张图片
Paste_Image.png

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

移植最新BusyBox_第13张图片
Paste_Image.png
  1. 切换exit退出

再退出

在yes处回车保存即可.

移植最新BusyBox_第14张图片
Paste_Image.png
  1. 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 oncemiscutils/nandwrite.c:151: error: for each function it appears in.)make[1]: *** [miscutils/nandwrite.o] Error 1make: *** [miscutils] Error 2

出现以上错误了^^

查了一下
MTD_FILE_MODE_RAW出现在本机的/usr/include/mtd/mtd-abi.h头文件中,
那我复制到include下面试试

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

vi miscutils/nandwrite.c +54

Paste_Image.png
  1. 再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 onceutil-linux/blkdiscard.c:72: error: for each function it appears in.)make[1]: *** [util-linux/blkdiscard.o] Error 1make: *** [util-linux] Error 2
又出现错误了, 仔细看看 blkdiscard不正是上面提到的那个模块吗. 应该用不到,无去掉它试试

移植最新BusyBox_第15张图片
Paste_Image.png
  1. 很多未定义^^

util-linux/lib.a(nsenter.o): In function nsenter_main':nsenter.c:(.text.nsenter_main+0x188): undefined reference tosetns'coreutils/lib.a(sync.o): In function sync_main':sync.c:(.text.sync_main+0x78): undefined reference tosyncfs'collect2: ld returned 1 exit statusNote: 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
那试试不编译这两个模块.

移植最新BusyBox_第16张图片
Paste_Image.png
移植最新BusyBox_第17张图片
Paste_Image.png
移植最新BusyBox_第18张图片
Paste_Image.png

移植最新BusyBox_第19张图片
Paste_Image.png
  1. 保存, 再make
移植最新BusyBox_第20张图片
Paste_Image.png

没有错误.

  1. 接着make install
移植最新BusyBox_第21张图片
Paste_Image.png
移植最新BusyBox_第22张图片
Paste_Image.png
移植最新BusyBox_第23张图片
Paste_Image.png
  1. 好像成功了, 因为尝鲜用,就不一一google每个错误了.

你可能感兴趣的:(移植最新BusyBox)