关于用bochs虚拟运行reactos出现的问题!
reactos吧
全部回复
仅看楼主
level 6
fros 楼主
2009年04月12日 16点04分 1
level 6
fros 楼主
这个是我这的配置文件。
reactos-bochs.bxrc
romimage: file=$BXSHARE/BIOS-bochs-latest 
cpu: count=1, ips=10000000, reset_on_triple_fault=1
megs: 256
vgaromimage: file=$BXSHARE/VGABIOS-lgpl-latest
vga: extension=vbe
ata0: enabled=1, ioaddr1=0x1f0, ioaddr2=0x3f0, irq=14
ata1: enabled=1, ioaddr1=0x170, ioaddr2=0x370, irq=15
ata2: enabled=0, ioaddr1=0x1e8, ioaddr2=0x3e0, irq=11
ata3: enabled=0, ioaddr1=0x168, ioaddr2=0x360, irq=9
ata0-master: type=disk, mode=flat, path="c.img", cylinders=0
ata0-slave: type=cdrom, path="./bootcd-40472-rel.iso", status=inserted
boot: cdrom
log: bochsout.txt
panic: action=ask
error: action=report
info: action=report
debug: action=ignore
debugger_log: -
parport1: enabled=1, file="parport.out"
vga_update_interval: 300000
keyboard_serial_delay: 250
keyboard_paste_delay: 100000
mouse: enabled=0
private_colormap: enabled=0
ne2k: ioaddr=0x300, irq=3, mac=b0:c4:20:00:00:00, ethmod=win32, ethdev=\Device\N PF_GenericDialupAdapter
keyboard_mapping: enabled=0, map=
i440fxsupport: enabled=1
2009年04月12日 16点04分 2
level 6
fros 楼主
c.img用bximage.exe得到的,设置为1024M,放在配置文件目录下。
ne2k: ioaddr=0x300, irq=3, mac=b0:c4:20:00:00:00, ethmod=win32, ethdev=\Device\N PF_GenericDialupAdapter
是用niclist.exe得到的。
都是bochs文件夹下自带的程序。
版本是bochs-2.3.7
bootcd-40472-rel.iso是从http://www.reactos.org/getbuilds/中得到的,放在配置文件目录下。
用的是网吧里的winxp环境!
2009年04月12日 16点04分 3
level 6
fros 楼主
现象:
bochs启动后没有出现任何出错反应信息。
但,reactos系统安装程序启动到特定阶段时,就长期蓝屏不动了。没有任何reactos系统出错信息提示!
bochs软件中关于cpu的信息基本没变化。
也没看见bochs中提示有硬盘或cdrom的读取活动。
也没读取网络的活动。
2009年04月12日 16点04分 4
level 6
fros 楼主
另外,我先安装了“winpcap”这个软件,niclist.exe 才能正常运行!
2009年04月12日 16点04分 5
level 6
fros 楼主
测试的reactos版本为0.40472
2009年04月12日 17点04分 6
level 6
fros 楼主
似乎是因为0.40472是测试版本的缘故。
我用官方正式发布的0.38版本正常安装上了。并且正常启动进入了系统。
但,没有网络。
系统也检测不到网卡。
得找下bochs里怎么设置虚拟网卡的问题。
2009年04月12日 17点04分 7
level 6
fros 楼主
配置文件里加了这么一句。
com1: enabled=1, mode=file, dev=.\temp.txt
然后在reactos的cmd命令行里
copy .\xxx.txt com1
于是就是配置文件所在目录里,temp.txt就接受到了xxx.txt里的内容。
恩,这个信息传送,是追加式的而非覆盖的。
不知道能把它整成个串口上网么?
2009年04月12日 18点04分 8
level 6
fros 楼主
尝试了下这个。
com1: enabled=1, mode=pipe-client, dev=\Device\N PF_GenericDialupAdapter
bochs里说pipe-client是双向模式的。好像这英文单词是这么个意思来着。
虽然命令也能正常执行。但好像没啥结果来着。
-_-!!!
估计这种网络古典时代的玩意到现在还是行不太通的。
2009年04月12日 19点04分 9
level 6
fros 楼主
bochs样板配置文件里关于网络的内容。
 ne2k: NE2000 compatible ethernet adapter
 Examples:
 ne2k: ioaddr=IOADDR, irq=IRQ, mac=MACADDR, ethmod=MODULE, ethdev=DEVICE, script=SCRIPT
 ioaddr, irq: You probably won't need to change ioaddr and irq, unless there
 are IRQ conflicts.
 mac: The MAC address MUST NOT match the address of any machine on the net.
 Also, the first byte must be an even number (bit 0 set means a multicast
 address), and you cannot use ff:ff:ff:ff:ff:ff because that's the broadcast
 address. For the ethertap module, you must use fe:fd:00:00:00:01. There may
 be other restrictions too. To be safe, just use the b0:c4... address.
 ethdev: The ethdev value is the name of the network interface on your host
 platform. On UNIX machines, you can get the name by running ifconfig. On
 Windows machines, you must run niclist to get the name of the ethdev.
 Niclist source code is in misc/niclist.c and it is included in Windows 
 binary releases.
 script: The script value is optional, and is the name of a script that 
 is executed after bochs initialize the network interface. You can use 
 this script to configure this network interface, or enable masquerading.
 This is mainly useful for the tun/tap devices that only exist during
 Bochs execution. The network interface name is supplied to the script
 as first parameter
 If you don't want to make connections to any physical networks,
 you can use the following 'ethmod's to simulate a virtual network.
 null: All packets are discarded, but logged to a few files.
 arpback: ARP is simulated. Disabled by default.
 vde: Virtual Distributed Ethernet
 vnet: ARP, ICMP-echo(ping), DHCP and read/write TFTP are simulated.
 The virtual host uses 192.168.10.1.
 DHCP assigns 192.168.10.2 to the guest.
 TFTP uses the ethdev value for the root directory and doesn't
 overwrite files.
=======================================================================
 ne2k: ioaddr=0x300, irq=9, mac=fe:fd:00:00:00:01, ethmod=fbsd, ethdev=en0 macosx
 ne2k: ioaddr=0x300, irq=9, mac=b0:c4:20:00:00:00, ethmod=fbsd, ethdev=xl0
 ne2k: ioaddr=0x300, irq=9, mac=b0:c4:20:00:00:00, ethmod=linux, ethdev=eth0
 ne2k: ioaddr=0x300, irq=9, mac=b0:c4:20:00:00:01, ethmod=win32, ethdev=MYCARD
 ne2k: ioaddr=0x300, irq=9, mac=fe:fd:00:00:00:01, ethmod=tap, ethdev=tap0
 ne2k: ioaddr=0x300, irq=9, mac=fe:fd:00:00:00:01, ethmod=tuntap, ethdev=/dev/net/tun0, script=./tunconfig
 ne2k: ioaddr=0x300, irq=9, mac=b0:c4:20:00:00:01, ethmod=null, ethdev=eth0
 ne2k: ioaddr=0x300, irq=9, mac=b0:c4:20:00:00:01, ethmod=vde, ethdev="/tmp/vde.ctl"
 ne2k: ioaddr=0x300, irq=9, mac=b0:c4:20:00:00:01, ethmod=vnet, ethdev="c:/temp"
2009年04月12日 19点04分 10
level 6
fros 楼主
估计应该是reactos对ne2k网卡的支持问题。
怎么弄起这个支持,又是个问题。
-_-!!!
2009年04月12日 20点04分 11
level 6
fros 楼主
bochs里关于串口的内容。
无语,转这么个内容百度都不让。
不知道又会被审核成啥样。
2009年04月12日 20点04分 13
level 6
fros 楼主
bochs的样板配置文件名称叫:
bochsrc-sample.txt
改文件类型为XXX.bxrx即可被bochs解析运行。
2009年04月12日 20点04分 14
level 6
fros 楼主
在网吧里弄就是麻烦啊。
-_-!!!
不过感觉reactos比我之前用0.28或0.31在实体机里测试时要稳定成熟不少了。
2009年04月12日 20点04分 16
level 6
fros 楼主
bochs里关于串口的内容。
 COM1, COM2, COM3, COM4:
 This defines a serial port (UART type 16550A). In the 'term' you can specify
 a device to use as com1. This can be a real serial line, or a pty. To use
 a pty (under X/Unix), create two windows (xterms, usually). One of them will
 run bochs, and the other will act as com1. Find out the tty the com1
 window using the `tty' command, and use that as the `dev' parameter.
 Then do `sleep 1000000' in the com1 window to keep the shell from
 messing with things, and run bochs in the other window. Serial I/O to
 com1 (port 0x3f8) will all go to the other window.
 In socket* and pipe* (win32 only) modes Bochs becomes either socket/named pipe
 client or server. In client mode it connects to an already running server (if
 connection fails Bochs treats com port as not connected). In server mode it
 opens socket/named pipe and waits until a client application connects to it
 before starting simulation. This mode is useful for remote debugging (e.g.
 with gdb's "target remote host:port" command or windbg's command line option
 -k com:pipe,port\\.\pipe\pipename). Note: 'socket' is a shorthand for
 'socket-client' and 'pipe' for 'pipe-client'. Socket modes use simple TCP
 communication, pipe modes use duplex byte mode pipes.
 Other serial modes are 'null' (no input/output), 'file' (output to a file
 specified as the 'dev' parameter), 'raw' (use the real serial port - under
 construction for win32), 'mouse' (standard serial mouse - requires
 mouse option setting 'typeserial', 'typeserial_wheel' or 'typeserial_msys').
 Examples:
 com1: enabled1, modenull
 com1: enabled1, modemouse
 com2: enabled1, modefile, devserial.out
 com3: enabled1, moderaw, devcom1
 com3: enabled1, modesocket-client, devlocalhost:8888
 com3: enabled1, modesocket-server, devlocalhost:8888
 com4: enabled1, modepipe-client, dev\\.\pipe\mypipe
 com4: enabled1, modepipe-server, dev\\.\pipe\mypipe
com1: enabled1, modeterm, dev/dev/ttyp9
2009年04月12日 22点04分 17
level 6
fros 楼主
bochs里关于串口的内容。
 COM1, COM2, COM3, COM4:
 This defines a serial port (UART type 16550A). In the 'term' you can specify
 a device to use as com1. This can be a real serial line, or a pty. To use
 a pty (under X/Unix), create two windows (xterms, usually). One of them will
 run bochs, and the other will act as com1. Find out the tty the com1
 window using the `tty' command, and use that as the `dev' parameter.
 Then do `sleep 1000000' in the com1 window to keep the shell from
 messing with things, and run bochs in the other window. Serial I/O to
 com1 (port 0x3f8) will all go to the other window.
 In socket* and pipe* (win32 only) modes Bochs becomes either socket/named pipe
 client or server. In client mode it connects to an already running server (if
 connection fails Bochs treats com port as not connected). In server mode it
 opens socket/named pipe and waits until a client application connects to it
 before starting simulation. This mode is useful for remote debugging (e.g.
 with gdb's "target remote host:port" command or windbg's command line option
 -k com:pipe,port=\\.\pipe\pipename). Note: 'socket' is a shorthand for
 'socket-client' and 'pipe' for 'pipe-client'. Socket modes use simple TCP
 communication, pipe modes use duplex byte mode pipes.
 Other serial modes are 'null' (no input/output), 'file' (output to a file
 specified as the 'dev' parameter), 'raw' (use the real serial port - under
 construction for win32), 'mouse' (standard serial mouse - requires
 mouse option setting 'type=serial', 'type=serial_wheel' or 'type=serial_msys').
 Examples:
 com1: enabled=1, mode=null
 com1: enabled=1, mode=mouse
 com2: enabled=1, mode=file, dev=serial.out
 com3: enabled=1, mode=raw, dev=com1
 com3: enabled=1, mode=socket-client, dev=localhost:8888
 com3: enabled=1, mode=socket-server, dev=localhost:8888
 com4: enabled=1, mode=pipe-client, dev=\\.\pipe\mypipe
 com4: enabled=1, mode=pipe-server, dev=\\.\pipe\mypipe
=======================================================================
com1: enabled=1, mode=term, dev=/dev/ttyp9
2009年04月12日 22点04分 18
level 6
fros 楼主
bochs样板配置文件里关于串口的内容。
#=======================================================================
# COM1, COM2, COM3, COM4:
# This defines a serial port (UART type 16550A). In the 'term' you can specify
# a device to use as com1. This can be a real serial line, or a pty. To use
# a pty (under X/Unix), create two windows (xterms, usually). One of them will
# run bochs, and the other will act as com1. Find out the tty the com1
# window using the `tty' command, and use that as the `dev' parameter.
# Then do `sleep 1000000' in the com1 window to keep the shell from
# messing with things, and run bochs in the other window. Serial I/O to
# com1 (port 0x3f8) will all go to the other window.
# In socket* and pipe* (win32 only) modes Bochs becomes either socket/named pipe
# client or server. In client mode it connects to an already running server (if
# connection fails Bochs treats com port as not connected). In server mode it
# opens socket/named pipe and waits until a client application connects to it
# before starting simulation. This mode is useful for remote debugging (e.g.
# with gdb's "target remote host:port" command or windbg's command line option
# -k com:pipe,port=\\.\pipe\pipename). Note: 'socket' is a shorthand for
# 'socket-client' and 'pipe' for 'pipe-client'. Socket modes use simple TCP
# communication, pipe modes use duplex byte mode pipes.
# Other serial modes are 'null' (no input/output), 'file' (output to a file
# specified as the 'dev' parameter), 'raw' (use the real serial port - under
# construction for win32), 'mouse' (standard serial mouse - requires
# mouse option setting 'type=serial', 'type=serial_wheel' or 'type=serial_msys').
#
# Examples:
# com1: enabled=1, mode=null
# com1: enabled=1, mode=mouse
# com2: enabled=1, mode=file, dev=serial.out
# com3: enabled=1, mode=raw, dev=com1
# com3: enabled=1, mode=socket-client, dev=localhost:8888
# com3: enabled=1, mode=socket-server, dev=localhost:8888
# com4: enabled=1, mode=pipe-client, dev=\\.\pipe\mypipe
# com4: enabled=1, mode=pipe-server, dev=\\.\pipe\mypipe
#=======================================================================
#com1: enabled=1, mode=term, dev=/dev/ttyp9
2009年04月12日 22点04分 19
level 0
bochs的虚拟硬件列表。
似乎网卡它就只能弄成ne2k啊。
晕。
百度都审核成这个样子了。
2009年04月14日 05点04分 20
1