zoukankan      html  css  js  c++  java
  • 对bochs设置文档的初步翻译

    开始熟悉bochs 针对bochsrc.txt的设置产生了一些疑问,也有一些心得。

    对bochsrc的翻译:

    #------------------------------------------------
    #  你应该用双引号把需要的路径包含起来,以防止你包含的路径中出现空格#
    #  设置的界面(我的理解是在什么要的界面调试)
    #------------------------------------------------
    #bochs提供三中界面,文字(textconfig)界面,两种图形界面:wx,win32config
    #================================
    #config_interface:textconfig
    #config_interface:win32config
    #config_interface:wx(一旦你明白这是什么并觉得去使用它  请不要忘了在下面连接库的加载中加载wx选项)
    #============================
    #    设置显示所需的连接库(我也不知道如何表达display_library)
    #     如果你要用到很多中显示方式的化 使用 --with-* 来表达
    #    选择的有:
    #       x   使用xwindows的界面(跨平台)
    #       win32  使用本机(安装bochs的机器)win32libraries
    #       carbon 使用carbon(为macOS X提供)
    #       beos 使用本机的beos libraries(  BeOS是由Be公司开发的一种多媒体操作系统。 )
    #       macintosh 为macOS pre-10准备的(macintosh是macos的前身)
    #       amigaos 使用本机的amigaos
    #       sdl  使用sdl (跨平台)这里介绍一下sdl(SDL(Simple DirectMedia Layer)是一个自由的跨平台的多媒体开发       #            包,适用于 游戏、游戏SDK、演示软件、模拟器、MPEG播放器和其他应用软件。)
    #       svga 使用SVGALIB 给linux提供 使其无需xwindows就能支持图形模式
    #       term  只是使用text模式 不过支持开启\关闭curses(curses是一个在Linux/Unix下广泛应用的图形函数库.) 跨平台
    #       rfb 提供支持给 AT&T's VNC的支持方式 跨平台 ( 美国电报电话公司推出的 VNC (Virtual Network Computing)是虚    #             拟网络计算机的缩写)
    #       wx   使用wxwidgers提供wxwidgets的支持(wxWidgets 是一个开源的跨平台的C++构架库(framework)(主页            #            http://www.widgets.org),它可以提供GUI(图形用户界面)和其它工具。)
    #       nogui 不使用任何连接库
    #NOTE: 如果你使用wx这个选项在前面的配置中,你在这就一定要使用加载wx的连接库
    #=======================================
    #display_library: amigaos
    #display_library: beos
    #display_library: carbon
    #display_library: macintosh
    #display_library: nogui
    #display_library: rfb, options="timeout=60" # 等待的时间
    #display_library: sdl, options="fullscreen" # 全屏启动
    #display_library: term
    #display_library: win32, options="legacyF12" # 使用F12键控制鼠标的使用
    #display_library: win32, options="gui_debug" # 使用 Win32 debugger gui
    #display_library: wx
    #display_library: x, options="hideIPS" #  在启动时 隐藏IPS 输出
    #display_library: x, options="gui_debug" # 使用 GTK debugger gui
    #===========================================
    #关于ROMIMAGE的设置
    #你可以通过下方的设置改变或者启用自己的bios映像
    #=======================================================================
    romimage: file=$BXSHARE/BIOS-bochs-latest
    #romimage: file=mybios.bin, address=0xfff80000 # 512k at memory top

    #=======================================================================
    #CPU的设置选项
    #count设置为cpu的数量
    #quantum我没看懂是什么意思 大家谁明白给我讲一下
    #RESET_ON_TRIPLE_FAULT:在多次出现错误后重启
    #CPUID_LIMIT_WINNT:限制最大的cpuid为3 这个选项是winnt所必须的(我也不知道是啥意思)
    #MSRS 设定内存
    #VENDOR_STRING:设定CPUID中的供货商信息,ASCII码12个字符
    #BRAND_STRING:设定CPUID中商标
    #IPS 用来设定每秒运行命令的数量(请根据你计算机的能力修改 修改后要重新编译bochs)
    #====================================
    cpu: count=1, ips=50000000, reset_on_triple_fault=1, cpuid_limit_winnt=0, msrs="msrs.def"
    #====================================
    #MEGS
    #设定内存的大小 默认是32M 大多数的操作系统不需多于32M的内存(原句翻译)最大只能是2048M
    #====================================
    #megs: 256
    #megs: 128
    #megs: 64
    megs: 32
    #megs: 16
    #megs: 8
    #====================================
    #选择ROM的映像【1~4】
    #你需要加载一些ROM(请确定是只读)这些ROM将在 F0000~FFFFF处加载 VGA的ROM将在 C0000-C7FFFF处加载 这些ROM将会完成 真实计算机的操作 在真确的地方加载boot(有0x55AA结尾的)和提供有价值的自检。当然你也可以放入自己随意的代码来加载。
    #=======================================================================
    #optromimage1: file=optionalrom.bin, address=0xd0000
    #optromimage2: file=optionalrom.bin, address=0xd1000
    #optromimage3: file=optionalrom.bin, address=0xd2000
    #optromimage4: file=optionalrom.bin, address=0xd3000

    #optramimage1: file=/path/file1.img, address=0x0010000
    #optramimage2: file=/path/file2.img, address=0x0020000
    #optramimage3: file=/path/file3.img, address=0x0030000
    #optramimage4: file=/path/file4.img, address=0x0040000

    #=======================================================================
    #显示(VGA)ROM映像加载
    #你需要将它加载到C0000
    #=======================================================================
    #vgaromimage: file=bios/VGABIOS-elpin-2.40
    vgaromimage: file=$BXSHARE/VGABIOS-lgpl-latest
    #vgaromimage: file=bios/VGABIOS-lgpl-latest-cirrus

    #=======================================================================
    # VGA的特殊设置:
    #这里你可以通过选择使用 普通的VGA和通过‘vbe’选项而使用SVGA(超级VGA)
    #=======================================================================
    #vga: extension=cirrus
    vga: extension=vbe

    #=======================================================================
    # FLOPPYA:软盘A启动的设置(经常用到)
    #如果你要通过软盘启动那么在下面请设置软盘的类型
    #你可以设定 initial来表达是否使用该盘(ejected:不使用inserted使用)
    #类似:
    #floppya: 2_88=path, status=ejected    (2.88M 3.5"  media)
    #   floppya: 1_44=path, status=inserted   (1.44M 3.5"  media)
    #   floppya: 1_2=path, status=ejected     (1.2M  5.25" media)
    #   floppya: 720k=path, status=inserted   (720K  3.5"  media)
    #   floppya: 360k=path, status=inserted   (360K  5.25" media)
    #   floppya: 320k=path, status=inserted   (320K  5.25" media)
    #   floppya: 180k=path, status=inserted   (180K  5.25" media)
    #   floppya: 160k=path, status=inserted   (160K  5.25" media)
    #   floppya: image=path, status=inserted  (guess media type from image size)
    #   floppya: type=1_44                    (1.44M 3.5" floppy drive, no media)
    #其中path为软盘映像的地址
    #=======================================================================
    floppya: 1_44=/dev/fd0, status=inserted
    #floppya: image=../1.44, status=inserted
    #floppya: 1_44=/dev/fd0H1440, status=inserted
    #floppya: 1_2=../1_2, status=inserted
    #floppya: 1_44=a:, status=inserted
    #floppya: 1_44=a.img, status=inserted
    #floppya: 1_44=/dev/rfd0a, status=inserted

    #=======================================================================
    # FLOPPYB:设置软盘B的地方
    #具体的请参照软盘A的设置方法
    #=======================================================================
    #floppyb: 1_44=b:, status=inserted
    #floppyb: 1_44=b.img, status=inserted

    #=======================================================================
    #关于硬盘/光驱挂载的设置:
    #ata[0-3]: enabled=[0|1], ioaddr1=addr, ioaddr2=addr, irq=number
    #可以设置最多4个挂载处,这里指定两个I/O的地址及中断优先级
    #=======================================================================
    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

    #=======================================================================
    ATA[0-3]-MASTER, ATA[0-3]-SLAVE
    #
    # 这里定义了所有的附加ATA设备的设置:
    #   type=       ATA设备的种类 [硬盘:disk|光盘:cdrom]
    #   mode=      只对硬盘支持[flat|concat|external|dll|sparse|vmware3] (没看懂 大概是对其他虚拟机产生的硬盘文件的支持)
    #   mode=      只对硬盘支持 [undoable|growing|volatile]
    #   path=       imagine的路径
    #   cylinders=  只对硬盘支持
    #   heads=     只对硬盘支持
    #   spt=        只对硬盘支持
    #   status=     只对光盘支持 [允许:inserted|不允许:ejected]
    #   biosdetect= bios的检测方式[none|auto], 只对硬盘 ata0时有作用的是 [cmos]
    #   translation=type of translation of the bios, only for disks [none|lba|large|rechs|auto](不懂是啥意思 bios翻译?)
    #   model=      string returned by identify device command(用来识别设备命令的返回字符? 不懂)
    #   journal=    optional filename of the redolog for undoable and volatile disks 什么任选的字符来 redolog 不可用的反覆无常的disk 不懂
    #这一块 笔者也不是很懂 有些在网上也没查出个所以然来 惭愧呀 希望知道的朋友能告诉我一声
    #通过配置如上信息 你可以加载各种映像作为ata设备 包括真实的cdrom如果你要尝试制作一个disk的映像 可以运行安装目录下的 bximage来制作。 (在原文件还有关于unix和macos下映像的设定方式 这里只翻译与windows有关的信息了 实在是能力有限呀)
    # The path is mandatory for hard disks. Disk geometry autodetection works with
    # images created by bximage if CHS is set to 0/0/0 (cylinders are calculated
    # using  heads=16 and spt=63). For other hard disk images and modes the
    # cylinders, heads, and spt are mandatory. In all cases the disk size reported
    # from the image must be exactly C*H*S*512.
    #
    # Default values are:
    #   mode=flat, biosdetect=auto, translation=auto, model="Generic 1234"
    #
    # The biosdetect option has currently no effect on the bios
    #
    # Examples:
    #   ata0-master: type=disk, mode=flat, path=10M.sample, cylinders=306, heads=4, spt=17
    #   ata0-slave:  type=disk, mode=flat, path=20M.sample, cylinders=615, heads=4, spt=17
    #   ata1-master: type=disk, mode=flat, path=30M.sample, cylinders=615, heads=6, spt=17
    #   ata1-slave:  type=disk, mode=flat, path=46M.sample, cylinders=940, heads=6, spt=17
    #   ata2-master: type=disk, mode=flat, path=62M.sample, cylinders=940, heads=8, spt=17
    #   ata2-slave:  type=disk, mode=flat, path=112M.sample, cylinders=900, heads=15, spt=17
    #   ata3-master: type=disk, mode=flat, path=483M.sample, cylinders=1024, heads=15, spt=63
    #   ata3-slave:  type=cdrom, path=iso.sample, status=inserted
    #   以上的这一些我没法翻译了 实在是不了解呀 就原文扔在这了 大家将就的用用默认的吧
    #=======================================================================
    ata0-master: type=disk, mode=flat, path="30M.sample"
    #ata0-master: type=disk, mode=flat, path="30M.sample", cylinders=615, heads=6, spt=17
    #ata0-master: type=disk, mode=flat, path="c.img", cylinders=0 # autodetect
    #ata0-slave: type=cdrom, path=D:, status=inserted
    #ata0-slave: type=cdrom, path=/dev/cdrom, status=inserted
    #ata0-slave: type=cdrom, path="drive", status=inserted
    #ata0-slave: type=cdrom, path=/dev/rcd0d, status=inserted
    #=======================================================================
    # BOOT:
    # 你可以在这里设定启动的方式 总共有以下几种启动方式,
    # '软盘启动:floppy', '硬盘启动:disk', '光驱启动:cdrom' or '网络启动:network' (网络启动源自boot ROM的支持).
    # Legacy 'a' and 'c' are also supported.(这句话我没明白是啥意思)
    # 顺便加上一句,启动顺序是根据你书写的顺序
    # 例子:
    #   boot: floppy
    #   boot: cdrom, disk
    #   boot: network, disk
    #   boot: cdrom, floppy, disk
    #=======================================================================
    #boot: floppy
    boot: disk

    #=======================================================================
    # CLOCK:
    #  定义Bochs中时钟的参数的:
    #
    #  SYNC(同步):迫使缓冲块数据立即写盘并更新超级块(linux下含义)
    #  This defines the method how to synchronize the Bochs internal time
    #  with realtime. With the value 'none' the Bochs time relies on the IPS
    #  value and no host time synchronization is used. The 'slowdown' method
    #  sacrifices performance to preserve reproducibility while allowing host
    #  time correlation. The 'realtime' method sacrifices reproducibility to
    #  preserve performance and host-time correlation.
    #  It is possible to enable both synchronization methods.
    #  有点长了 就不翻译了 因为这块我还在学习中
    #  TIME0:设定时间的
    #  Specifies the start (boot) time of the virtual machine. Use a time
    #  value as returned by the time(2) system call. If no time0 value is
    #  set or if time0 equal to 1 (special case) or if time0 equal 'local',
    #  the simulation will be started at the current local host time.
    #  If time0 equal to 2 (special case) or if time0 equal 'utc',
    #  the simulation will be started at the current utc time.
    #
    # Syntax:
    #  clock: sync=[none|slowdown|realtime|both], time0=[timeValue|local|utc]
    #
    # Example:
    #   clock: sync=none,     time0=local       # Now (localtime)
    #   clock: sync=slowdown, time0=315529200   # Tue Jan  1 00:00:00 1980
    #   clock: sync=none,     time0=631148400   # Mon Jan  1 00:00:00 1990
    #   clock: sync=realtime, time0=938581955   # Wed Sep 29 07:12:35 1999
    #   clock: sync=realtime, time0=946681200   # Sat Jan  1 00:00:00 2000
    #   clock: sync=none,     time0=1           # Now (localtime)
    #   clock: sync=none,     time0=utc         # Now (utc/gmt)
    #
    # Default value are sync=none, time0=local
    #=======================================================================
    #clock: sync=none, time0=local


    #=======================================================================
    # FLOPPY_BOOTSIG_CHECK: disabled=[0|1]
    # 设定是否检测 0xaa55 标志在软盘的第一扇区
    # 默认为检测
    # 例子:
    #   floppy_bootsig_check: disabled=0
    #   floppy_bootsig_check: disabled=1
    #=======================================================================
    floppy_bootsig_check: disabled=0

    #=======================================================================
    # LOG:关于日志的设定(主要是路径的设定)
    # Give the path of the log file you'd like Bochs debug and misc. verbiage
    # to be written to. If you don't use this option or set the filename to
    # '-' the output is written to the console. If you really don't want it,
    # make it "/dev/null" (Unix) or "nul" (win32). :^(
    #
    # Examples:
    #   log: ./bochs.out
    #   log: /dev/tty
    #=======================================================================
    #log: /dev/null
    log: bochsout.txt

    #=======================================================================
    #LOGPREFIX:(关于日志的设置 可以通过以下命令完成对日志的设置)
    # This handles the format of the string prepended to each log line.
    # You may use those special tokens :
    #   %t : 11 decimal digits timer tick
    #   %i : 8 hexadecimal digits of cpu current eip (ignored in SMP configuration)
    #   %e : 1 character event type ('i'nfo, 'd'ebug, 'p'anic, 'e'rror)
    #   %d : 5 characters string of the device, between brackets
    #
    # Default : %t%e%d
    # Examples:
    #   logprefix: %t-%e-@%i-%d
    #   logprefix: %i%e%d
    #=======================================================================
    #logprefix: %t%e%d

    #=======================================================================
    #LOG的控制
    #
    #bochs有4个等级表示日志事件
    #  紧急:无法继续运行 如果你非要继续运行的化 你就不应该对即将出现的奇怪
    #行为 和崩溃而惊讶。
    #  错误:有一些东西出现了错误 不过继续运行是被允许的
    #  信息:有趣的(别问我什么是有趣 我也不知道)或有用的提示
    #  调试:一些只在调试状态有用的信息,这些东西可能以没分钟几千条的方式出现
    #你可以对这些信息的动作安排 以决定相应事件发生时该采取的行为。
    #包括一下行为:
    #       ask,report,ignore,fatal等
    #=======================================================================
    panic: action=ask
    error: action=report
    info: action=report
    debug: action=ignore
    #pass: action=fatal

    #=======================================================================
    # DEBUGGER_LOG:(调试的日志)
    #提供一个地址用来存放那些你需要bochs调试而产生的信息
    # Examples:
    #   debugger_log: ./debugger.out
    #=======================================================================
    #debugger_log: /dev/null
    #debugger_log: debugger.out
    debugger_log: -

    #=======================================================================
    # 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


    #=======================================================================
    #PARPORT1, PARPORT2:
    # This defines a parallel (printer) port. When turned on and an output file is
    # defined the emulated printer port sends characters printed by the guest OS
    # into the output file. On some platforms a device filename can be used to
    # send the data to the real parallel port (e.g. "/dev/lp0" on Linux, "lpt1" on
    # win32 platforms).
    #
    # Examples:
    #   parport1: enabled=1, file="parport.out"
    #   parport2: enabled=1, file="/dev/lp0"
    #   parport1: enabled=0
    #=======================================================================
    parport1: enabled=1, file="parport.out"

    #=======================================================================
    #SB16:(此处为音频的设置 我对这些不懂 就不翻译了 其实设置方法跟前面的差不多)
    # This defines the SB16 sound emulation. It can have several of the
    # following properties.
    # All properties are in the format sb16: property=value
    # midi: The filename is where the midi data is sent. This can be a
    #       device or just a file if you want to record the midi data.
    # midimode:
    #      0=no data
    #      1=output to device (system dependent. midi denotes the device driver)
    #      2=SMF file output, including headers
    #      3=output the midi data stream to the file (no midi headers and no
    #        delta times, just command and data bytes)
    # wave: This is the device/file where wave output is stored
    # wavemode:
    #      0=no data
    #      1=output to device (system dependent. wave denotes the device driver)
    #      2=VOC file output, incl. headers
    #      3=output the raw wave stream to the file
    # log:  The file to write the sb16 emulator messages to.
    # loglevel:
    #      0=no log
    #      1=resource changes, midi program and bank changes
    #      2=severe errors
    #      3=all errors
    #      4=all errors plus all port accesses
    #      5=all errors and port accesses plus a lot of extra info
    # dmatimer:
    #      microseconds per second for a DMA cycle.  Make it smaller to fix
    #      non-continuous sound.  750000 is usually a good value.  This needs a
    #      reasonably correct setting for the IPS parameter of the CPU option.
    #
    # Examples for output devices:
    #   sb16: midimode=1, midi="", wavemode=1, wave=""           # win32
    #   sb16: midimode=1, midi=alsa:128:0, wavemode=1, wave=alsa # Linux with ALSA
    #=======================================================================
    #sb16: midimode=1, midi=/dev/midi00, wavemode=1, wave=/dev/dsp, loglevel=2, log=sb16.log, dmatimer=600000

    #=======================================================================
    #VGA_UPDATE_INTERVAL:(显存扫描的更新间隔的设置)
    # video的更新间隔的设置
    # 默认为 50000, 差不多 20Hz. 请注意
    # 你必须 设置 ‘cpu: ips=N'并确定您的程序能达到这样的设置
    #
    # Examples:
    #   vga_update_interval: 250000
    #=======================================================================
    vga_update_interval: 300000

    # 为了给 Winstone '98 测试而使用的
    #vga_update_interval:  100000

    #=======================================================================
    # KEYBOARD_SERIAL_DELAY:(键盘的响应时间(可能翻译的不对))
    # Approximate time in microseconds that it takes one character to
    # be transfered from the keyboard to controller over the serial path.
    # Examples:
    #   keyboard_serial_delay: 200
    #=======================================================================
    keyboard_serial_delay: 250

    #=======================================================================
    #MOUSE:(关于鼠标的设置)
    # bochs会自动激活在gui状态下的鼠标功能 除非enabled被设置为0
    # 你可以通过设置选择鼠标的类型例如 ps/2 等 也可以在usb选项处
    #  设置USB鼠标
    # Examples:
    #   mouse: enabled=1
    #   mouse: enabled=1, type=imps2
    #   mouse: enabled=1, type=serial
    #   mouse: enabled=0
    #=======================================================================
    mouse: enabled=0

    #=======================================================================
    # private_colormap: 是否开启一个私有的colormap
    #                  
    # Examples:
    #   private_colormap: enabled=1
    #   private_colormap: enabled=0
    #=======================================================================
    private_colormap: enabled=0

    #=======================================================================
    #fullscreen(其实很容易理解就是全屏么): ONLY IMPLEMENTED ON AMIGA(关键是这句就不懂了 什么是只为女生应用)
    #             
    # Examples:
    #   fullscreen: enabled=0
    #   fullscreen: enabled=1
    #=======================================================================
    #fullscreen: enabled=0
    #screenmode: name="sample"(没有解释 我也不明白这个选项是干吗的)

    #=======================================================================
    #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. These arguments are ignored when assign the ne2k to a
    # PCI slot.
    #
    # 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"

    #=======================================================================
    # pnic: Bochs/Etherboot pseudo-NIC
    #
    # Example:
    # pnic: enabled=1, mac=MACADDR, ethmod=MODULE, ethdev=DEVICE, script=SCRIPT
    #
    # The pseudo-NIC accepts the same syntax (for mac, ethmod, ethdev, script) and
    # supports the same networking modules as the NE2000 adapter. In addition to
    # this, it must be assigned to a PCI slot.
    #=======================================================================
    #pnic: enabled=1, mac=b0:c4:20:00:00:00, ethmod=vnet

    #=======================================================================
    #KEYBOARD_MAPPING:(键盘的映像)
    # 通过这个的设定以决定是否使虚拟键盘采用与物理(实际)键盘一样的按键分布
    # 一旦选择不一样的按键分布 一定要指定分布的映像
    # Examples:
    #   keyboard_mapping: enabled=1, map=gui/keymaps/x11-pc-de.map
    #=======================================================================
    keyboard_mapping: enabled=0, map=

    #=======================================================================
    #KEYBOARD_TYPE:(还是键盘的设置 默认即可)
    # Type of keyboard return by a "identify keyboard" command to the
    # keyboard controler. It must be one of "xt", "at" or "mf".
    # Defaults to "mf". It should be ok for almost everybody. A known
    # exception is french macs, that do have a "at"-like keyboard.
    #
    # Examples:
    #   keyboard_type: mf
    #=======================================================================
    #keyboard_type: mf

    #=======================================================================
    #USER_SHORTCUT:(使用的捷径)
    # 这里定义了键盘的快捷方式
    #
    # Example:
    #   user_shortcut: keys=ctrl-alt-del
    #=======================================================================
    #user_shortcut: keys=ctrl-alt-del

    #=======================================================================
    # I440FXSUPPORT:(设置PCI的 一般用不到)
    # This option controls the presence of the i440FX PCI chipset. You can
    # also specify the devices connected to PCI slots. Up to 5 slots are
    # available now. These devices are currently supported: ne2k, pcivga,
    # pcidev, pcipnic and usb_ohci. If Bochs is compiled with Cirrus SVGA
    # support you'll have the additional choice 'cirrus'.
    #
    # Example:
    #   i440fxsupport: enabled=1, slot1=pcivga, slot2=ne2k
    #=======================================================================
    i440fxsupport: enabled=1

    #=======================================================================
    #USB_UHCI:(对USB的设定)
    # This option controls the presence of the USB root hub which is a part
    # of the i440FX PCI chipset. With the portX option you can connect devices
    # to the hub (currently supported: 'mouse', 'tablet', 'keypad', 'disk', 'cdrom'
    # and 'hub').
    # If you connect the mouse or tablet to one of the ports, Bochs forwards the
    # mouse movement data to the USB device instead of the selected mouse type.
    # When connecting the keypad to one of the ports, Bochs forwards the input of
    # the numeric keypad to the USB device instead of the PS/2 keyboard.
    # To connect a flat image as an USB hardisk you can use the 'disk' device with
    # the path to the image separated with a colon (see below). To emulate an USB
    # cdrom you can use the 'cdrom' device name and the path to an ISO image or raw
    # device name also separated with a colon.
    # The device name 'hub' connects an external hub with max. 8 ports (default: 4)
    # to the root hub. To specify the number of ports you have to add the value
    # separated with a colon. Connecting devices to the external hub ports is only
    # available in the runtime configuration.
    #=======================================================================
    #usb_uhci: enabled=1
    #usb_uhci: enabled=1, port1=mouse, port2=disk:usbdisk.img
    #usb_uhci: enabled=1, port1=hub:7, port2=cdrom:image.iso

    #=======================================================================
    # USB_OHCI:(同上)
    # This option controls the presence of the USB OHCI host controller with a
    # 2-port hub. The portX option accepts the same device types with the same
    # syntax as the UHCI controller (see above). The OHCI HC must be assigned to
    # a PCI slot.
    #=======================================================================
    #usb_ohci: enabled=1

    #=======================================================================
    #CMOSIMAGE:(设置加载在CMOS处的映像)
    # This defines image file that can be loaded into the CMOS RAM at startup.
    # The rtc_init parameter controls whether initialize the RTC with values stored
    # in the image. By default the time0 argument given to the clock option is used.
    # With 'rtc_init=image' the image is the source for the initial time.
    #
    # Example:
    #   cmosimage: file=cmos.img, rtc_init=image
    #=======================================================================
    #cmosimage: file=cmos.img, rtc_init=time0(时钟中断)

    #=======================================================================
    # MAGIC_BREAK:(调试时的魔法断点的启用)
    # This enables the "magic breakpoint" feature when using the debugger.
    # The useless cpu instruction XCHG BX, BX causes Bochs to enter the
    # debugger mode. This might be useful for software development.
    #
    # Example:
    #   magic_break: enabled=1
    #=======================================================================
    #magic_break: enabled=1

    #=======================================================================
    # PORT_E9_HACK:(不了解)
    # The 0xE9 port doesn't exists in normal ISA architecture. However, we
    # define a convention here, to display on the console of the system running
    # Bochs anything that is written to it. The idea is to provide debug output
    # very early when writing BIOS or OS code for example, without having to
    # bother with setting up a serial port or etc. Reading from port 0xE9 will
    # will return 0xe9 to let you know if the feature is available.
    # Leave this 0 unless you have a reason to use it.
    #
    # Example:
    #   port_e9_hack: enabled=1
    #=======================================================================
    #port_e9_hack: enabled=1

    #=======================================================================
    # DEBUG_SYMBOLS:(调试标志)
    # This loads symbols from the specified file for use in Bochs' internal
    # debugger. Symbols are loaded into global context. This is equivalent to
    # issuing ldsym debugger command at start up.
    #
    # Example:
    #   debug_symbols: file="kernel.sym"
    #   debug_symbols: file="kernel.sym", offset=0x80000000
    #=======================================================================
    #debug_symbols: file="kernel.sym"

    #=======================================================================
    # other stuff
    #=======================================================================
    #load32bitOSImage: os=nullkernel, path=../kernel.img, iolog=../vga_io.log
    #load32bitOSImage: os=linux, path=../linux.img, iolog=../vga_io.log, initrd=../initrd.img
    #text_snapshot_check: enabled=1
    #print_timestamps: enabled=1

    #-------------------------
    # PCI host device mapping
    #-------------------------
    #pcidev: vendor=0x1234, device=0x5678

    #=======================================================================
    # GDBSTUB:
    # Enable GDB stub. See user documentation for details.
    # Default value is enabled=0.
    #=======================================================================
    #gdbstub: enabled=0, port=1234, text_base=0, data_base=0, bss_base=0

    #=======================================================================
    # PLUGIN_CTRL:
    # Controls the presence of optional plugins without a separate option.
    # By default all existing plugins are enabled. These plugins are currently
    # supported: 'acpi', 'biosdev', 'extfpuirq', 'gameport', 'iodebug',
    # 'pci_ide', 'speaker' and 'unmapped'.
    #=======================================================================
    #plugin_ctrl: biosdev=0, speaker=0

    #=======================================================================
    # USER_PLUGIN:
    # Load user-defined plugin. This option is available only if Bochs is
    # compiled with plugin support. Maximum 8 different plugins are supported.
    # See the example in the Bochs sources how to write a plugin device.
    #=======================================================================
    #user_plugin: name=testdev

    #=======================================================================
    # for Macintosh, use the style of pathnames in the following
    # examples.
    #
    # vgaromimage: :bios:VGABIOS-elpin-2.40
    # romimage: file=:bios:BIOS-bochs-latest, address=0xf0000
    # floppya: 1_44=[fd:], status=inserted
    #=======================================================================
    总算完成了70%左右的翻译工作 不过 还是力不从心呀 E文能力
    太差了 对一些名词还不知道 看来还要继续学习呀。
     希望这些能给你带来帮助
    不过能看完就很不错了




    如果有错误一定要联系我呀 知错才能改呀!

    studentol《A》163.com
    QQ:416103612








                                                            2009年6月23日
  • 相关阅读:
    flock对文件锁定读写操作的问题 简单
    hdu 2899 Strange Fuction(二分)
    hdu 2199 Can you solve this equation? (二分)
    poj 3080 Blue Jeans (KMP)
    poj 2823 Sliding Window (单调队列)
    poj 2001 Shortest Prefixes (trie)
    poj 2503 Babelfish (trie)
    poj 1936 All in All
    hdu 3507 Print Article (DP, Monotone Queue)
    fzu 1894 志愿者选拔 (单调队列)
  • 原文地址:https://www.cnblogs.com/kongyuan/p/1508780.html
Copyright © 2011-2022 走看看