[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] Re: hi, may I ask some help on the paravirtualization of KV
From: |
Liang YANG |
Subject: |
[Qemu-devel] Re: hi, may I ask some help on the paravirtualization of KVM? |
Date: |
Wed, 24 Mar 2010 11:35:09 +0800 |
Maybe I solove the problem.
I use the qemu-img make a new GustOS img. And install the debian5 on
the image file with option -net nic, model=virtio.
./x86_64-softmmu/qemu-system-x86_64 -hda debian.img -cdrom debian.iso
-net nic, model=virtio
Then I update the kernel image file with virtio, virtio_pci,
virtio_ring, virtio_blk, virtio_net modules added to file
/etc/initram-tools/modules.
Last, start the image Guest use qemu-system-x86_64 -net nic,
model=virtio. This time I can see virtio_net module in GuestOS, but it
doesn't work. The qemu didn't emulate the virtio net device. So I
update the code located in pc_init1(), where the net model is set.
After this time update, I can start the kvm-paravirtualization
successfully.
Thanks for your help.
On Tue, Mar 23, 2010 at 10:09 PM, Liang YANG <address@hidden> wrote:
> I use the qemu-kvm-0.12-3 version source file. Just follow the typical
> three steps: ./configure && make && make install.
>
> After I configure, following is output:
>
> Install prefix /usr/local
> BIOS directory /usr/local/share/qemu
> binary directory /usr/local/bin
> Manual directory /usr/local/share/man
> ELF interp prefix /usr/gnemul/qemu-%M
> Source path /root/svt/qemu-kvm-0.12.3
> C compiler gcc
> Host C compiler gcc
> CFLAGS -O2 -g
> QEMU_CFLAGS -m32 -Wold-style-definition -Wold-style-declaration
> -I. -I$(SRC_PATH) -U_FORTIFY_SOURCE -D_GNU_SOURCE
> -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes
> -Wredundant-decls -Wall -Wundef -Wendif-labels -Wwrite-strings
> -Wmissing-prototypes -fno-strict-aliasing
> LDFLAGS -Wl,--warn-common -m32 -g
> make make
> install install
> host CPU i386
> host big endian no
> target list x86_64-softmmu
> tcg debug enabled no
> gprof enabled no
> sparse enabled no
> strip binaries yes
> profiler no
> static build no
> -Werror enabled no
> SDL support yes
> curses support yes
> curl support yes
> check support no
> mingw32 support no
> Audio drivers oss
> Extra audio cards ac97 es1370 sb16
> Block whitelist
> Mixer emulation no
> VNC TLS support yes
> VNC SASL support yes
> xen support no
> CPU emulation yes
> brlapi support no
> bluez support no
> Documentation no
> NPTL support yes
> GUEST_BASE yes
> PIE user targets no
> vde support no
> IO thread no
> Linux AIO support no
> Install blobs yes
> KVM support yes
> KVM PIT support yes
> KVM device assig. yes
> KVM trace support no
> fdt support no
> preadv support no
> fdatasync yes
> uuid support yes
>
> All compile procedure seems normal. No warning exists. And I use this
> command to start the GuestOS:
> ./x86_64-softmmu/qemu-system-x86_64 -m 1024 /root/redhat.img -net
> nic, model=virtio -net tap, script=/etc/qemu-ifup
>
> The qemu-ifup script is :
> #!/bin/sh
> #sample /etc/qemu-ifup to have bridged networking between qemu
> instances and your real net
> # You need "youruser ALL=(root) NOPASSWD: /etc/qemu-ifup" in /etc/sudoers
> # You also need enough rights on /dev/tun
> if [ $UID -ne 0 ]
> then
> sudo $0 $1
> exit
> fi
> /sbin/ifconfig $1 promisc 0.0.0.0
> if ! /sbin/ifconfig br0
> then
> /usr/sbin/brctl addbr br0
> /usr/sbin/brctl addif br0 eth0
> /sbin/ifconfig br0 up
> addr=`/sbin/ip addr | grep eth0 | grep inet | sed -e 's/eth0/dev
> br0/' -e s/inet//`
> /sbin/ip addr add $addr
> fi
> /usr/sbin/brctl addif br0 $1
> /usr/sbin/brctl stp br0 off
> /sbin/ip route | grep eth0 | while read route
> do
> newroute=`echo $route | sed s/eth0/br0/ `
> /sbin/ip route del $route
> /sbin/ip route add $newroute
> done
>
>
>
> On Tue, Mar 23, 2010 at 9:59 PM, Amit Shah <address@hidden> wrote:
>> Hello,
>>
>> [any reason you dropped the CC list? CC'ing qemu-devel, where this is
>> relevant.]
>>
>> On (Tue) Mar 23 2010 [21:46:28], Liang YANG wrote:
>>> I check the 'lspci -v' result, only find RTL-8139 realtek ethernet. I
>>> think the option model=virtio does't make effect.
>>
>> Then something is wrong. I get a virtio ethernet device using
>> model=virtio.
>>
>> Which qemu version are you using?
>>
>>> Simultaneously, I have the a look at the code. The function pc_init1()
>>> seem not change the network model as the option assigned.
>>>
>>> Do you ever meet this case?
>>
>> I've not seen this.
>>
>>> On Tue, Mar 23, 2010 at 9:08 PM, Amit Shah <address@hidden> wrote:
>>> > On (Sun) Mar 21 2010 [20:18:53], Liang YANG wrote:
>>> >> I want to set up the virtio-net for the GuestOS on KVM. Following is my
>>> >> steps:
>>> >>
>>> >> 1.Compile the kvm-88 and make, make install.
>>> >> 2.Compile the GuestOS(redhat) with kernel version 2.6.27.45(with
>>> >> virtio support). The required option are all selected.
>>> >> o CONFIG_VIRTIO_PCI=y (Virtualization -> PCI driver for
>>> >> virtio devices)
>>> >> o CONFIG_VIRTIO_BALLOON=y (Virtualization -> Virtio balloon
>>> >> driver)
>>> >> o CONFIG_VIRTIO_BLK=y (Device Drivers -> Block -> Virtio block
>>> >> driver)
>>> >> o CONFIG_VIRTIO_NET=y (Device Drivers -> Network device
>>> >> support -> Virtio network driver)
>>> >> o CONFIG_VIRTIO=y (automatically selected)
>>> >> o CONFIG_VIRTIO_RING=y (automatically selected)
>>> >> 3.Then start up the GuestOS by such command:
>>> >> x86_64-softmmu/qemu-system-x86_64 -m 1024 /root/redhat.img
>>> >> -net nic,model=virtio -net tap,script=/etc/kvm/qemu-ifup
>>> >> 4.Result is this:
>>> >> * The Guest OS start up.
>>> >> * But the network not, no eth-X device found.
>>> >> * lsmod | grep virtio get none module about virtio
>>> >
>>> > Since you selected the virtio options as 'y', they are directly compiled
>>> > into the kernel and hence you won't see the modules.
>>> >
>>> > Check your 'lspci -v' output. You should see the virtio device there.
>>> > You can also try some usual things like 'ifconfig eth0 up', etc., to get
>>> > the interface.
>>> >
>>> > Amit
>>> > --
>>> > http://log.amitshah.net/
>>> >
>>>
>>>
>>>
>>> --
>>> BestRegards.
>>> YangLiang
>>> _____________________________________________
>>> Department of Computer Science .
>>> School of Electronics Engineering & Computer Science .
>>> _____________________________________________
>>
>> Amit
>> --
>> http://log.amitshah.net/
>>
>
>
>
> --
> BestRegards.
> YangLiang
> _____________________________________________
> Department of Computer Science .
> School of Electronics Engineering & Computer Science .
> _____________________________________________
>
--
BestRegards.
YangLiang
_____________________________________________
Department of Computer Science .
School of Electronics Engineering & Computer Science .
_____________________________________________