1.下載最新的 busybox代碼,解壓。
2. 編譯busybox
cd busybox-1.21.1/
export ARCH=arm
export CROSS_COMPILE=arm-linux-gnueabi-
make defconfig
make install
之后,會(huì)生成一個(gè) _install 目錄,里面是一個(gè)root file system.
默認(rèn)情況下,生成的busybox二進(jìn)制文件是動(dòng)態(tài)鏈接的。所以,需要拷貝用到的動(dòng)態(tài)庫到根文件系統(tǒng)里面。
可以用如下的命令查看用到了哪些動(dòng)態(tài)庫:
然后,把相應(yīng)的庫從arm-linux-gnueabi/libc/lib/拷到 busybox-1.21.1/_install/lib里面。
另外,在 _install下,執(zhí)行下面的命令:
$ cd _install
$ mkdir proc sys dev etc etc/init.d
$ cd 。。
然后,創(chuàng)建一個(gè)新文件 _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會(huì)執(zhí)行/etc/init.d/rcS.
最終的部分 RFS如下:
3. 生成 ramdisk文件:
find 。 | cpio -o --format=newc 》 。。/。。/。。/initramfs
4.測(cè)試。執(zhí)行
$ qemu-system-arm -M vexpress-a9 -kernel 。/linux-3.2/arch/arm/boot/zImage -initrd 。。/initramfs -append “root=/dev/ram rdinit=/sbin/init”
可以進(jìn)入到arm 系統(tǒng)
如果想讓log到主機(jī)終端里,可以使用下面的命令:
$ qemu-system-arm -M vexpress-a9 -kernel 。/linux-3.2/arch/arm/boot/zImage -initrd 。。/initramfs -serial stdio -append “cons
-
ARM
+關(guān)注
關(guān)注
134文章
9353瀏覽量
377708 -
qemu
+關(guān)注
關(guān)注
0文章
57瀏覽量
5678
發(fā)布評(píng)論請(qǐng)先 登錄
教你在Ubuntu系統(tǒng)上定制文件系統(tǒng)
編譯BUSYBOX建立根文件系統(tǒng)
[原創(chuàng)]【UT4418試用體驗(yàn)】busybox制作跟文件系統(tǒng)
總結(jié)構(gòu)建最小根文件系統(tǒng)步驟
如何使用 BusyBox 制作Linux最小文件系統(tǒng)
怎樣用busybox制作嵌入式Linux的文件系統(tǒng)?
如何利用busybox制作一個(gè)最小根文件系統(tǒng)
分享一種基于qemu的arm-linux虛擬機(jī)搭建方法
在Ubuntu系統(tǒng)上定制文件系統(tǒng)
分享在Forlinx Desktop系統(tǒng)上定制文件系統(tǒng)的操作過程
用Busybox制作嵌入式Linux根文件系統(tǒng)
基于zynq的Linux根文件系統(tǒng)生成

評(píng)論