|
Configuration files in GXemul are useful/necessary for three reasons:
! This is an example configuration file for GXemul.
! Anything following an exclamation mark (and also the exclamation
! mark itself) is ignored.
!
! Almost all settings are optional.
name("my test emul") ! Optional name of this emulation
! This creates an ethernet network:
net(
ipv4net("10.2.0.0") ! The default is 10.0.0.0/8, but
ipv4len(16) ! it can be overridden like this.
! local_port(12345)
! add_remote("localhost:12346")
)
! This creates a machine:
machine(
name("My test machine")
! serial_nr(123) ! Useful when emulating multiple machines
! on multiple hosts, and they need to have
! unique MAC addresses, etc.
type("dec") ! This is actually not optional
subtype("5000/200")
cpu("R3000") ! Normally set implicitly to a reasonable
! value, depending on type and subtype
! ncpus(4)
! use_random_bootstrap_cpu(yes)
memory(128) ! 128 MB memory. This overrides
! the default amount of memory for
! this machine type.
! random_mem_contents(yes)
! prom_emulation(no)
! byte_order(big) ! Normally set implicitly (because
! of type and subtype, or decided
! from the file loaded with load
load("netbsd-INSTALL")
bootname("netbsd")
bootarg("-a")
! n_gfx_cards(2) ! for DECstation dual/tripple-head
! emulated_hz(10000000) ! for setting the emulated clock speed (mostly fake)
! add_x11_display("otherbox:0") ! for dual/tripple-head etc
! add_x11_display("thisbox:0")
{
Devices can be added like this:
device("ns16550 addr=0x18000800 addr_mult=4")
The name comes first, followed by optional parameters.
Remember to use 0x for hexadecimal values.
}
! force_netboot(yes)
! start_paused(yes)
disk("nbsd.img")
disk("6c:cdrom.iso")
use_x11(yes)
x11_scaledown(2)
! slow_serial_interrupts_hack_for_linux(yes)
{
Long comments spanning multiple lines should be surrounded
with tuborg parentheses.
{ Long comments can be nested. }
}
)
! Multiple machine definitions are allowed.
machine(
name("another machine")
type("hpcmips")
subtype("be300")
...
)
|
Starting the emulator with a configuration file is as simple as
$ gxemul @myconfigif myconfig is the name of the configuration file.
machine(
subtype("3max")
load("netbsd-pmax-INSTALL-2.0")
)
|
For most machine types, type is needed. If only subtype is specified, and the name is unique (i.e. there is only one major type which has such a subtype), then the type can be omitted. Also, adding a net is quite useful, especially for netbooting kernels.