青春无悔
分类: 嵌入式
2014-11-10 16:46:11
it clone git://repo.or.cz/qemu/mini2440.git qemu
如果感觉速度慢,直接打包下载
解压后,今日源代码的主目录中,
1
2
|
# ./configure --target-list=arm-softmmu
# make -j4
|
如果在QEMU里生成NAND的话,会花不少时间。所以我们可以利用闲置的内存(RAM)-- tmpfs
~$ mkdir nand
~$ sudo mount -t tmpfs none nand/
我们接下来将从零开始生成一个NAND镜像文件。一般NAND的大小我们可以设定成64MB (NOR镜像文件一般设为2MB)。我们来做一下简单的计算:要生成一个64MB的NAND,每个块是512字节,还要加上16字节的ECC,所以每个块是528字节。总共需要的块数是:(64 * 1024 * 1024) / 528 = 127100
用dd 命令来生成一个NAND镜像:
现在可以将其从tmpfs拷贝到电脑硬盘,然后卸载掉tmpfs。
$ cp nand/nand.bin .
$ sudo umount nand/
$ rmdir nand
如前面时提到的,flashimg是一个由网友FabriceJouhaud 开发的软件,可以很快捷地生成NAND或NOR镜像文件。我们首先下载flashimg:
$ git clone git://gitorious.org/flashimg/flashimg.git
编译安装
$ ./autogen.sh
$ ./configure
$ make
$ sudo make install
要生成NAND或NOR镜像文件,可以先把之前Buildroot替我们生成的三个文件:u-boot.bin, uImage和rootfs.jffs2 拷贝到flashimg文件夹下,生成NAND或NOR镜像文件:
$ flashimg -s64M -t nand -f nand.bin -p uboot.part -w boot,u-boot.bin -w kernel,uImage -w root,rootfs.jffs2 -z 512
$ flashimg -s 2M -t nor -f nor.bin -p uboot.part -w boot,u-boot.bin -w kernel,uImage -w root,rootfs.jffs2
最后,启动系统,我们以NAND文件为例:
$ qemu-system-arm -M mini2440 -serial stdio -mtdblock nand.bin -usbdevice mouse
MINI2440 # nboot kernel
MINI2440 # setenv bootargs root=/dev/mtdblock3 rootfstype=jffs2 console=ttySAC0,115200 mini2440=3tb
MINI2440 # saveenv
输入Buildroot的密码,默认是 root
我们再一次看到了亲切的小企鹅。