使用 BusyBox 制作 ramdisk 文件
一、软件准备
主机:ubuntu12.04.5
工具链:arm-linux-gnueabihf-6.2.1
内核:linux-4.9.28
Busybox:busybox-1.29.3
二、制作根文件系统
1、建立目录
# mkdir ramdiskfs
# cd ramdisk
# mkdir mnt tmp var usr sys proc etc lib dev bin sbin root home
# mkdir usr/bin usr/sbin usr/lib lib/modules
2、添加设备文件
# cd dev
# mknod -m 666 console c 5 1 (备注:创建控制台设备文件)
# mknod -m 666 null c 1 3 (备注:创建一个空的设备文件)
3、添加配置文件
复制 busybox 中的/examples/bootfloppy/etc 的文件
三、编译 Busybox
1、配置 Busybox
进入 busybox 目录下
# cd busybox-1.29.3
# make menconfig
1)选择 Settings -> build Options -> Build busybox as a static binary,即静态链接,
免去拷贝大量的库文件。
2)指定交叉编译工具 cross compile prefix: arm-linux-gnueabihf-
3)指定头文件位置 Path to sysroot: /opt/sysroots/armv7ahf-neon-linux-gnueabi/,如
果没在指定头文件,则会在编译时出现找不到头文件 limit.h 的错误。
4)指定 Busybox 安装位置 Destination path for’make install’:/xxx/ramdiskfs/
2、编译并安装 busybox
# make
# make install
四、使用 genext2fs 制作 ramdisk 根文件系统镜像
1、安装 genext2fs
# apt-get install genext2fs
2、使用 genext2fs 将 ramdisk 根文件系统打包成 ext2 文件系统镜像
#genext2fs -b 4096 -d ramdsikfs ramdisk
-b 是指制作的 ramdisk 大小为 4096K 字节
-d 是指要制作成 ramdisk 的根文件系统目录
ramdisk 是制作出来的 ramdisk 的名字。
评论0