该文转载自网上其他人的原创文章,csdn其他博客上的2种方法都试过,发现并没有什么用,本文的方法亲测有用。
ubuntu 16.04 arm-linux- busybox-1.28.3
1、在Makefile前面添加
ARCH ?= arm
CROSS_COMPILE ?=arm-linux-
2、make menuconfig
3、make
出现的问题。
解决方法:
MTD_FILE_MODE_RAW在/usr/include/mtd/mtd-abi.h中定义,于是将/usr/include/mtd/mtd-abi.h拷贝到busybox的include文件中,然后在nandwrite.c文件中包含该头文件,同时cp /usr/include/mtd/mtd-user.h到 busybox-1.28.3/include 目录下
gedit miscutile/nandwrite.c
修改
#include "libbb.h"
#include <mtd/mtd-user.h>
为
#include "libbb.h"
#include "mtd-abi.h"
#include "mtd-user.h"
保存后退出。
make。接着在链接的时候出现新问题:
解决办法:
make menuconfig
Linux System Utilities ->nsenter 将该项前面的"<*>"变为"<>"
重新make,出现新的问题:
解决办法:
make menucofnig
Coreutils ->sync前面的"<*>"修改为"<>"
然后make,编译成功。如果遇到了问题,可以问我哦!!!