This is cool. Combining with the other stuff I've already read I think
we can create this contraption:
Change the /etc/fstab so that:
- boots from /dev/root
/dev/root / ext3 defaults 0 1
- make two entries (with native and cobd) for the other entries and set
them not to be fscheked. For example:
/dev/hda2 /home ext3 defaults 0 0
/dev/cobd3 /home ext3 defaults 0 0
/dev/sda1 /var ext3 defaults 0 0
/dev/cobd4 /var ext3 defaults 0 0
As the hda2/cobd3 will no longer be fscheked, we need a new mechanism
for doing it. This can be done by adding creating a script (say
34Sfschek-colinux) that does that and put it in /etc/rcd.S. Also use the
other mechanism suggested: pass an argument to the kernel. For example:
In the /etc/ we create a new directory colinux. Under it we create
different dirs, one for each possible BOOTENVIRON. Also, a 'default' dir
used if BOOTENVIRON is empty or not defined. In these folders we can
store configuration specific stuff.
For the above case, we could put a file read by the above
34Sfschek-colinux script. The files could be like this:
Of course, the script should be actually be /etc/init.d/fschek-colinux
and just be symlinked to /etc/rcd.S to /etc/rcd.S/34Sfschek-colinux so
that it is called before mounting all unmounted stuff from /etc/fstab.
Another possibility is to store no additional entries in the /etc/fstab
but only those that are not affected by dual-boot (like the /dev/root or
the network drives) and make the script read explictly what and how to
mount. The downside is that you will not be able to mount a device using
'mount /dev/cobd3' or 'mount /home' anymore). The upside is that you
could really have different configurations, like different amount of
block devices that needs to be mounted).
Once the devices are mounted read-write, other scripts can do later
further configuration (preferably before the default scripts are doing
their job). This preconfiguration should not contain more than
necessary, however, the simplest solution would be for a single script
that just overwrite or symlinks from /etc/colinux/XXX to /etc/ all files
found in /etc/colinux/XXX (except the above mentioned
This, of course, could be solved with no trouble by the 'alias' stuff.
Untill then, I think this could be an alternative.
Frank Klop wrote:
> Just to share my efforts on getting a colinux - gentoo dualboot working:
> Both Gentoo native kernel and colinux use devfs. This means that
> /dev/root always points to the correct root partition both in colinux
> and native gentoo. So, just replace /dev/cobd0 with /dev/root into your
> fstab and the gentoo init scripts work with colinux and native boot.
> Remains the differences with swap partitions. My colinux swap partition
> and gentoo native boot swap partition are one and the same, but in fstab
> are called /dev/cobd2 and /dev/hda3. An easy fix is just to list both
> partitions as swap in your fstab. With devfs, only one of the devices is
> available and trying to add the other just gives you an error message.
> (devfs fires modprobe and tries to load the missing device file as module)
> Getting rid of the error message is possible as well: add /dev/cobd2 and
> /dev/hda3 (my swap partitions) to your modules.conf (or aliases in
> gentoo) as follows:
> alias /dev/cobd2 off
> alias /dev/hda3 off
> How I love these open systems ;-)
> BTW: WinPCAP (bridged) networking works much better on my WinXP -
> Colinux system compared to the TAP method. DHCP provides an IP address
> to both XP and colinux...
________ Information from NOD32 ________
This message was checked by NOD32 Antivirus System for Linux Mail Server.