--- colinux-0.7.3/initrd/linuxrc
+++ colinux-0.7.3/initrd/linuxrc
@@ -131,6 +131,24 @@
 	cat /etc/issue
 fi
 
+extract_var() { sed "s:.*$1=\([^[:space:]]*\).*:\1:" /proc/cmdline ; }
+if [ "$(extract_var COLINUX_SETUP)" = "yes" ] ; then
+	echo "Performing CoLinux setup" >> $LOG
+	COLINUX_SETUP_FS=$(extract_var COLINUX_SETUP_FS)
+	COLINUX_SETUP_EXEC=$(extract_var COLINUX_SETUP_EXEC)
+	echo " COLINUX_SETUP_FS=$COLINUX_SETUP_FS" >> $LOG
+	echo " COLINUX_SETUP_EXEC=$COLINUX_SETUP_EXEC" >> $LOG
+	if mount -t cofs /dev/${COLINUX_SETUP_FS} /mnt ; then
+		# move init script to / so we can unmount /mnt later on
+		cd /mnt
+		cp "./$COLINUX_SETUP_EXEC" /
+		. "/$COLINUX_SETUP_EXEC"
+		cd /
+	else
+		echo "Unable to mount COLINUX_SETUP_FS ($COLINUX_SETUP_FS)" >> $LOG
+	fi
+fi
+
 sleep 1
 
 echo -n "Determining /" 
