晚上稍微有点空,开始编译内核和busybox,我下的内核,原来是写的2.6,但下下来后看到了是3,算了,就先用着吧。
编译内核:
makeARCH=armversatile_defconfigmakeARCH=armmenuconfig//将KernelFeaturer中的EABI选上,不知道做什么用的?makeARCH=armCROSS_COMPILE=arm-linux-all然后在arch/arm/boot中找到zImage,拷贝出来
编译busybox,这个主要是用busybox建一个文件系统:
makeARCH=armCROSS_COMPILE=arm-linux-defconfigmakeARCH=armCROSS_COMPILE=arm-linux-install
制作文件系统:
$cdbusybox/_install$mkdirprocsysdevetcetc/init.d$vimetc/init.d/rcS#!/bin/shmount-tprocnone/procmount-tsysfsnone/sys/sbin/mdev-s然后将arm-linux-gcc中的armVFP/lib拷贝到_install中,这个是因为编译完的busybox是没有共享链接库的$cd_install$find.|cpio-o--format=newc>../rootfs.img$cd..$gzip-crootfs.img>rootfs.img.gz
测试一把:
qemu-system-arm -M versatilepb -m 128M -kernel zImage -initrd rootfs2.img.gz -nographic -append "root=/dev/ram rdinit=/sbin/init console=ttyAMA0"
成功!
这里我必须加上-nographic和console=ttyAMA0否则通过telnet的方式,什么都不显示,不知是否是我的qemu有点问题。