Wednesday, May 16, 2007

Waiting Forever

Pat has released another batch of updates today and no big changes at this time (some perms fixes, some configuration tweaks, adding missing symbolic links, add missing files, etc). I have just upgraded all of this packages and when i tried to reboot and test it, it stopped at GPM service. After running GPM, it should load the /etc.rc.d/rc.local on my system so when i looked at the -Current changelog, Pat has add some wait/sync/sleep call in the /etc/rc.d/rc.M file and this caused trouble on my system. It waited forever and i couldn't logged in into my own system. Here's the changelog entry:
a/sysvinit-scripts-1.2-noarch-8.tgz: Removed the sysvinit runlevel directories.
Added a wait/sync/sleep before rc.local to be sure all I/O is done.
Thanks to Mark for the advice on that.

The solution is quite easy actually, but since i couldn't do anything on normal runlevel (3 or 4), i had to do it in single user mode. After logging in, open /etc/rc.d/rc.M file and change the new added line:
# An old *NIX trick to be 100% sure that drive activity is done.
# For example, "ldconfig &" might cause problems if it's still
# running and rc.local uses hdparm on the drive.
wait
sync
sync
sync
sleep 1


into

# An old *NIX trick to be 100% sure that drive activity is done.
# For example, "ldconfig &" might cause problems if it's still
# running and rc.local uses hdparm on the drive.
#wait
#sync
#sync
#sync
#sleep 1


You probably want to leave the sleep 1 line as it won't hurt your system and just giving some delays.