diff options
Diffstat (limited to 'source/a/sysvinit-scripts/scripts')
-rw-r--r-- | source/a/sysvinit-scripts/scripts/rc.6 | 4 | ||||
-rw-r--r-- | source/a/sysvinit-scripts/scripts/rc.M | 16 | ||||
-rw-r--r-- | source/a/sysvinit-scripts/scripts/rc.S | 25 |
3 files changed, 28 insertions, 17 deletions
diff --git a/source/a/sysvinit-scripts/scripts/rc.6 b/source/a/sysvinit-scripts/scripts/rc.6 index 465a0a4a7..8288128c7 100644 --- a/source/a/sysvinit-scripts/scripts/rc.6 +++ b/source/a/sysvinit-scripts/scripts/rc.6 @@ -189,9 +189,9 @@ fi # Carry a random seed between reboots. echo "Saving random seed from /dev/urandom in /etc/random-seed." -# Use the pool size from /proc, or 512 bytes: +# Use the pool size from /proc, or 4096 bits: if [ -r /proc/sys/kernel/random/poolsize ]; then - /bin/dd if=/dev/urandom of=/etc/random-seed count=1 bs=$(cat /proc/sys/kernel/random/poolsize) 2> /dev/null + /bin/dd if=/dev/urandom of=/etc/random-seed count=1 bs=$(expr $(cat /proc/sys/kernel/random/poolsize) / 8) 2> /dev/null else /bin/dd if=/dev/urandom of=/etc/random-seed count=1 bs=512 2> /dev/null fi diff --git a/source/a/sysvinit-scripts/scripts/rc.M b/source/a/sysvinit-scripts/scripts/rc.M index 63cb88015..d9b3fed3b 100644 --- a/source/a/sysvinit-scripts/scripts/rc.M +++ b/source/a/sysvinit-scripts/scripts/rc.M @@ -86,7 +86,7 @@ fi # Run rc.udev again. This will start udev if it is not already running # (for example, upon return from runlevel 1), otherwise it will trigger it # to look for device changes and to generate persistent rules if needed. -if grep -wq sysfs /proc/mounts && grep -q tmpfs /proc/filesystems ; then +if grep -wq sysfs /proc/mounts && grep -q devtmpfs /proc/filesystems ; then if ! grep -wq nohotplug /proc/cmdline ; then if [ -x /etc/rc.d/rc.udev ]; then /bin/sh /etc/rc.d/rc.udev start @@ -124,6 +124,7 @@ fi # Remove stale locks and junk files (must be done after mount -a!) /bin/rm -f /var/lock/* /var/spool/uucp/LCK..* /tmp/.X*lock /tmp/core /core 2> /dev/null +/bin/rm -rf /var/spool/cron/cron.?????? 2> /dev/null # Remove stale hunt sockets so the game can start. if [ -r /tmp/hunt -o -r /tmp/hunt.stats ]; then @@ -206,6 +207,9 @@ fi if [ -x /usr/bin/update-pango-querymodules ]; then /usr/bin/update-pango-querymodules --verbose fi +if [ -x /usr/bin/glib-compile-schemas ]; then + /usr/bin/glib-compile-schemas /usr/share/glib-2.0/schemas >/dev/null 2>&1 +fi # Start dnsmasq, a simple DHCP/DNS server: if [ -x /etc/rc.d/rc.dnsmasq ]; then @@ -239,16 +243,6 @@ fi # /usr/sbin/smartd #fi -# If we're using udev, make /dev/cdrom and any other optical drive symlinks -# if some udev rule hasn't made them already: -if grep -wq sysfs /proc/mounts && grep -q tmpfs /proc/filesystems; then - if ! grep -wq nohotplug /proc/cmdline ; then - if [ -x /lib/udev/rc.optical-symlinks -a -x /etc/rc.d/rc.udev ]; then - /bin/sh /lib/udev/rc.optical-symlinks - fi - fi -fi - # Monitor the UPS with genpowerd. # To use this, uncomment this section and edit your settings in # /etc/genpowerd.conf (serial device, UPS type, etc). For more information, diff --git a/source/a/sysvinit-scripts/scripts/rc.S b/source/a/sysvinit-scripts/scripts/rc.S index 97ff7be4c..7b152e90e 100644 --- a/source/a/sysvinit-scripts/scripts/rc.S +++ b/source/a/sysvinit-scripts/scripts/rc.S @@ -40,7 +40,7 @@ fi # all of them), and make any additional device nodes that you need in the # /dev directory. Even USB and IEEE1394 devices will need to have the # modules loaded by hand if udev is not used. So use it. :-) -if grep -wq sysfs /proc/mounts && grep -q tmpfs /proc/filesystems ; then +if grep -wq sysfs /proc/mounts && grep -q devtmpfs /proc/filesystems ; then if ! grep -wq nohotplug /proc/cmdline ; then if [ -x /etc/rc.d/rc.udev ]; then /bin/sh /etc/rc.d/rc.udev start @@ -51,7 +51,22 @@ fi # Mount Control Groups filesystem interface: if grep -wq cgroup /proc/filesystems ; then if [ -d /sys/fs/cgroup ]; then - mount -t cgroup cgroup /sys/fs/cgroup + # See linux-*/Documentation/cgroups/cgroups.txt (section 1.6) + # Check if we have some tools to autodetect the available cgroup controllers + if [ -x /usr/bin/lssubsys -a -x /usr/bin/tr -a -x /usr/bin/sed ]; then + # Mount a tmpfs as the cgroup filesystem root + mount -t tmpfs -o mode=0755 cgroup_root /sys/fs/cgroup + # Autodetect available controllers and mount them in subfolders + controllers="$(lssubsys -a 2>/dev/null | tr '\n' ' ' | sed s/.$//)" + for i in $controllers; do + mkdir /sys/fs/cgroup/$i + mount -t cgroup -o $i $i /sys/fs/cgroup/$i + done + unset i controllers + else + # We can't use autodetection so fall back mounting them all together + mount -t cgroup cgroup /sys/fs/cgroup + fi else mkdir -p /dev/cgroup mount -t cgroup cgroup /dev/cgroup @@ -63,6 +78,8 @@ fi # /etc/lvm/backup/ (LVM2). This is created by /sbin/vgscan, so to # use LVM you must run /sbin/vgscan yourself the first time (and # create some VGs and LVs). +# Create LVM lock/run directories: +mkdir -p -m 0700 /run/lvm /run/lock /run/lock/lvm if [ -r /etc/lvmtab -o -d /etc/lvm/backup ]; then echo "Initializing LVM (Logical Volume Manager):" # Check for device-mapper support. @@ -385,9 +402,9 @@ if [ -f /etc/random-seed ]; then echo "Using /etc/random-seed to initialize /dev/urandom." cat /etc/random-seed > /dev/urandom fi -# Use the pool size from /proc, or 512 bytes: +# Use the pool size from /proc, or 4096 bits: if [ -r /proc/sys/kernel/random/poolsize ]; then - dd if=/dev/urandom of=/etc/random-seed count=1 bs=$(cat /proc/sys/kernel/random/poolsize) 2> /dev/null + dd if=/dev/urandom of=/etc/random-seed count=1 bs=$(expr $(cat /proc/sys/kernel/random/poolsize) / 8) 2> /dev/null else dd if=/dev/urandom of=/etc/random-seed count=1 bs=512 2> /dev/null fi |