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 <brinew...@gmail.com> 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 <amit.s...@redhat.com> 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 <amit.s...@redhat.com> 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 . _____________________________________________