This file is outdated. Most recent version of README exist on SourceForge

Please don't edit this page, as it is a copy of the file "README.txt", distributed with coLinux

Cooperative Linux 0.6.4 README

  Instructions for running Cooperative Linux for Windows (see source for 
how to build and run coLinux for Linux)


  Although Cooperative Linux may be actually useful on some setups
(e.g, stable setups), it is still meant for testing purposes only. 
This means that running it may crash the host (Windows or Linux system).


  Any known issues for an release can be found on the Wiki

  PLEASE REPORT and read about problems on the colinux-devel at 
mailing list or file an Bug report at


 1) If upgrading, please backup or copy your current default.colinux.XMfile
      before installing!

 2) If you are upgrading from 0.6.1 to 0.6.4 the kernel version has 
changed (2.4.x in 0.6.1 and 2.6.x in 0.6.4), make sure you get 
module-init-tools if you want to work with modules in this new version. 
See other 2.6 upgrade resources for information about other changes.

 3) Gentoo users need to be careful, Gentoo tends to use devfs when 
upgrading from 0.6.2 and so block device names change from cobdX to cobd/X 
and render the image unbootable.  For more details and solutions see the
2.6 related information on the Wiki 


To run Cooperative Linux, please follow these instructions before trying to run 

1. Run the downloaded installer file to begin the installation. 
2. Choose an installation directory. It is better to choose c:\coLinux because
   this way you don't need to edit the configuration XML since the pathnames
   of block devices files are currently aboslute. However, note that any 
   directory should be acceptable.

3. Choose networking method(s) to install. Currently there are three choices:

	a. TAP driver - This method installs a virtual network adapter that can 
	then be either shared or bridged with a physical network connection. 
	Note that this requires Internet Connection Sharing or Bridging 
	(Windows XP or higher) or a 3rd party Internet connection 
        sharing application. See the Wiki at for
	more information/help. The TAP method autmatically chooses the TAP 
        first TAP adapter it finds, if this is not correct for you, you 
        can specify the specific adapter by name (name="TAP1"). 

  	b. Bridging - This method allows the Cooperative Linux network 
	interface to directly interoperate with one of your built in networking 
	interfaces. You'll need to edit the configuration XML file to reflect 
	that type="bridged" and the 'name' parameter needs to be set to a 
	substring of the network connection name that you will be bridging 
	with (e.g. name="Local Area Connection"). See the Wiki at the page Network for more information/help.

	c. Slirp - The simplest way to use networks in coLinux.  This runs as
	user application on the Windows host and needs no changes on the host
	networks.  Slirp is a good choice for dialup networks and WLAN cards.
	Slirp use all times the current outgoing interface and forwards (NAT)
	networking from linux to the internet world.  Slirp is a virtual
	Gateway for all outgoing TCP and UDP connections (no IMCP, no ping).
	Standard installation works as firewall to your linux.  It means, you
	can not connect from windows side to your linux.  To allow incomings
	from host system to linux, must additional configure 'redirections'.
	Slirp has a DHCP-Server for linux side.  To use slirp, edit your XML
	file and set type="slirp".  Inside linux use DHCP-Client to get your
	network	configuration.  Read more about slirp in the Wiki page Network

4. Choose whether to download a root file system from the Cooperative Linux 
   sourceforge page. The installer will try to download directly in 
   the next step but if you experience any issues you can visit the
   Sourceforge page directly at:

   NOTE ABOUT DISK SPACE: Each image extracts to over 1GB (or more), so make 
   sure you have enough space there before you start downloading/extracting 
   it. If you are manually downloading, put the extracted file in the 
   installation directory. To unzip .bz2 files, you can use Winzip or 7-Zip 
   (or the bzip utilities in Cygwin, etc). The image MUST be extracted from 
   the .bz2 archive before use!

5. Edit the XML file to point to whatever root file system you downloaded. 
6. The installation directory should include vmlinux, default.config.xml, the 
   supplied linux.sys driver, executables and dlls, and probably the root 
   filesystem image. Be sure to review the XML file for any additional 
   configuration that may be needed.

7. Run coLinux. The current directory should be the installation directory, 
   if not, then you man need to change paths (especially for vmlinux)
   in the XML config file..

	a. Running as an service.  
		colinux-daemon.exe -c config.xml --install-service "Cooperative Linux"
	   Also, to remove the service:
		colinux-daemon.exe --remove-service "Cooopeative Linux".
	   Then go to the Service Manager and start the "Cooperative Linux"
		net start "Cooperative Linux"
	   Last, got to the installation directory and double-click on
		colinux-console-fltk.exe OR
	b. As an regular application.
		colinux-daemon.exe -c config.xml
	   See colinux-daemon --help for details about possible 
	   command-line arguments.
   The console window opens and you would see a Linux machine booting in 
   that window.

Post Installation

You may wish to set up some post installation parameters, including increasing
the amount of memory allocated to Cooperative Linux, or adding a swap 
partition. See the Wiki at for 
additional help on these tasks.

Command Line Parameters

The following command line paramaters may be useful in operating Cooperative 

	-a #
		Allows you to specify the instance of Coooperative Linux
		that you will be connecting to.

	-c filename.XML
		Allows you to choose a specific XML configuration file to use.

	-t consoletype
		Allows you to specify either the FLTK (default) or NT (-t nt) 
		console to use on startup. 

	--install-service servicename
		Allows you to install Cooperative Linux as a service. Also 
		use the -c parameter to specify your configuration file when 
		doing this. <servicename> is whatever you want it to be called.

	--remove-service servicename
		Allows you to remove the Cooperative Linux service. 

		This command to install the driver portion of Cooperative 
		Linux. BIG NOTE: This already happens during the installation 
                of coLinux, on most cases you don't need to run it at all.
		This command will remove the driver portion of Cooperative
		Linux. BIG NOTE: This already happens during the uninstall
                of coLinux, on most cases you don't need to run it at all.


	If the first command-line argument on the command line is 
kernel= you will be able to give all the configuration on the 
command-line, in this "mode" the command-line arguments are:

	kernel=<path to vmlinux file>
		This specifies the path to the vmlinux file, typically
                kernel=vmlinux works.

	initrd=<path to initrd file>
		This specifies the path to the initrd file, typeically

	mem=<mem size>
		This specifies the memory size, assumes MB is the the
		unit type, so 64 is same as 64MB. Default if you leave
		this parameter out is 1/4 of your RAM if your RAM is >= 
		128, otherwise it's 16.  Default value is generally ok.

	cobdX=<path to image file>
		Use any number of these to specify the block device's
                image files

	alias=<path to image file> | :cobdX
		Use any number of these to specify an alias (hda1, etc)
                for an block device's image file.  <path to image file>
                can be to an partition using standard 
                \Device\HarddiskX\PartitionY format.

	cofsX=<path to windows directory>
		Use any number of these to specify a Cooperative 
		Host filesystem device (mount Host directory to coLinux
		local mount point). There are some limitations in it's
		use currently (namely non-ASCII files).

	ethX=tap | pcap-bridge,<network connection name>,<MAC>,<promisc> 
		Use any number of these to specify network interfaces,
		<network connection name> and <MAC> are optional.
		<promisc> is optional only for pcap-bridge, default is
		'promisc'. Some cases works only with 'nopromisc'.

		Use any number of these to specify network interfaces,
		<MAC> and <redirections> are options.  <redirections> 
		take the form tcp|upd:host_port:linux_port, multiple 
		redirections are seperated by /, ie tcp:2222:22/tcp:8080:80

	root=<root device>
		This is the device (as coLinux gues sees it) to the root

	ANY additional parameters are passed to the coLinux kernel as is 

Common Problems

	"Unable to mount root fs"
		Generally this means that the root filesystem image is 
		missing, was specified incorrectly, or not uncompressed.

  Additional problems not know at time of release are typically 
documented on the Wiki (, look 
there for known problems.  If your problem isn't listed, report on the 
colinux-devel at mailing list or file an Bug report at

Developing, Helping out the Project

   Check out the source code, and or the Home page 
( for more on developing coLinux and/or helping 
the project out.  Also, subscribing to the Mailing List is helpful.

Getting Help

The following resources are available if you need help getting going, or find 
bugs, etc.

		The official IRC location is at server, 
 		channel #colinux.

		The official website, containing downloads, documentation, 
		FAQ, WIKI, etc., is at

	Project Web-site
		Source Forge Project website is at

		The community has contributed wonderful and helpful 
                information on numerous topics, which is available at
		(You can contribute here too!)

	Mailing Lists
		Visit the website and choose from the available 
		mailing lists (user and devel) to join, view archives, etc.

Dan Aloni
da-x at

Richard Goodwin (readme portions)
colinux at

George P Boutwell (readme updates, fixes, etc)
george.boutwell at