Package: systemd-sysv Version: 208-5 My first impressions of systemd-sysv (?) after rebooting were scary. There was a whole minute wait while the system hung.
It turned out that messages from my rc.local were not being displayed. I found them in syslog: Jul 11 05:11:46 jidanni6 rc.local[407]: /dev/sdb2 has been mounted 24 times without being checked, check forced. Jul 11 05:12:41 jidanni6 rc.local[407]: #001/dev/sdb2: |= | 2.3% #015#002#001/dev/sdb2: |=== / 4.5% #015#002#001/dev/sdb2: |==== - 6.8% If systemd-sysv (?) is supposed to be a 'drop-in replacement', then please be sure these messages end up on the initial screens, else the user thinks the system hung. Also: Jul 11 05:13:02 jidanni6 rc.local[407]: /etc/rc.local: line 147: cd: HOME not set What? cd will fail! HOME not set! First time in history of Unix that cd will fail that way I bet! I bet cd ~ will fail too. I thought there were some things we could count on... Jul 11 05:13:03 jidanni6 rc.local[407]: ============ /etc/rc.local: Jul 11 05:13:03 jidanni6 rc.local[407]: Will execute "/etc/init.d/nodm start" in 5 seconds. Jul 11 05:13:03 jidanni6 rc.local[407]: Hit some chars and RET to cancel. Jul 11 05:13:03 jidanni6 rc.local[407]: Hit RET to start right away... MAYBE... My rc.local has interaction with a timeout. But now I cannot interact with it anymore because I can't see what it is asking!
#!/bin/sh # # rc.local # # This script is executed at the end of each multiuser runlevel. # Make sure that the script will "exit 0" on success or any other # value on error. # # In order to enable or disable this script just change the execution # bits. # # By default this script does nothing. # Author : http://jidanni.org/ # Created On : 2009 # Last Modified On: Sat May 24 05:33:27 2014 # Update Count : 213 #I say make sure sysv-rc-conf for nodm is all off, and for rc.local is 2 3 4 5 HOSTNAME=`hostname` case $HOSTNAME in jidanni3) #so beep works #counteract /etc/modprobe.d/eeepc.conf #but 5 is default anyway #http://permalink.gmane.org/gmane.linux.debian.user/379183 echo 0 >| /sys/module/snd_hda_intel/parameters/power_save beep -l 1 #for some reason the first beep after boot is not heard, so "prime" it here #http://permalink.gmane.org/gmane.linux.debian.devel.eeepc/3117 #for stuck temperature sensor case $(cat /sys/devices/virtual/hwmon/hwmon0/temp1_input) in 55000|46000|0) case `date +%m` in *)t=20;; #REST NEVER MIND # 12|01|02|03)t=20;;#21 12|01|02|03)t=21;; 04|11)t=21;;#23 05|10)t=22;;#30 06|09)t=23;;#33 07|08)t=24;;#34 *)echo 1>&2 WHAT MONTH IS THAT?; exit 33;; esac # t=`expr $t + 2` #Taipei/Taichung echo ${t}000 > /tmp/.bogus_jidanni_temperature chmod 666 /tmp/.bogus_jidanni_temperature /etc/init.d/fancontrol start # /sys/devices/platform/eeepc/hwmon/hwmon1/fan1_input ;; esac bell000= #for below ;; # jidanni5) # f=~/$HOSTNAME.brightness # cat $f >| /sys/class/backlight/acpi_video0/brightness;; esac # modprobe r8192s_usb # echo "0bda 8171" > /sys/bus/usb/drivers/rtl819xU/new_id # #ifconfig wlan0 up case $HOSTNAME in jidanni2) # /proc/acpi/ibm/brightness # /usr/share/doc/linux-doc-*/Documentation/laptops/thinkpad-acpi.txt.gz # which rfkill > /dev/null && rfkill list wlan|grep 'Wireless LAN' > /dev/null && if test -e /sys/class/net/wlan0 #ifconfig wlan0 > /dev/null 2>&1 then iwconfig wlan0 txpower off fi # j=/var/run/jidanni_thinkpad_brightness k=/home/jidanni/.brightness_bug_485465_rc.local # ! test -f $j && test -f $k && ! pidof xdm > /dev/null && # rmmod thinkpad-acpi && modprobe thinkpad-acpi brightness_mode=2 && # touch $j # http://bugs.debian.org/485465 # ;; # if test `date +%Y` -lt 2000 # then # if test -d /cf/updates # then # set -- `ls -td /cf/*` # set -- `date -ur $1` # date -s "$*" # echo $0: set date for now to: # date # else echo /cf/updates not mounted. Not messing with time. 1>&2 # fi # fi # f=~/.brightness # if test -f $f # then cat $f > /sys/devices/virtual/backlight/thinkpad_screen/brightness # fi esac # echo 0 >| /sys/devices/virtual/backlight/thinkpad_screen/brightness # find /sys/devices/virtual/backlight/thinkpad_screen/*bright*|xargs more ! test -d /cf/updates && fsck -C -a /cf && mount /cf while ! test -d /cf/updates do echo -n 'Connect /cf flash card, let settle, and hit [skip]RET ' read answer case "$answer" in skip) break;; *) fsck -C -a /cf && mount /cf;; esac done aa=/var/cache/apt/archives\ /var/lib/apt/lists set -- $(find $aa -maxdepth 0 -type d -perm 0) if test $# -ne 2 then ls -ld $aa echo -n "$0: not 000 !!!!! Got that holmes? "; read fi err=0 for m in $aa do fsck -C -a $m && mount $m || err=1 done if test $err != 0 then echo "MOUNT $aa YOURSELF, DUDE, OK? "; read fi f=/cf/updates/hhh.txt if test -s $f then cp -av /cf/updates/hhh.txt /var/tmp/hhh.txt.`date +%u` fi set +xe # cal=/tmp/krazy.calendar # perl -pwle 's/\\t/\t/g' > $cal <<EOF # /* TueLast\\tA Pian Daren, Zhongguang 21:00 */ # SatFirst\\tLan Xuan Kexue zazhi 09:00 # SunFirst\\tLan Xuan Kexue zazhi 09:00 # EOF # set -- $(calendar -f $cal -A 5) # if test $# -gt 0; then echo $@|mail -s $cal jidanni; fi # rm $cal if test -d /cf/updates/ then cd /cf/updates || exit 44 cpiome_notice="$(find cpiome.* -newer ${HOSTNAME?}.logoff -print 2>/dev/null|tee /tmp/CPIOME_NOTICE)" cd if test "$cpiome_notice" then cpiome_notice="**** some cpiomes to unwrap ****: $cpiome_notice" echo "$cpiome_notice" (sleep 44; echo "$cpiome_notice"|wall)& fi fi #set -x on_ac_power; a=$?; case $a in 1) # case $HOSTNAME in # jidanni6) ;; # *) # BATT_FILE=/sys/class/power_supply/BAT?/status # if ! test -f $BATT_FILE # then # echo No \$BATT_FILE $BATT_FILE! ! ! ! ! ! # echo hit RET # read # elif grep -x Discharging $BATT_FILE > /dev/null # then echo -n -e BATTERY is Discharging ! Fix and hit RET' ' read # fi ;; esac #set +x echo "============ $0: Will execute \"${program=/etc/init.d/nodm start}\" in ${seconds=5} seconds. Hit some chars and RET to cancel. Hit RET to start right away... MAYBE..." # Hit ^C to cancel doesn't work here tt=6 kbd=0 x=1 case $HOSTNAME in jidanni[23]) if lsusb -v|perl -nwle 'print unless /Logitech, Inc. Unifying Receiver/../keyboard/i'|grep -i keyboard then echo $0: found the above keyboard... keyboard_risk=1 # if test -f /cf/$HOSTNAME-66OK; then kbd=1; fi tf=/cf/$HOSTNAME-66OK if test -f $tf then kbd=1 echo found $tf, remove it if want rainy day \"$tt\" challenge... echo DON\'T TYPE ANYTHING or else you better have that spare keyboard ready... sleep 4 fi if test ${kbd?} -eq 0 then echo -e ${bell000-\\a}Hit ...${tt}...RET if really want to use possibly echo broken built-in keyboard, as today is a DRY WEATHER day. fi else echo $0: No USB keyboards found, not running choices section. case $HOSTNAME in jidanni3) echo HEY PLUG IN KEYBOARD! and well, reboot, fool set -x read ;; esac keyboard_risk=0 fi ;; *) keyboard_risk=0;; esac for ((; seconds > 0; seconds--)) do read -p $seconds.. -t 1 case $? in 0) #I hit RET... case $REPLY in '') kbd=0 x=1 ;; #...with no other chars *${tt?}*) kbd=1 x=${keyboard_risk?};; #Yes, I really want to use the built-in keyboard. *) x=0 ;; #...with other chars esac break ;; esac done case ${keyboard_risk?} in 1) # f6=/usr/share/X11/xorg.conf.d/66-jidanni.conf case ${kbd?} in 0) #WET DAYS touch /tmp/.DISABLE_WET_KEYBOARD;; esac ;; esac case ${x?} in 0) echo $0: NOT running ${program?} because \"x=0\" sleep 3 exit 0 ;; esac ${program?} exit 0 #else will mess up concurrent makefile sysv stuff # Local Variables: # compile-command: "sh -n rc.local" # End: