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

qemu安装gentoo

阅读更多
nat参考官方
http://wiki.qemu.org/Documentation/Networking/NAT#Overview



vnc如果闪退
VNC是个不错的工具,今天掏出VNC Viewer来连接一台N久没登陆的服务器看看,输入密码连上后直接闪退,可能是ColourLevel的问题。

依次点Option-->Advanced-->Expert找到ColourLevel,默认值是pal8,修改为rgb222或full。




centos7带qemu
centos6.5没有
需要
yum install autoconf automake libtool glib2-devel bison bison-devel flex flex-devel
yum install bridge-utils iptables dnsmasq
yum install vnc tigervnc-server
gentoo的下载地址
wget http://mirrors.163.com/gentoo/releases/amd64/20140826/livedvd-amd64-multilib-20140826.iso


gentoo的安装能学到很多东西,
原理是,先启动iso启动盘,
把stage3 作为文件系统,port包解压到/usr
然后chroot,重新配置网络等,编译内核,重启用非iso模式启动

qemu可以使用-kernel和-initrd及-append方式,需要把kerneldisk和romdisk考出来
如果正确安装了grup,也可以不指定这两个参数直接指定img文件
具体如下:
vmware参考

http://blog.csdn.net/mikayong/article/details/6446244

qemu安装如下:
创建磁盘

  
qemu-img create -f qcow2 gentoo.img 6G 
启动qemu ,以cdrom的方式启动,用tap的模式启动网络

view plaincopy to clipboardprint?
  
[root@mytest bin]# cat /etc/qemu-ifup 
#!/bin/sh 
/sbin/ifconfig $1 192.168.0.11 
 
[root@mytest bin]# ifconfig  
tap0      Link encap:Ethernet  HWaddr CA:D1:45:E0:92:7F   
          inet addr:192.168.0.11  Bcast:192.168.0.255  Mask:255.255.255.0  
          inet6 addr: fe80::c8d1:45ff:fee0:927f/64 Scope:Link  
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1  
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0  
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0  
          collisions:0 txqueuelen:500  
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)  

这样主机这样设置后才可以上网

  
echo 1 > /proc/sys/net/ipv4/ip_forward  
/etc/sysconfig/network脚本中添加 FORWARD_IPV4="YES"   
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  
cat /etc/resolv.conf  

启动qemu

chmod 744 /etc/qemu-ifup
yum install bridge-utils
qemu-system-i386 -hda gentoo.img -boot order=d -cdrom install-x86-minimal-20140415.iso -m 512 -net nic,model=virtio,macaddr=00:16:3e:22:22:22 -net tap -vnc 10.217.12.200:1 &  
vncviewer

10.217.12.200:1

快速进入后在boot的时候回车哦,要不启动不起来
进入虚拟机设置ip
ifconfig 不管是

view plaincopy to clipboardprint?
   
ifconfig eth0 192.168.0.110 netmask 255.255.255.0    
route add default gw 192.168.0.11   
cat /etc/resolv.conf
nameserver 8.8.8.8

ping www.163.com  

 
 
设置密码,启动ssh 
passwd root 
/etc/init.d/sshd start 
 
现在可以通过ssh登录了 
ssh root@192.168.0.110 
进入虚拟机后,磁盘操作

view plaincopy to clipboardprint?
  
livecd ~ # fdisk -l  
Disk /dev/sda: 6442 MB, 6442450944 bytes, 12582912 sectors  
Units = sectors of 1 * 512 = 512 bytes  
Sector size (logical/physical): 512 bytes / 512 bytes  
I/O size (minimum/optimal): 512 bytes / 512 by  
  
fdisk /dev/sda  
Command (m for help): n  
Partition type:  
   p   primary (0 primary, 0 extended, 4 free)  
   e   extended  
Select (default p): p  
Partition number (1-4, default 1): 1  
First sector (2048-12582911, default 2048):  
Using default value 2048  
Last sector, +sectors or +size{K,M,G} (2048-12582911, default 12582911):  
Using default value 12582911  
Partition 1 of type Linux and of size 6 GiB is set  
  
Command (m for help): w  
The partition table has been altered!  
  
Calling ioctl() to re-read partition table.  
Syncing disks.  

再fdisk -l 出现了 /dev/sda1

  
mke2fs -j /dev/sda1  
mount /dev/sda1 /mnt/gentoo  
df -lhT  
cd /mnt/gentoo

切换回主机:

scp stage3-i686-20140415.tar.bz2 portage-20140509.tar.bz2 root@192.168.0.110:/mnt/gentoo

从官网下载的两个文件系统和包scp到gentoo系统
切换回gentoo:

view plaincopy to clipboardprint?
  
tar xvf stage3-i686-20140415.tar.bz2  
tar xvf  portage-20140509.tar.bz2 -C /mnt/gentoo/usr  
  
rm stage3-i686-20140415.tar.bz2  portage-20140509.tar.bz2  
  
vi /mnt/gentoo/etc/portage/make.conf  
CFLAGS="-O2 -march=i686 -pipe"                                             
CXXFLAGS="${CFLAGS}"                                                     
CHOST="i686-pc-linux-gnu"                                                
GENTOO_MIRRORS="http://mirrors.163.com/gentoo/"  
SYNC="rsync://mirrors.163.com/gentoo-portage"    
MAKEOPT="-j2"                                    
USE="bindist"                                                                    
PORTDIR="/usr/portage"                                                           
DISTDIR="${PORTDIR}/distfiles"                   
PKGDIR="${PORTDIR}/packages"                                                     
~                             
  
cat /etc/conf.d/net  
config_eth0=( "dhcp" )  
 
 

163的有的时候可能不好使
livecd gentoo # cat /mnt/gentoo/etc/portage/make.conf     
# These settings were set by the catalyst build script that automatically
# built this stage.
# Please consult /usr/share/portage/config/make.conf.example for a more
# detailed example.
CFLAGS="-O2 -march=i686 -pipe"
CXXFLAGS="${CFLAGS}"
# WARNING: Changing your CHOST is not something that should be done lightly.
# Please consult http://www.gentoo.org/doc/en/change-chost.xml before changing.
CHOST="i686-pc-linux-gnu"
#GENTOO_MIRRORS="http://mirrors.163.com/gentoo/"    
#SYNC="rsync://mirrors.163.com/gentoo-portage"      
GENTOO_MIRRORS="ftp://linux.ntcu.net/dists/gentoo/ http://www.zentek-international.com/mirrors/gentoo/ http://gentoo.ccccom.com http://mirror.tucdemonic.org/gentoo/ http://gentoo.math.bme.hu http://gentoo.inode.at/ http://gentoo.mirrors.pair.com/" 
SYNC="rsync://rsync.asia.gentoo.org/gentoo-portage" 
#SYNC="rsync://rsync.gentoo.org/gentoo-portage"
#SYNC="rsync://rsync.gentoo.org/gentoo-portage"
MAKEOPT="-j2"
# These are the USE flags that were used in addition to what is provided by the
# profile used for building.
USE="bindist"
PORTDIR="/usr/portage"
DISTDIR="${PORTDIR}/distfiles"
PKGDIR="${PORTDIR}/packages"
livecd gentoo # 


chroot:
网络的dns 
比如 
vi /mnt/gentoo/etc/resolv.conf
nameserver 8.8.8.8 
挂载进程系统
mount -t proc none /mnt/gentoo/proc
mount --rbind /dev /mnt/gentoo/dev
chroot /mnt/gentoo /bin/bash
env-update
source /etc/profile
export PS1="(chroot)$PS1"
passwd
passwd root
emerge --sync --quiet
eselect news read all
eselect profile list


如果需要修改,默认不需要修改
eselect profile set 2
emerge vim
vim /etc/locale.gen
把en_US.UTF-8打开
locale-gen
设置时区
cp /mnt/gentoo/usr/share/zoneinfo/Asia/Shanghai /mnt/gentoo/etc/localtime

编译内核

  
emerge gentoo-sources 
emerge genkernel 
genkernel all 
编译grub

  
emerge grub 
grub2-install --no-floppy /dev/sda 
grub2-mkconfig -o /boot/grub/grub.cfg 
网络
重启用非iso模式进入后

  
modprobe pcnet32  
touch  /etc/udev/rules.d/80-net-name-slot.rules  
ln -s /etc/init.d/net.lo /etc/init.d/net.eth0  
/etc/init.d/net.eth0 restart  
  
/etc/init.d/sshd start  

/etc/resolv.conf  如果用dhcp就不用配置 
网络配置参考

http://blog.csdn.net/leeagle/article/details/6875825

http://hi.baidu.com/ygmpkk2/item/8cbaf9112c7d490db88a1a59

http://tieba.baidu.com/p/2477683069

网络相关的补充

genkernel all
之后在/boot下面多了三个文件,两个文件最重要
kernel-genkernel-x86-3.12.13-gentoo

initramfs-genkernel-x86-3.12.13-gentoo
可以把这两个文件考出来,用qemu -kernel -initrd的方式启动
例如

kenerl方式和硬盘方式

view plaincopy to clipboardprint?
  
qemu-system-i386 -kernel kernel-genkernel-x86-3.12.13-gentoo -initrd initramfs-genkernel-x86-3.12.13-gentoo -hda gentoo.img -boot order=c -m 512 -append "root=/dev/sda1 panic=1 net.ifnames=0" -net nic,model=virtio,macaddr=00:16:3e:22:22:22 -net tap -vnc 106.187.44.20:2 &  

-append是kernel的选项,配合-kernel使用 ,具体参考grub的配置思考
root=/dev/sda1是系统的目录,
比较livecd和硬盘版,
livecd的boot是启动分区,前面有*,硬盘版没这么配置,所以需要加这个参数,否则不好使
看http://wenku.baidu.com/link?url=lWJ-4Oan9LhNLI3YFw14aA42CQG2HrDdRMkU6v57xrURk3lYjKhyDfle92zhcX6lahhTc6omhY2ojIOMDg6-MT4YA16k6yxWlZRsJ19ukIC
这个受到的启发

或者设置完grub之后

  
qemu-system-i386 -hda gentoo.img -boot order=c -m 512 -net nic,model=pcnet,macaddr=00:16:3e:22:22:22 -net tap -vnc 106.187.44.20:2 &  
注意-net nic,modle= 后面有几种方式有的gentoo的硬盘版可能没装全,这里是virtio和pcnet


网络排查网卡驱动问题:

在livecd下启动
网络连接,
查看网卡驱动

lspci
看到
用的网卡virtio
lsmod|grep virtio
有三个virtio_net virtio_pci virtio_ring等
但是在gentoo安装完的就没有,
eselect news read all
后说config_net没有配置神马的

在服务器上

  
qemu-system-i386 -net nic,model=? 
查看支持的网卡类型
看到pcnet

启动的时候改成

  
qemu-system-i386 -hda gentoo.img -boot order=c -m 512 -net nic,model=pcnet,macaddr=00:16:3e:22:22:22 -net tap -vnc 106.187.44.20:2 &
 
所以进入硬盘版本 网络用pcnet32 模块
进入server

  
lsmod|grep pcnet 
如果没有就 
modeprobe pcnet32 
 
ln -s /etc/init.d/net.lo /etc/init.d/net.enp0s3 
./net.enp0s3 start 
ifconfig等参考上面 
有时候连接成net.eth0不好使
即使touch /lib/udev/...80什么什么的也不好使,就用这个吧

设置开机启动后就设置好ip和ssh
在这里添加脚本

ip_ssh.sh

view plaincopy to clipboardprint?
cat /etc/local.d<br>  
#!/bin/sh<br>  
/bin/ifconfig 192.168.0.110 netmask 255.255.255.0<br>  
/bin/route add default gw 192.168.0.11<br>  
/usr/sbin/sshd start<p></p>  
<pre name="code" class="c++"><p>附录:<br>  
关于linux的引导,参考</p>  
<p>http://www.ibm.com/developerworks/cn/linux/l-linuxboot/</p>  
<p>http://www.geekfan.net/8663/</p>  
<p><img src="http://www.tuidaoba.com/wp-content/uploads/2014/05/boot.gif" alt="boot"></p>  
          
        </pre>  
分享到:
评论

相关推荐

    win10系统下利用QEMU安装ARM架构的银河麒麟桌面操作系统V10

    win10系统下利用QEMU安装ARM架构的银河麒麟桌面操作系统V10 双击qemu-w64-setup-20210505.exe,指定安装目录,例:D:\qemu 安装好后,利用如下步骤qemu创建一个虚拟硬盘文件: 在D:\qemu文件夹下,打开cmd命令行 在...

    QEMU for windows+安装说明

    在本文中,我们将详细介绍如何在Windows环境下安装和使用QEMU。 首先,QEMU 3.0版本被许多用户认为相比5.0版本更加稳定且易用,可能是因为其界面和功能设计更为成熟。尽管新版本通常会带来更多的特性与改进,但选择...

    qemu安装手册

    "qemu安装手册" QEMU 是一个开源的机器模拟器,能够模拟各种架构的处理器和系统。QEMU 提供了非常强大的虚拟化功能,可以用来调试操作系统和应用程序。本文档将详细介绍 QEMU 的安装和使用,特别是对 Linux 内核的...

    Qemu安装使用手册中文版

    ### QEMU安装与使用详解 #### 一、引言 QEMU是一款开源的指令级虚拟化软件,能够模拟多种处理器架构及操作系统环境,为开发者提供了一个灵活且强大的虚拟化平台。本文将详细介绍QEMU的安装步骤、基本使用方法以及...

    Qemu虚拟机安装教程

    Qemu虚拟机安装 我们先装Qemu虚拟机吧..先安装这个软件QemuInstall-0.7.2安装.我这里安装完了.就不安了! 具体步骤自己看喽. 装QEMU虚拟机的时候可卡.QEMU虚拟机是命令试的.具体命令你自己看我设置吧. 按我的设置...

    Qemu模拟器运行AIX 7.2 系统.docx

    2. **启动QEMU虚拟机**:使用QEMU模拟PowerPC架构,并加载AIX ISO文件作为安装介质。 ```bash qemu-system-ppc64 -cpu POWER8 -machine pseries -m 4096 -serial stdio \ -drive file=hdisk0.qcow2,if=none,id=...

    QEMU在Windows上模拟ARM硬件平台并安装国产操作系统麒麟高级服务器版V10(基于OpenEuler)

    1. 安装QEMU:运行`qemu-w64-setup-20230822.exe`,按照向导指示完成QEMU的安装。 2. 安装TAP-Windows驱动:运行`tap-windows-9.24.7-I601-Win10.exe`,确保QEMU能通过虚拟网卡连接到主机网络。 3. 创建虚拟磁盘:...

    linux qemu离线安装包

    5. **验证安装**:安装完成后,你可以通过运行`qemu-system-x86_64`(对于x86_64系统)或`qemu-system-arm`(对于ARM系统)来验证QEMU是否已成功安装。如果一切正常,你应该能看到QEMU的命令行界面。 6. **配置和...

    ubuntu 23.04 QEMU图形化安装配置网卡桥接

    Ubuntu 23.04 QEMU 图形化安装配置网卡桥接 本文档将指导您如何在 Ubuntu 23.04 中使用 QEMU 图形化安装配置网卡桥接。网卡桥接是指将物理网卡和虚拟网卡连接起来,以便虚拟机能够访问外部网络。本文档将详细讲解...

    qemu安装arm操作系统资源

    网卡文件:tap-windows-9.21.2 qemu.exe:qemu安装包 qemu安装依赖:QEMU_EFI.fd

    X86架构windows安装AIX7安装oracle

    x86也能玩AIX7!7.1,7.2都可以安装!

    qemu安装时必须的glib库

    在安装qemu的时候,在你安装了zlib之后,系统可能会提示你缺少glib-2.0,那么把这个软件包下载了吧!

    Qemu Manager v7.0 (April 2010) with Qemu 0.11.1 and KQEMU Support

    Qemu Manager v7.0 (April 2010) with Qemu 0.11.1 and KQEMU Support ------ windows下的qemu模拟器 QEMU是一套由Fabrice Bellard所编写的模拟处理器的自由软件。它与Bochs,PearPC近似,但其具有某些后两者所不...

    Qemu专用Qemu-Guest-Agnet整理包

    Windows整理后的qga包,包含amd64和qemu-ga两个文件。 amd64:首先安装证书,管理员运行cmd,命令:pnputil -I -a vioser.inf qemu-ga:将qemu-ga目录放到C:\\Program Files下,管理员运行cmd,命令:qemu-ga -s ...

    kvm和qemu基于OVS网桥的安装和使用

    【KVM和QEMU基于OVS网桥的安装与使用详解】 KVM(Kernel-based Virtual Machine)是Linux内核中的一个模块,它允许Linux系统直接运行虚拟机,从而实现高性能的虚拟化。QEMU(Quick Emulator)则是一个通用的机器...

    Qemu使用手册中文版

    在Linux环境下,QEMU通常可以通过包管理器进行安装,如在Ubuntu或Debian上使用`sudo apt-get install qemu`,在CentOS或Fedora上使用`sudo yum install qemu`或`sudo dnf install qemu`。确保同时安装相应的库和依赖...

    CentOS7 上安装KVM(QEMU).docx

    CentOS7 上安装 KVM(QEMU) 在本文中,我们将详细介绍如何在 CentOS7 上安装 KVM(Kernel-based Virtual Machine),并使用 KVM 可视化地创建虚拟机。 一、KVM 概述 KVM 是一种基于内核的虚拟机hypervisor,能够...

    seabios,用于解决qemu-1.3.0蓝屏

    Qemu安装Winxp时可能会遇到如标题所示蓝屏错误。 原因是Qemu中的seabios映像出现bit错误。 下载此替换原有bios。原有bios是【Qemu安装到的文件夹】\share\bios.bin

    qemu-5.0.0.tar.xz

    qemu5.0版本源码,开源,开源作虚拟机或者仿真开发板。 QEMU 5.0 Supports Recent Armv8.x Features, Cortex-M7 CPU, Host Directory Access, and More

Global site tag (gtag.js) - Google Analytics