README 1.48 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
 Minimal OS
 ----------

This shows some of the stuff that any guest OS will have to set up.

This includes:

 * installing a virtual exception table
 * handling virtual exceptions
 * handling asynchronous events
 * enabling/disabling async events
 * parsing start_info struct at start-of-day
 * registering virtual interrupt handlers (for timer interrupts)
 * a simple page and memory allocator
 * minimal libc support
Keir Fraser's avatar
Keir Fraser committed
16 17 18
 * minimal Copy-on-Write support
 * network, block, framebuffer support
 * transparent access to FileSystem exports (see tools/fs-back)
19

Keir Fraser's avatar
Keir Fraser committed
20
- to build it just type make.
21

Keir Fraser's avatar
Keir Fraser committed
22
- to build it with TCP/IP support, download LWIP 1.3 source code and type
23

Keir Fraser's avatar
Keir Fraser committed
24 25 26
  make LWIPDIR=/path/to/lwip/source

- to build it with much better libc support, see the stubdom/ directory
27

kaf24's avatar
kaf24 committed
28 29
- to start it do the following in domain0 (assuming xend is running)
  # xm create domain_config
30

Keir Fraser's avatar
Keir Fraser committed
31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
This starts the kernel and prints out a bunch of stuff and then once every
second the system time.

If you have setup a disk in the config file (e.g.
disk = [ 'file:/tmp/foo,hda,r' ] ), it will loop reading it.  If that disk is
writable (e.g. disk = [ 'file:/tmp/foo,hda,w' ] ), it will write data patterns
and re-read them.

If you have setup a network in the config file (e.g. vif = [''] ), it will
print incoming packets.

If you have setup a VFB in the config file (e.g. vfb = ['type=sdl'] ), it will
show a mouse with which you can draw color squares.

If you have compiled it with TCP/IP support, it will run a daytime server on
TCP port 13.