1.下载最新的 busybox代码,解压。
2. 编译busybox
cd busybox-1.21.1/
export ARCH=arm
export CROSS_COMPILE=arm-linux-gnueabi-
make defconfig
make install
之后,会生成一个 _install 目录,里面是一个root file system.
默认情况下,生成的busybox二进制文件是动态链接的。所以,需要拷贝用到的动态库到根文件系统里面。
可以用如下的命令查看用到了哪些动态库:

然后,把相应的库从arm-linux-gnueabi/libc/lib/拷到 busybox-1.21.1/_install/lib里面。
另外,在 _install下,执行下面的命令:
$ cd _install
$ mkdir proc sys dev etc etc/init.d
$ cd 。。
然后,创建一个新文件 _install/etc/init.d/rcS:
#!/bin/sh
mount -t proc none /proc
mount -t sysfs none /sys
/sbin/mdev -s
$ chmod +x _install/etc/init.d/rcS
/sbin/init会执行/etc/init.d/rcS.
最终的部分 RFS如下:

3. 生成 ramdisk文件:
find 。 | cpio -o --format=newc 》 。。/。。/。。/initramfs
4.测试。执行
$ qemu-system-arm -M vexpress-a9 -kernel 。/linux-3.2/arch/arm/boot/zImage -initrd 。。/initramfs -append “root=/dev/ram rdinit=/sbin/init”
可以进入到arm 系统

如果想让log到主机终端里,可以使用下面的命令:
$ qemu-system-arm -M vexpress-a9 -kernel 。/linux-3.2/arch/arm/boot/zImage -initrd 。。/initramfs -serial stdio -append “cons
-
ARM
+关注
关注
135文章
9499浏览量
388791 -
qemu
+关注
关注
0文章
57浏览量
5878
发布评论请先 登录
教你在Ubuntu系统上定制文件系统
编译BUSYBOX建立根文件系统
[原创]【UT4418试用体验】busybox制作跟文件系统
总结构建最小根文件系统步骤
如何使用 BusyBox 制作Linux最小文件系统
如何利用busybox制作一个最小根文件系统
分享一种基于qemu的arm-linux虚拟机搭建方法
在Ubuntu系统上定制文件系统
分享在Forlinx Desktop系统上定制文件系统的操作过程
用Busybox制作嵌入式Linux根文件系统
基于zynq的Linux根文件系统生成

在QEMU上用Busybox模拟ARM文件系统的步骤
评论