Converting native Fedora Core 11 to colinux[]

accessing hwclock[]

Disable the access to hardware RTC by removing the executable bit from file:

chmod -x /sbin/hwclock

Or rename the file to something like "hwclock.old".

udev: renamed network interface eth0 to eth1[]

  • Edit file /lib/udev/rules.d/75-persistent-net-generator.rules and set a bypass for coLinux in same way as xen or UML does it. Add the with + marked lines after the entry Xen (near line 26):
--- /lib/udev/rules.d/75-persistent-net-generator.rules.orig
+++ /lib/udev/rules.d/75-persistent-net-generator.rules
@@ -23,6 +23,9 @@
 # ignore Xen virtual interfaces
 SUBSYSTEMS=="xen", GOTO="persistent_net_generator_end"

+# ignore coLinux virtual interfaces
+DRIVERS=="conet", GOTO="persistent_net_generator_end"
 # read MAC address

  • Edit file /etc/udev/rules.d/70-persistent-net.rules and remove all lines. You will mostly find a lot of them. Please remove them all.
Here is a typically patch:
--- /etc/udev/rules.d/70-persistent-net.rules.orig
+++ /etc/udev/rules.d/70-persistent-net.rules
@@ -4,5 +4,3 @@
 # You can modify it, as long as you keep each rule on a single line.

-# Networking Interface (rule written by anaconda)
-SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:29:f2:4f:6b", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

/sbin/start_udev line: 257 cannot redirect standard input from /dev/null[]

Locate the file near line 257 and remove the Ampersand after "make_extra_nodes" at end of line. Here is the patch:

--- /sbin/start_udev.orig
+++ /sbin/start_udev
@@ -254,7 +254,7 @@
        ret=$[$ret + $?]

-make_extra_nodes &
 cmdline=$(cat /proc/cmdline)
 kill_udevd > "$udev_root/null" 2>&1
 rm -fr $udev_root/.udev > "$udev_root/null" 2>&1

Disable udev and use static /dev[]

It's a pain, that udev needs so mutch cpu load while spawning such many processes. You can save a lot of booting time with a statically /dev, created from currently populated directory.

  • Make a copy of file "/sbin/start_udev" to have a backup (If you made mistaken).
  • Edit the file /sbin/start_udev and add some lines before the "Check SELinux status" near line 47:
Be carefully with this edit! Mistakes makes your system non usable.
@@ -44,6 +44,23 @@

+# Create static /dev
+if [ -f /staticdev.tgz ]
+       echo -n "Create static /dev ..."
+       mount -o remount,rw /
+       if tar xzf /staticdev.tgz -C /
+       then
+               chmod -x /sbin/udevd
+               rm /staticdev.tgz
+               sync ; sleep 1
+               mount -o remount,ro /
+               success $"$STRING"
+               echo
+               exit 0
+       fi
 # Check SELinux status
 selinuxfs="$(fstab_decode_str `LC_ALL=C awk '/ selinuxfs / { print $2 }' /proc/mounts`)"
  • Create a tar archive from current /dev and reboot:
cd /
tar --exclude ".udev" -czf staticdev.tgz dev

An error "tar: dev/log: socket ignored" can ignore.

Re-enable udev[]

To have the udev running back, do follow steps. This can also do in the system maintaince mode:

mount -o remount,rw /
chmod -x /sbin/udevd

Single user mode or other Runlevel[]

Single user mode (for system maintain) you can enter by adding single or S into coLinux config line as boot parameter. Other Runlevel can enter by adding the number, for example 1 to boot parameter