环境介绍:
ubuntu16.04 64+mac+vmware fusion 11
u-boot版本:u-boot-2017.05
交叉编译工具链:arm-linux-gnueabi-
busybox版本:1.27.0
Linux kernel版本:linux-4.4.174
一. 安装uboot-tools/交叉编译工具等
apt install u-boot-tools
apt install gcc-arm-linux-gnueabi
apt install qemu
下载内核:www.kernel.org
下载busybox:http://www.busybox.net/downloads/
二. 使用busybox制作根文件系统
- 修改Makefile:
ARCH=arm
CROSS_COMPILE=arm-linux-gnueabi- - 配置:makedefconfig; make menuconfig
- make
- make install
在自己文件夹下$mkdir rootfs
• $mkdirrootfs/lib
• $cp –r _install/* rootfs 将busybox生成的命令cp到rootfs下
• $ cp -p /usr/arm-linux-gnueabi/lib/* rootfs/lib
• $mkdir -p rootfs/dev/
• $mknod –m 666tty1 c
• $mknod –m 666tty2 c
• $mknod –m 666tty3 c
• $mknod–m666tty4 c
• $mknod –m 666console c 5 1
• $mknod–m666null c 1 3
- 制作SD卡文件系统镜像
• 生成镜像:dd if=/dev/zero of=rootfs.ext3 bs=1M count=32
• 格式化为exts文件系统:mkfs.ext3 rootfs.ext3
• 将各种文件拷贝到文件系统镜像中:
• $mount -t ext3 rootfs.ext3 /mnt/ -o loop
• $cp -r rootfs/* /mnt
• $umount /m