busybox编译linux文件系统

1.下载busybox,网址

2.在Ubuntu下新建目录,将Busybox 压缩包拷贝进去,并解压

3.编辑Makefile文件,设置交叉编译工具链路径
CROSS_COMPILE ?= /home/gcc/linux-gcc/fsl-linaro-toolchain/bin/arm-none-linux-gnueabi-

4.根据需求配置编译器
make menuconfig

5.编译安装
make install CONFIG_PREFIX=/home/rootfs

6.编译过程中出现如下错误busybox编译linux文件系统_第1张图片
7.重新配置编译器
make menuconfig
7.1.Linux System Utilities—>nsenter,选项去掉
7.2 Coreutils—>sync选项去掉

8.重新编译安装
make install CONFIG_PREFIX=/home/rootfs
编译成功,会生成如下目录
busybox编译linux文件系统_第2张图片
9.进入rootfs目录完善最小系统
9.1 创建文件夹mkdir dev etc lib mnt proc sys tmp var
9.2 进入新创建的etc目录,创建文件夹mkdir init.d rc.d
9.3 进入新创建的rc.d文件夹,创建文件夹mkdir init.d
9.4 返回到rootfs目录,进入var目录,新建目录mkdir lib lock log run tmp
9.5 进入rootfs的etc目录,将eth0-setting passwd profile三个文件拷贝进去,将文件的权限改为755
9.6 进入etc目录下的init.d目录将,ifconfig-eth0和rcS两个文件拷贝进去,将文件的权限改为755
9.7 进入 etc/rc.d/init.d目录,将netd文件拷贝进去,将文件的权限改为755
9.8 返回到rootfs目录下,进入lib文件夹下,将编译器的库文件拷贝进去,
“cp -r /home/gcc/linux-gcc/fsl-linaro-toolchain/arm-fsl-linux-gnueabi/multi-libs/lib/* ./”

10.安装打包工具
apt install android-tools-fsutils

11.编译生成文件系统system.img
make_ext4fs -s -l 314572800 -a root -L linux system.img rootfs

你可能感兴趣的:(linux,嵌入式硬件)