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.rulesand 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
ENV{MATCHADDR}="$attr{address}"
- Edit file
/etc/udev/rules.d/70-persistent-net.rulesand 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 &
+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_udevand 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 @@
udevd=/sbin/udevd
MAKEDEV="/sbin/MAKEDEV"
+# Create static /dev
+if [ -f /staticdev.tgz ]
+then
+ 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
+fi
+
# Check SELinux status
selinuxfs="$(fstab_decode_str `LC_ALL=C awk '/ selinuxfs / { print $2 }' /proc/mounts`)"
SELINUX_STATE=
- Create a tar archive from current /dev and reboot:
cd / tar --exclude ".udev" -czf staticdev.tgz dev reboot
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 reboot
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