The Cooperative Linux Daemon hosts the Linux virtual machine as one process under the host operating system. Its command line syntax is as follows: colinux-daemon [-h] [-d] [-t name] ([-c config.xml]|[configuration and boot parameters]) -h Show this help text -c config.xml Specify configuration file (default: colinux.default.xml) -d Don't launch and attach a coLinux console on startup -t name When spawning a console, this is the type of console (e.g, nt, fltk, etc...) Configuration and boot parameters: When specifying kernel=vmlinux (where vmlinux is the kernel image file the -c option is not needed. Instead, you pass all configuration via the command line, for example: colinux-daemon kernel=vmlinux cobd0=root_fs root=/dev/cobd0 hda1=:cobd0 Use of new aliases automatically allocates cobd(s), for example: colinux-daemon mem=32 kernel=vmlinux hda1=root_fs root=/dev/hda1 Unhandled paramters are forwarded to the kernel's boot parameters string. The daemon spits out the kernel's printk() messages along with its own prints. It also optionally launches the virtual VGA console, that can be used to interface with the virtual machine. The following options are specific to Windows NT/XP/2000: --install-service [name] Install colinux-daemon.exe as an NT service (default service name: Cooperative Linux) --remove-service [name] Remove colinux service (default service name: Cooperative Linux) --install-driver Install the colinux-driver (linux.sys) --remove-driver Install the colinux-driver (linux.sys) --status-driver Show status about the installed/running driver It is also possible (and sometimes preferable) to configure coLinux from the command line, i.e, XML config is not needed. This mode and the XML mode are mutual exclusive. The reason for this feature is an ongoing effort to bring coLinux's interfaces to be closer to UML (User Mode Linux) *and* to make it easier to operate for the novice users. The kernel= option enables this mode. Order of parameters is not important when options don't depend on each other. For example: colinux-daemon kernel=vmlinux Boots a kernel without any block devices. colinux-daemon kernel=vmlinux mem=32 Boots the kernel with 32 MB of RAM. colinux-daemon -d kernel=vmlinux mem=32 The '-d' option still works. colinux-daemon kernel=vmlinux cobd0=c:\coLinux\root_fs It automatically adds \DosDevices\ where needed. Make sure you use double-slashes in the situations where shell escaping forces you to. colinux-daemon kernel=vmlinux cobd0=c:\coLinux\root_fs root=/dev/cobd0 ro Of course we need to pass root= to the kernel. Note that every parameter in that command line that is not handled by coLinux's code is passed along as a kernel boot parameters. colinux-daemon kernel=vmlinux cobd0=root_fs root=/dev/cobd0 ... and resolve relative pathnames. colinux-daemon kernel=vmlinux cobd0=root_fs hda2=:cobd0 root=/dev/cobd0 Device node aliasing. The ':' tells the daemon that's cobd0 is not a pathname - understand using the next example. colinux-daemon kernel=vmlinux hda1=root_fs root=/dev/hda1 This makes life a lot easier. If you map an device node directly - it would automatically allocate a cobd and make an alias for it! This syntax reminds a bit of QEMU's syntax (it also has hda=). colinux-daemon kernel=vmlinux hda1=root_fs root=/dev/hda1 initrd=initrd.gz Upgrade your kernel modules for this snapshot. Options for networking: eth0=tuntap Use the first TAP device. eth0=tuntap,"Local Area Network" You name it. eth0=tuntap,"Local Area Network",11:22:33:44:55:66 Set a MAC address. eth0=pcap-bridge,"Local Area Network" Uses PCAP bridging.