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 ENV{MATCHADDR}="$attr{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 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"
- Edit the file
/sbin/start_udev
and add some lines before the "/dev/.in_sysinit" near line 39:
- Be carefully with this edit! Errors make system non usable.
--- /sbin/start_udev +++ /sbin/start_udev @@ -36,6 +36,23 @@ exec >/dev/console 2>/dev/console </dev/console fi +# 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 + . /etc/init.d/functions . /etc/sysconfig/udev
- 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 step. This can also do in the system maintaince mode:
mount -o remount,rw / chmod -x /sbin/udevd reboot