I've been playing w/ colinux and I just recompiled a colinux kernel. I
still don't have a booting kernel, however, I was amazed when it probed my
physical NIC's and IDE interfaces. I knew colinux allowed the kernel to
operate in parallel but I had no idea that it had direct access to these
physical devices. After the hdX probes windows hangs (at least those apps
which are swapped to disk) because it kills the IDE interface until next
The implications of this are amazing:
1. SCSI -- Use 2 controllers. Windows gets one and colinux gets the
other. They are both booted simultaneously and with no overlap
2. NICs -- Have several nics, some for windows and some for colinux.
3. Other hardware -- It appears that any hardware which linux can probe
that windows is not using, colinux can use native. I think this assumes
the interrupt is not shared as well which could be difficult. I'm still
playing with these scenarios and I am curious what others' input here
would be. Any device which colinux uses /must/ be disabled in windows
and any device windows is using must /not/ be probed by linux or it'll get
confused (ide in example).
On a side note, I've just about got colinux acting as my windows firewall
by bridging a colinux interface with the outside world and removing tcp/ip
from windows' bind of the external interface. I'll keep ya posted on the
National Security Concepts, Inc.
PO Box 3567
Tualatin, OR 97062
Voice: (503) 293-7656
Fax: (503) 885-0770
> > The implications of this are amazing:
> > 1. SCSI -- Use 2 controllers. Windows gets one and colinux gets the
> > other. They are both booted simultaneously and with no overlap
> > 2. NICs -- Have several nics, some for windows and some for colinux.
> > 3. Other hardware -- It appears that any hardware which linux can probe
> > that windows is not using, colinux can use native. I think this assumes
> > the interrupt is not shared as well which could be difficult. I'm still
> > playing with these scenarios and I am curious what others' input here
> > would be. Any device which colinux uses /must/ be disabled in windows
> > and any device windows is using must /not/ be probed by linux or it'll get
> > confused (ide in example).
> Are you saying it's possible to get direct access to any hardware-device not in
> use by windows? What steps do I need to take to make this possible?
> Maybe this is something for the wiki-site?
At first glance it looks like it. I disabled my NIC (via rhine) in
windows and compiled a module for it under colinux. It inserted fine,
detected the hardware and I even got an ip bound to it on eth1 (eth0 was
the colinux net dev). For some reason if I try to ping it says connect:
Because windows does recognize the device and it is simply disabled, it's
possible that it is being initialized somehow which confuses colinux. I
can say that after colinux picks up the nic windows can't enable it until
next reboot so something is going on at the hardware level. If I can find
a NIC that is not in windows's driver database so it sees it as
"(Yellow!)Ethernet Adapter" in unknown devices I'll try again and see if
linux can init the device. Incidentally, my nic is on irq 23 and does not
share an irq w/ other devices.
My guess is that since colinux is effectively slave to windows, it does
not have access to real hardware interrupts. Though, if this is the case,
it should never have been able to detect my hardware in the first place
unless there is a layer between windows and colinux which reports the
hardware in an indirect way. I have not actually played with other
devices like SCSI yet, but that's next.