编译qemu最新版本
Ⅰ 求助,编译qemu
编译QEMU需要用到的工具和库:gcc libsdl1.2-dev zlib1g-dev libasound2-dev pkg-config libgnutls-dev pciutils-dev
前三个是必须的,后面我没有遇到提示,编译时如果遇到某库没有安装,可以用yum search或者yum list来查找相关的软件包,安装dev版本的
接下来编译
./configure make make install
全部编译花费的时间很长,QEMU会把所有的target都编译出来,如果只需要模拟特定的平台,可以
./configure TARGET=i386-softmmu
运行QEMU
安装好QEMU之后可以从官网上下载一个很小的包含linux系统的虚拟磁盘来实验一下linux-0.2.img.bz2,不过这个linux剪裁的很小实在做不了什么,磁盘镜像也很小,不能往里面放东西
QEMU现在都是用VNC方式运行的,即QEMU会把自己当做VNC的服务器端,使用QEMU时还需要用VNC的客户端来连接它。
首先安装VNC client软件,可以用yum search vncviewer来搜索下可以的软件。
在终端中运行QEMU,5900表示在VNC服务器在本机的5900端口
qemu -hda linux-0.2.img.bz2 -vnc ::1:5900
打开另一个终端,输入
vncview 127.0.0.1:5900
QEMU的GUI界面显示
安装guest OS
首先创建一块虚拟磁盘镜像,如果是准备安装Fedora这样的OS,还是创建10G以上的硬盘吧。用dd命令也可以创建一块空的硬盘镜像,但是很慢。
qemu-img create -f qcow2 disk.img 10G
Fedora 12的系统安装ISO镜像文件一份,可以从fedora官网下载,开始安装操作系统,-m 512表示指定内存大小512M,不可缺少,不然fedora12启动后画面显示出问题
qemu -hda disk.img -m 512 -cdrom Fedora.XXXX.iso -vnc ::1:5900
在另一个终端里输入:
vncviewer 127.0.0.1:5900
然后可以在QEMU窗口中安装fedora,一切步骤同裸机安装,就是很慢很慢
启动guest OS,目前发现的问题是对键盘的支持不好,键位错乱了
qemu -hda disk.img -m 512 -vnc ::1:5900
guest与host文件交互问题,解决方法很多,可以通过网络传输,QEMU还支持把host disk挂载使用,我是把所需要的文件制作成iso镜像,然后在启动qemu时用- cdrom来指定这个文件,guest OS启动再从CDROM设备中把文件出来,这个方法的缺点是不能实时的交互文件,制作ISO文件,在linux下:
mkisofs XXX YYY.iso
编译内核
下载linux内核源代码: 解压缩源代码,放在/usr/src/kernels
gzip -d linux-2.6.32.tar.gz tar -xvf linux-2.6.32.tar mv -rf linux-2.6.32 /usr/src/kernels
下载Tuxonice补丁程序,注意对应的版本号:http://www.tuxonice.net/ 打补丁
cd /usr/src/kernels/linux-2.6.32 (the root directory of your tree) bzcat /path/to/patch | patch -p1
config,把电源管理那部分的功能都enable,bug功能enalbe
make menuconfig
编译
make make mole_install
制作内核镜像
make bzImage
制作初始化镜像
mkinitrd
make install可以自动完成工作使得下次系统从这个内核启动,手工做的话把内核镜像文件,initrd文件和system.map文件一起复制到/boot/下面,并修改/boot/grub/menu.lst
更换guest OS内核
将编译好的三个文件制作成ISO文件,并通过qemu的-cdrom指定,然后在guest OS中复制内核到boot文件夹下,修改menu.lst
linux下制作iso镜像文件的命令,源文件放在/dev/cdrom目录下:
mkisofs -r -o myiso.iso /dev/cdrom
Ⅱ 在windows下使用QEMU编译linux内核怎么做
能用虚拟机,Linux内核使用大量的GCC拓展,而且整个工程是用makefile来控制 在Windows下虽然有对应的GCC工具和make工具 但配置起来都比较麻烦!既然选择学习linux内核 那么linux下C语言编程和操作系统应该都有一定的基础 而且现在桌面版的linux系统已经很人性化 像fedora Ubuntu都很好用了 不需要繁杂的配置!
Ⅲ 如何使用QEMU来编译打包armhf/arm64的snap包
首先,你需要设置QEMU和ARM二进制以及asdebootstrap支持: sudo apt-get install debootstrap qemu-user-static qemu-system git \gcc-arm-linux-gnueabihf binfmt-support 现在,创建文件系统本身(这是为2GB图片)和它挂载在/mnt目录中。
Ⅳ 使用buildroot编译arm架构的linux内核,使其支持usb摄像头,并使用qemu虚拟运行
#没有吧ext* 和 VFS编进去吧
cd/usr/src/linux
makemenuconfig
#选择ext4和VFS,在FileSystem里,很好找
make;makemole_install;makeinstall
Ⅳ kvm和qemu的关系 kvm为什么没有做io虚拟化 半虚拟化和全虚拟化的区别 kvm是否在内
不同的基于KVM的虚拟化平台,可能会采用不同的虚拟化组件,目前主流的采用QEMU-KVM组件,但在不同的产品里版本有所不同,功能也有差异,下面就几个概念进行梳理下
KVM:Kernel-Based Virtual Machine 基于内核的虚拟机,是Linux内核的一个可加载模块,通过调用Linux本身内核功能,实现对CPU的底层虚拟化和内存的虚拟化,使Linux内核成为虚拟化层,需要x86架构的,支持虚拟化功能的硬件支持(比如Intel VT,AMD-V),是一种全虚拟化架构。KVM在2007年年2月被导入Linux 2.6.20内核中。从存在形式来看,它包括两个内核模块:kvm.ko 和 kvm_intel.ko(或kvm_amd.ko),本质上,KVM是管理虚拟硬件设备的驱动,该驱动使用字符设备/dev/kvm(由KVM本身创建)作为管理接口,主要负责vCPU的创建,虚拟内存的分配,vCPU寄存器的读写以及vCPU的运行。
QEMU:是一套由Fabrice Bellard编写的模拟处理器的自由软件,它是一个完整的可以单独运行的软件,可以独立模拟出整台计算机,包括CPU,内存,IO设备,通过一个特殊的“重编译器”对特定的处理器的二进制代码进行翻译,从而具有了跨平台的通用性。QEMU有两种工作模式:系统模式,可以模拟出整个电脑系统,另一种是用户模式,可以运行不同与当前硬件平台的其他平台上的程序(比如在x86平台上运行跑在ARM平台上的程序);其代码地址 http://git.qemu.org/qemu.git ,有兴趣的同学可以自己去看看,目前最新的版本是2.7.0,在0.9.1及之前版本还可以使用kqemu加速器(可以理解为QEMU的一个插件,用来提高QEMU的翻译性能,支持Windows平台),但1.0以后版本就只能使用qemu-kvm(只支持Linux)进行加速了,1.3版本后QEMU和QEMU-KVM合二为一了。
QEMU-KVM:从前面对KVM内核模块的介绍知道,它只负责CPU和内存的虚拟化,加载了它以后,用户就可以进一步通过工具创建虚拟机(KVM提供接口),但仅有KVM还是不够的,用户无法直接控制内核去做事情(KVM只提供接口,怎么创建虚拟机,分配vCPU等并不在它上面进行),还必须有个运行在用户空间的工具才行,KVM的开发者选择了比较成熟的开源虚拟化软件QEMU来作为这个工具,并对其进行了修改,最后形成了QEMU-KVM。
在QEMU-KVM中,KVM运行在内核空间,QEMU运行在用户空间,实际模拟创建,管理各种虚拟硬件,QEMU将KVM整合了进来,通过/ioctl 调用 /dev/kvm,从而将CPU指令的部分交给内核模块来做,KVM实现了CPU和内存的虚拟化,但kvm不能虚拟其他硬件设备,因此qemu还有模拟IO设备(磁盘,网卡,显卡等)的作用,KVM加上QEMU后就是完整意义上的服务器虚拟化
当然,由于qemu模拟io设备效率不高的原因,现在常常采用半虚拟化的virtio方式来虚拟IO设备,另文再谈
综上所述,QEMU-KVM具有两大作用:
1.提供对cpu,内存(KVM负责),IO设备(QEMU负责)的虚拟
2.对各种虚拟设备的创建,调用进行管理(QEMU负责)
libvirt
顺带提一提libvirt,这是RedHat开始支持KVM后,大概是觉得QEMU+KVM方案中的用户空间虚拟机管理工具不太好用或者通用性不强,所以干脆搞了个libvirt出来,一个针对各种虚拟化平台的虚拟机管理的API库,一些常用的虚拟机管理工具如virsh(类似vim编辑器),virt-install,virt-manager等和云计算框架平台(如OpenStack,OpenNebula,Eucalyptus等)都在底层使用libvirt提供的应用程序接口。
libvirt主要由三个部分组成:API库,一个守护进程 libvirtd 和一个默认命令行管理工具 virsh。
总结:
目前来说,QEMU是一个独立的虚拟化解决方案,并不依赖KVM(它本身自己可以做CPU和内存的模拟,只不过效率较低),而KVM是另一套虚拟化解决方案,对CPU进行虚拟效率较高(采用了硬件辅助虚拟化),但本身不提供其他设备的虚拟化,借用了QEMU的代码进行了定制,所以KVM方案一定要依赖QEMU
即使后来RedHat后来开发了libvirt,也只能简单的认为是个虚拟机管理工具,仍然需要通过用户空间QEMU来与KVM进行交互
Ⅵ qemu如何使用
qemu常用网络模式是user、tap。
user使用有局限性,
1) 由于其在QEMU内部实现所有网络协议栈,因此其性能较差。
2) 不支持部分网络功能(如ICMP),所以不能在客户机中使用ping命令测试外网连通性。
3) 不能从宿主机或外部网络直接访问客户机。需要作地址重定向。
tap方式网络没有这些限制。
通过tap又可以实现bridge和nat方式的网络连接。
Ⅶ 最新windows版qemu虚拟机使用技巧
RedflagWorkstation下已经带了QEMU
#QEMU-imgcreatewindows.img2G#这个就是创建虚拟机磁盘,2G大小
#QEMU-hdawindows.img-cdrom/dev/acd0-bootd-m512-enable-audio-localtime
-hda是指定硬盘
-cdrom指定使用光驱,这个参数后面必须要跟个文件名,可以是物理光驱/dev/hda,可以使用ISO文件,为文件的路径
-m是指定虚拟机使用的内存大小,如512M
-boot指定虚拟机启动用的设备,-boot后可以选择的参数是a,c,d.其中a是指从软盘启动,c就是用硬盘启动,d是光驱启动。
-enable-audio
-localtime使用实际主板bios上的时间。
应该可以顺利的进入虚拟机了,并开始安装了。
RedflagWorkstation下已经带了QEMU
#QEMU-imgcreatewindows.img2G#这个就是创建虚拟机磁盘,2G大小
#QEMU-hdawindows.img-cdrom/dev/acd0-bootd-m512-enable-audio-localtime
-hda是指定硬盘
-cdrom指定使用光驱,这个参数后面必须要跟个文件名,可以是物理光驱/dev/hda,可以使用ISO文件,为文件的路径
-m是指定虚拟机使用的内存大小,如512M
-boot指定虚拟机启动用的设备,-boot后可以选择的参数是a,c,d.其中a是指从软盘启动,c就是用硬盘启动,d当然就是光驱启动了。
-enable-audio
-localtime使用实际主板bios上的时间。
应该可以顺利的进入虚拟机了,并开始安装了。
安装过程中,要求换盘:在QEMU中按ctrl alt 2切换到QEMUmonitor模式输入?或help可以查看可用命令及使用说明。(在其他版本的QEMU中,运行QEMU加载OS后,这个shell就会自动变成QEMUmonitor模式)
changedevicefilename—changearemovablemedia
如changecdrom/tmp/xp1.iso
常用的快捷键:
ctrl alt F全屏切换
ctrl alt鼠标在虚拟机和主机间切换
虚拟机上网设置两种方式:
1.usermodenetwork:
这种方式实现虚拟机上网很简单,类似vmware里的nat,QEMU启动时加入-user-net参数,虚拟机里使用dhcp方式,即可与互联网通信,但是这种方式虚拟机与主机的通信不方便。
2.tap/tunnetwork:
这种方式要比usermode复杂一些,但是设置好后虚拟机互联网虚拟机主机通信都很容易
这种方式设置上类似vmware的host-only,QEMU使用tun/tap设备在主机上增加一块虚拟网络设备(tun0),然后就可以象真实网卡一样配置它.
dora 5 下的qemu安装使用qemu是最近出现的一种新的虚拟机,本身小巧的系 统和linux的加速器,使它一经面世就受到了热烈的欢迎,国内也有不少用户,但没有一篇完整的文章介 绍,使许多人走了不少弯路,其实,安装是比较简单的,较为复杂的部分是在网络部分,下面,就以 Fedora 5加kernel 2.6.17.4做为主机详细介绍qemu的安装和使用
一.安装
下载
qemu最新版是0.81,同时下载加速器kmenu,最新版是1.3
http://fabrice.bellard.free.fr/qemu/download.html
先安装Kqemu
$ tar zxvf kqemu-1.3.0pre9.tar.gz
$ cd kqemu-1.3.0pre9
$ su root
# ./configure
# make
# make install
然后安装qemu
# tar zxvf qemu-0.8.1.tar.gz
# cd qemu-0.8.1
#./configure --prefix=/usr/local --enable-kqemu --enable-user --enable-alsa --disable-gcc-check
说明:
--enable-user 可以允许系统下的所有用户使用Qemu
--enable-alas 可以允许系统共享系统的声音系统
--disable-gcc-check 因为wqemu默认是使用gcc3.2,我的系统gcc已经升级到了4.1,所有禁止了qemu对gcc的检查
#make
#make install
经过以上的操作,加速器和qemu都已经安装完成了。
二.创建新的img
用户可以将img文件创建到任意位置,只要有足够的空间就行。
# mkdir win2kp
# cd win2k
# qemu-img create win2k.img 2G
Formating 'win2k.img', fmt=raw, size=2097152 kB
2G是指定虚拟机的硬盘大小的
三.网络的设置
国 内的很多人都讲加参数就如何可以使用网络,但实际远没那么简单,我就是一开始看了网络上某人的贴子,结果是反反复复,网络一直不能正常工作,后来从 qemu的网站上下了所有的doc才搞定(比如有人发的贴都是使用-user-net就可以上网了,不但把语法写错了,而且只有这个参数根本就上不了 网!),在此我只说最复杂的部分,就是主机<->虚拟机<->internet全通的模式。
这种方式是使用tun/tap模式,必须崾内核的支持,主机上会增加一块虚拟网络设备(tun0),然后就可以象真实网卡一样配置它.
首先查看你的内核是否支持tun设备:
#ls -l /lib/moles/2.6.17.4/kernel/drivers/net/tun.ko
如果存在,则执行下面的命令,否则重新编译模块。
#modprobe tun
这时检查moles:
#lsmod |grep tun
tun 10240 1
tun 加载成功以后,要手工编辑一个shell.而且必须放在/etc下,文件名必须是qemu-ifup.最后要记得给脚本加上执行权限,如果要允许系 统下的所有用户使用,还必须更改脚本的权限,并在脚本中的命令前加上sudo,下面是是个完整的,给所有用户使用的脚本。
#vi /etc/qemu-ifup :
#!/bin/sh
sudo /sbin/ifconfig $1 192.168.10.1
sudo route add -host 192.168.10.100 dev $1
sudo echo 1 > /proc/sys/net/ipv4/ip_forward
sudo iptables -t nat -A POSTROUTING -o eth0 -s 192.168.0.0/24 -j MASQUERADE
#chmod a+x /etc/qemu-ifup
四.安装虚拟系统
虚拟机的启动有很多选项,下面我就以我安装好的win2k来说明
如果要使用shm,必须进行以下的操作
# umount /dev/shm
# mount -t tmpfs -o size=528m none /dev/shm
别忘了启动加速器
#modprobe kqemu
shm的容量必须比你将要分配给虚拟机的内存大16m,否则无法使用,上面是准备给虚拟机512m的内存,所以,shm被设置成了528,如果你只给虚拟机256m的内存,上面的size应该是272.
好了,下面准备开始给上面创建的win2k.img装入系统
# qemu -hda /usr/local/win2k/win2k.img -cdrom /dev/hdc -boot d -m 512 -win2k-hack
对于win2k的安装必须指定-win2k-hack参数,否则安装会中途出错退出,这个参数只需要在安装的时候使用,在运行的时候是不需要的。
-hda是指定将要使用的image文件,也就是windows的C盘
-cdrom 是准备给cdrom的驱动器,也就是windows的D盘,有人说这个参数是-cdrom /dev/cdrom,是指定你的主机的cdrom的位置,这是一个天大的错误,这里指的是启动后的虚拟机,和主机的cdrom在哪里没关系,当然,你的 系统必须有cdrom,如果没有cdrom,我想在linux下虚拟mount一个还是很容易的。
-boot d ,就是指定系统从D启动,各上面一项相关的
-m 512,指定分配组虚拟机的内存
如果一切顺利,安装完成以后,你就可以启动系统了
五.启动虚拟机
首先,按前面的介绍,加载好加速器和tun的模块,如果前面已经加载了,这里就不再需要了,只在主机重启了以后需要,如果经常使用虚拟机,也可以将它们直接添加进/etc/rc.d/rc.local让系统自动加载。
#modprobe kqemu
#modprobe tun
#qemu -hda /usr/local/win2k/win2k.img -cdrom /dev/hdc -hdb fat:/home/seabird/work -m 512 -localtime -net nic -net tun
参数:
-hdb fat:/home/seabird/work
这是一个非常有用的参数,它的意思是把主机的/home/seabird/work目录直接以fat的格式加载到虚拟机,当然,它是只读的
-localtime,指定虚拟机使用当前的系统时间
-net nic -net tun
这两个参数必须同时使用,否则,你还是上不了网,它的意思是启动虚拟机的网卡同时和主机以及internet通讯,只有这个参数加载的时候,系统才会去读取/etc/qemu-ifup文件,其它的模式是不会读取这个文件的。
启 动完成以后,将win2k的网卡地址指定为192.168.10.100,网关设为1921.68.10.1还记得/etc/qemu- ifup文件吗,这个文件中的地址和你的虚拟机的地址是相关的,并不像有些人说的你可以像主机一样随便指定地址去上网,它是把主机作为一个NAT设备来使 用的。当然,你别忘记指定一个虚拟机可以到达的DNS服务器
六.后记
1.指定虚拟机的网络地址的时候。千万别指一个和你的主机相同网段的,那样,你是不可能上网的。
2.可以去安装98,但到目前的最新版为止,winxp在大多情况下安装是不成功的,这个在qemu的网站上说的很清楚,只有等以后的版本了,所以,你看到的安装winxp的贴子是没有实践的,我在三台配置不同的机器上安装都以失败告终了。
3.win2k运行的时候,如果用它自己的关机是关不掉虚拟机的,原因是不支持电源管理, 教你一个方法,使用win2k的安装/卸载硬件,一步步往下走, 在windows搜索完硬件后出现的对话窗中选择添加新硬件(白痴的windows,我竟然不能让它跳过搜索), ->下一步,选择“否,我想从列表选择硬件”->下一步->NT Apm/legacy支持->下一步,安装完成后你就可以正常关机了。
4.qemu还有一个最大的优点是可以启动你的硬盘上的双系统,如果现在就是双系统,你可以像下面一样直接启动:
#qemu -hda /dev/hda1 -m 512 -net nic -net tun
/hda1是你的另一个系统的硬盘分区,如果你是grub启动,这里就是你的grub所在的位置,等grub菜单出现后,选择想启动的系统就可以了(天啊,别选你现在正在运行的系统啊). Linux联盟收集整理
Ⅷ 请教如何编译SDL和qemu
在试用VirtualBox后我就扔掉qemu和bochs了
Ⅸ qemu怎么把针对powerpc板的u-boot跑起来
使用Qemu模拟Cortex-A9运行U-boot和Linux 作者来源于网络
我的开发环境: Ubuntu-12.04 所有软件包为最新
1. 安装GNU工具链
sudo apt-get insatll gcc-arm-linux-gnueabi
sudo apt-get insatll g++-arm-linux-gnueabi
安装完成后会在 /usr/arm-linux-gnueabi/ 目录下生成库文件、头文件等。 我安装的GCC版本为:
arm-linux-gnueabi-gcc (Ubuntu/Linaro 4.6.3-1ubuntu5) 4.6.3
Copyright (C) 2011 Free Software Foundation, Inc.
2. 安装Qemu模拟器
sudo apt-get install qemu qemu-system qemu-utils
这时应该已经可以运行qemu-system-arm命令了, 其版本为:
qemu-system-arm --version
QEMU emulator version 1.0.50 (Debian 1.0.50-2012.03-0ubuntu2), Copyright (c) 2003-2008 Fabrice Bellard
3. 编译和运行U-boot:
到 ftp://ftp.denx.de/pub/u-boot/ 下载最新版本的U-Boot源代码, 我用的目前最新版本 u-boot-2012.04.tar.bz2
解压后进入源代码目录,在Makefile里面增加两行:
ARCH ?= arm
CROSS_COMPILE ?= arm-linux-gnueabi-
其实就是告诉它使用ARM编译器来编译。
make ca9x4_ct_vxp_config
make
这里配置目标板为 Cortex-A9x4 vexpress. 之所以选这个配置可以从 boards.cfg文件里看到, vexpress是ARM公司使用Cortext-A9的一个开发板,相关的代码在 board/armltd/vexpress/ 目录,配置文件为include/configs/ca9x4_ct_vxp.h。 而且关键的是Qemu里面已经支持这个板卡。
编译完成后会生成u-boot文件
运行:
qemu-system-arm -M vexpress-a9 -m 256M -nographic -kernel u-boot
或者
qemu-system-arm -M vexpress-a9 -m 256M -serial stdio -kernel u-boot
发现,如果没有指定-nographics, 则必须要加-serial stdio才会有打印。
参数-m 256M为指定内存大小。-M 指定板卡的名称, 支持的板卡可以用-M ?查看, 如下:
#qemu-system-arm -M ?
Supported machines are:
beagle Beagle board (OMAP3530)
beaglexm Beagle board XM (OMAP3630)
............
versatilepb ARM Versatile/PB (ARM926EJ-S)
versatileab ARM Versatile/AB (ARM926EJ-S)
vexpress-a9 ARM Versatile Express for Cortex-A9
vexpress-a15 ARM Versatile Express for Cortex-A15
正常运行的结果:
qemu-system-arm -M vexpress-a9 -m 256M -nographic -kernel u-boot
U-Boot 2012.04 (Jul 08 2012 - 00:14:08)
DRAM: 256 MiB
WARNING: Caches not enabled
Flash: ## Unknown flash on Bank 1 - Size = 0x00000000 = 0 MB
## Unknown flash on Bank 2 - Size = 0x00000000 = 0 MB
*** failed ***
MMC: MMC: 0
*** Warning - bad CRC, using default environment
In: serial
Out: serial
Err: serial
Net: smc911x-0
Hit any key to stop autoboot: 0
VExpress#
VExpress# printenv
baudrate=38400
bootcmd=run bootflash;
bootdelay=2
bootflash=run flashargs; cp ${ramdisk_addr} ${ramdisk_addr_r} ${maxramdisk}; bootm ${kernel_addr} ${ramdisk_addr_r}
console=ttyAMA0,38400n8
。。。。。
注意:如果在检测Flash failed后停止运行,是因为在 arch/arm/lib/board.c里面 board_init_r()函数里检测Flash失败后调用了hang(), 暂时先把hang()去掉就可以运行下去了。
4. 编译和运行Linux内核:
到http://www.kernel.org/下载最新的Linux内核源码,我下载的是linux-3.4.4.tar.bz2. 解压后修改Makefile, ARCH = arm, CROSS_COMPILE=arm-linux-gnueabi-
make vexpress_defconfig
(可以到 arch/arm/configs/ 目录看到所有自带的配置文件, 我们使用vexpress板卡默认的配置文件)
然后 make menuconfig --> System Type 把 Enable the L2x0 outer cache controller 取消, 否则Qemu会起不来, 暂时还不知道为什么。
然后就可以make了。 最后会生成 arch/arm/boot/zImage 文件, 这就是我们需要的内核映像。
5. 制作根文件系统:
这部分网上有非常多的介绍,就不细说了。 大概流程是:先创建标准的Linux目录结构, 到http://www.busybox.net/上下载最新的Busybox源代码编译安装到刚才创建的目录,
拷贝ARM的库文件到相应目录,在etc/目录创建若干必须的启动脚本和配置文件。 下面说一下怎么生成一个ext3格式的文件系统映像:
dd if=/dev/zero of=a9rootfs.ext3 bs=1M count=32 //创建一个32M的空文件
mkfs.ext3 a9rootfs.ext3 //格式化为EXT3
sudo mount -t ext3 a9rootfs.ext3 a9rootdir/ -o loop //挂载到a9rootdir目录
cp path/to/your/rootfs/* a9rootdir/ -Rf //拷贝文件到该目录,相对于放到a9rootfs.ext3里面
sudo umount a9rootdir/
至此a9rootfs.ex3 就包含了我们创建的根文件系统内容, 并且是ext3格式。
6. 使用Qemu运行Linux:
qemu-system-arm -kernel zImage -serial stdio -M vexpress-a9 -append "root=/dev/mmcblk0 console=ttyAMA0 console=tty0" -sd a9rootfs.ext3
Qemu可以模拟SD卡, 我们把a9rootfs.ext3作为一个SD设备,对应的设备文件即为 /dev/mmcblk0, 以它作为根文件系统启动。 ttyAMA0: Serial console; tty0: Framebuffer Console. 最后放一张启动后的图片:
阅读(2682) | 评论(0) | 转发(0) |
0
上一篇:kernel 启动过程之五, initcall 的来由, console 的初始化
下一篇:linux下jlink安装
相关热门文章
A sample .exrc file for vi e...
游标的特征
IBM System p5 服务器 HACMP ...
busybox的httpd使用CGI脚本(Bu...
Solaris PowerTOP 1.0 发布
linux dhcp pei roc
关于Unix文件的软链接
求教这个命令什么意思,我是新...
sed -e "/grep/d" 是什么意思...
谁能够帮我解决LINUX 2.6 10...