-
Notifications
You must be signed in to change notification settings - Fork 9
Mirror of the Xen Repository (PRs not accepted see: http://wiki.xenproject.org/wiki/Submitting_Xen_Project_Patches)
License
xen-project/mini-os
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
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 * minimal Copy-on-Write support * network, block, framebuffer support * transparent access to FileSystem exports (see tools/fs-back) - to build it just type make. - Mini-OS can be configured in various ways by specifying a config file: MINIOS_CONFIG=config-file make config-file can contain various CONFIG_* items set to either "y" or "n". Their defaults can be found in Config.mk. It is possible to specify the interface version of Xen via setting XEN_INTERFACE_VERSION=<version> in the config file. This defaults to 0x00030205, which is the minimal version supported. The latest available version is specified by setting XEN_INTERFACE_VERSION=__XEN_LATEST_INTERFACE_VERSION__ - By typing make testbuild it is possible to test builds of various configurations. This should be done always after modifying Mini-OS. The configurations which are build tested can be found in the directory arch/*/testbuild with one file per configuration. Those configurations are being built for each sub-architecture (e.g. x86_32 and x86_64 for the x86 architecture). Please update the current configuration files when adding a new CONFIG_ item and maybe even add a new configuration file if the new item interacts with other CONFIG_ items. - to build it with TCP/IP support, download LWIP 1.3.2 source code and type make LWIPDIR=/path/to/lwip/source - to build it with much better libc support, see the stubdom/ directory - to start it do the following in domain0 # xl create -c domain_config 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. ARM notes ========= - The IRQ numbers are currently hard-coded in gic.c and may need to be updated if future versions of Xen change them.
About
Mirror of the Xen Repository (PRs not accepted see: http://wiki.xenproject.org/wiki/Submitting_Xen_Project_Patches)
Resources
License
Stars
Watchers
Forks
Packages 0
No packages published