28 12
发新话题
打印

[原创] 增加-net udp

增加-net udp

添加了-net udp网络模式,参看了mmm123的pemu源码.所以方法跟pemu的一样
复制内容到剪贴板
代码:
/home/bzzjh/newqemu/bin/qemu -m 256 -hda junos.vmdk -boot c -localtime -net nic,vlan=4,macaddr=00:aa:00:00:02:04,model=i82559er -net udp,vlan=4,sport=10000,dport=10001,daddr=127.0.0.1 -serial telnet::1007,server -kernel-kqemu
将附件中的configure文件覆盖之.将net_udp.c文件添加至qemu-snapshot-2007-09-16_05文件内,覆盖vl.c
记住myios修改的eepro100.c也覆盖进去

然后编译
注意只需要 --target-list=i386-softmmu即可.当然configure时不加也行,但是太费时间了
另外 -net pcap ,-net lcap都没有加进去,因为没有作用
注意下载此qemu:
http://qemu-forum.ipi.fi/qemu-snapshots/qemu-snapshot-2007-09-16_05.tar.bz2

附件

newfile.tar.bz2 (50.25 KB)

2007-9-29 11:42, 下载次数: 318

TOP

发个测试图
QEMU 参数见1楼
.net文件:
复制内容到剪贴板
代码:
autostart = false
workingdir =/home/bzzjh/temp

[localhost]

    [[3640]]
    image = /home/bzzjh/IOS/C3640/c3640-js-mz.124-10.bin
    ram = 128
    idlepc = 0x6041f880
   confreg = 0x2102
   workingdir =/home/bzzjh/temp

[[router R0]]
model=3640
console=1008
slot0 = NM-1FE-TX
fa0/0=NIO_udp:10001:127.0.0.1:10000

附件

Screenshot.png (82.83 KB)

2007-9-29 11:45

Screenshot.png

TOP

好!。不过我不会编译。。。。。。。。。。。。。。。。。。一make就大堆报错。。。(原版的qemu)

TOP

什么错误?

TOP

支持!

TOP

顶啊,楼主和myios,解决一下启动命令中tap卡和olive中网卡顺序不对应的问题嘛。

TOP

能在Windows下面编译了运行吗???怎么遍?装个cygwin再像Linux下面那样做吗?

我现在在VMware里装了ubuntu,再跑qemu。。。。效率太低了。。。又在外边出差,不敢重装系统。。。

之前在论坛里下的那个juniper。exe也用不了,方法应该是对了的(原版的qemu-windows-0.9.0,再把juniper.exe放进去),但一启动就报错,说这个程序即将关闭。不知这个是否和XP的版本有关(我的是XP Pro Eng SP3,kernel32的版本和SP2的不同)

TOP

引用:
原帖由 flickxie 于 2007-10-2 22:13 发表
能在Windows下面编译了运行吗???怎么遍?装个cygwin再像Linux下面那样做吗?

我现在在VMware里装了ubuntu,再跑qemu。。。。效率太低了。。。又在外边出差,不敢重装系统。。。

之前在论坛里下的那个junipe ...
XP-VMWARE-UBUNTEU-QEMU-BSD-OLIVE

仰视一下
Netemu@gmail.com
QQ:247656
Netemu提问技巧
http://netemu.cn/bbs/thread-8031-1-1.html

TOP

回复 7# 的帖子

明天给出windows可执行文件

TOP

关键是ubuntu里面那个kqemu整不起来,速度慢得受不了。。。。在Win下直接qemu速度还不错的。

XP-VMWARE-UBUNTEU-QEMU-BSD-OLIVE  这样整了以后又经常出现microcodeuptime 234.22212>234.22100之类的东西。。。很是郁闷。。

TOP

引用:
原帖由 flickxie 于 2007-10-2 22:28 发表
关键是ubuntu里面那个kqemu整不起来,速度慢得受不了。。。。在Win下直接qemu速度还不错的。
编译kqemu
复制内容到剪贴板
代码:
sudo modprobe kqemu
sudo mknod /dev/kqemu c 250 0
chmod 666 /dev/kqemu
每次重新启动都需要执行上面的命令
当然也可以加如到系统启动脚本里,这样每次开机都自动把kqemu模块加载的内核中去

TOP

在windows下编译和在linux下用的代码相同吗?楼主说的那个版本的snapshot已经下不到了,我用0928的似乎又不行。

$ ./configure --target-list=i386-softmmu
./configure: pkg-config: command not found
BIOS directory    /c/Program Files/Qemu
binary directory  /c/Program Files/Qemu
Source path       /home/flick/qemu
C compiler        gcc
Host C compiler   gcc
make              make
install           install
host CPU          i386
host big endian   no
target list       i386-softmmu
gprof enabled     no
profiler          no
static build      no
SDL support       yes
SDL static link   yes
mingw32 support   yes
Adlib support     no
CoreAudio support no
ALSA support      no
DSound support    no
FMOD support      no
OSS support       no
VNC TLS support   no
kqemu support     yes
Documentation     no


make到后边出现错误:
C:/msys/home/flick/qemu/eepro100.c: In function `nic_load':
C:/msys/home/flick/qemu/eepro100.c:1606: `s' undeclared (first use in this function)
C:/msys/home/flick/qemu/eepro100.c:1606: parse error before ')' token
C:/msys/home/flick/qemu/eepro100.c: In function `nic_save':
C:/msys/home/flick/qemu/eepro100.c:1696: `s' undeclared (first use in this function)
C:/msys/home/flick/qemu/eepro100.c:1696: parse error before ')' token
C:/msys/home/flick/qemu/eepro100.c: In function `nic_init':
C:/msys/home/flick/qemu/eepro100.c:1774: `d' undeclared (first use in this function)
C:/msys/home/flick/qemu/eepro100.c:1775: `s' undeclared (first use in this function)
C:/msys/home/flick/qemu/eepro100.c:1779: parse error before ')' token
C:/msys/home/flick/qemu/eepro100.c:1791: warning: implicit declaration of function `eeprom93xx_new'
C:/msys/home/flick/qemu/hw/usb.h: At top level:
C:/msys/home/flick/qemu/eepro100.c:282: warning: `compute_mcast_idx' defined but not used
make[1]: *** [eepro100.o] Error 1
make[1]: Leaving directory `/home/flick/qemu/i386-softmmu'
make: *** [subdir-i386-softmmu] Error 2

TOP

貌似刚才eepro100.c的地方放错了。。。


gcc  -g -o qemu.exe vl.o osdep.o readline.o monitor.o pci.o console.o loader.o isa_mmio.o cutils.o host-utils.o block.o block-raw.o block-cow.o block-qcow.o aes.o block-vmdk.o block-cloop.o block-dmg.o block-bochs.o block-vpc.o block-vvfat.o block-qcow2.o block-parallels.o irq.o tap-win32.o i2c.o smbus.o scsi-disk.o cdrom.o lsi53c895a.o usb.o usb-hub.o usb-linux.o usb-hid.o usb-ohci.o usb-msd.o usb-wacom.o eeprom93xx.o eepro100.o ne2000.o pcnet.o rtl8139.o ide.o pckbd.o ps2.o vga.o sb16.o es1370.o dma.o audio.o noaudio.o wavaudio.o mixeng.o sdlaudio.o wavcapture.o fdc.o mc146818rtc.o serial.o i8259.o i8254.o pcspk.o pc.o cirrus_vga.o apic.o parallel.o acpi.o piix_pci.o usb-uhci.o smbus_eeprom.o vmmouse.o vmport.o vmware_vga.o gdbstub.o sdl.o x_keymap.o vnc.o d3des.o slirp/cksum.o slirp/if.o slirp/ip_icmp.o slirp/ip_input.o slirp/ip_output.o slirp/slirp.o slirp/mbuf.o slirp/misc.o slirp/sbuf.o slirp/socket.o slirp/tcp_input.o slirp/tcp_output.o slirp/tcp_subr.o slirp/tcp_timer.o slirp/udp.o slirp/bootp.o slirp/debug.o slirp/tftp.o libqemu.a  -lm -lz -lwinmm -lws2_32 -liphlpapi -L/mingw/lib -lmingw32 -lSDLmain -lSDL -mconsole  
slirp/misc.o(.text+0x0): In function `inet_aton':
C:/msys/home/flick/qemu/slirp/misc.c:75: multiple definition of `inet_aton'
vl.o(.text+0):C:/msys/home/flick/qemu/vl.c:217: first defined here
make[1]: *** [qemu.exe] Error 1
make[1]: Leaving directory `/home/flick/qemu/i386-softmmu'
make: *** [subdir-i386-softmmu] Error 2


改放到hw里。。。。然后make的时候出现上面的错误。。。。

TOP

要不楼主把qemu-snapshot-2007-09-16_05.tar.bz2发上来??应该也不太大。网上下不到了。

TOP

一楼发的源码是我上次在我的LINUX机可用的,但是我今天将它移植到windows却发现是有问题的.于是我作了一下修改,编译后测试udp可以工作.文件见附件. 需要将vl.c修改一下(见附件) 另外我还可能继续修改以支持 -net pcap模式,也会尝试把它加入到windows版的pemu中去(windows版的pemu,pcap无法效) 注意可能在运行的时候会出现qemu.exe 错误的提示,然后导致关闭,前天论坛好象有朋友碰到了这个问题.可以把-m 值调整一下,或高或低.
如果你分别在win和linux下都试过,你会发现win下ping延迟比linux下高的多.

附件

vl.c (225.95 KB)

2007-10-3 23:50, 下载次数: 130

newqemu.rar (1.11 MB)

2007-10-3 23:50, 下载次数: 185

TOP

make 通过了。。。最后那个make install到底install到哪里去了?qemu.exe倒是找到了,其他附属的东西呢?我拿来启动还是说遇到错误要关闭。

TOP

如果你用的是MinGW
C:\Program Files\QEMU下

提示错误需要关闭,这个问题比较奇怪.我暂时没找到是什么原因.
你可以修改一下-m 内存的大小来解决.
我已经运行过了.可用..只是偶尔会报错.大至上修改-m就可以了..
不过如果你指的是缺失.dll文件,那就需要拷贝相应dll文件到文件内

TOP

哦!
应该是这个原因
我使用的SDL.dll 是MinGW官方提供.
刚才将qemu提供的SDL.dll覆盖进去,没有再发生报告错误关闭的情况了..

附件

SDL.dll (475.5 KB)

2007-10-4 01:16, 下载次数: 95

TOP

唉。。。用你发的这个还是不行。。。还是一启动就关闭。。。郁闷了。。。。内存改来改去都没用。。。。咋我编出来的这个有5.77M哦。。。

TOP

恩 的确是这样的.
windows下确实不稳定.
我做了个试验,开启动超过2个 也就是3个到4个的网卡.QEMU很容易报错关闭.我不知道是不是跟我笔记本的系统关系
不过LS也碰到这样的情况.并且不紧紧只是我编译的这个版本的问题,我拿官方的qemu测试也会报错关闭(开4个网卡)
今天上午又试了一下, 关闭杀毒软件或者在启动OLIVE的时候不要运行其它的应用程序.不要做以外的其他操作.在启动OLIVE的时候是相当占资源的.

TOP

 28 12
发新话题