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日
  • 相关阅读:
    JSON数据格式
    段寄存器
    进程 PCB 进程挂起
    python3:文件读写+with open as语句(转)
    Python 中 'unicodeescape' codec can't decode bytes in position XXX: trun错误解决方案
    intelx86为何从0xFFFF0处执行
    Linux内核调度分析(转,侵删)
    调度器简介,以及Linux的调度策略(转)
    nm命令
    Vim文本编辑器中常用的一些命令
  • 原文地址:https://www.cnblogs.com/kongyuan/p/1508780.html
Copyright © 2011-2022 走看看