Index: rc.d/rc.sysinit =================================================================== --- rc.d/rc.sysinit (wersja 11895) +++ rc.d/rc.sysinit (kopia robocza) @@ -272,13 +272,17 @@ # cgroup/cpuset support if grep -q cgroup /proc/filesystems 2>/dev/null ; then - # creating is more convenient than artificial conflict with older udev - mkdir -p /dev/cgroup - # mount w/o options enables all available cgroup subsystems - modprobe -s blk-cgroup 2> /dev/null - mount -n -t cgroup none /dev/cgroup + if ! grep -q cgroup /etc/fstab 2>/dev/null ; then + # creating is more convenient than artificial conflict with older udev + mkdir -p /dev/cgroup + # mount w/o options enables all available cgroup subsystems + modprobe -s blk-cgroup 2> /dev/null + mount -n -t cgroup none /dev/cgroup + fi elif grep -q cpuset /proc/filesystems 2>/dev/null ; then - mount -n -t cpuset none /dev/cpuset + if ! grep -q cpuset /etc/fstab 2>/dev/null ; then + mount -n -t cpuset none /dev/cpuset + fi fi # Configure Linux kernel (initial configuration, some required modules still @@ -342,10 +346,11 @@ modprobe dm-mod fi - # but should do this before swapon? . /etc/rc.d/init.d/cryptsetup show "Starting disk encryption" - init_crypto 0 && ok || fail + init_crypto 0 + delay_cryptsetup=$? + [ $delay_cryptsetup = 0 ] && ok || fail fi # Start up swapping @@ -461,10 +466,11 @@ done fi - if [ -f /etc/crypttab ] && ! is_empty_file /etc/crypttab; then - # XXX, this must be probably done after random is initialized from /var/run/random-seed + if [ "$delay_cryptsetup" != 0 ]; then show "Starting disk encryption using the RNG" - init_crypto 1 && ok || fail + init_crypto 1 + delay_cryptsetup=$? + [ $delay_cryptsetup = 0 ] && ok || fail fi else # Start logging console output since we have all /dev stuff setup @@ -669,6 +675,13 @@ fi fi + if [ "$delay_cryptsetup" != 0 ]; then + show "Starting disk encryption" + init_crypto 1 + delay_cryptsetup=$? + [ $delay_cryptsetup = 0 ] && ok || fail + fi + # Add raid devices if [ -x /sbin/mdadm -a -f /etc/mdadm.conf ] || [ -f /etc/raidtab ]; then modprobe -s md >/dev/null 2>&1