`
haoningabc
  • 浏览: 1482946 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

qemu的简单使用

阅读更多
概要:
目标,使用redhat6.5作为主机(这个主机也是vmware虚拟出来的),建立一个虚拟机tinycore5.2
并使这个虚拟机能ping通主机能访问的ip

1,所用工具,2,使用,3,网络,其他
以下称我的本机为server,建立的虚拟机为client

具体内容如下:
1.所用工具
在redhat6.5作为qemu的server进行测试,
TinyCore-5.2.iso
vncviever(如果想测试vnc,可以安装vncserver:yum install tigervnc-server )
qemu-2.0.0

2.使用
qemu的使用
dd if=/dev/zero of=tinycore.img bs=1024000k count=1
mkfs.ext2 -i 1024 -F tinycore.img

创建2G的磁盘,格式化成ext2(参考http://wenku.baidu.com/link?url=apsPQa9UHsJI-Lb0Sdh3FZ_Y8tE-HQV0wwl_9l0JIv2lsjz4pNDJssyUodFQDUYvfrm2lQ4E-RypIpqa_hoJww6pygBT9mUo-mIA1Nq75ta)
无网络模式用

  
qemu-system-i386 -m 512 -cdrom TinyCore-5.2.iso -hda tinycore.img -boot d   


qemu-system-i386 -m 512 -cdrom TinyCore-4.3.1.iso -hda tinycore.img -boot d  -vnc 192.168.137.208:1

使用vncviewer
localhost:5900
可以进入虚拟机
但是虚拟机不能访问外网
在虚拟机中fdisk -l 可以看到hda为 tinycore.img 2G
安装到硬盘(忽略)

3.网络
如何让虚拟机于外网链接:
使用tap方式,
先检查内核是否支持(参考http://www.cnblogs.com/huqingyu/archive/2005/04/03/131102.html)

[root@mytest net]# pwd  
/lib/modules/2.6.32-431.11.2.el6.x86_64/kernel/drivers/net  
[root@mytest net]# ls tun.ko   
tun.ko  
[root@mytest net]# depmod  
[root@mytest net]# lsmod |grep tun  
[root@mytest net]# modprobe tun  
[root@mytest net]# lsmod |grep tun  
tun                    17095  0   
ls -l /dev/net/tun  

如果很不幸,你没看到它,就需要自己手动做这些工作了  
[root@mytest net]#mkdir /dev/net 
[root@mytest net]#mknod /dev/net/tun c 10 200 
假设server设置成192.168.0.11

view plaincopy to clipboardprint?
   
vim /etc/qemu-ifup  
#!/bin/sh  
/sbin/ifconfig $1 192.168.0.11   
  
chmod u+x /etc/qemu-ifup  
qemu-system-i386 -m 512 -cdrom TinyCore-5.2.iso -hda tinycore.img -boot d -net nic,model=virtio,macaddr=00:16:3e:22:22:22 -net tap  

启动qemu建立虚拟机 
 
设置网络 
echo 1 > /proc/sys/net/ipv4/ip_forward   
iptables -A FORWARD -s 192.168.0.110/24 -j ACCEPT   
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT     
iptables -t nat -A POSTROUTING -s 192.168.0.110/24 -j SNAT --to 10.217.12.244
  
或者
echo “1″ > /proc/sys/net/ipv4/ip_forward 写入脚本/etc/rc.d/rc.local
或者 在/etc/sysconfig/network脚本中添加 FORWARD_IPV4=”YES”
参考http://blog.sina.com.cn/s/blog_a94d887a01017b01.html
检查网络会看到

  
ifconfig多了一个 
tap0      Link encap:Ethernet  HWaddr 8E:37:C8:DC:1E:AE    
          inet addr:192.168.0.11  Bcast:192.168.0.255  Mask:255.255.255.0  
          inet6 addr: fe80::8c37:c8ff:fedc:1eae/64 Scope:Link  
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1  
          RX packets:207 errors:0 dropped:0 overruns:0 frame:0  
          TX packets:12 errors:0 dropped:0 overruns:0 carrier:0  
          collisions:0 txqueuelen:500   
          RX bytes:66147 (64.5 KiB)  TX bytes:888 (888.0 b)  

表示以tap方式启动net,虚拟机的mac地址为00:16:3e:22:22:22,使用nic模式

假设我要把client的ip设置成192.168.0.110
在client里面设置:

view plaincopy to clipboardprint?
  
ifconfig eth0 192.168.0.110 netmask 255.255.255.0  
这里就可以ping通server了 
route add default gw 192.168.0.11 
这样就可以ping通server能访问的外网的ip了 
关于网络
参考http://hi.baidu.com/wangpeng1314/item/2768da1ea66295fa64eabf7a
网络参考

http://www.ming4.com/news/1176.html

4.其他,如果使用vncserver测试vncviewer

view plaincopy to clipboardprint?
  
vncserver :1                     设置密码  
vim /etc/sysconfig/vncservers  
VNCSERVERS="1:root"  
 service vncserver restart  
netstat -ntlp|grep vnc  

客户端 
vncviever 
10.217.12.244:5901 
 
如果其他机器也要访问qemu开的vnc,需要加 
-vnc 10.217.12.244:1 
比如 
qemu-system-i386 -m 512 -cdrom TinyCore-5.2.iso -hda tinycore.img -boot d -net nic,model=virtio,macaddr=00:16:3e:22:22:22 -net tap -vnc 10.217.12.244:1  

 
其他机器访问vncviewer  
10.217.12.244:1 
windows的vncviewer如果闪退
VNC是个不错的工具,今天掏出VNC Viewer来连接一台N久没登陆的服务器看看,输入密码连上后直接闪退,可能是ColourLevel的问题。
依次点Option–>Advanced–>Expert找到ColourLevel,默认值是pal8,修改为rgb222或full。
重新连接,没有问题了。

注意,-vnc 绑定ip的时候要绑定ifconfig能看得到的ip

如果想不重启修改img的内容
mount -t ext2 -o loop linux-0.2.img temp
进去修改即可

猜测:如果获取的某个img起不来,可以mount进去,尝试修改grup等启动配置
分享到:
评论

相关推荐

    使用QEMU搭建U-boot+linux+NFS开发环境.zip

    5. **配置QEMU**:使用QEMU的命令行工具,指定NFS服务器的IP地址、导出的目录以及U-boot和Linux内核的位置。例如: ``` qemu-system-arm -m 512M -nographic -kernel u-boot.bin -append "root=/dev/nfs ip=dhcp ...

    qemu安装手册

    QEMU 的安装非常简单,只需要从官方网站下载最新的版本,然后按照指令安装即可。对于 Linux 系统,可以使用包管理器来安装 QEMU。 QEMU 的基本概念 QEMU 提供了两个主要的组件:qemu-system-* 和 qemu-img。qemu-...

    QEMU虚拟机网卡及网络配置

    1. **Usermode Stack (用户模式堆栈)**:在QEMU进程中实现了一个简易的协议栈,负责在虚拟机VLAN和外部网络之间转发数据。这种方式类似于NAT,外部网络无法主动访问虚拟机。虚拟机VLAN中的网络接口只能位于10.0.2.0/...

    QEMU使用教程

    值得注意的是,在Windows环境下使用QEMU时,还可以通过特定的命令来使用实体光盘,如`-cdrom`参数后面直接跟上光盘的盘符或路径,这样就可以直接使用物理光盘中的安装文件进行操作系统安装。 总之,QEMU作为一款...

    XP下使用QEMU虚拟机实战

    ### 在Windows XP下使用QEMU虚拟机实战指南 在IT技术快速发展的今天,虚拟化技术已成为软件开发、测试以及IT教育的重要工具。其中,QEMU作为一款开源的虚拟机平台,因其灵活性和广泛的兼容性而备受青睐。本文将详细...

    系统Timer机制,从硬件到操作系统,还有Qemu对timer的模拟

    - ACPI Power Management Timer:ACPI主板上的简单计数器,3.58 MHz,适合在某些情况下替代TSC。 3. Timer in OS 操作系统中的Timer管理硬件Timer并为上层软件提供服务。例如,Linux系统中的hrtimer(High ...

    QEMU安装包.zip

    例如,要启动一个简单的Linux虚拟机,可以使用`qemu-system-x86_64 -hda ubuntu.iso`命令,其中`ubuntu.iso`是Ubuntu的ISO镜像文件。 7. **配置网络**:QEMU支持多种网络模型,如用户模式网络(NAT)、桥接网络等。...

    qemu代码分析.pdf

    QEMU(Quick Emulator)是一个开源的机器模拟器,它通过使用动态二进制翻译技术来提高性能。它支持两种主要的运行模式:全系统模拟和用户态模拟。 1. **全系统模拟**:在此模式下,QEMU不仅模拟目标CPU架构,还能...

    qemu下u-boot+kernel+rootfs完整启动移植手册

    最后,通过 `make` 和 `make install` 来完成安装,并通过运行一个简单的测试程序来验证 QEMU 是否能正常启动。 接下来,我们需要交叉编译工具链,这里使用的是 arm-linux-gcc-4.3.2。解压缩后将其移动到 `/usr/...

    qemu参数说明

    #### 虚拟化与仿真:深入解析qemu的使用与配置 QEMU是一款开源的机器模拟器,它支持多种处理器架构,能够实现操作系统与应用程序的完整虚拟化。通过QEMU,用户可以在不同的硬件环境中运行各种操作系统和程序。本文...

    aqemu:官方AQEMU存储库-使用QEMU作为后端的虚拟机GUI

    **aqemu:官方AQEMU存储库 - 使用QEMU作为后端的虚拟机GUI** aqemu是一款基于Qt C++开发的图形用户界面(GUI)工具,它利用强大的开源虚拟化软件QEMU作为其后端,为用户提供了一种更直观、易用的方式来管理虚拟机。...

    linux下的qemu模块

    6. 测试QEMU:你可以通过运行一个简单的虚拟机,如Linux镜像,来测试QEMU是否成功安装和配置。 五、QEMU的应用场景 QEMU广泛应用于软件开发、测试、云服务提供商以及个人爱好者。开发者可以利用QEMU在不同架构之间...

    易语言源码控制qemu虚拟机.rar

    易语言是中国开发的一款简单易学的编程语言,旨在降低编程技术门槛,而QEMU则是一款开源的全系统虚拟化软件,可以模拟多种计算机硬件,用于运行不同的操作系统。 【描述解析】 描述中的"易语言源码控制qemu虚拟机....

    Qemu-1.0 Windows 编译版本

    Qemu-1.0 Windows编译版本是专为Windows平台设计的,集成了所有必要的依赖库,用户无需额外安装即可直接使用,这大大简化了在Windows系统上搭建虚拟环境的过程。 在Qemu-1.0中,开发者引入了许多新特性和改进,以...

    linux img for qemu

    在使用 QEMU 时,`linux.img` 首先需要挂载到 QEMU 的虚拟硬盘上,通过命令行参数指定。例如,一个基本的启动命令可能是这样的: ```bash qemu-system-x86_64 -hda linux.img -boot c ``` 这里 `-hda` 参数指定了...

    QEMU 0.9.0 README

    - 在QEMU中使用选项时,不再需要使用双破折号“--”,而是改为使用**单破折号“-”**作为所有选项的前缀。这一变化简化了用户输入命令的方式,提高了易用性。 #### 三、安装指南 - 安装过程非常简单: - **解压...

    预装linux系统的QEMU虚拟机

    总结来说,预装Linux系统的QEMU虚拟机提供了一个便捷的学习和开发平台,用户可以在此环境中熟悉Linux操作系统,学习和使用GCC进行编程,通过vi编辑器编辑文本,并熟练掌握各种shell工具。而"LinuxBox"文件则包含了...

    Libvirt Qemu KVM 教程大全

    - **安装 qemu-kvm**:可以通过包管理器安装 qemu-kvm,如使用 apt-get 或 yum。 - **安装 libvirt**:同样,libvirt 也可通过包管理器安装。此外,还需要安装 virt-install 工具,以便更方便地创建和管理虚拟机。 ...

    Qemu启动测试器(QemuBootTester)v2.0.0.2绿色免费版

    这是一款中文免费的QEMU启动测试工具,软件功能强大,操作简单,Qemu Boot Tester支持多种格式,不管是ISO格式的还是FBA格式的img格式的都可以测试是否正常启动。 主要功能: Qemu增强版启动测试器是一款多功能的...

Global site tag (gtag.js) - Google Analytics