Colinux on Windows XP/2003

Welcome to my page on install and configure colinux (Cooperative Linux) under Microsoft Windows XP and 2003 Server.

For a safer configuration I have used a Windows system with two networks cards. The first to bind and run Windows services, the other to provide network’s connectivity dedicated to the colinux virtual system. The net cards have two different IP of the same network (netmask 255.255.255.0).

- download and install colinux (all default preferences on install wizard’s are a good start point…)

- get from the download page link of the colinux homepage a root fs image. I have downloaded the image of Debian Linux 3.0 (Debian-3.0r2.ext3-mit-backports.1gb.bz2). Extract the image into colinux installation’s directory.

- go to colinux installation’s directory and copy the file defaul.colinux.xml to debian3.xml. Edit debian3.xml and change these lines:

from: <block_device index=“0″ path=“\DosDevices\c:\coLinux\root_fs” enabled=“true” />
to: <block_device index=“0″ path=“\DosDevices\c:\program files\coLinux\Debian-3.0r2.ext3-mit-backports.1gb” enabled=“true” />
(Note: This must be the path of the OS image file)from: <block_device index=“1″ path=“\DosDevices\c:\coLinux\swap_device” enabled=“true” />
to: <block_device index=“1″ path=“\DosDevices\c:\program files\coLinux\swap.img” enabled=“true” />
(Note: This must be the path of the swap image file)from: <memory size=“64″ />
to: <memory size=“256″ />
(Note: This is the total amount of ram for the virtual machine)from: <network index=“0″ type=“tap” />
to: <network index=“0″ type=“tap” name=“Local Area Connection 3″ />
(Note: Here you need to put the TAP-Win32 Adapter name)

- with a Unix system create a empty file-image with the dd command:
# dd if=/dev/zero of=swap.img bs=1024k count=256
run mkswap on the created image…
# mkswap swap.img
compress it with tar and copy to the Windows system. Then extract the image to colinux installation’s directory.

- on the Windows system go to the network properties and select with the ctrl key pressed the second real network card and the new TAP-Win32 Adapter (a virtual NIC added by the colinux installation wizard’s). Then right click on the double selection and make a Bridge.

Colinux/Windows pre bridge Colinux/Windows post bridge- open a command prompt (Start -> Run -> cmd) and go to the colinux installation directory. Run this command:
# colinux-daemon.exe -c debian3.xml
The Cooperative Linux console will appear with a booting Debian Linux 3.0.
Colinux Console
At the login prompt type root with password root. Check the network with the ifconfig command and configure eth0 if it’s not already configured…
# ifconfig eth0 192.168.0.10 netmask 255.255.255.0
then add a default gateway
# route add default gw 192.168.0.254
Edit /etc/resolv.conf adding your DNS servers and change the root password with one more secure…
# passwd root

- You can also create a Windows service that start and stop the colinux virtual machine like any other windows service (at boot, or manual, etc…). Go to colinux installation’s directory and run…
# colinux-daemon.exe -c debian.xml –install-service “Cooperative Linux Debian”

You have to check your installation path, network interface name and networks address to fit your LAN and your Windows system to get a working configuration for you. The linux virtual system is like a real machine, so you can use it like every linux (Debian Linux, in this example).
It’s not too difficult, anyway :-)

So now you can use linux everywhere, even on Windows systems!!! ;-)

PS: for this tutorial I have used coLinux-0.6.2.exe. To edit files I suggest to use a more powerful editor than notepad. The free for personal use EditPad Lite, is a nice choice.

23 Responses to “Colinux on Windows XP/2003”

  1. Paolo Conti - WebLog » Blog Archive » Colinux in Windows XP/2003 Says:

    […] di scrivere giusto quattro righe che spiegano come si installa e come si configura… >>> This entry was posted on Monday, June 20th, 2005 at 7:54 pm […]

  2. Zava Says:

    Ti ringrazio tantissimo per questa semplice guida all’ installazione e configurazione di Colinux !

    Io ero fermo alla password di root….

  3. Lorenzo Balan Says:

    Hi Paolo,

    very good information, i’m a newbie to this linux OS and especially over windows. I beleive that i followed your instructions to the letter, but its telling me that i need to specify a valid “Root Device”. following is the result when running the command.

    C:\Program Files\coLinux>colinux-daemon.exe -c debian3.xml
    Cooperative Linux Daemon, 0.6.2
    Compiled on Sat Feb 5 10:19:28 2005

    auto selecting TAP
    found TAP device named “Local Area Connection”
    Linux version 2.6.10-co-0.6.2 (karrde@callisto.yi.org) (gcc version 3.3.5 (Debia
    n 1:3.3.5-8)) #5 Sat Feb 5 10:19:16 IST 2005
    opening TAP: “Local Area Connection”
    driver version 8.1
    256MB LOWMEM available.
    enabling TAP…
    initrd enabled: start: 0xcfea2000 size: 0×0015db27)
    On node 0 totalpages: 65536
    DMA zone: 0 pages, LIFO batch:1
    Normal zone: 65536 pages, LIFO batch:16
    HighMem zone: 0 pages, LIFO batch:1
    Built 1 zonelists
    Kernel command line: root=/dev/cobd0
    Initializing CPU#0
    Setting proxy interrupt vectors
    PID hash table entries: 2048 (order: 11, 32768 bytes)
    Using cooperative for high-res timesource
    Console: colour CoCON 80×25
    Dentry cache hash table entries: 65536 (order: 6, 262144 bytes)
    Inode-cache hash table entries: 32768 (order: 5, 131072 bytes)
    Memory: 254592k/262144k available (1502k kernel code, 0k reserved, 548k data, 10
    4k init, 0k highmem)
    Calibrating delay loop… 475.13 BogoMIPS (lpj=2375680)
    Mount-cache hash table entries: 512 (order: 0, 4096 bytes)
    CPU: After generic identify, caps: bfebfbff 00000000 00000000 00000000
    CPU: After vendor identify, caps: bfebfbff 00000000 00000000 00000000
    CPU: Trace cache: 12K uops, L1 D cache: 8K
    CPU: L2 cache: 512K
    CPU: After all inits, caps: bfebfbff 00000000 00000000 00000080
    CPU: Intel(R) Xeon(TM) CPU 2.60GHz stepping 07
    Enabling fast FPU save and restore… done.
    Enabling unmasked SIMD FPU exception support… done.
    Checking ‘hlt’ instruction… OK.
    checking if image is initramfs…it isn’t (no cpio magic); looks like an initrd
    Freeing initrd memory: 1398k freed
    NET: Registered protocol family 16
    devfs: 2004-01-31 Richard Gooch (rgooch@atnf.csiro.au)
    devfs: boot_options: 0×0
    cofuse init 0.1 (API version 2.2)
    Initializing Cryptographic API
    serio: cokbd at irq 1
    io scheduler noop registered
    io scheduler anticipatory registered
    io scheduler deadline registered
    io scheduler cfq registered
    RAMDISK driver initialized: 16 RAM disks of 4096K size 1024 blocksize
    elevator: using anticipatory as default io scheduler
    cobd: loaded (max 32 devices)
    loop: loaded (max 8 devices)
    conet: loaded (max 16 devices)
    conet0: initialized
    mice: PS/2 mouse device common for all mice
    input: AT Translated Set 2 keyboard on cokbd
    NET: Registered protocol family 2
    IP: routing cache hash table of 2048 buckets, 16Kbytes
    TCP: Hash tables configured (established 16384 bind 32768)
    NET: Registered protocol family 1
    NET: Registered protocol family 17
    RAMDISK: Compressed image found at block 0
    EXT2-fs warning: checktime reached, running e2fsck is recommended
    VFS: Mounted root (ext2 filesystem).
    VFS: Cannot open root device “cobd0″ or unknown-block(117,0)
    Please append a correct “root=” boot option
    Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(117,0)

    Much appericiate your help and assistance.
    Lorenzo

  4. Paolo Says:

    Hi Lorenzo,
    I suppose that you don’t have set correctly the block_device index=“0″ config parameter. Double check your path into config file! :)
    Have you uncompressed the system image file?
    Maybe, you can post your config file, writing down your installation path…

    Bye!

  5. Lorenzo Balan Says:

    Hi Paolo, Thanks i found my mistake; when editing the debian-3.xml file i had put in wrong information as to the file name. (typo). i have it up and running but i’m still unable to ping to the internet.
    if i unbridge the network i’m able to ping from regular dos prompt.
    this is my scenario.
    i have 2 network card, attached to the internet on the same lan both have access to the internet i have bridged 1 connection to the TAP-WIN32 adapter and run debian.
    all connects good but i’m still unable to ping internet.

    here is the result of the command.
    P.S. i had changed location when i saw my error, but thats no problem.

    C:\coLinux>colinux-daemon.exe -c debian-3.xml
    Cooperative Linux Daemon, 0.6.2
    Compiled on Sat Feb 5 10:19:28 2005

    auto selecting TAP
    found TAP device named “Local Area Connection 3″
    opening TAP: “Local Area Connection 3″
    driver version 8.1
    enabling TAP…
    Linux version 2.6.10-co-0.6.2 (karrde@callisto.yi.org) (gcc version 3.3.5 (Debia
    n 1:3.3.5-8)) #5 Sat Feb 5 10:19:16 IST 2005
    256MB LOWMEM available.
    initrd enabled: start: 0xcfea2000 size: 0×0015db27)
    On node 0 totalpages: 65536
    DMA zone: 0 pages, LIFO batch:1
    Normal zone: 65536 pages, LIFO batch:16
    HighMem zone: 0 pages, LIFO batch:1
    Built 1 zonelists
    Kernel command line: root=/dev/cobd0
    Initializing CPU#0
    Setting proxy interrupt vectors
    PID hash table entries: 2048 (order: 11, 32768 bytes)
    Using cooperative for high-res timesource
    Console: colour CoCON 80×25
    Dentry cache hash table entries: 65536 (order: 6, 262144 bytes)
    Inode-cache hash table entries: 32768 (order: 5, 131072 bytes)
    Memory: 254592k/262144k available (1502k kernel code, 0k reserved, 548k data, 10
    4k init, 0k highmem)
    Calibrating delay loop… 51.50 BogoMIPS (lpj=257536)
    Mount-cache hash table entries: 512 (order: 0, 4096 bytes)
    CPU: After generic identify, caps: bfebfbff 00000000 00000000 00000000
    CPU: After vendor identify, caps: bfebfbff 00000000 00000000 00000000
    CPU: Trace cache: 12K uops, L1 D cache: 8K
    CPU: L2 cache: 512K
    CPU: After all inits, caps: bfebfbff 00000000 00000000 00000080
    CPU: Intel(R) Xeon(TM) CPU 2.60GHz stepping 07
    Enabling fast FPU save and restore… done.
    Enabling unmasked SIMD FPU exception support… done.
    Checking ‘hlt’ instruction… OK.
    checking if image is initramfs…it isn’t (no cpio magic); looks like an initrd
    Freeing initrd memory: 1398k freed
    NET: Registered protocol family 16
    devfs: 2004-01-31 Richard Gooch (rgooch@atnf.csiro.au)
    devfs: boot_options: 0×0
    cofuse init 0.1 (API version 2.2)
    Initializing Cryptographic API
    serio: cokbd at irq 1
    io scheduler noop registered
    io scheduler anticipatory registered
    io scheduler deadline registered
    io scheduler cfq registered
    RAMDISK driver initialized: 16 RAM disks of 4096K size 1024 blocksize
    elevator: using anticipatory as default io scheduler
    cobd: loaded (max 32 devices)
    loop: loaded (max 8 devices)
    conet: loaded (max 16 devices)
    conet0: initialized
    mice: PS/2 mouse device common for all mice
    input: AT Translated Set 2 keyboard on cokbd
    NET: Registered protocol family 2
    IP: routing cache hash table of 2048 buckets, 16Kbytes
    TCP: Hash tables configured (established 16384 bind 32768)
    NET: Registered protocol family 1
    NET: Registered protocol family 17
    RAMDISK: Compressed image found at block 0
    EXT2-fs warning: checktime reached, running e2fsck is recommended
    VFS: Mounted root (ext2 filesystem).
    ReiserFS: cobd0: warning: sh-2021: reiserfs_fill_super: can not find reiserfs on
    cobd0
    kjournald starting. Commit interval 5 seconds
    EXT3 FS on cobd0, internal journal
    EXT3-fs: recovery complete.
    EXT3-fs: mounted filesystem with ordered data mode.
    EXT3 FS on cobd0, internal journal
    EXT3-fs: mounted filesystem with ordered data mode.
    VFS: Mounted root (ext3 filesystem).
    Trying to move old root to /initrd … okay
    Freeing unused kernel memory: 104k freed
    kjournald starting. Commit interval 5 seconds
    EXT3 FS on cobd0, internal journal

  6. Paolo Says:

    The config parameter network index=“0″ type=“tap” name=“Local Area Connection 3″ it’s very important. Are you sure that the name Local Area Connection 3 is the same of your bridged connection? Have you tried to telnet some host (eg. telnet www.google.com 80)?
    Ping sometimes require permissions that bridging can’t grant.
    (you can find some others hints here)

  7. Venkata Thiagarajan Says:

    Hi,

    Thanks for sharing the tips, it worked without a glitch… It is a great product.

  8. Simon John Says:

    Hi,
    I hv installed two colinux (with debian-fs) on Win-XP with two different TAP-Win32 for each colinux.
    Now WinXP is able to ping the two colinux and both colinux are also able to ping WinXP.
    “BUT — the colinux are not able to ping the other colinux.”

    Can anyone help me, in order to establish a connection between the two colinux on my Win-XP.

    Thanks

  9. Clint Says:

    I simply cannot get this to work. I must have missed something but I cant see it, so I’m looking for other eyes to take a look and tell me where I’m wrong, please.

    I continually get …

    daemon: exit code 88064401
    daemon: error - CO_RC_ERROR_ERROR, line 401, file colinux/user/config.o (64)

    … or similar. The colinux site is adamant that something in my config file is wrong to be getting this message.

    My file looks like …

    –>

    ro root=/dev/cobd0

    Can you see what I’ve missed ?

    Thanks,

  10. Clint Says:

    –>

    ro root=/dev/cobd0/colinux

  11. Paolo Says:

    Hi Clint,
    have you double checked the config file (especially any path)?
    Are you running colinux with administrator privileges?

    cu

  12. Clint Says:

    Here is the config file with any’s

    colinux
    block_device index=”0″ path=”\DosDevices\C:\coLinux\Debian-3.0r2.ext3-mit-backports.1gb” enabled=”true”\
    block_device index=”1″ path=”\DosDevices\c:\coLinux\swap.img” enabled=”true”\
    bootparams ro root=\dev\cobd0 \bootparams
    image path=”vmlinux”\
    memory size=”64″\
    network index=”0″ type=”tap” name=”Local Area Connection 4″\
    \colinux

  13. Clint Says:

    I’m using colinux-0.6.3 installed to c:\colinx
    I downloaded the debian image and unzipped it into the c:\colinux directory
    I downloaded a 256mb swap image and unzipped it into the c:\colinux directory.
    I installed Winpcap 3.1 as requested by the colinux install and I bridged my TAP network interface with my LAN interface.

    Together with the above config file (missing the arrow brackets to be able to post it) I get the above error.

    I have also added ” /noexecute=Always Off /NOPAE” to my boot.ini as suggested. To no avail.

  14. Clint Says:

    It is now working. I had to re-add

    ?xml version=”1.0″ encoding=”UTF-8″?

    to the beginning of the xml file and then add ” /noexecute=Always Off /NOPAE” to my boot.ini

  15. Paolo Says:

    Sorry for my missing reply, but I’m very busy this spring :)

    Nice to see all working now!

    bye

  16. wowow Says:

    Hi,
    I got this err msg
    process `nslookup’ is using obsolete setsockopt SO_BSDCOMPAT

    (firefox-bin:3479): Gtk-WARNING **: cannot open display:

    seems like the problem with graphic config, anyone can give me a clue ?

    Thanks

  17. Paolo Says:

    Very strange,
    nslookup is a console program and the error is called from FireFox (firefox-bin:3479). Try to connect to your Colinx with ssh (using for example putty) and run again nslookup.

  18. wowow Says:

    Thanks for the reply…I was not running nslookup, nor firefox.
    It happened when I run the ./sara (/usr/local/sara),and I doubted I did the setup correctly…

  19. Trey Says:

    hi,

    been trying to get co linux going for about 4 days now ,,, I started with topologi linux which seemed rather broken,,,

    I am now using colinux 6.4 debian installed ,

    i only have one network adapter and have been pulling my hair out trying to get the net work going so i can update, install kde and use x viewer

    if you can help please do , running xp pro sp2 win 32 tap installed

    when i share or bridge connections i lose conectivity all together.
    this may be a stupid problem but im new and if people would pst tutorials in a step by step manner then explain next the world would run much more
    smoothly thanx

  20. Paolo Says:

    Hi Trey,
    I suppose this may be a problem generated by the SP2. Can be a firewall problem, if you lost connectivity. Try disabling the windows internal firewall; this might help.

    But remember that security is important: if windows firewall is your only protection from internet, if you disable it, you have a problem :)

    You can try also vmware player, now is free and can maybe easyer to setup than colinux.

    bye

  21. Thaufek Says:

    Hi Paolo,

    greate tutorial, i am lookng for installing redhat9.0 with colinux is it possible. Is installting rh9.0 with Colinux on SATA will be a problem? ineed rh9.0 to be instaled in SATA coz i have an application that only can run on rh9.0

    Thanks

  22. Paolo Says:

    Hi Thaufek, thank you.
    I have not tested colinx with red hat 9 and recent hardware, so I can’t really answer your question. You have to try! :)

    You can also use others virtualization software, like VMware Server http://www.vmware.com/products/server/ , VMware Player http://www.vmware.com/products/player/ or VirtualBox http://www.virtualbox.org/

    Any of these software is much easier than colinux to setup and use and they are free…

  23. Milomir Says:

    how can i boot in graphic mode?

Leave a Reply