r9574 - in trunk/BOOK: . bootscripts bootscripts/lfs/init.d bootscripts/lfs/sysconfig/network-devices bootscripts/lfs/sysconfig/network-devices/services chapter01 chapter06 chapter07 prologue

bdubbs at linuxfromscratch.org bdubbs at linuxfromscratch.org
Mon Aug 1 19:15:48 PDT 2011


Author: bdubbs
Date: 2011-08-01 20:15:42 -0600 (Mon, 01 Aug 2011)
New Revision: 9574

Removed:
   trunk/BOOK/bootscripts/LICENSE
   trunk/BOOK/bootscripts/contrib/
Modified:
   trunk/BOOK/bootscripts/ChangeLog
   trunk/BOOK/bootscripts/Makefile
   trunk/BOOK/bootscripts/README
   trunk/BOOK/bootscripts/lfs/init.d/checkfs
   trunk/BOOK/bootscripts/lfs/init.d/cleanfs
   trunk/BOOK/bootscripts/lfs/init.d/console
   trunk/BOOK/bootscripts/lfs/init.d/consolelog
   trunk/BOOK/bootscripts/lfs/init.d/functions
   trunk/BOOK/bootscripts/lfs/init.d/halt
   trunk/BOOK/bootscripts/lfs/init.d/localnet
   trunk/BOOK/bootscripts/lfs/init.d/modules
   trunk/BOOK/bootscripts/lfs/init.d/mountfs
   trunk/BOOK/bootscripts/lfs/init.d/mountvirtfs
   trunk/BOOK/bootscripts/lfs/init.d/network
   trunk/BOOK/bootscripts/lfs/init.d/rc
   trunk/BOOK/bootscripts/lfs/init.d/reboot
   trunk/BOOK/bootscripts/lfs/init.d/sendsignals
   trunk/BOOK/bootscripts/lfs/init.d/setclock
   trunk/BOOK/bootscripts/lfs/init.d/swap
   trunk/BOOK/bootscripts/lfs/init.d/sysctl
   trunk/BOOK/bootscripts/lfs/init.d/sysklogd
   trunk/BOOK/bootscripts/lfs/init.d/template
   trunk/BOOK/bootscripts/lfs/init.d/udev
   trunk/BOOK/bootscripts/lfs/init.d/udev_retry
   trunk/BOOK/bootscripts/lfs/sysconfig/network-devices/ifdown
   trunk/BOOK/bootscripts/lfs/sysconfig/network-devices/ifup
   trunk/BOOK/bootscripts/lfs/sysconfig/network-devices/services/ipv4-static
   trunk/BOOK/bootscripts/lfs/sysconfig/network-devices/services/ipv4-static-route
   trunk/BOOK/chapter01/changelog.xml
   trunk/BOOK/chapter06/sysvinit.xml
   trunk/BOOK/chapter07/bootscripts.xml
   trunk/BOOK/chapter07/chapter07.xml
   trunk/BOOK/chapter07/hostname.xml
   trunk/BOOK/chapter07/hosts.xml
   trunk/BOOK/chapter07/introduction.xml
   trunk/BOOK/chapter07/network.xml
   trunk/BOOK/chapter07/setclock.xml
   trunk/BOOK/chapter07/sysklogd.xml
   trunk/BOOK/chapter07/udev.xml
   trunk/BOOK/chapter07/usage.xml
   trunk/BOOK/general.ent
   trunk/BOOK/packages.ent
   trunk/BOOK/prologue/standards.xml
Log:
Rewrite bootscripts and Chaper 7

Modified: trunk/BOOK/bootscripts/ChangeLog
===================================================================
--- trunk/BOOK/bootscripts/ChangeLog	2011-07-17 19:17:28 UTC (rev 9573)
+++ trunk/BOOK/bootscripts/ChangeLog	2011-08-02 02:15:42 UTC (rev 9574)
@@ -1,21 +1,37 @@
-2011-05-31	DJ Lucas <dj at linuxfromscratch.org>
+2011-07-14  Bruce Dubbs <bdubbs at linuxfromscratch.org>
+   * Major rewrite of all LFS scripts
+   ** Move ifup/ifdown to /sbin
+   ** Move functions and network services to /lib/boot
+   ** Remove contrib directory
+   ** Move all READ commands to functions and allow the user to specify
+      HEADLESS=1 to skip READ commands
+   ** Add /etc/sysconfig/init_params for adding environmental parameters
+      to all functions used in bootscripts
+   ** Move network configuration to /etc/sysconfig/ifconfig.*.  The 
+      ifconfig files can have any extention.  Use IFACE parameter to 
+      specify the target network interface within the configuration file.
+   ** Adds an optional parameter, SKIPTMPCLEAN, to skip the removal of 
+      files in /tmp at bootup.  Specify the variable in 
+      /etc/sysconfig/init_params.
+
+2011-05-31  DJ Lucas <dj at linuxfromscratch.org>
    * lfs/init.d/udev: Add multiple udev triggers for both subsystems and
      devices per upstream recommendation.
 
-2011-04-19	Bruce Dubbs <bdubbs at linuxfromscratch.org>
+2011-04-19  Bruce Dubbs <bdubbs at linuxfromscratch.org>
    * lfs/init.d/mountvirtfs: Add creation of /run/{var,lock,shm}.
    * lfs/init.d/udev: Add /dev/shm -> /run/shm symlink.
 
-2011-04-18	Bruce Dubbs <bdubbs at linuxfromscratch.org>
+2011-04-18  Bruce Dubbs <bdubbs at linuxfromscratch.org>
    * lfs/init.d/mountvirtfs: Change name from mountkernfs to mountvirtfs.
      Add mounting of /run filesystem.
 
-2010-05-29	Matt Burgess <matthew at linuxfromscratch.org>
+2010-05-29  Matt Burgess <matthew at linuxfromscratch.org>
    * lfs/init.d/udev: Only copy /lib/udev/devices/null, as Udev >= 155 copies
      devices from /lib/udev/devices to /dev itself.  Udevd still needs /dev/null
      present before starting up though.
 
-2010-04-20	Bryan Kadzban <bryan at linuxfromscratch.org>
+2010-04-20  Bryan Kadzban <bryan at linuxfromscratch.org>
    * lfs/init.d/udev, lfs/init.d/udev_retry: Add --action=add, to handle udev
    version 152 and newer, which send "change" events by default in udevtrigger
    now.

Deleted: trunk/BOOK/bootscripts/LICENSE
===================================================================
--- trunk/BOOK/bootscripts/LICENSE	2011-07-17 19:17:28 UTC (rev 9573)
+++ trunk/BOOK/bootscripts/LICENSE	2011-08-02 02:15:42 UTC (rev 9574)
@@ -1,29 +0,0 @@
-Copyright (c) 1999-2002, Gerard Beekmans
-
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
-
-	*	Redistributions in any form must retain the above copyright notice,
-		this list of conditions and the following disclaimer.
-
-	*	Neither the name of "Linux From Scratch" nor the names of its
-		contributors may be used to endorse or promote products derived from
-		this material without specific prior written permission.
-
-	*	Any material derived from Linux From Scratch must contain a
-		reference to the "Linux From Scratch" project.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS
-IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
-THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE
-LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
-CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGE.
-

Modified: trunk/BOOK/bootscripts/Makefile
===================================================================
--- trunk/BOOK/bootscripts/Makefile	2011-07-17 19:17:28 UTC (rev 9573)
+++ trunk/BOOK/bootscripts/Makefile	2011-08-02 02:15:42 UTC (rev 9574)
@@ -1,5 +1,6 @@
 ETCDIR=/etc
 EXTDIR=${DESTDIR}${ETCDIR}
+LIBDIR=${DESTDIR}/lib/boot
 MODE=754
 DIRMODE=755
 CONFMODE=644
@@ -17,14 +18,13 @@
 	install -d -m ${DIRMODE} ${EXTDIR}/rc.d/rcsysinit.d
 	install -d -m ${DIRMODE} ${EXTDIR}/rc.d/init.d
 	install -d -m ${DIRMODE} ${EXTDIR}/sysconfig
+	install -d -m ${DIRMODE} ${LIBDIR}
 
-create-service-dir:
-	install -d -m ${DIRMODE} ${EXTDIR}/sysconfig/network-devices/services
-
-install: create-dirs create-service-dir
+install: create-dirs 
 	install -m ${MODE} lfs/init.d/checkfs       ${EXTDIR}/rc.d/init.d/
 	install -m ${MODE} lfs/init.d/cleanfs       ${EXTDIR}/rc.d/init.d/
 	install -m ${CONFMODE} lfs/init.d/functions ${EXTDIR}/rc.d/init.d/
+	install -m ${CONFMODE} lfs/init.d/functions ${LIBDIR}
 	install -m ${MODE} lfs/init.d/halt          ${EXTDIR}/rc.d/init.d/
 	install -m ${MODE} lfs/init.d/console       ${EXTDIR}/rc.d/init.d/
 	install -m ${MODE} lfs/init.d/consolelog    ${EXTDIR}/rc.d/init.d/
@@ -37,31 +37,31 @@
 	install -m ${MODE} lfs/init.d/reboot        ${EXTDIR}/rc.d/init.d/
 	install -m ${MODE} lfs/init.d/sendsignals   ${EXTDIR}/rc.d/init.d/
 	install -m ${MODE} lfs/init.d/setclock      ${EXTDIR}/rc.d/init.d/
-	install -m ${MODE} lfs/init.d/sysklogd	    ${EXTDIR}/rc.d/init.d/
+	install -m ${MODE} lfs/init.d/sysklogd      ${EXTDIR}/rc.d/init.d/
 	install -m ${MODE} lfs/init.d/swap          ${EXTDIR}/rc.d/init.d/
 	install -m ${MODE} lfs/init.d/sysctl        ${EXTDIR}/rc.d/init.d/
 	install -m ${MODE} lfs/init.d/template      ${EXTDIR}/rc.d/init.d/
 	install -m ${MODE} lfs/init.d/udev          ${EXTDIR}/rc.d/init.d/
 	install -m ${MODE} lfs/init.d/udev_retry    ${EXTDIR}/rc.d/init.d/
 	ln -sf ../init.d/network     ${EXTDIR}/rc.d/rc0.d/K80network
-	ln -sf ../init.d/sysklogd   ${EXTDIR}/rc.d/rc0.d/K90sysklogd
+	ln -sf ../init.d/sysklogd    ${EXTDIR}/rc.d/rc0.d/K90sysklogd
 	ln -sf ../init.d/sendsignals ${EXTDIR}/rc.d/rc0.d/S60sendsignals
 	ln -sf ../init.d/mountfs     ${EXTDIR}/rc.d/rc0.d/S70mountfs
 	ln -sf ../init.d/swap        ${EXTDIR}/rc.d/rc0.d/S80swap
 	ln -sf ../init.d/localnet    ${EXTDIR}/rc.d/rc0.d/S90localnet
 	ln -sf ../init.d/halt        ${EXTDIR}/rc.d/rc0.d/S99halt
 	ln -sf ../init.d/network     ${EXTDIR}/rc.d/rc1.d/K80network
-	ln -sf ../init.d/sysklogd   ${EXTDIR}/rc.d/rc1.d/K90sysklogd
+	ln -sf ../init.d/sysklogd    ${EXTDIR}/rc.d/rc1.d/K90sysklogd
 	ln -sf ../init.d/network     ${EXTDIR}/rc.d/rc2.d/K80network
-	ln -sf ../init.d/sysklogd   ${EXTDIR}/rc.d/rc2.d/K90sysklogd
-	ln -sf ../init.d/sysklogd   ${EXTDIR}/rc.d/rc3.d/S10sysklogd
+	ln -sf ../init.d/sysklogd    ${EXTDIR}/rc.d/rc2.d/K90sysklogd
+	ln -sf ../init.d/sysklogd    ${EXTDIR}/rc.d/rc3.d/S10sysklogd
 	ln -sf ../init.d/network     ${EXTDIR}/rc.d/rc3.d/S20network
-	ln -sf ../init.d/sysklogd   ${EXTDIR}/rc.d/rc4.d/S10sysklogd
+	ln -sf ../init.d/sysklogd    ${EXTDIR}/rc.d/rc4.d/S10sysklogd
 	ln -sf ../init.d/network     ${EXTDIR}/rc.d/rc4.d/S20network
-	ln -sf ../init.d/sysklogd   ${EXTDIR}/rc.d/rc5.d/S10sysklogd
+	ln -sf ../init.d/sysklogd    ${EXTDIR}/rc.d/rc5.d/S10sysklogd
 	ln -sf ../init.d/network     ${EXTDIR}/rc.d/rc5.d/S20network
 	ln -sf ../init.d/network     ${EXTDIR}/rc.d/rc6.d/K80network
-	ln -sf ../init.d/sysklogd   ${EXTDIR}/rc.d/rc6.d/K90sysklogd
+	ln -sf ../init.d/sysklogd    ${EXTDIR}/rc.d/rc6.d/K90sysklogd
 	ln -sf ../init.d/sendsignals ${EXTDIR}/rc.d/rc6.d/S60sendsignals
 	ln -sf ../init.d/mountfs     ${EXTDIR}/rc.d/rc6.d/S70mountfs
 	ln -sf ../init.d/swap        ${EXTDIR}/rc.d/rc6.d/S80swap
@@ -79,28 +79,29 @@
 	ln -sf ../init.d/console     ${EXTDIR}/rc.d/rcsysinit.d/S70console
 	ln -sf ../init.d/localnet    ${EXTDIR}/rc.d/rcsysinit.d/S80localnet
 	ln -sf ../init.d/sysctl      ${EXTDIR}/rc.d/rcsysinit.d/S90sysctl
-	if [ ! -f ${EXTDIR}/sysconfig/createfiles ]; then install -m ${CONFMODE} lfs/sysconfig/createfiles ${EXTDIR}/sysconfig/; fi
-	if [ ! -f ${EXTDIR}/sysconfig/modules     ]; then install -m ${CONFMODE} lfs/sysconfig/modules     ${EXTDIR}/sysconfig/; fi
-	if [ ! -f ${EXTDIR}/sysconfig/rc          ]; then install -m ${CONFMODE} lfs/sysconfig/rc          ${EXTDIR}/sysconfig/; fi
-	install                   -m ${MODE} lfs/sysconfig/network-devices/ifup   ${EXTDIR}/sysconfig/network-devices/
-	install                   -m ${MODE} lfs/sysconfig/network-devices/ifdown ${EXTDIR}/sysconfig/network-devices/
-	install                   -m ${MODE} lfs/sysconfig/network-devices/services/ipv4-static       ${EXTDIR}/sysconfig/network-devices/services/
-	install                   -m ${MODE} lfs/sysconfig/network-devices/services/ipv4-static-route ${EXTDIR}/sysconfig/network-devices/services/
+	if [ ! -f ${EXTDIR}/sysconfig/createfiles ]; then \
+     install -m ${CONFMODE} lfs/sysconfig/createfiles ${EXTDIR}/sysconfig/ ;\
+   fi
+	if [ ! -f ${EXTDIR}/sysconfig/modules     ]; then \
+     install -m ${CONFMODE} lfs/sysconfig/modules     ${EXTDIR}/sysconfig/ ;\
+   fi
+	if [ ! -f ${EXTDIR}/sysconfig/rc          ]; then \
+     install -m ${CONFMODE} lfs/sysconfig/rc          ${EXTDIR}/sysconfig/ ;\
+   fi
+	install -m ${MODE} lfs/sysconfig/network-devices/ifup   /sbin
+	install -m ${MODE} lfs/sysconfig/network-devices/ifdown /sbin
+	install -m ${MODE} lfs/sysconfig/network-devices/services/ipv4-static       ${LIBDIR}
+	install -m ${MODE} lfs/sysconfig/network-devices/services/ipv4-static-route ${LIBDIR}
 
 install-consolelog: create-dirs
 	install -m ${MODE} contrib/init.d/consolelog   ${EXTDIR}/rc.d/init.d
 	ln -sf ../init.d/consolelog  ${EXTDIR}/rc.d/rcsysinit.d/S00consolelog
 
-install-lsb-compliant:
-	make -C contrib/lsb
-
-install-service-mtu: create-service-dir
-	install -m ${MODE} contrib/sysconfig/network-devices/services/mtu ${EXTDIR}/sysconfig/network-devices/services
-
-minimal: create-dirs create-service-dir
+minimal: create-dirs 
 	install -m ${MODE} lfs/init.d/checkfs       ${EXTDIR}/rc.d/init.d/
 	install -m ${MODE} lfs/init.d/cleanfs       ${EXTDIR}/rc.d/init.d/
 	install -m ${CONFMODE} lfs/init.d/functions ${EXTDIR}/rc.d/init.d/
+	install -m ${CONFMODE} lfs/init.d/functions ${LIBDIR}
 	install -m ${MODE} lfs/init.d/halt          ${EXTDIR}/rc.d/init.d/
 	install -m ${MODE} lfs/init.d/localnet      ${EXTDIR}/rc.d/init.d/
 	install -m ${MODE} lfs/init.d/mountfs       ${EXTDIR}/rc.d/init.d/
@@ -125,8 +126,9 @@
 	ln -sf ../init.d/checkfs     ${EXTDIR}/rc.d/rcsysinit.d/S30checkfs
 	ln -sf ../init.d/mountfs     ${EXTDIR}/rc.d/rcsysinit.d/S40mountfs
 	ln -sf ../init.d/cleanfs     ${EXTDIR}/rc.d/rcsysinit.d/S45cleanfs
-	if [ ! -f ${EXTDIR}/sysconfig/rc          ]; then install -m ${CONFMODE} lfs/sysconfig/rc          ${EXTDIR}/sysconfig/; fi
+	if [ ! -f ${EXTDIR}/sysconfig/rc          ]; then \
+      install -m ${CONFMODE} lfs/sysconfig/rc ${EXTDIR}/sysconfig/; \
+   fi
 
-.PHONY: all create-dirs create-service-dir \
-	install install-service-mtu
+.PHONY: all create-dirs install 
 

Modified: trunk/BOOK/bootscripts/README
===================================================================
--- trunk/BOOK/bootscripts/README	2011-07-17 19:17:28 UTC (rev 9573)
+++ trunk/BOOK/bootscripts/README	2011-08-02 02:15:42 UTC (rev 9574)
@@ -1,76 +1,79 @@
 Network Configuration:
-	Script Files:
-		rc.d/init.d/network
-		sysconfig/network-devices/ifup
-		sysconfig/network-devices/ifdown
-		sysconfig/network-devices/services/*
+   Script Files:
+      /etc/rc.d/init.d/network
+      /sbin/ifup
+      /sbin/ifdown
+      /lib/boot/*/*
 
-	Configuration Files:
-		sysconfig/network-devices/ifconfig.*/*
-		Note: ifconfig.* could be either a file or directory,
-		      but the filename extension must be the same name
-		      as the network interface you wish it to belong to.
-		      The files within the directory will be processed
-		      in alphanumerical order on boot, and reversed on
-		      shutdown.
-		- SERVICE: which script to run in services directory.
-		- ONBOOT: if set to yes, this interface will be started on
-		          bootup, and stopped on shutdown
+   Configuration Files:
+      /etc/sysconfig/ifconfig.*
+      Note: ifconfig.* could be either a file or directory,
+            but the filename extension must be the same name
+            as the network interface you wish it to belong to.
+            The files within the directory will be processed
+            in alphanumerical order on boot, and reversed on
+            shutdown.
+      - IFACE: the interface that is being configured (e.g. eth0)
+      - SERVICE: which script to run in services directory.
+      - ONBOOT: if set to yes, this interface will be started on
+                bootup, and stopped on shutdown
 
-		sysconfig/network
-		- HOSTNAME: Value of the system's hostname
+      /etc/sysconfig/network
+      - HOSTNAME: Value of the system's hostname
 
-	Additional Configuration:
-		sysconfig/network-devices/ifconfig.*
-		ipv4-static:
-		- IP: static IP Address
-		- GATEWAY: Specifies the IP Address of the gateway server
-		- PREFIX: CIDR prefix of IP Address, defaults to 24 if not set
-		- PEER: IP Address of peer (for point-to-point connections and tunnels)
-		- BROADCAST: broadcast address
-		ipv4-static-route:
-		- TYPE: network (default type if not specified), default, host or
-		  unreachable
-		- IP: IP Address of target (for network, host and unreachable)
-		- PREFIX: CIDR prefix of target (for network, host and unreachable)
-		- GATEWAY: IP Address of gateway to reach target (for network and default)
+   Additional Configuration:
+      ipv4-static:
+      - IP: static IP Address
+      - GATEWAY: Specifies the IP Address of the gateway server
+      - PREFIX: CIDR prefix of IP Address, defaults to 24 if not set
+      - PEER: IP Address of peer (for point-to-point connections and tunnels)
+      - BROADCAST: broadcast address
 
+      ipv4-static-route:
+      - TYPE: network (default type if not specified), default, host or
+        unreachable
+      - IP: IP Address of target (for network, host and unreachable)
+      - PREFIX: CIDR prefix of target (for network, host and unreachable)
+      - GATEWAY: IP Address of gateway to reach target (for network and default)
 
+
 SetClock configuration:
-	Script Files:
-		rc.d/init.d/setclock
+   Script Files:
+      /etc/rc.d/init.d/setclock
+      - SKIPTMPCLEAN: skips cleaning of /tmp directory
 
-	Configuration Files:
-		sysconfig/clock
-		- UTC: 1 assumes hwclock is in UTC
-		       0 assumes hwclock is in local time
-		- CLOCKPARAMS: any additional options to be passed to hwclock
+   Configuration Files:
+      /etc/sysconfig/clock
+      - UTC: 1 assumes hwclock is in UTC
+             0 assumes hwclock is in local time
+      - CLOCKPARAMS: any additional options to be passed to hwclock
 
 CleanFS configuration:
-	Script Files:
-		rc.d/init.d/cleanfs
+   Script Files:
+      /etc/rc.d/init.d/cleanfs
 
-	Configuration Files:
-		/etc/sysconfig/createfiles
-		Each line is parsed, using space as a deliminator.
-		[NAME] [TYPE] [PERMISSIONS] [USER] [GROUP]
-		The below fields are currently only used on dev type.
-		([DEV TYPE] [MAJOR#] [MINOR#])
-		Name:
-			File/Directory/Device name
-		Type:
-			dir: creates a directory
-			file: creates a file
-			dev: creates a device
-		Permissions:
-			chmod the created file
-		User/Group:
-			chown the created file/dir to this user/group
-		Dev Type:
-			char:  character [needs MAJOR#, MINOR#]
-			block: block [needs MAJOR#, MINOR#]
-			pipe:  pipe
-		Major#:
-			Used by character and block devices.
-		Minor#:
-			Used by character and block devices.
+   Configuration Files:
+      /etc/sysconfig/createfiles
+      Each line is parsed, using space as a deliminator.
+      [NAME] [TYPE] [PERMISSIONS] [USER] [GROUP]
+      The below fields are currently only used on dev type.
+      ([DEV TYPE] [MAJOR#] [MINOR#])
+      Name:
+         File/Directory/Device name
+      Type:
+         dir: creates a directory
+         file: creates a file
+         dev: creates a device
+      Permissions:
+         chmod the created file
+      User/Group:
+         chown the created file/dir to this user/group
+      Dev Type:
+         char:  character [needs MAJOR#, MINOR#]
+         block: block [needs MAJOR#, MINOR#]
+         pipe:  pipe
+      Major#:
+         Used by character and block devices.
+      Minor#:
+         Used by character and block devices.
+

Modified: trunk/BOOK/bootscripts/lfs/init.d/checkfs
===================================================================
--- trunk/BOOK/bootscripts/lfs/init.d/checkfs	2011-07-17 19:17:28 UTC (rev 9573)
+++ trunk/BOOK/bootscripts/lfs/init.d/checkfs	2011-08-02 02:15:42 UTC (rev 9574)
@@ -1,16 +1,15 @@
 #!/bin/sh
 ########################################################################
-# Begin $rc_base/init.d/checkfs
+# Begin checkfs
 #
 # Description : File System Check
 #
 # Authors     : Gerard Beekmans - gerard at linuxfromscratch.org
 #               A. Luebke - luebke at users.sourceforge.net
+# Update      : Bruce Dubbs - bdubbs at linuxfromscratch.org
 #
-# Version     : 00.00
+# Version     : LFS 7.0
 #
-# Notes       :
-#
 # Based on checkfs script from LFS-3.1 and earlier.
 #
 # From man fsck
@@ -25,107 +24,119 @@
 #
 #########################################################################
 
-. /etc/sysconfig/rc
-. ${rc_functions}
+### BEGIN INIT INFO
+# Provides:            checkfs
+# Required-Start:      udev swap $time
+# Should-Start:
+# Required-Stop:
+# Should-Stop:
+# Default-Start:       S
+# Default-Stop:
+# Short-Description:   Checks local filesystems before mounting.
+# Description:         Checks local filesystmes before mounting.
+# X-LFS-Provided-By:   LFS
+### END INIT INFO
 
+. /lib/boot/functions
+
 case "${1}" in
-	start)
-		if [ -f /fastboot ]; then
-			boot_mesg -n "/fastboot found, will not perform" ${INFO}
-			boot_mesg " file system checks as requested."
-			echo_ok
-			exit 0
-		fi
+   start)
+      if [ -f /fastboot ]; then
+         boot_mesg -n "/fastboot found, will not perform" ${INFO}
+         boot_mesg " file system checks as requested."
+         echo_ok
+         exit 0
+      fi
 
-		boot_mesg "Mounting root file system in read-only mode..."
-		mount -n -o remount,ro / >/dev/null
-		evaluate_retval
+      boot_mesg "Mounting root file system in read-only mode..."
+      mount -n -o remount,ro / >/dev/null
+      evaluate_retval
 
-		if [ ${?} != 0 ]; then
-			echo_failure
-			boot_mesg -n "FAILURE:\n\nCannot check root" ${FAILURE}
-			boot_mesg -n " filesystem because it could not be mounted"
-			boot_mesg -n " in read-only mode.\n\nAfter you"
-			boot_mesg -n " press Enter, this system will be"
-			boot_mesg -n " halted and powered off."
-			boot_mesg -n "\n\nPress enter to continue..." ${INFO}
-			boot_mesg "" ${NORMAL}
-			read ENTER
-			${rc_base}/init.d/halt stop
-		fi
+      if [ ${?} != 0 ]; then
+         echo_failure
+         boot_mesg -n "FAILURE:\n\nCannot check root" ${FAILURE}
+         boot_mesg -n " filesystem because it could not be mounted"
+         boot_mesg -n " in read-only mode.\n\nAfter you"
+         boot_mesg -n " press Enter, this system will be"
+         boot_mesg -n " halted and powered off."
+         boot_mesg -n "\n\nPress enter to continue..." ${INFO}
+         boot_mesg "" ${NORMAL}
+         wait_for_user
+         /etc/rc.d/init.d/halt stop
+      fi
 
-		if [ -f /forcefsck ]; then
-			boot_mesg -n "/forcefsck found, forcing file" ${INFO}
-			boot_mesg " system checks as requested."
-			echo_ok
-			options="-f"
-		else
-			options=""
-		fi
+      if [ -f /forcefsck ]; then
+         boot_mesg -n "/forcefsck found, forcing file" ${INFO}
+         boot_mesg " system checks as requested."
+         echo_ok
+         options="-f"
+      else
+         options=""
+      fi
 
-		boot_mesg "Checking file systems..."
-		# Note: -a option used to be -p; but this fails e.g.
-		# on fsck.minix
-		fsck ${options} -a -A -C -T
-		error_value=${?}
+      boot_mesg "Checking file systems..."
+      # Note: -a option used to be -p; but this fails e.g.
+      # on fsck.minix
+      fsck ${options} -a -A -C -T
+      error_value=${?}
 
-		if [ "${error_value}" = 0 ]; then
-			echo_ok
-		fi
+      if [ "${error_value}" = 0 ]; then
+         echo_ok
+      fi
 
-		if [ "${error_value}" = 1 ]; then
-			echo_warning
-			boot_mesg -n "WARNING:\n\nFile system errors" ${WARNING}
-			boot_mesg -n " were found and have been corrected."
-			boot_mesg -n "  You may want to double-check that"
-			boot_mesg -n " everything was fixed properly."
-			boot_mesg "" ${NORMAL}
-		fi
+      if [ "${error_value}" = 1 ]; then
+         echo_warning
+         boot_mesg -n "WARNING:\n\nFile system errors" ${WARNING}
+         boot_mesg -n " were found and have been corrected. "
+         boot_mesg -n " You may want to double-check that"
+         boot_mesg -n " everything was fixed properly."
+         boot_mesg "" ${NORMAL}
+      fi
 
-		if [ "${error_value}" = 2 -o "${error_value}" = 3 ]; then
-			echo_warning
-			boot_mesg -n "WARNING:\n\nFile system errors" ${WARNING}
-			boot_mesg -n " were found and have been been"
-			boot_mesg -n " corrected, but the nature of the"
-			boot_mesg -n " errors require this system to be"
-			boot_mesg -n " rebooted.\n\nAfter you press enter,"
-			boot_mesg -n " this system will be rebooted"
-			boot_mesg -n "\n\nPress Enter to continue..." ${INFO}
-			boot_mesg "" ${NORMAL}
-			read ENTER
-			reboot -f
-		fi
+      if [ "${error_value}" = 2 -o "${error_value}" = 3 ]; then
+         echo_warning
+         boot_mesg -n "WARNING:\n\nFile system errors" ${WARNING}
+         boot_mesg -n " were found and have been been"
+         boot_mesg -n " corrected, but the nature of the"
+         boot_mesg -n " errors require this system to be"
+         boot_mesg -n " rebooted.\n\nAfter you press enter,"
+         boot_mesg -n " this system will be rebooted"
+         boot_mesg -n "\n\nPress Enter to continue..." ${INFO}
+         boot_mesg "" ${NORMAL}
+         wait_for_user
+         reboot -f
+      fi
 
-		if [ "${error_value}" -gt 3 -a "${error_value}" -lt 16 ]; then
-			echo_failure
-			boot_mesg -n "FAILURE:\n\nFile system errors" ${FAILURE}
-			boot_mesg -n " were encountered that could not be"
-			boot_mesg -n " fixed automatically.  This system"
-			boot_mesg -n " cannot continue to boot and will"
-			boot_mesg -n " therefore be halted until those"
-			boot_mesg -n " errors are fixed manually by a"
-			boot_mesg -n " System Administrator.\n\nAfter you"
-			boot_mesg -n " press Enter, this system will be"
-			boot_mesg -n " halted and powered off."
-			boot_mesg -n "\n\nPress Enter to continue..." ${INFO}
-			boot_mesg "" ${NORMAL}
-			read ENTER
-		  ${rc_base}/init.d/halt stop
-		fi
+      if [ "${error_value}" -gt 3 -a "${error_value}" -lt 16 ]; then
+         echo_failure
+         boot_mesg -n "FAILURE:\n\nFile system errors" ${FAILURE}
+         boot_mesg -n " were encountered that could not be"
+         boot_mesg -n " fixed automatically.  This system"
+         boot_mesg -n " cannot continue to boot and will"
+         boot_mesg -n " therefore be halted until those"
+         boot_mesg -n " errors are fixed manually by a"
+         boot_mesg -n " System Administrator.\n\nAfter you"
+         boot_mesg -n " press Enter, this system will be"
+         boot_mesg -n " halted and powered off."
+         boot_mesg -n "\n\nPress Enter to continue..." ${INFO}
+         boot_mesg "" ${NORMAL}
+         wait_for_user
+        /etc/rc.d/init.d/halt stop
+      fi
 
-		if [ "${error_value}" -ge 16 ]; then
-			echo_failure
-			boot_mesg -n "FAILURE:\n\nUnexpected Failure" ${FAILURE}
-			boot_mesg -n " running fsck.  Exited with error"
-			boot_mesg -n " code: ${error_value}."
-			boot_mesg "" ${NORMAL}
-			exit ${error_value}
-		fi
-		;;
-	*)
-		echo "Usage: ${0} {start}"
-		exit 1
-		;;
+      if [ "${error_value}" -ge 16 ]; then
+         echo_failure
+         boot_mesg -n "FAILURE:\n\nUnexpected Failure" ${FAILURE}
+         boot_mesg -n " running fsck.  Exited with error"
+         boot_mesg -n " code: ${error_value}."
+         boot_mesg "" ${NORMAL}
+         exit ${error_value}
+      fi
+      ;;
+   *)
+      echo "Usage: ${0} {start}"
+      exit 1
+      ;;
 esac
 
-# End $rc_base/init.d/checkfs
+# End checkfs

Modified: trunk/BOOK/bootscripts/lfs/init.d/cleanfs
===================================================================
--- trunk/BOOK/bootscripts/lfs/init.d/cleanfs	2011-07-17 19:17:28 UTC (rev 9573)
+++ trunk/BOOK/bootscripts/lfs/init.d/cleanfs	2011-08-02 02:15:42 UTC (rev 9574)
@@ -1,27 +1,39 @@
 #!/bin/sh
 ########################################################################
-# Begin $rc_base/init.d/cleanfs
+# Begin cleanfs
 #
 # Description : Clean file system
 #
 # Authors     : Gerard Beekmans - gerard at linuxfromscratch.org
+# Update      : Bruce Dubbs - bdubbs at linuxfromscratch.org
 #
-# Version     : 00.00
+# Version     : LFS 7.0
 #
-# Notes       :
-#
 ########################################################################
 
-. /etc/sysconfig/rc
-. ${rc_functions}
+### BEGIN INIT INFO
+# Provides:            cleanfs
+# Required-Start:      $local_fs
+# Should-Start:
+# Required-Stop:
+# Should-Stop:
+# Default-Start:       S
+# Default-Stop:
+# Short-Description:   Cleans temporary directories early in the boot process.
+# Description:         Cleans temporary directories /var/run, /var/lock, and
+#                      optionally) /tmp.  cleanfs also creates /var/run/utmp 
+#                      and any files defined in /etc/sysconfig/createfiles.
+# X-LFS-Provided-By:   LFS
+### END INIT INFO
 
+. /lib/boot/functions
+
 # Function to create files/directory on boot.
 create_files() {
 	# Read in the configuration file.
 	exec 9>&0 < /etc/sysconfig/createfiles
 		while read name type perm usr grp dtype maj min junk
 		do
-
 			# Ignore comments and blank lines.
        			case "${name}" in
 				""|\#*) continue ;;
@@ -73,10 +85,11 @@
 	start)
 		boot_mesg -n "Cleaning file systems:" ${INFO}
 
-		boot_mesg -n " /tmp" ${NORMAL}
-		cd /tmp &&
-		find . -xdev -mindepth 1 ! -name lost+found \
-			-delete || failed=1
+      if [ "${SKIPTMPCLEAN}" = "" ]; then
+		   boot_mesg -n " /tmp" ${NORMAL}
+		   cd /tmp &&
+		   find . -xdev -mindepth 1 ! -name lost+found -delete || failed=1
+      fi
 
 		> /var/run/utmp
 
@@ -100,4 +113,4 @@
 		;;
 esac
 
-# End $rc_base/init.d/cleanfs
+# End cleanfs

Modified: trunk/BOOK/bootscripts/lfs/init.d/console
===================================================================
--- trunk/BOOK/bootscripts/lfs/init.d/console	2011-07-17 19:17:28 UTC (rev 9573)
+++ trunk/BOOK/bootscripts/lfs/init.d/console	2011-08-02 02:15:42 UTC (rev 9574)
@@ -1,96 +1,107 @@
 #!/bin/sh
 ########################################################################
-# Begin $rc_base/init.d/console
+# Begin console
 #
 # Description : Sets keymap and screen font
 #
 # Authors     : Gerard Beekmans - gerard at linuxfromscratch.org
-#		Alexander E. Patrakov
+#               Alexander E. Patrakov
+# Update      : Bruce Dubbs - bdubbs at linuxfromscratch.org
 #
-# Version     : 00.03
+# Version     : LFS 7.0
 #
-# Notes       :
-#
 ########################################################################
 
-. /etc/sysconfig/rc
-. ${rc_functions}
+. /lib/boot/functions
 
+### BEGIN INIT INFO
+# Provides:            console
+# Required-Start:
+# Should-Start:        $local_fs
+# Required-Stop:
+# Should-Stop:
+# Default-Start:       S
+# Default-Stop:
+# Short-Description:   Sets up a localised console.
+# Description:         Sets up fonts and language settings for the user's
+#                      local as defined by /etc/sysconfig/console.
+# X-LFS-Provided-By:   LFS
+### END INIT INFO
+
 # Native English speakers probably don't have /etc/sysconfig/console at all
-if [ -f /etc/sysconfig/console ]
-then
-	. /etc/sysconfig/console
+if [ -r /etc/sysconfig/console ]; then
+   . /etc/sysconfig/console
 else
-        exit 0
+   exit 0
 fi
 
 is_true() {
-	[ "$1" = "1" ] || [ "$1" = "yes" ] || [ "$1" = "true" ]
+   [ "$1" = "1" ] || [ "$1" = "yes" ] || [ "$1" = "true" ]
 }
 
 failed=0
 
 case "${1}" in
-	start)
-		boot_mesg "Setting up Linux console..."
-		# There should be no bogus failures below this line!
-		
-		# Figure out if a framebuffer console is used
-		[ -d /sys/class/graphics/fb0 ] && USE_FB=1 || USE_FB=0
-		
-		# Figure out the command to set the console into the
-		# desired mode
-		is_true "${UNICODE}" &&
-			MODE_COMMAND="${ECHO} -en '\033%G' && kbd_mode -u" ||
-			MODE_COMMAND="${ECHO} -en '\033%@\033(K' && kbd_mode -a"
-		
-		# On framebuffer consoles, font has to be set for each vt in
-		# UTF-8 mode. This doesn't hurt in non-UTF-8 mode also.
-		
-		! is_true "${USE_FB}" || [ -z "${FONT}" ] ||
-			MODE_COMMAND="${MODE_COMMAND} && setfont ${FONT}"
+   start)
+      boot_mesg "Setting up Linux console..."
+      # There should be no bogus failures below this line!
 
-		# Apply that command to all consoles mentioned in
-		# /etc/inittab. Important: in the UTF-8 mode this should
-		# happen before setfont, otherwise a kernel bug will
-		# show up and the unicode map of the font will not be
-		# used.
-		# FIXME: Fedora Core also initializes two spare consoles
-		# - do we want that?
-		
-		for TTY in `grep '^[^#].*respawn:/sbin/agetty' /etc/inittab |
-			grep -o '\btty[[:digit:]]*\b'`
-		do
-			openvt -f -w -c ${TTY#tty} -- \
-				/bin/sh -c "${MODE_COMMAND}" || failed=1
-		done
+      # Figure out if a framebuffer console is used
+      [ -d /sys/class/graphics/fb0 ] && USE_FB=1 || USE_FB=0
 
-		# Set the font (if not already set above) and the keymap
-		is_true "${USE_FB}" || [ -z "${FONT}" ] ||
-			setfont $FONT ||
-			failed=1
-		[ -z "${KEYMAP}" ] ||
-			loadkeys ${KEYMAP} >/dev/null 2>&1 ||
-			failed=1
-		[ -z "${KEYMAP_CORRECTIONS}" ] ||
-			loadkeys ${KEYMAP_CORRECTIONS} >/dev/null 2>&1 ||
-			failed=1
+      # Figure out the command to set the console into the
+      # desired mode
+      is_true "${UNICODE}" &&
+         MODE_COMMAND="${ECHO} -en '\033%G' && kbd_mode -u" ||
+         MODE_COMMAND="${ECHO} -en '\033%@\033(K' && kbd_mode -a"
 
-		# Convert the keymap from $LEGACY_CHARSET to UTF-8
-		[ -z "$LEGACY_CHARSET" ] ||
-			dumpkeys -c "$LEGACY_CHARSET" |
-			loadkeys -u >/dev/null 2>&1 ||
-			failed=1
+      # On framebuffer consoles, font has to be set for each vt in
+      # UTF-8 mode. This doesn't hurt in non-UTF-8 mode also.
 
-		# If any of the commands above failed, the trap at the
-		# top would set $failed to 1
-		( exit $failed )
-		evaluate_retval
-		;;
-	*)
-		echo $"Usage:" "${0} {start}"
-		exit 1
-		;;
+      ! is_true "${USE_FB}" || [ -z "${FONT}" ] ||
+         MODE_COMMAND="${MODE_COMMAND} && setfont ${FONT}"
+
+      # Apply that command to all consoles mentioned in
+      # /etc/inittab. Important: in the UTF-8 mode this should
+      # happen before setfont, otherwise a kernel bug will
+      # show up and the unicode map of the font will not be
+      # used.
+      # FIXME: Fedora Core also initializes two spare consoles
+      # - do we want that?
+
+      for TTY in `grep '^[^#].*respawn:/sbin/agetty' /etc/inittab |
+         grep -o '\btty[[:digit:]]*\b'`
+      do
+         openvt -f -w -c ${TTY#tty} -- \
+            /bin/sh -c "${MODE_COMMAND}" || failed=1
+      done
+
+      # Set the font (if not already set above) and the keymap
+      is_true "${USE_FB}" || [ -z "${FONT}" ] ||
+         setfont $FONT ||
+         failed=1
+      [ -z "${KEYMAP}" ] ||
+         loadkeys ${KEYMAP} >/dev/null 2>&1 ||
+         failed=1
+      [ -z "${KEYMAP_CORRECTIONS}" ] ||
+         loadkeys ${KEYMAP_CORRECTIONS} >/dev/null 2>&1 ||
+         failed=1
+
+      # Convert the keymap from $LEGACY_CHARSET to UTF-8
+      [ -z "$LEGACY_CHARSET" ] ||
+         dumpkeys -c "$LEGACY_CHARSET" |
+         loadkeys -u >/dev/null 2>&1 ||
+         failed=1
+
+      # If any of the commands above failed, the trap at the
+      # top would set $failed to 1
+      ( exit $failed )
+      evaluate_retval
+      ;;
+   *)
+      echo $"Usage:" "${0} {start}"
+      exit 1
+      ;;
 esac
 
-# End $rc_base/init.d/console
+# End console

Modified: trunk/BOOK/bootscripts/lfs/init.d/consolelog
===================================================================
--- trunk/BOOK/bootscripts/lfs/init.d/consolelog	2011-07-17 19:17:28 UTC (rev 9573)
+++ trunk/BOOK/bootscripts/lfs/init.d/consolelog	2011-08-02 02:15:42 UTC (rev 9574)
@@ -1,61 +1,73 @@
 #!/bin/sh
-# Begin $rc_base/init.d/consolelog
-
 ########################################################################
+# Begin consolelog
 #
 # Description : Set the kernel log level for the console
 #
 # Authors     : Dan Nicholson - dnicholson at linuxfromscratch.org
+# Authors     : Gerard Beekmans  - gerard at linuxfromscratch.org
+# Update      : Bruce Dubbs - bdubbs at linuxfromscratch.org
 #
-# Version     : 00.00
+# Version     : LFS 7.0
 #
 # Notes       : /proc must be mounted before this can run
 #
 ########################################################################
 
-. /etc/sysconfig/rc
-. ${rc_functions}
+### BEGIN INIT INFO
+# Provides:            consolelog
+# Required-Start:
+# Should-Start:        
+# Required-Stop:
+# Should-Stop:
+# Default-Start:       S
+# Default-Stop:
+# Short-Description:   Sets the console log level.
+# Description:         Sets the console log level.
+# X-LFS-Provided-By:   LFS
+### END INIT INFO
 
+. /lib/boot/functions
+
 # set the default loglevel
 LOGLEVEL=7
-if [ -r /etc/sysconfig/console ]; then
-	. /etc/sysconfig/console
-fi
 
+[ -r /etc/sysconfig/console ] &&  . /etc/sysconfig/console
+
 case "${1}" in
-	start)
-		case "$LOGLEVEL" in
-		[1-8])
-			boot_mesg "Setting the console log level to ${LOGLEVEL}..."
-			dmesg -n $LOGLEVEL
-			evaluate_retval
-			;;
-		*)
-			boot_mesg "Console log level '${LOGLEVEL}' is invalid" ${FAILURE}
-			echo_failure
-			;;
-		esac
-		;;
-	status)
-		# Read the current value if possible
-		if [ -r /proc/sys/kernel/printk ]; then
-			read level line < /proc/sys/kernel/printk
-		else
-			boot_mesg "Can't read the current console log level" ${FAILURE}
-			echo_failure
-		fi
+   start)
+      case "$LOGLEVEL" in
+      [1-8])
+         boot_mesg "Setting the console log level to ${LOGLEVEL}..."
+         dmesg -n $LOGLEVEL
+         evaluate_retval
+         ;;
+      *)
+         boot_mesg "Console log level '${LOGLEVEL}' is invalid" ${FAILURE}
+         echo_failure
+         ;;
+      esac
+      ;;
 
-		# Print the value
-		if [ -n "$level" ]; then
-			${ECHO} -e "${INFO}The current console log level" \
-				"is ${level}${NORMAL}"
-		fi
-		;;
+   status)
+      # Read the current value if possible
+      if [ -r /proc/sys/kernel/printk ]; then
+         read level line < /proc/sys/kernel/printk
+      else
+         boot_mesg "Can't read the current console log level" ${FAILURE}
+         echo_failure
+      fi
 
-	*)
-		echo "Usage: ${0} {start|status}"
-		exit 1
-		;;
+      # Print the value
+      if [ -n "$level" ]; then
+         ${ECHO} -e "${INFO}The current console log level is ${level}${NORMAL}"
+      fi
+      ;;
+
+   *)
+      echo "Usage: ${0} {start|status}"
+      exit 1
+      ;;
 esac
 
-# End $rc_base/init.d/consolelog
+# End consolelog

Modified: trunk/BOOK/bootscripts/lfs/init.d/functions
===================================================================
--- trunk/BOOK/bootscripts/lfs/init.d/functions	2011-07-17 19:17:28 UTC (rev 9573)
+++ trunk/BOOK/bootscripts/lfs/init.d/functions	2011-08-02 02:15:42 UTC (rev 9574)
@@ -1,18 +1,24 @@
 #!/bin/sh
 ########################################################################
-# Begin $rc_base/init.d/functions
+# Begin boot functions
 #
 # Description : Run Level Control Functions
 #
 # Authors     : Gerard Beekmans - gerard at linuxfromscratch.org
+# Update      : Bruce Dubbs - bdubbs at linuxfromscratch.org
 #
-# Version     : 00.00
+# Version     : LFS 7.0
 #
 # Notes       : With code based on Matthias Benkmann's simpleinit-msb
-#		http://winterdrache.de/linux/newboot/index.html
+#               http://winterdrache.de/linux/newboot/index.html
 #
+#               The file should be located in /lib/boot
+#
 ########################################################################
 
+# Set any needed environment variables e.g. HEADLESS
+[ -r /etc/sysconfig/init_params ]  && . /etc/sysconfig/init_params
+
 ## Environmental setup
 # Setup default values for environment
 umask 022
@@ -27,13 +33,13 @@
 ## Screen Dimensions
 # Find current screen size
 if [ -z "${COLUMNS}" ]; then
-	COLUMNS=$(stty size)
-	COLUMNS=${COLUMNS##* }
+   COLUMNS=$(stty size)
+   COLUMNS=${COLUMNS##* }
 fi
 
 # When using remote connections, such as a serial port, stty size returns 0
 if [ "${COLUMNS}" = "0" ]; then 
-	COLUMNS=80
+   COLUMNS=80
 fi
 
 ## Measurements for positioning result messages
@@ -43,12 +49,12 @@
 ## Provide an echo that supports -e and -n
 # If formatting is needed, $ECHO should be used
 case "`echo -e -n test`" in
-	-[en]*)
-		ECHO=/bin/echo
-		;;
-	*)
-		ECHO=echo
-		;;
+   -[en]*)
+      ECHO=/bin/echo
+      ;;
+   *)
+      ECHO=echo
+      ;;
 esac
 
 ## Set Cursor Position Commands, used via $ECHO
@@ -84,300 +90,282 @@
 # Outputs:      Standard Output
 #
 # Dependencies: - sed for parsing strings.
-#	        - grep for counting string length.
+#          - grep for counting string length.
 #               
 # Todo:         
 #*******************************************************************************
 boot_mesg()
 {
-	local ECHOPARM=""
+   local ECHOPARM=""
 
-	while true
-	do
-		case "${1}" in
-			-n)
-				ECHOPARM=" -n "
-				shift 1
-				;;
-			-*)
-				echo "Unknown Option: ${1}"
-				return 1
-				;;
-			*)
-				break
-				;;
-		esac
-	done
+   while true
+   do
+      case "${1}" in
+         -n)
+            ECHOPARM=" -n "
+            shift 1
+            ;;
+         -*)
+            echo "Unknown Option: ${1}"
+            return 1
+            ;;
+         *)
+            break
+            ;;
+      esac
+   done
 
-	## Figure out the length of what is to be printed to be used
-	## for warning messages. 
-	STRING_LENGTH=$((${#1} + 1))
+   ## Figure out the length of what is to be printed to be used
+   ## for warning messages. 
+   STRING_LENGTH=$((${#1} + 1))
 
-	# Print the message to the screen
-	${ECHO} ${ECHOPARM} -e "${2}${1}"
-	
+   # Print the message to the screen
+   ${ECHO} ${ECHOPARM} -e "${2}${1}"
+
+   # Log the message 
+   ${ECHO} ${ECHOPARM} -e "${2}${1}" >> /run/var/bootlog
 }
 
 boot_mesg_flush()
 {
-	# Reset STRING_LENGTH for next message
-	STRING_LENGTH="0"
+   # Reset STRING_LENGTH for next message
+   STRING_LENGTH="0"
 }
 
-boot_log()
-{
-	# Left in for backwards compatibility
-	:
-}
-
 echo_ok()
 {
-	${ECHO} -n -e "${CURS_UP}${SET_COL}${BRACKET}[${SUCCESS}  OK  ${BRACKET}]"
-	${ECHO} -e "${NORMAL}"
+   ${ECHO} -n -e "${CURS_UP}${SET_COL}${BRACKET}[${SUCCESS}  OK  ${BRACKET}]"
+   ${ECHO} -e "${NORMAL}"
         boot_mesg_flush
+   ${ECHO} -n -e "${CURS_UP}${SET_COL}${BRACKET}[${SUCCESS}  OK  ${BRACKET}]" >> /run/var/bootlog
+   ${ECHO} -e "${NORMAL}" >> /run/var/bootlog
 }
 
 echo_failure()
 {
-	${ECHO} -n -e "${CURS_UP}${SET_COL}${BRACKET}[${FAILURE} FAIL ${BRACKET}]"
-	${ECHO} -e "${NORMAL}"
+   ${ECHO} -n -e "${CURS_UP}${SET_COL}${BRACKET}[${FAILURE} FAIL ${BRACKET}]"
+   ${ECHO} -e "${NORMAL}"
         boot_mesg_flush
+   ${ECHO} -n -e "${CURS_UP}${SET_COL}${BRACKET}[${FAILURE} FAIL ${BRACKET}]" >> /run/var/bootlog
+   ${ECHO} -e "${NORMAL}" >> /run/var/bootlog
 }
 
 echo_warning()
 {
-	${ECHO} -n -e "${CURS_UP}${SET_COL}${BRACKET}[${WARNING} WARN ${BRACKET}]"
-	${ECHO} -e "${NORMAL}"
+   ${ECHO} -n -e "${CURS_UP}${SET_COL}${BRACKET}[${WARNING} WARN ${BRACKET}]"
+   ${ECHO} -e "${NORMAL}"
         boot_mesg_flush
+   ${ECHO} -n -e "${CURS_UP}${SET_COL}${BRACKET}[${WARNING} WARN ${BRACKET}]" >> /run/var/bootlog
+   ${ECHO} -e "${NORMAL}" >> /run/var/bootlog
 }
 
-print_error_msg()
+echo_skipped()
 {
-	echo_failure
-	# $i is inherited by the rc script
-	boot_mesg -n "FAILURE:\n\nYou should not be reading this error message.\n\n" ${FAILURE}
-	boot_mesg -n " It means that an unforeseen error took"
-	boot_mesg -n " place in ${i}, which exited with a return value of"
-	boot_mesg " ${error_value}.\n"
-	boot_mesg_flush
-	boot_mesg -n "If you're able to track this"
-	boot_mesg -n " error down to a bug in one of the files provided by"
-	boot_mesg -n " the LFS book, please be so kind to inform us at"
-	boot_mesg " lfs-dev at linuxfromscratch.org.\n"
-	boot_mesg_flush
-	boot_mesg -n "Press Enter to continue..." ${INFO}
-	boot_mesg "" ${NORMAL}
-	read ENTER
+   ${ECHO} -n -e "${CURS_UP}${SET_COL}${BRACKET}[${WARNING} SKIP ${BRACKET}]"
+   ${ECHO} -e "${NORMAL}"
+        boot_mesg_flush
+   ${ECHO} -n -e "${CURS_UP}${SET_COL}${BRACKET}[${WARNING} SKIP ${BRACKET}]" >> /run/var/bootlog
+   ${ECHO} -e "${NORMAL}" >> /run/var/bootlog
 }
 
-check_script_status()
+wait_for_user()
 {
-	# $i is inherited by the rc script
-	if [ ! -f ${i} ]; then
-		boot_mesg "${i} is not a valid symlink." ${WARNING}
-		echo_warning
-		continue
-	fi
-
-	if [ ! -x ${i} ]; then
-		boot_mesg "${i} is not executable, skipping." ${WARNING}
-		echo_warning
-		continue
-	fi
+   # Wait for the user by default
+   [ "${HEADLESS=0}" = "0" ] && read ENTER
 }
 
 evaluate_retval()
 {
-	error_value="${?}"
+   error_value="${?}"
 
-	if [ ${error_value} = 0 ]; then
-		echo_ok
-	else
-		echo_failure
-	fi
+   if [ ${error_value} = 0 ]; then
+      echo_ok
+   else
+      echo_failure
+   fi
 
-	# This prevents the 'An Unexpected Error Has Occurred' from trivial
-	# errors.
-	return 0
+   # This prevents the 'An Unexpected Error Has Occurred' from trivial
+   # errors.
+   return 0
 }
 
 print_status()
 {
-	if [ "${#}" = "0" ]; then
-		echo "Usage: ${0} {success|warning|failure}"
-		return 1
-	fi
+   if [ "${#}" = "0" ]; then
+      echo "Usage: ${0} {success|warning|failure}"
+      return 1
+   fi
 
-	case "${1}" in
+   case "${1}" in
 
-		success)
-			echo_ok
-			;;
+      success)
+         echo_ok
+         ;;
 
-		warning)
-			# Leave this extra case in because old scripts
-			# may call it this way.
-			case "${2}" in
-				running)
-					${ECHO} -e -n "${CURS_UP}"
-					${ECHO} -e -n "\\033[${STRING_LENGTH}G   "
-					boot_mesg "Already running." ${WARNING}
-					echo_warning
-					;;
-				not_running)
-					${ECHO} -e -n "${CURS_UP}"
-					${ECHO} -e -n "\\033[${STRING_LENGTH}G   "
-					boot_mesg "Not running." ${WARNING}
-					echo_warning
-					;;
-				not_available)
-					${ECHO} -e -n "${CURS_UP}"
-					${ECHO} -e -n "\\033[${STRING_LENGTH}G   "
-					boot_mesg "Not available." ${WARNING}
-					echo_warning
-					;;
-				*)
-					# This is how it is supposed to
-					# be called
-					echo_warning
-					;;
-			esac
-		;;
+      warning)
+         # Leave this extra case in because old scripts
+         # may call it this way.
+         case "${2}" in
+            running)
+               ${ECHO} -e -n "${CURS_UP}"
+               ${ECHO} -e -n "\\033[${STRING_LENGTH}G   "
+               boot_mesg "Already running." ${WARNING}
+               echo_warning
+               ;;
+            not_running)
+               ${ECHO} -e -n "${CURS_UP}"
+               ${ECHO} -e -n "\\033[${STRING_LENGTH}G   "
+               boot_mesg "Not running." ${WARNING}
+               echo_warning
+               ;;
+            not_available)
+               ${ECHO} -e -n "${CURS_UP}"
+               ${ECHO} -e -n "\\033[${STRING_LENGTH}G   "
+               boot_mesg "Not available." ${WARNING}
+               echo_warning
+               ;;
+            *)
+               # This is how it is supposed to
+               # be called
+               echo_warning
+               ;;
+         esac
+      ;;
 
-		failure)
-			echo_failure
-		;;
+      failure)
+         echo_failure
+      ;;
 
-	esac
+   esac
 
 }
 
 reloadproc()
 {
-	local pidfile=""
-	local failure=0
+   local pidfile=""
+   local failure=0
 
-	while true
-	do
-		case "${1}" in
-			-p)
-				pidfile="${2}"
-				shift 2
-				;;
-			-*)
-				log_failure_msg "Unknown Option: ${1}"
-				return 2
-				;;
-			*)
-				break
-				;;
-		esac
-	done
+   while true
+   do
+      case "${1}" in
+         -p)
+            pidfile="${2}"
+            shift 2
+            ;;
+         -*)
+            log_failure_msg "Unknown Option: ${1}"
+            return 2
+            ;;
+         *)
+            break
+            ;;
+      esac
+   done
 
-	if [ "${#}" -lt "1" ]; then
-		log_failure_msg "Usage: reloadproc [-p pidfile] pathname"
-		return 2
-	fi
+   if [ "${#}" -lt "1" ]; then
+      log_failure_msg "Usage: reloadproc [-p pidfile] pathname"
+      return 2
+   fi
 
-	# This will ensure compatibility with previous LFS Bootscripts
-	if [ -n "${PIDFILE}" ];	then
-		pidfile="${PIDFILE}"
-	fi
+   # This will ensure compatibility with previous LFS Bootscripts
+   if [ -n "${PIDFILE}" ]; then
+      pidfile="${PIDFILE}"
+   fi
 
-	# Is the process running?
-	if [ -z "${pidfile}" ];	then
-		pidofproc -s "${1}"
-	else
-		pidofproc -s -p "${pidfile}" "${1}"
-	fi
+   # Is the process running?
+   if [ -z "${pidfile}" ]; then
+      pidofproc -s "${1}"
+   else
+      pidofproc -s -p "${pidfile}" "${1}"
+   fi
 
-	# Warn about stale pid file
-	if [ "$?" = 1 ]; then
-		boot_mesg -n "Removing stale pid file: ${pidfile}. " ${WARNING}
-		rm -f "${pidfile}"
-	fi
+   # Warn about stale pid file
+   if [ "$?" = 1 ]; then
+      boot_mesg -n "Removing stale pid file: ${pidfile}. " ${WARNING}
+      rm -f "${pidfile}"
+   fi
 
-	if [ -n "${pidlist}" ];	then
-		for pid in ${pidlist}
-		do
-			kill -"${RELOADSIG}" "${pid}" || failure="1"
-		done
+   if [ -n "${pidlist}" ]; then
+      for pid in ${pidlist}
+      do
+         kill -"${RELOADSIG}" "${pid}" || failure="1"
+      done
 
-		(exit ${failure})
-		evaluate_retval
+      (exit ${failure})
+      evaluate_retval
 
-	else
-		boot_mesg "Process ${1} not running." ${WARNING}
-		echo_warning
-	fi
+   else
+      boot_mesg "Process ${1} not running." ${WARNING}
+      echo_warning
+   fi
 }
 
 statusproc()
 {
-	local pidfile=""
-	local base=""
-	local ret=""
+   local pidfile=""
+   local base=""
+   local ret=""
 
-	while true
-	do
-		case "${1}" in
-			-p)
-				pidfile="${2}"
-				shift 2
-				;;
-			-*)
-				log_failure_msg "Unknown Option: ${1}"
-				return 2
-				;;
-			*)
-				break
-				;;
-		esac
-	done
+   while true
+   do
+      case "${1}" in
+         -p)
+            pidfile="${2}"
+            shift 2
+            ;;
+         -*)
+            log_failure_msg "Unknown Option: ${1}"
+            return 2
+            ;;
+         *)
+            break
+            ;;
+      esac
+   done
 
-	if [ "${#}" != "1" ]; then
-		shift 1
-		log_failure_msg "Usage: statusproc [-p pidfile] pathname"
-		return 2
-	fi
+   if [ "${#}" != "1" ]; then
+      shift 1
+      log_failure_msg "Usage: statusproc [-p pidfile] pathname"
+      return 2
+   fi
 
-	# Get the process basename
-	base="${1##*/}"
+   # Get the process basename
+   base="${1##*/}"
 
-	# This will ensure compatibility with previous LFS Bootscripts
-	if [ -n "${PIDFILE}" ];	then
-		pidfile="${PIDFILE}"
-	fi
+   # This will ensure compatibility with previous LFS Bootscripts
+   if [ -n "${PIDFILE}" ]; then
+      pidfile="${PIDFILE}"
+   fi
 
-	# Is the process running?
-	if [ -z "${pidfile}" ];	then
-		pidofproc -s "${1}"
-	else
-		pidofproc -s -p "${pidfile}" "${1}"
-	fi
+   # Is the process running?
+   if [ -z "${pidfile}" ]; then
+      pidofproc -s "${1}"
+   else
+      pidofproc -s -p "${pidfile}" "${1}"
+   fi
 
-	# Store the return status
-	ret=$?
+   # Store the return status
+   ret=$?
 
-	if [ -n "${pidlist}" ];	then
-		${ECHO} -e "${INFO}${base} is running with Process"\
-			"ID(s) ${pidlist}.${NORMAL}"
-	else
-		if [ -n "${base}" -a -e "/var/run/${base}.pid" ]; then
-			${ECHO} -e "${WARNING}${1} is not running but"\
-				"/var/run/${base}.pid exists.${NORMAL}"
-		else
-			if [ -n "${pidfile}" -a -e "${pidfile}" ]; then
-				${ECHO} -e "${WARNING}${1} is not running"\
-					"but ${pidfile} exists.${NORMAL}"
-			else
-				${ECHO} -e "${INFO}${1} is not running.${NORMAL}"
-			fi
-		fi
-	fi
+   if [ -n "${pidlist}" ]; then
+      ${ECHO} -e "${INFO}${base} is running with Process"\
+         "ID(s) ${pidlist}.${NORMAL}"
+   else
+      if [ -n "${base}" -a -e "/var/run/${base}.pid" ]; then
+         ${ECHO} -e "${WARNING}${1} is not running but"\
+            "/var/run/${base}.pid exists.${NORMAL}"
+      else
+         if [ -n "${pidfile}" -a -e "${pidfile}" ]; then
+            ${ECHO} -e "${WARNING}${1} is not running"\
+               "but ${pidfile} exists.${NORMAL}"
+         else
+            ${ECHO} -e "${INFO}${1} is not running.${NORMAL}"
+         fi
+      fi
+   fi
 
-	# Return the status from pidofproc
-	return $ret
+   # Return the status from pidofproc
+   return $ret
 }
 
 # The below functions are documented in the LSB-generic 2.1.0
@@ -405,82 +393,82 @@
 #*******************************************************************************
 pidofproc()
 {
-	local pidfile=""
-	local lpids=""
-	local silent=""
-	pidlist=""
-	while true
-	do
-		case "${1}" in
-			-p)
-				pidfile="${2}"
-				shift 2
-				;;
+   local pidfile=""
+   local lpids=""
+   local silent=""
+   pidlist=""
+   while true
+   do
+      case "${1}" in
+         -p)
+            pidfile="${2}"
+            shift 2
+            ;;
 
-			-s)
-				# Added for legacy opperation of getpids
-				# eliminates several '> /dev/null'
-				silent="1"
-				shift 1
-				;;
-			-*)
-				log_failure_msg "Unknown Option: ${1}"
-				return 2
-				;;
-			*)
-				break
-				;;
-		esac
-	done
+         -s)
+            # Added for legacy opperation of getpids
+            # eliminates several '> /dev/null'
+            silent="1"
+            shift 1
+            ;;
+         -*)
+            log_failure_msg "Unknown Option: ${1}"
+            return 2
+            ;;
+         *)
+            break
+            ;;
+      esac
+   done
 
-	if [ "${#}" != "1" ]; then
-		shift 1
-		log_failure_msg "Usage: pidofproc [-s] [-p pidfile] pathname"
-		return 2
-	fi
+   if [ "${#}" != "1" ]; then
+      shift 1
+      log_failure_msg "Usage: pidofproc [-s] [-p pidfile] pathname"
+      return 2
+   fi
 
-	if [ -n "${pidfile}" ]; then
-		if [ ! -r "${pidfile}" ]; then
-			return 3 # Program is not running
-		fi
+   if [ -n "${pidfile}" ]; then
+      if [ ! -r "${pidfile}" ]; then
+         return 3 # Program is not running
+      fi
 
-		lpids=`head -n 1 ${pidfile}`
-		for pid in ${lpids}
-		do
-			if [ "${pid}" -ne "$$" -a "${pid}" -ne "${PPID}" ]; then
-				kill -0 "${pid}" 2>/dev/null &&
-				pidlist="${pidlist} ${pid}"
-			fi
-			
-			if [ "${silent}" != "1" ]; then
-				echo "${pidlist}"
-			fi
+      lpids=`head -n 1 ${pidfile}`
+      for pid in ${lpids}
+      do
+         if [ "${pid}" -ne "$$" -a "${pid}" -ne "${PPID}" ]; then
+            kill -0 "${pid}" 2>/dev/null &&
+            pidlist="${pidlist} ${pid}"
+         fi
+         
+         if [ "${silent}" != "1" ]; then
+            echo "${pidlist}"
+         fi
 
-			test -z "${pidlist}" && 
-			# Program is dead, pidfile exists
-			return 1
-			# else
-			return 0
-		done
+         test -z "${pidlist}" && 
+         # Program is dead, pidfile exists
+         return 1
+         # else
+         return 0
+      done
 
-	else
-		pidlist=`pidof -o $$ -o $PPID -x "$1"`
-		if [ "${silent}" != "1" ]; then
-			echo "${pidlist}"
-		fi
+   else
+      pidlist=`pidof -o $$ -o $PPID -x "$1"`
+      if [ "${silent}" != "1" ]; then
+         echo "${pidlist}"
+      fi
 
-		# Get provide correct running status
-		if [ -n "${pidlist}" ]; then
-			return 0
-		else
-			return 3
-		fi
+      # Get provide correct running status
+      if [ -n "${pidlist}" ]; then
+         return 0
+      else
+         return 3
+      fi
 
-	fi
+   fi
 
-	if [ "$?" != "0" ]; then
-		return 3 # Program is not running
-	fi
+   if [ "$?" != "0" ]; then
+      return 3 # Program is not running
+   fi
 }
 
 #*******************************************************************************
@@ -510,74 +498,74 @@
 #*******************************************************************************
 loadproc()
 {
-	local pidfile=""
-	local forcestart=""
-	local nicelevel="10"
+   local pidfile=""
+   local forcestart=""
+   local nicelevel="10"
 
 # This will ensure compatibility with previous LFS Bootscripts
-	if [ -n "${PIDFILE}" ];	then
-		pidfile="${PIDFILE}"
-	fi
+   if [ -n "${PIDFILE}" ]; then
+      pidfile="${PIDFILE}"
+   fi
 
   while true
-	do
-		case "${1}" in
-			-f)
-				forcestart="1"
-				shift 1
-				;;
-			-n)
-				nicelevel="${2}"
-				shift 2
-				;;
-			-p)
-				pidfile="${2}"
-				shift 2
-				;;
-			-*)
-				log_failure_msg "Unknown Option: ${1}"
-				return 2 #invalid or excess argument(s)
-				;;
-			*)
-				break
-				;;
-		esac
-	done
+   do
+      case "${1}" in
+         -f)
+            forcestart="1"
+            shift 1
+            ;;
+         -n)
+            nicelevel="${2}"
+            shift 2
+            ;;
+         -p)
+            pidfile="${2}"
+            shift 2
+            ;;
+         -*)
+            log_failure_msg "Unknown Option: ${1}"
+            return 2 #invalid or excess argument(s)
+            ;;
+         *)
+            break
+            ;;
+      esac
+   done
 
-	if [ "${#}" = "0" ]; then
-		log_failure_msg "Usage: loadproc [-f] [-n nicelevel] [-p pidfile] pathname [args]"
-		return 2 #invalid or excess argument(s)
-	fi
+   if [ "${#}" = "0" ]; then
+      log_failure_msg "Usage: loadproc [-f] [-n nicelevel] [-p pidfile] pathname [args]"
+      return 2 #invalid or excess argument(s)
+   fi
 
-	if [ -z "${forcestart}" ]; then
-		if [ -z "${pidfile}" ];	then
-			pidofproc -s "${1}"
-		else
-			pidofproc -s -p "${pidfile}" "${1}"
-		fi
+   if [ -z "${forcestart}" ]; then
+      if [ -z "${pidfile}" ]; then
+         pidofproc -s "${1}"
+      else
+         pidofproc -s -p "${pidfile}" "${1}"
+      fi
 
-		case "${?}" in
-			0)
-				log_warning_msg "Unable to continue: ${1} is running"
-				return 0 # 4
-				;;
-			1)
-				boot_mesg "Removing stale pid file: ${pidfile}" ${WARNING}
-				rm -f "${pidfile}"
-				;;
-			3)
-				;;
-			*)
-				log_failure_msg "Unknown error code from pidofproc: ${?}"
-				return 4
-				;;
-		esac
-	fi
+      case "${?}" in
+         0)
+            log_warning_msg "Unable to continue: ${1} is running"
+            return 0 # 4
+            ;;
+         1)
+            boot_mesg "Removing stale pid file: ${pidfile}" ${WARNING}
+            rm -f "${pidfile}"
+            ;;
+         3)
+            ;;
+         *)
+            log_failure_msg "Unknown error code from pidofproc: ${?}"
+            return 4
+            ;;
+      esac
+   fi
 
-	nice -n "${nicelevel}" "${@}"
-	evaluate_retval # This is "Probably" not LSB compliant,
+   nice -n "${nicelevel}" "${@}"
+   evaluate_retval # This is "Probably" not LSB compliant,
 #                         but required to be compatible with older bootscripts
-	return 0
+   return 0
 }
 
 #*******************************************************************************
@@ -603,106 +591,106 @@
 #*******************************************************************************
 killproc()
 {
-	local pidfile=""
-	local killsig=TERM # default signal is SIGTERM
-	pidlist=""
+   local pidfile=""
+   local killsig=TERM # default signal is SIGTERM
+   pidlist=""
 
-	# This will ensure compatibility with previous LFS Bootscripts
-	if [ -n "${PIDFILE}" ];	then
-		pidfile="${PIDFILE}"
-	fi
+   # This will ensure compatibility with previous LFS Bootscripts
+   if [ -n "${PIDFILE}" ]; then
+      pidfile="${PIDFILE}"
+   fi
 
-	while true
-	do
-		case "${1}" in
-			-p)
-				pidfile="${2}"
-				shift 2
-				;;
-			-*)
-				log_failure_msg "Unknown Option: ${1}"
-				return 2
-				;;
-			*)
- 				break
-				;;
-		esac
-	done
+   while true
+   do
+      case "${1}" in
+         -p)
+            pidfile="${2}"
+            shift 2
+            ;;
+         -*)
+            log_failure_msg "Unknown Option: ${1}"
+            return 2
+            ;;
+         *)
+            break
+            ;;
+      esac
+   done
 
-	if [ "${#}" = "2" ]; then
-		killsig="${2}"
-	elif [ "${#}" != "1" ];	then
-		shift 2
-		log_failure_msg "Usage: killproc  [-p pidfile] pathname [signal]"
-		return 2
-	fi
+   if [ "${#}" = "2" ]; then
+      killsig="${2}"
+   elif [ "${#}" != "1" ]; then
+      shift 2
+      log_failure_msg "Usage: killproc  [-p pidfile] pathname [signal]"
+      return 2
+   fi
 
-	# Is the process running?
-	if [ -z "${pidfile}" ];	then
-		pidofproc -s "${1}"
-	else
-		pidofproc -s -p "${pidfile}" "${1}"
-	fi
+   # Is the process running?
+   if [ -z "${pidfile}" ]; then
+      pidofproc -s "${1}"
+   else
+      pidofproc -s -p "${pidfile}" "${1}"
+   fi
 
-	# Remove stale pidfile
-	if [ "$?" = 1 ]; then
-		boot_mesg "Removing stale pid file: ${pidfile}." ${WARNING}
-		rm -f "${pidfile}"
-	fi
+   # Remove stale pidfile
+   if [ "$?" = 1 ]; then
+      boot_mesg "Removing stale pid file: ${pidfile}." ${WARNING}
+      rm -f "${pidfile}"
+   fi
 
     # If running, send the signal
     if [ -n "${pidlist}" ]; then
-	for pid in ${pidlist}
-	do
-		kill -${killsig} ${pid} 2>/dev/null
+   for pid in ${pidlist}
+   do
+      kill -${killsig} ${pid} 2>/dev/null
 
-		# Wait up to 3 seconds, for ${pid} to terminate
-		case "${killsig}" in
-		TERM|SIGTERM|KILL|SIGKILL)
-			# sleep in 1/10ths of seconds and
-			# multiply KILLDELAY by 10
-			local dtime="${KILLDELAY}0"
-			while [ "${dtime}" != "0" ]
-			do
-				kill -0 ${pid} 2>/dev/null || break
-				sleep 0.1
-				dtime=$(( ${dtime} - 1))
-			done
-			# If ${pid} is still running, kill it
-			kill -0 ${pid} 2>/dev/null && kill -KILL ${pid} 2>/dev/null
-			;;
-		esac
-	done
+      # Wait up to 3 seconds, for ${pid} to terminate
+      case "${killsig}" in
+      TERM|SIGTERM|KILL|SIGKILL)
+         # sleep in 1/10ths of seconds and
+         # multiply KILLDELAY by 10
+         local dtime="${KILLDELAY}0"
+         while [ "${dtime}" != "0" ]
+         do
+            kill -0 ${pid} 2>/dev/null || break
+            sleep 0.1
+            dtime=$(( ${dtime} - 1))
+         done
+         # If ${pid} is still running, kill it
+         kill -0 ${pid} 2>/dev/null && kill -KILL ${pid} 2>/dev/null
+         ;;
+      esac
+   done
 
-	# Check if the process is still running if we tried to stop it
-	case "${killsig}" in
-	TERM|SIGTERM|KILL|SIGKILL)
-		if [ -z "${pidfile}" ];	then
-			pidofproc -s "${1}"
-		else
-			pidofproc -s -p "${pidfile}" "${1}"
-		fi
+   # Check if the process is still running if we tried to stop it
+   case "${killsig}" in
+   TERM|SIGTERM|KILL|SIGKILL)
+      if [ -z "${pidfile}" ]; then
+         pidofproc -s "${1}"
+      else
+         pidofproc -s -p "${pidfile}" "${1}"
+      fi
 
-		# Program was terminated
-		if [ "$?" != "0" ]; then
-			# Remove the pidfile if necessary
-			if [ -f "${pidfile}" ];	then
-				rm -f "${pidfile}"
-			fi
-			echo_ok
-			return 0
-		else # Program is still running
-			echo_failure
-			return 4 # Unknown Status
-		fi
-		;;
-	*)
-		# Just see if the kill returned successfully
-		evaluate_retval
-		;;
-	esac
+      # Program was terminated
+      if [ "$?" != "0" ]; then
+         # Remove the pidfile if necessary
+         if [ -f "${pidfile}" ]; then
+            rm -f "${pidfile}"
+         fi
+         echo_ok
+         return 0
+      else # Program is still running
+         echo_failure
+         return 4 # Unknown Status
+      fi
+      ;;
+   *)
+      # Just see if the kill returned successfully
+      evaluate_retval
+      ;;
+   esac
     else # process not running
-	print_status warning not_running
+   print_status warning not_running
     fi
 }
 
@@ -723,9 +711,12 @@
 #*******************************************************************************
 log_success_msg()
 {
-	${ECHO} -n -e "${BOOTMESG_PREFIX}${@}"
-	${ECHO} -e "${SET_COL}""${BRACKET}""[""${SUCCESS}""  OK  ""${BRACKET}""]""${NORMAL}"
-	return 0
+   ${ECHO} -n -e "${BOOTMESG_PREFIX}${@}"
+   ${ECHO} -e "${SET_COL}""${BRACKET}""[""${SUCCESS}""  OK  ""${BRACKET}""]""${NORMAL}"
+   ${ECHO} -n -e "${BOOTMESG_PREFIX}${@}" >> /run/var/bootlog
+   ${ECHO} -e "${SET_COL}""${BRACKET}""[""${SUCCESS}""  OK  ""${BRACKET}""]""${NORMAL}" \
+         >> /run/var/bootlog
+   return 0
 }
 
 #*******************************************************************************
@@ -743,9 +734,12 @@
 #
 #*******************************************************************************
 log_failure_msg() {
-	${ECHO} -n -e "${BOOTMESG_PREFIX}${@}"
-	${ECHO} -e "${SET_COL}""${BRACKET}""[""${FAILURE}"" FAIL ""${BRACKET}""]""${NORMAL}"
-	return 0
+   ${ECHO} -n -e "${BOOTMESG_PREFIX}${@}"
+   ${ECHO} -e "${SET_COL}""${BRACKET}""[""${FAILURE}"" FAIL ""${BRACKET}""]""${NORMAL}"
+   ${ECHO} -n -e "${BOOTMESG_PREFIX}${@}" >> /run/var/bootlog
+   ${ECHO} -e "${SET_COL}""${BRACKET}""[""${FAILURE}"" FAIL ""${BRACKET}""]""${NORMAL}" \
+         >> /run/var/bootlog
+   return 0
 }
 
 #*******************************************************************************
@@ -763,9 +757,35 @@
 #
 #*******************************************************************************
 log_warning_msg() {
-	${ECHO} -n -e "${BOOTMESG_PREFIX}${@}"
-	${ECHO} -e "${SET_COL}""${BRACKET}""[""${WARNING}"" WARN ""${BRACKET}""]""${NORMAL}"
-	return 0
+   ${ECHO} -n -e "${BOOTMESG_PREFIX}${@}"
+   ${ECHO} -e "${SET_COL}""${BRACKET}""[""${WARNING}"" WARN ""${BRACKET}""]""${NORMAL}"
+   ${ECHO} -n -e "${BOOTMESG_PREFIX}${@}" >> /run/var/bootlog
+   ${ECHO} -e "${SET_COL}""${BRACKET}""[""${WARNING}"" WARN ""${BRACKET}""]""${NORMAL}" \
+         >> /run/var/bootlog
+   return 0
 }
 
-# End $rc_base/init.d/functions
+#*******************************************************************************
+# Function - log_skipped_msg "message"
+#
+# Purpose: print a message that the script was skipped
+#
+# Inputs: $@ - Message
+#
+# Outputs: Text output to screen
+#
+# Dependencies: echo
+#
+# Todo: logging
+#
+#*******************************************************************************
+log_skipped_msg() {
+   ${ECHO} -n -e "${BOOTMESG_PREFIX}${@}"
+   ${ECHO} -e "${SET_COL}""${BRACKET}""[""${WARNING}"" SKIP ""${BRACKET}""]""${NORMAL}"
+   ${ECHO} -n -e "${BOOTMESG_PREFIX}${@}" >> /run/var/bootlog
+   ${ECHO} -e "${SET_COL}""${BRACKET}""[""${WARNING}"" SKIP ""${BRACKET}""]""${NORMAL}" \
+         >> /run/var/bootlog
+   return 0
+}
+
+# End boot functions

Modified: trunk/BOOK/bootscripts/lfs/init.d/halt
===================================================================
--- trunk/BOOK/bootscripts/lfs/init.d/halt	2011-07-17 19:17:28 UTC (rev 9573)
+++ trunk/BOOK/bootscripts/lfs/init.d/halt	2011-08-02 02:15:42 UTC (rev 9574)
@@ -1,28 +1,38 @@
 #!/bin/sh
 ########################################################################
-# Begin $rc_base/init.d/halt
+# Begin halt
 #
 # Description : Halt Script
 #
 # Authors     : Gerard Beekmans - gerard at linuxfromscratch.org
+# Update      : Bruce Dubbs - bdubbs at linuxfromscratch.org
 #
-# Version     : 00.00
+# Version     : LFS 7.0
 #
-# Notes       :
-#
 ########################################################################
 
-. /etc/sysconfig/rc
-. ${rc_functions}
+### BEGIN INIT INFO
+# Provides:            halt
+# Required-Start:
+# Should-Start:
+# Required-Stop:
+# Should-Stop:
+# Default-Start:       0
+# Default-Stop:
+# Short-Description:   Halts the system.
+# Description:         Halts the System.
+# X-LFS-Provided-By:   LFS
+### END INIT INFO
 
 case "${1}" in
-	stop)
-		halt -d -f -i -p
-		;;
-	*)
-		echo "Usage: {stop}"
-		exit 1
-		;;
+   stop)
+      halt -d -f -i -p
+      ;;
+
+   *)
+      echo "Usage: {stop}"
+      exit 1
+      ;;
 esac
 
-# End $rc_base/init.d/halt
+# End halt

Modified: trunk/BOOK/bootscripts/lfs/init.d/localnet
===================================================================
--- trunk/BOOK/bootscripts/lfs/init.d/localnet	2011-07-17 19:17:28 UTC (rev 9573)
+++ trunk/BOOK/bootscripts/lfs/init.d/localnet	2011-08-02 02:15:42 UTC (rev 9574)
@@ -1,54 +1,66 @@
 #!/bin/sh
 ########################################################################
-# Begin $rc_base/init.d/localnet
+# Begin localnet
 #
 # Description : Loopback device
 #
 # Authors     : Gerard Beekmans  - gerard at linuxfromscratch.org
+# Update      : Bruce Dubbs - bdubbs at linuxfromscratch.org
 #
-# Version     : 00.00
+# Version     : LFS 7.0
 #
-# Notes       :
-#
 ########################################################################
 
-. /etc/sysconfig/rc
-. ${rc_functions}
+### BEGIN INIT INFO
+# Provides:            localnet
+# Required-Start:      $local_fs
+# Should-Start:
+# Required-Stop:
+# Should-Stop:
+# Default-Start:       S
+# Default-Stop:        0 6
+# Short-Description:   Starts the local network.
+# Description:         Sets the hostname of the machine and starts the
+#                      loopback interface.
+# X-LFS-Provided-By:   LFS
+### END INIT INFO
+
+. /lib/boot/functions
 . /etc/sysconfig/network
 
 case "${1}" in
-	start)
-		boot_mesg "Bringing up the loopback interface..."
-		ip addr add 127.0.0.1/8 label lo dev lo
-		ip link set lo up
-		evaluate_retval
+   start)
+      boot_mesg "Bringing up the loopback interface..."
+      ip addr add 127.0.0.1/8 label lo dev lo
+      ip link set lo up
+      evaluate_retval
 
-		boot_mesg "Setting hostname to ${HOSTNAME}..."
-		hostname ${HOSTNAME}
-		evaluate_retval
-		;;
+      boot_mesg "Setting hostname to ${HOSTNAME}..."
+      hostname ${HOSTNAME}
+      evaluate_retval
+      ;;
 
-	stop)
-		boot_mesg "Bringing down the loopback interface..."
-		ip link set lo down
-		evaluate_retval
-		;;
+   stop)
+      boot_mesg "Bringing down the loopback interface..."
+      ip link set lo down
+      evaluate_retval
+      ;;
 
-	restart)
-		${0} stop
-		sleep 1
-		${0} start
-		;;
+   restart)
+      ${0} stop
+      sleep 1
+      ${0} start
+      ;;
 
-	status)
-		echo "Hostname is: $(hostname)"
-		ip link show lo
-		;;
+   status)
+      echo "Hostname is: $(hostname)"
+      ip link show lo
+      ;;
 
-	*)
-		echo "Usage: ${0} {start|stop|restart|status}"
-		exit 1
-		;;
+   *)
+      echo "Usage: ${0} {start|stop|restart|status}"
+      exit 1
+      ;;
 esac
 
-# End $rc_base/init.d/localnet
+# End localnet

Modified: trunk/BOOK/bootscripts/lfs/init.d/modules
===================================================================
--- trunk/BOOK/bootscripts/lfs/init.d/modules	2011-07-17 19:17:28 UTC (rev 9573)
+++ trunk/BOOK/bootscripts/lfs/init.d/modules	2011-08-02 02:15:42 UTC (rev 9574)
@@ -1,72 +1,83 @@
 #!/bin/sh
 ########################################################################
-# Begin $rc_base/init.d/modules
+# Begin modules
 #
 # Description : Module auto-loading script
 #
 # Authors     : Zack Winkles
+# Update      : Bruce Dubbs - bdubbs at linuxfromscratch.org
 #
-# Version     : 00.00
+# Version     : LFS 7.0
 #
-# Notes       :
-#
 ########################################################################
 
-. /etc/sysconfig/rc
-. ${rc_functions}
+### BEGIN INIT INFO
+# Provides:            modules
+# Required-Start:      mountvirtfs sysctl
+# Should-Start:
+# Required-Stop:
+# Should-Stop:
+# Default-Start:       S
+# Default-Stop:
+# Short-Description:   Loads required modules.
+# Description:         Loads modules listed in /etc/sysconfig/modules.
+# X-LFS-Provided-By:   LFS
+### END INIT INFO
 
+. /lib/boot/functions
+
 # Assure that the kernel has module support.
 [ -e /proc/ksyms -o -e /proc/modules ] || exit 0
 
 case "${1}" in
-	start)
+   start)
+      # Exit if there's no modules file or there are no
+      # valid entries
+      [ -r /etc/sysconfig/modules ] &&
+         egrep -qv '^($|#)' /etc/sysconfig/modules ||
+         exit 0
 
-		# Exit if there's no modules file or there are no
-		# valid entries
-		[ -r /etc/sysconfig/modules ] &&
-			egrep -qv '^($|#)' /etc/sysconfig/modules ||
-			exit 0
+      boot_mesg -n "Loading modules:" ${INFO}
 
-		boot_mesg -n "Loading modules:" ${INFO}
+      # Only try to load modules if the user has actually given us
+      # some modules to load.
+      while read module args; do
 
-		# Only try to load modules if the user has actually given us
-		# some modules to load.
-		while read module args; do
+         # Ignore comments and blank lines.
+         case "$module" in
+            ""|"#"*) continue ;;
+         esac
 
-			# Ignore comments and blank lines.
-			case "$module" in
-				""|"#"*) continue ;;
-			esac
+         # Attempt to load the module, making
+         # sure to pass any arguments provided.
+         modprobe ${module} ${args} >/dev/null
 
-			# Attempt to load the module, making
-			# sure to pass any arguments provided.
-			modprobe ${module} ${args} >/dev/null
+         # Print the module name if successful,
+         # otherwise take note.
+         if [ $? -eq 0 ]; then
+            boot_mesg -n " ${module}" ${NORMAL}
+         else
+            failedmod="${failedmod} ${module}"
+         fi
+      done < /etc/sysconfig/modules
 
-			# Print the module name if successful,
-			# otherwise take note.
-			if [ $? -eq 0 ]; then
-				boot_mesg -n " ${module}" ${NORMAL}
-			else
-				failedmod="${failedmod} ${module}"
-			fi
-		done < /etc/sysconfig/modules
+      boot_mesg "" ${NORMAL}
+      # Print a message about successfully loaded
+      # modules on the correct line.
+      echo_ok
 
-		boot_mesg "" ${NORMAL}
-		# Print a message about successfully loaded
-		# modules on the correct line.
-		echo_ok
+      # Print a failure message with a list of any
+      # modules that may have failed to load.
+      if [ -n "${failedmod}" ]; then
+         boot_mesg "Failed to load modules:${failedmod}" ${FAILURE}
+         echo_failure
+      fi
+      ;;
 
-		# Print a failure message with a list of any
-		# modules that may have failed to load.
-		if [ -n "${failedmod}" ]; then
-			boot_mesg "Failed to load modules:${failedmod}" ${FAILURE}
-			echo_failure
-		fi
-		;;
-	*)
-		echo "Usage: ${0} {start}"
-		exit 1
-		;;
+   *)
+      echo "Usage: ${0} {start}"
+      exit 1
+      ;;
 esac
 
-# End $rc_base/init.d/modules
+# End modules

Modified: trunk/BOOK/bootscripts/lfs/init.d/mountfs
===================================================================
--- trunk/BOOK/bootscripts/lfs/init.d/mountfs	2011-07-17 19:17:28 UTC (rev 9573)
+++ trunk/BOOK/bootscripts/lfs/init.d/mountfs	2011-08-02 02:15:42 UTC (rev 9574)
@@ -1,56 +1,70 @@
 #!/bin/sh
 ########################################################################
-# Begin $rc_base/init.d/mountfs
+# Begin mountfs
 #
 # Description : File System Mount Script
 #
 # Authors     : Gerard Beekmans - gerard at linuxfromscratch.org
+# Update      : Bruce Dubbs - bdubbs at linuxfromscratch.org
 #
-# Version     : 00.00
+# Version     : LFS 7.0
 #
-# Notes       :
-#
 ########################################################################
 
-. /etc/sysconfig/rc
-. ${rc_functions}
+### BEGIN INIT INFO
+# Provides:            $local_fs
+# Required-Start:      udev checkfs
+# Should-Start:
+# Required-Stop:       swap
+# Should-Stop:
+# Default-Start:       S
+# Default-Stop:        0 6
+# Short-Description:   Mounts/unmounts local filesystems defined in /etc/fstab.
+# Description:         Remounts root filesystem read/write and mounts all
+#                      remaining local filesystems defined in /etc/fstab on
+#                      start.  Remounts root filesystem read-only and unmounts
+#                      remaining filesystems on stop.
+# X-LFS-Provided-By:   LFS
+### END INIT INFO
 
+. /lib/boot/functions
+
 case "${1}" in
-	start)
-		boot_mesg "Remounting root file system in read-write mode..."
-		mount -n -o remount,rw / >/dev/null
-		evaluate_retval
+   start)
+      boot_mesg "Remounting root file system in read-write mode..."
+      mount -n -o remount,rw / >/dev/null
+      evaluate_retval
 
-		# Remove fsck-related file system watermarks.
-		rm -f /fastboot /forcefsck
+      # Remove fsck-related file system watermarks.
+      rm -f /fastboot /forcefsck
 
-		boot_mesg "Recording existing mounts in /etc/mtab..."
-		> /etc/mtab
+      boot_mesg "Recording existing mounts in /etc/mtab..."
+      > /etc/mtab
 
-		mount -f / || failed=1
-		mount -f /proc || failed=1
-		mount -f /sys || failed=1
-		mount -f /run || failed=1
-		(exit ${failed})
-		evaluate_retval
+      mount -f /     || failed=1
+      mount -f /proc || failed=1
+      mount -f /sys  || failed=1
+      mount -f /run  || failed=1
+      (exit ${failed})
+      evaluate_retval
 
-		# This will mount all filesystems that do not have _netdev in
-		# their option list.  _netdev denotes a network filesystem.
-		boot_mesg "Mounting remaining file systems..."
-		mount -a -O no_netdev >/dev/null
-		evaluate_retval
-		;;
+      # This will mount all filesystems that do not have _netdev in
+      # their option list.  _netdev denotes a network filesystem.
+      boot_mesg "Mounting remaining file systems..."
+      mount -a -O no_netdev >/dev/null
+      evaluate_retval
+      ;;
 
-	stop)
-		boot_mesg "Unmounting all other currently mounted file systems..."
-		umount -a -d -r >/dev/null
-		evaluate_retval
-		;;
+   stop)
+      boot_mesg "Unmounting all other currently mounted file systems..."
+      umount -a -d -r >/dev/null
+      evaluate_retval
+      ;;
 
-	*)
-		echo "Usage: ${0} {start|stop}"
-		exit 1
-		;;
+   *)
+      echo "Usage: ${0} {start|stop}"
+      exit 1
+      ;;
 esac
 
-# End $rc_base/init.d/mountfs
+# End mountfs

Modified: trunk/BOOK/bootscripts/lfs/init.d/mountvirtfs
===================================================================
--- trunk/BOOK/bootscripts/lfs/init.d/mountvirtfs	2011-07-17 19:17:28 UTC (rev 9573)
+++ trunk/BOOK/bootscripts/lfs/init.d/mountvirtfs	2011-08-02 02:15:42 UTC (rev 9574)
@@ -1,50 +1,63 @@
 #!/bin/sh
 ########################################################################
-# Begin $rc_base/init.d/mountvirtfs
+# Begin mountvirtfs
 #
 # Description : Mount proc, sysfs, and run
 #
 # Authors     : Gerard Beekmans - gerard at linuxfromscratch.org
+# Update      : Bruce Dubbs - bdubbs at linuxfromscratch.org
 #
-# Version     : 00.00
+# Version     : LFS 7.0
 #
-# Notes       :
-#
 ########################################################################
 
-. /etc/sysconfig/rc
-. ${rc_functions}
+### BEGIN INIT INFO
+# Provides:            mountvirtfs
+# Required-Start:
+# Should-Start:
+# Required-Stop:
+# Should-Stop:
+# Default-Start:       S
+# Default-Stop:
+# Short-Description:   Mounts /sys and /proc virtual (kernel) filesystems.
+#                      Mounts /run tmpfs.
+# Description:         Mounts /sys and /proc virtual (kernel) filesystems.
+#                      Mounts /run tmpfs.
+# X-LFS-Provided-By:   LFS
+### END INIT INFO
 
+. /lib/boot/functions
+
 case "${1}" in
-	start)
-		boot_mesg -n "Mounting virtual file systems:" ${INFO}
+   start)
+      mkdir -p /run
+      mount -n /run || failed=1
+      mkdir -p /run/{var,lock,shm}
 
-		if ! mountpoint /proc >/dev/null; then
-			boot_mesg -n " /proc" ${NORMAL}
-			mount -n /proc || failed=1
-		fi
 
-		if ! mountpoint /sys >/dev/null; then
-			boot_mesg -n " /sys" ${NORMAL}
-			mount -n /sys || failed=1
-		fi
+      boot_mesg -n "Mounting virtual file systems:" ${INFO}
+      boot_mesg -n " /run" ${NORMAL}
 
-		if ! mountpoint /run >/dev/null; then
-			boot_mesg -n " /run" ${NORMAL}
-			mount -n /run || failed=1
-			mkdir /run/{var,lock,shm}
-		fi
+      if ! mountpoint /proc >/dev/null; then
+         boot_mesg -n " /proc" ${NORMAL}
+         mount -n /proc || failed=1
+      fi
 
-		boot_mesg "" ${NORMAL}
+      if ! mountpoint /sys >/dev/null; then
+         boot_mesg -n " /sys" ${NORMAL}
+         mount -n /sys || failed=1
+      fi
 
-		(exit ${failed})
-		evaluate_retval
-		;;
+      boot_mesg "" ${NORMAL}
 
-	*)
-		echo "Usage: ${0} {start}"
-		exit 1
-		;;
+      (exit ${failed})
+      evaluate_retval
+      ;;
+
+   *)
+      echo "Usage: ${0} {start}"
+      exit 1
+      ;;
 esac
 
-# End $rc_base/init.d/mountvertfs
+# End mountvertfs

Modified: trunk/BOOK/bootscripts/lfs/init.d/network
===================================================================
--- trunk/BOOK/bootscripts/lfs/init.d/network	2011-07-17 19:17:28 UTC (rev 9573)
+++ trunk/BOOK/bootscripts/lfs/init.d/network	2011-08-02 02:15:42 UTC (rev 9574)
@@ -1,73 +1,81 @@
 #!/bin/sh
 ########################################################################
-# Begin $rc_base/init.d/network
+# Begin network
 #
 # Description : Network Control Script
 #
 # Authors     : Gerard Beekmans - gerard at linuxfromscratch.org
-#		Nathan Coulson - nathan at linuxfromscratch.org
-#		Kevin P. Fleming - kpfleming at linuxfromscratch.org
+#               Nathan Coulson - nathan at linuxfromscratch.org
+#               Kevin P. Fleming - kpfleming at linuxfromscratch.org
+# Update      : Bruce Dubbs - bdubbs at linuxfromscratch.org
 #
-# Version     : 00.00
+# Version     : LFS 7.0
 #
-# Notes       :
-#
 ########################################################################
 
-. /etc/sysconfig/rc
-. ${rc_functions}
-. /etc/sysconfig/network
+### BEGIN INIT INFO
+# Provides:            $network
+# Required-Start:      $local_fs swap localnet
+# Should-Start:        $syslog
+# Required-Stop:       $local_fs swap localnet
+# Should-Stop:         $syslog
+# Default-Start:       3 4 5
+# Default-Stop:        0 1 2 6
+# Short-Description:   Starts and configures network interfaces.
+# Description:         Starts and configures network interfaces.
+# X-LFS-Provided-By:   LFS
+### END INIT INFO
 
 case "${1}" in
-	start)
-		# Start all network interfaces
-		for file in ${network_devices}/ifconfig.*
-		do
-			interface=${file##*/ifconfig.}
+   start)
+      # Start all network interfaces
+      for file in /etc/sysconfig/ifconfig.*
+      do
+         interface=${file##*/ifconfig.}
 
-			# skip if $file is * (because nothing was found)
-			if [ "${interface}" = "*" ]
-			then
-				continue
-			fi
+         # skip if $file is * (because nothing was found)
+         if [ "${interface}" = "*" ]
+         then
+            continue
+         fi
 
-			IN_BOOT=1 ${network_devices}/ifup ${interface}
-		done
-		;;
+         /sbin/ifup ${interface}
+      done
+      ;;
 
-	stop)
-		# Reverse list
-		FILES=""
-		for file in ${network_devices}/ifconfig.*
-		do
-			FILES="${file} ${FILES}"
-		done
+   stop)
+      # Reverse list
+      FILES=""
+      for file in  /etc/sysconfig/ifconfig.*
+      do
+         FILES="${file} ${FILES}"
+      done
 
-		# Stop all network interfaces
-		for file in ${FILES}
-		do
-			interface=${file##*/ifconfig.}
+      # Stop all network interfaces
+      for file in ${FILES}
+      do
+         interface=${file##*/ifconfig.}
 
-			# skip if $file is * (because nothing was found)
-			if [ "${interface}" = "*" ]
-			then
-				continue
-			fi
+         # skip if $file is * (because nothing was found)
+         if [ "${interface}" = "*" ]
+         then
+            continue
+         fi
 
-			IN_BOOT=1 ${network_devices}/ifdown ${interface}
-		done
-		;;
+         /sbin/ifdown ${interface}
+      done
+      ;;
 
-	restart)
-		${0} stop
-		sleep 1
-		${0} start
-		;;
+   restart)
+      ${0} stop
+      sleep 1
+      ${0} start
+      ;;
 
-	*)
-		echo "Usage: ${0} {start|stop|restart}"
-		exit 1
-		;;
+   *)
+      echo "Usage: ${0} {start|stop|restart}"
+      exit 1
+      ;;
 esac
 
-# End /etc/rc.d/init.d/network
+# End network

Modified: trunk/BOOK/bootscripts/lfs/init.d/rc
===================================================================
--- trunk/BOOK/bootscripts/lfs/init.d/rc	2011-07-17 19:17:28 UTC (rev 9573)
+++ trunk/BOOK/bootscripts/lfs/init.d/rc	2011-08-02 02:15:42 UTC (rev 9574)
@@ -1,20 +1,53 @@
 #!/bin/sh
 ########################################################################
-# Begin $rc_base/init.d/rc
+# Begin rc
 #
 # Description : Main Run Level Control Script
 #
 # Authors     : Gerard Beekmans  - gerard at linuxfromscratch.org
+# Update      : Bruce Dubbs - bdubbs at linuxfromscratch.org
 #
-# Version     : 00.00
+# Version     : LFS 7.0
 #
-# Notes       :
-#
 ########################################################################
 
-. /etc/sysconfig/rc
-. ${rc_functions}
+. /lib/boot/functions
 
+print_error_msg()
+{
+   echo_failure
+   # $i is set when called
+   boot_mesg -n "FAILURE:\n\nYou should not be reading this error message.\n\n" ${FAILURE}
+   boot_mesg -n " It means that an unforeseen error took"
+   boot_mesg -n " place in ${i}, which exited with a return value of"
+   boot_mesg " ${error_value}.\n"
+   boot_mesg_flush
+   boot_mesg -n "If you're able to track this"
+   boot_mesg -n " error down to a bug in one of the files provided by"
+   boot_mesg -n " the LFS book, please be so kind to inform us at"
+   boot_mesg " lfs-dev at linuxfromscratch.org.\n"
+   boot_mesg_flush
+   boot_mesg -n "Press Enter to continue..." ${INFO}
+   boot_mesg "" ${NORMAL}
+   wait_for_user
+}
+
+check_script_status()
+{
+   # $i is set when called
+   if [ ! -f ${i} ]; then
+      boot_mesg "${i} is not a valid symlink." ${WARNING}
+      echo_warning
+      continue
+   fi
+
+   if [ ! -x ${i} ]; then
+      boot_mesg "${i} is not executable, skipping." ${WARNING}
+      echo_warning
+      continue
+   fi
+}
+
 # This sets a few default terminal options.
 stty sane
 
@@ -24,76 +57,77 @@
 [ "${1}" != "" ] && runlevel=${1}
 
 if [ "${runlevel}" = "" ]; then
-	echo "Usage: ${0} <runlevel>" >&2
-	exit 1
+   echo "Usage: ${0} <runlevel>" >&2
+   exit 1
 fi
 
 previous=${PREVLEVEL}
 [ "${previous}" = "" ] && previous=N
 
-if [ ! -d ${rc_base}/rc${runlevel}.d ]; then
-	boot_mesg "${rc_base}/rc${runlevel}.d does not exist." ${WARNING}
-	boot_mesg_flush
-	exit 1
+if [ ! -d /etc/rc.d/rc${runlevel}.d ]; then
+   boot_mesg "/etc/rc.d/rc${runlevel}.d does not exist." 
+   exit 1
 fi
 
-# Attempt to stop all service started by previous runlevel,
+# Attempt to stop all services started by the previous runlevel,
 # and killed in this runlevel
 if [ "${previous}" != "N" ]; then
-	for i in $(ls -v ${rc_base}/rc${runlevel}.d/K* 2> /dev/null)
-	do
-		check_script_status
+   for i in $(ls -v /etc/rc.d/rc${runlevel}.d/K* 2> /dev/null)
+   do
+      check_script_status
 
-		suffix=${i#$rc_base/rc$runlevel.d/K[0-9][0-9]}
-		prev_start=$rc_base/rc$previous.d/S[0-9][0-9]$suffix
-		sysinit_start=$rc_base/rcsysinit.d/S[0-9][0-9]$suffix
+      suffix=${i#/etc/rc.d/rc$runlevel.d/K[0-9][0-9]}
+      prev_start=/etc/rc.d/rc$previous.d/S[0-9][0-9]$suffix
+      sysinit_start=/etc/rc.d/rcsysinit.d/S[0-9][0-9]$suffix
 
-		if [ "${runlevel}" != "0" ] && [ "${runlevel}" != "6" ]; then
-			if [ ! -f ${prev_start} ] && [ ! -f ${sysinit_start} ]; then
-				boot_mesg -n "WARNING:\n\n${i} can't be" ${WARNING}
-				boot_mesg -n " executed because it was not"
-				boot_mesg -n " not started in the previous"
-				boot_mesg -n " runlevel (${previous})."
-				boot_mesg "" ${NORMAL}
-				boot_mesg_flush
-				continue
-			fi
-		fi
-		${i} stop
-		error_value=${?}
+      if [ "${runlevel}" != "0" ] && [ "${runlevel}" != "6" ]; then
+         if [ ! -f ${prev_start} ] && [ ! -f ${sysinit_start} ]; then
+            boot_mesg -n "WARNING:\n\n${i} can't be" ${WARNING}
+            boot_mesg -n " executed because it was not"
+            boot_mesg -n " not started in the previous"
+            boot_mesg -n " runlevel (${previous})."
+            boot_mesg "" ${NORMAL}
+            boot_mesg_flush
+            continue
+         fi
+      fi
+      ${i} stop
+      error_value=${?}
 
-		if [ "${error_value}" != "0" ]; then
-			print_error_msg
-		fi
-	done
+      if [ "${error_value}" != "0" ]; then
+         print_error_msg
+      fi
+   done
 fi
 
+[ "${previous}" = "N" ] && IN_BOOT=1
+
 #Start all functions in this runlevel
-for i in $( ls -v ${rc_base}/rc${runlevel}.d/S* 2> /dev/null)
+for i in $( ls -v /etc/rc.d/rc${runlevel}.d/S* 2> /dev/null)
 do
-	if [ "${previous}" != "N" ]; then
-		suffix=${i#$rc_base/rc$runlevel.d/S[0-9][0-9]}
-		stop=$rc_base/rc$runlevel.d/K[0-9][0-9]$suffix
-		prev_start=$rc_base/rc$previous.d/S[0-9][0-9]$suffix
+   if [ "${previous}" != "N" ]; then
+      suffix=${i#/etc/rc.d/rc$runlevel.d/S[0-9][0-9]}
+      stop=/etc/rc.d/rc$runlevel.d/K[0-9][0-9]$suffix
+      prev_start=/etc/rc.d/rc$previous.d/S[0-9][0-9]$suffix
 
-		[ -f ${prev_start} ] && [ ! -f ${stop} ] && continue
-	fi
+      [ -f ${prev_start} ] && [ ! -f ${stop} ] && continue
+   fi
 
-	check_script_status
+   check_script_status
 
-	case ${runlevel} in
-		0|6)
-			${i} stop
-			;;
-		*)
-			${i} start
-			;;
-	esac
-	error_value=${?}
+   case ${runlevel} in
+      0|6)
+         ${i} stop
+         ;;
+      *)
+         ${i} start
+         ;;
+   esac
+   error_value=${?}
 
-	if [ "${error_value}" != "0" ]; then
-		print_error_msg
-	fi
+   if [ "${error_value}" != "0" ]; then
+      print_error_msg
+   fi
 done
 
-# End $rc_base/init.d/rc
+# End rc

Modified: trunk/BOOK/bootscripts/lfs/init.d/reboot
===================================================================
--- trunk/BOOK/bootscripts/lfs/init.d/reboot	2011-07-17 19:17:28 UTC (rev 9573)
+++ trunk/BOOK/bootscripts/lfs/init.d/reboot	2011-08-02 02:15:42 UTC (rev 9574)
@@ -1,31 +1,42 @@
 #!/bin/sh
 ########################################################################
-# Begin $rc_base/init.d/reboot
+# Begin reboot
 #
 # Description : Reboot Scripts
 #
 # Authors     : Gerard Beekmans - gerard at linuxfromscratch.org
+# Update      : Bruce Dubbs - bdubbs at linuxfromscratch.org
 #
-# Version     : 00.00
+# Version     : LFS 7.0
 #
-# Notes       :
-#
 ########################################################################
 
-. /etc/sysconfig/rc
-. ${rc_functions}
+### BEGIN INIT INFO
+# Provides:            reboot
+# Required-Start:
+# Should-Start:
+# Required-Stop:
+# Should-Stop:
+# Default-Start:       6
+# Default-Stop:
+# Short-Description:   Reboots the system.
+# Description:         Reboots the System.
+# X-LFS-Provided-By:   LFS
+### END INIT INFO
 
+. /lib/boot/functions
+
 case "${1}" in
-	stop)
-		boot_mesg "Restarting system..."
-		reboot -d -f -i
-		;;
+   stop)
+      boot_mesg "Restarting system..."
+      reboot -d -f -i
+      ;;
 
-	*)
-		echo "Usage: ${0} {stop}"
-		exit 1
-		;;
+   *)
+      echo "Usage: ${0} {stop}"
+      exit 1
+      ;;
 
 esac
 
-# End $rc_base/init.d/reboot
+# End reboot

Modified: trunk/BOOK/bootscripts/lfs/init.d/sendsignals
===================================================================
--- trunk/BOOK/bootscripts/lfs/init.d/sendsignals	2011-07-17 19:17:28 UTC (rev 9573)
+++ trunk/BOOK/bootscripts/lfs/init.d/sendsignals	2011-08-02 02:15:42 UTC (rev 9574)
@@ -1,52 +1,63 @@
 #!/bin/sh
 ########################################################################
-# Begin $rc_base/init.d/sendsignals
+# Begin sendsignals
 #
 # Description : Sendsignals Script
 #
 # Authors     : Gerard Beekmans - gerard at linuxfromscratch.org
+# Update      : Bruce Dubbs - bdubbs at linuxfromscratch.org
 #
-# Version     : 00.00
+# Version     : LFS 7.0
 #
-# Notes       :
-#
 ########################################################################
 
-. /etc/sysconfig/rc
-. ${rc_functions}
+### BEGIN INIT INFO
+# Provides:            sendsignals
+# Required-Start:
+# Should-Start:
+# Required-Stop:       $local_fs swap localnet
+# Should-Stop:
+# Default-Start:
+# Default-Stop:        0 6
+# Short-Description:   Attempts to kill remaining processes.
+# Description:         Attempts to kill remaining processes.
+# X-LFS-Provided-By:   LFS
+### END INIT INFO
 
+. /lib/boot//functions
+
 case "${1}" in
-	stop)
-		boot_mesg "Sending all processes the TERM signal..."
-		killall5 -15
-		error_value=${?}
+   stop)
+      boot_mesg "Sending all processes the TERM signal..."
+      killall5 -15
+      error_value=${?}
 
-		sleep ${KILLDELAY}
+      sleep ${KILLDELAY}
 
-		if [ "${error_value}" = 0 -o "${error_value}" = 2 ]; then
-			echo_ok
-		else
-			echo_failure
-		fi
+      if [ "${error_value}" = 0 -o "${error_value}" = 2 ]; then
+         echo_ok
+      else
+         echo_failure
+      fi
 
-		boot_mesg "Sending all processes the KILL signal..."
-		killall5 -9
-		error_value=${?}
+      boot_mesg "Sending all processes the KILL signal..."
+      killall5 -9
+      error_value=${?}
 
-		sleep ${KILLDELAY}
+      sleep ${KILLDELAY}
 
-		if [ "${error_value}" = 0 -o "${error_value}" = 2 ]; then
-			echo_ok
-		else
-			echo_failure
-		fi
-		;;
+      if [ "${error_value}" = 0 -o "${error_value}" = 2 ]; then
+         echo_ok
+      else
+         echo_failure
+      fi
+      ;;
 
-	*)
-		echo "Usage: ${0} {stop}"
-		exit 1
-		;;
+   *)
+      echo "Usage: ${0} {stop}"
+      exit 1
+      ;;
 
 esac
 
-# End $rc_base/init.d/sendsignals
+# End sendsignals

Modified: trunk/BOOK/bootscripts/lfs/init.d/setclock
===================================================================
--- trunk/BOOK/bootscripts/lfs/init.d/setclock	2011-07-17 19:17:28 UTC (rev 9573)
+++ trunk/BOOK/bootscripts/lfs/init.d/setclock	2011-08-02 02:15:42 UTC (rev 9574)
@@ -1,47 +1,61 @@
 #!/bin/sh
 ########################################################################
-# Begin $rc_base/init.d/setclock
+# Begin setclock
 #
 # Description : Setting Linux Clock
 #
 # Authors     : Gerard Beekmans - gerard at linuxfromscratch.org
+# Update      : Bruce Dubbs - bdubbs at linuxfromscratch.org
 #
-# Version     : 00.00
+# Version     : LFS 7.0
 #
-# Notes       :
-#
 ########################################################################
 
-. /etc/sysconfig/rc
-. ${rc_functions}
-. /etc/sysconfig/clock
+### BEGIN INIT INFO
+# Provides:            $time
+# Required-Start:
+# Should-Start:        modules
+# Required-Stop:
+# Should-Stop:         $syslog
+# Default-Start:       S
+# Default-Stop:
+# Short-Description:   Stores and restores time from the hardware clock
+# Description:         On boot, system time is obtained from hwclock.  The
+#                      hardware clock can also be set on shutdown.
+# X-LFS-Provided-By:   LFS BLFS
+### END INIT INFO
 
+. /lib/boot/functions
+
+[ -r /etc/sysconfig/clock ] &&  . /etc/sysconfig/clock
+
+
 case "${UTC}" in
-	yes|true|1)
-		CLOCKPARAMS="${CLOCKPARAMS} --utc"
-		;;
+   yes|true|1)
+      CLOCKPARAMS="${CLOCKPARAMS} --utc"
+      ;;
 
-	no|false|0)
-		CLOCKPARAMS="${CLOCKPARAMS} --localtime"
-		;;
+   no|false|0)
+      CLOCKPARAMS="${CLOCKPARAMS} --localtime"
+      ;;
 
 esac
 
 case ${1} in
-	start)
-		boot_mesg "Setting system clock..."
-		hwclock --hctosys ${CLOCKPARAMS} >/dev/null
-		evaluate_retval
-		;;
+   start)
+      boot_mesg "Setting system clock..."
+      hwclock --hctosys ${CLOCKPARAMS} >/dev/null
+      evaluate_retval
+      ;;
 
-	stop)
-		boot_mesg "Setting hardware clock..."
-		hwclock --systohc ${CLOCKPARAMS} >/dev/null
-		evaluate_retval
-		;;
+   stop)
+      boot_mesg "Setting hardware clock..."
+      hwclock --systohc ${CLOCKPARAMS} >/dev/null
+      evaluate_retval
+      ;;
 
-	*)
-		echo "Usage: ${0} {start|stop}"
-		;;
+   *)
+      echo "Usage: ${0} {start|stop}"
+      ;;
 
 esac

Modified: trunk/BOOK/bootscripts/lfs/init.d/swap
===================================================================
--- trunk/BOOK/bootscripts/lfs/init.d/swap	2011-07-17 19:17:28 UTC (rev 9573)
+++ trunk/BOOK/bootscripts/lfs/init.d/swap	2011-08-02 02:15:42 UTC (rev 9574)
@@ -1,50 +1,62 @@
 #!/bin/sh
 ########################################################################
-# Begin $rc_base/init.d/swap
+# Begin swap
 #
 # Description : Swap Control Script
 #
 # Authors     : Gerard Beekmans - gerard at linuxfromscratch.org
+# Update      : Bruce Dubbs - bdubbs at linuxfromscratch.org
 #
-# Version     : 00.00
+# Version     : LFS 7.0
 #
-# Notes       :
-#
 ########################################################################
 
-. /etc/sysconfig/rc
-. ${rc_functions}
+### BEGIN INIT INFO
+# Provides:            swap
+# Required-Start:      udev
+# Should-Start:        modules
+# Required-Stop:       localnet
+# Should-Stop:
+# Default-Start:       S
+# Default-Stop:        0 6
+# Short-Description:   Mounts and unmounts swap partitions.
+# Description:         Mounts and unmounts swap partitions defined in
+#                      /etc/fstab.
+# X-LFS-Provided-By:   LFS
+### END INIT INFO
 
+. /lib/boot/functions
+
 case "${1}" in
-	start)
-		boot_mesg "Activating all swap files/partitions..."
-		swapon -a
-		evaluate_retval
-		;;
+   start)
+      boot_mesg "Activating all swap files/partitions..."
+      swapon -a
+      evaluate_retval
+      ;;
 
-	stop)
-		boot_mesg "Deactivating all swap files/partitions..."
-		swapoff -a
-		evaluate_retval
-		;;
+   stop)
+      boot_mesg "Deactivating all swap files/partitions..."
+      swapoff -a
+      evaluate_retval
+      ;;
 
-	restart)
-		${0} stop
-		sleep 1
-		${0} start
-		;;
+   restart)
+      ${0} stop
+      sleep 1
+      ${0} start
+      ;;
 
-	status)
-		boot_mesg "Retrieving swap status." ${INFO}
-		echo_ok
-		echo
-		swapon -s
-		;;
+   status)
+      boot_mesg "Retrieving swap status." ${INFO}
+      echo_ok
+      echo
+      swapon -s
+      ;;
 
-	*)
-		echo "Usage: ${0} {start|stop|restart|status}"
-		exit 1
-		;;
+   *)
+      echo "Usage: ${0} {start|stop|restart|status}"
+      exit 1
+      ;;
 esac
 
-# End $rc_base/init.d/swap
+# End swap

Modified: trunk/BOOK/bootscripts/lfs/init.d/sysctl
===================================================================
--- trunk/BOOK/bootscripts/lfs/init.d/sysctl	2011-07-17 19:17:28 UTC (rev 9573)
+++ trunk/BOOK/bootscripts/lfs/init.d/sysctl	2011-08-02 02:15:42 UTC (rev 9574)
@@ -1,39 +1,51 @@
 #!/bin/sh
 ########################################################################
-# Begin $rc_base/init.d/sysctl
+# Begin sysctl
 #
 # Description : File uses /etc/sysctl.conf to set kernel runtime
 #               parameters
 #
 # Authors     : Nathan Coulson (nathan at linuxfromscratch.org)
 #               Matthew Burgress (matthew at linuxfromscratch.org)
+# Update      : Bruce Dubbs - bdubbs at linuxfromscratch.org
 #
-# Version     : 00.00
+# Version     : LFS 7.0
 #
-# Notes       :
-#
 ########################################################################
 
-. /etc/sysconfig/rc
-. ${rc_functions}
+### BEGIN INIT INFO
+# Provides:            sysctl
+# Required-Start:      mountkernfs
+# Should-Start:
+# Required-Stop:
+# Should-Stop:
+# Default-Start:       S
+# Default-Stop:
+# Short-Description:   Makes changes to the proc filesystem
+# Description:         Makes changes to the proc filesystem as defined in
+#                      /etc/sysctl.conf.  See 'man sysctl(8)'.
+# X-LFS-Provided-By:   LFS
+### END INIT INFO
 
+. /lib/boot/functions
+
 case "${1}" in
-	start)
-		if [ -f "/etc/sysctl.conf" ]; then
-			boot_mesg "Setting kernel runtime parameters..."
-			sysctl -q -p
-			evaluate_retval
-		fi
-		;;
+   start)
+      if [ -f "/etc/sysctl.conf" ]; then
+         boot_mesg "Setting kernel runtime parameters..."
+         sysctl -q -p
+         evaluate_retval
+      fi
+      ;;
 
-	status)
-		sysctl -a	
-		;;
+   status)
+      sysctl -a
+      ;;
 
-	*)
-		echo "Usage: ${0} {start|status}"
-		exit 1
-		;;
+   *)
+      echo "Usage: ${0} {start|status}"
+      exit 1
+      ;;
 esac
 
-# End $rc_base/init.d/sysctl
+# End sysctl

Modified: trunk/BOOK/bootscripts/lfs/init.d/sysklogd
===================================================================
--- trunk/BOOK/bootscripts/lfs/init.d/sysklogd	2011-07-17 19:17:28 UTC (rev 9573)
+++ trunk/BOOK/bootscripts/lfs/init.d/sysklogd	2011-08-02 02:15:42 UTC (rev 9574)
@@ -1,57 +1,70 @@
 #!/bin/sh
 ########################################################################
-# Begin $rc_base/init.d/sysklogd
+# Begin sysklogd
 #
 # Description : Sysklogd loader
 #
 # Authors     : Gerard Beekmans - gerard at linuxfromscratch.org
+# Update      : Bruce Dubbs - bdubbs at linuxfromscratch.org
 #
-# Version     : 00.00
+# Version     : LFS 7.0
 #
-# Notes       :
-#
 ########################################################################
 
-. /etc/sysconfig/rc
-. ${rc_functions}
+### BEGIN INIT INFO
+# Provides:            $syslog
+# Required-Start:      localnet
+# Should-Start:
+# Required-Stop:       $local_fs sendsignals
+# Should-Stop:
+# Default-Start:       2 3 4 5
+# Default-Stop:        0 1 6
+# Short-Description:   Starts kernel and system log daemons.
+# Description:         Starts kernel and system log daemons.
+#                      /etc/fstab.
+# X-LFS-Provided-By:   LFS
+### END INIT INFO
 
+. /lib/boot/functions
+
 case "${1}" in
-	start)
-		boot_mesg "Starting system log daemon..."
-		loadproc syslogd -m 0
+   start)
+      boot_mesg "Starting system log daemon..."
+      PARMS=${SYSKLOGD_PARMS=-'-m 0'}
+      loadproc syslogd $PARMS
 
-		boot_mesg "Starting kernel log daemon..."
-		loadproc klogd
-		;;
+      boot_mesg "Starting kernel log daemon..."
+      loadproc klogd
+      ;;
 
-	stop)
-		boot_mesg "Stopping kernel log daemon..."
-		killproc klogd
+   stop)
+      boot_mesg "Stopping kernel log daemon..."
+      killproc klogd
 
-		boot_mesg "Stopping system log daemon..."
-		killproc syslogd
-		;;
+      boot_mesg "Stopping system log daemon..."
+      killproc syslogd
+      ;;
 
-	reload)
-		boot_mesg "Reloading system log daemon config file..."
-		reloadproc syslogd
-		;;
+   reload)
+      boot_mesg "Reloading system log daemon config file..."
+      reloadproc syslogd
+      ;;
 
-	restart)
-		${0} stop
-		sleep 1
-		${0} start
-		;;
+   restart)
+      ${0} stop
+      sleep 1
+      ${0} start
+      ;;
 
-	status)
-		statusproc syslogd
-		statusproc klogd
-		;;
+   status)
+      statusproc syslogd
+      statusproc klogd
+      ;;
 
-	*)
-		echo "Usage: ${0} {start|stop|reload|restart|status}"
-		exit 1
-		;;
+   *)
+      echo "Usage: ${0} {start|stop|reload|restart|status}"
+      exit 1
+      ;;
 esac
 
-# End $rc_base/init.d/sysklogd
+# End sysklogd

Modified: trunk/BOOK/bootscripts/lfs/init.d/template
===================================================================
--- trunk/BOOK/bootscripts/lfs/init.d/template	2011-07-17 19:17:28 UTC (rev 9573)
+++ trunk/BOOK/bootscripts/lfs/init.d/template	2011-08-02 02:15:42 UTC (rev 9574)
@@ -1,50 +1,62 @@
 #!/bin/sh
 ########################################################################
-# Begin $rc_base/init.d/
+# Begin scriptname
 #
 # Description :
 #
 # Authors     :
 #
-# Version     : 00.00
+# Version     : LFS x.x
 #
 # Notes       :
 #
 ########################################################################
 
-. /etc/sysconfig/rc
-. ${rc_functions}
+### BEGIN INIT INFO
+# Provides:            template
+# Required-Start:
+# Should-Start:
+# Required-Stop:
+# Should-Stop:
+# Default-Start:
+# Default-Stop:
+# Short-Description:
+# Description:
+# X-LFS-Provided-By:
+### END INIT INFO
 
+. /lib/boot/functions
+
 case "${1}" in
-	start)
-		boot_mesg "Starting..."
-		loadproc
-		;;
+   start)
+      boot_mesg "Starting..."
+      loadproc
+      ;;
 
-	stop)
-		boot_mesg "Stopping..."
-		killproc
-		;;
+   stop)
+      boot_mesg "Stopping..."
+      killproc
+      ;;
 
-	reload)
-		boot_mesg "Reloading..."
-		reloadproc
-		;;
+   reload)
+      boot_mesg "Reloading..."
+      reloadproc
+      ;;
 
-	restart)
-		${0} stop
-		sleep 1
-		${0} start
-		;;
+   restart)
+      ${0} stop
+      sleep 1
+      ${0} start
+      ;;
 
-	status)
-		statusproc
-		;;
+   status)
+      statusproc
+      ;;
 
-	*)
-		echo "Usage: ${0} {start|stop|reload|restart|status}"
-		exit 1
-		;;
+   *)
+      echo "Usage: ${0} {start|stop|reload|restart|status}"
+      exit 1
+      ;;
 esac
 
-# End $rc_base/init.d/
+# End scriptname

Modified: trunk/BOOK/bootscripts/lfs/init.d/udev
===================================================================
--- trunk/BOOK/bootscripts/lfs/init.d/udev	2011-07-17 19:17:28 UTC (rev 9573)
+++ trunk/BOOK/bootscripts/lfs/init.d/udev	2011-08-02 02:15:42 UTC (rev 9574)
@@ -1,83 +1,94 @@
 #!/bin/sh
 ########################################################################
-# Begin $rc_base/init.d/udev
+# Begin udev
 #
 # Description : Udev cold-plugging script
 #
 # Authors     : Zack Winkles, Alexander E. Patrakov
+# Update      : Bruce Dubbs - bdubbs at linuxfromscratch.org
 #
-# Version     : 00.02
+# Version     : LFS 7.0
 #
-# Notes       :
-#
 ########################################################################
 
-. /etc/sysconfig/rc
-. ${rc_functions}
+### BEGIN INIT INFO
+# Provides:            udev
+# Required-Start:
+# Should-Start:        modules
+# Required-Stop:
+# Should-Stop:
+# Default-Start:       S
+# Default-Stop:
+# Short-Description:   Populates /dev with device nodes.
+# Description:         Mounts a tempfs on /dev and starts the udevd daemon.
+#                      Device nodes are created as defined by udev.
+# X-LFS-Provided-By:   LFS
+### END INIT INFO
 
+. /lib/boot/functions
+
 case "${1}" in
-	start)
-		boot_mesg "Populating /dev with device nodes..."
-		if ! grep -q '[[:space:]]sysfs' /proc/mounts; then
-			echo_failure
-			boot_mesg -n "FAILURE:\n\nUnable to create" ${FAILURE}
-			boot_mesg -n " devices without a SysFS filesystem"
-			boot_mesg -n "\n\nAfter you press Enter, this system"
-			boot_mesg -n " will be halted and powered off."
-			boot_mesg -n "\n\nPress Enter to continue..." ${INFO}
-			boot_mesg "" ${NORMAL}
-			read ENTER
-			/etc/rc.d/init.d/halt stop
-		fi
+   start)
+      boot_mesg "Populating /dev with device nodes..."
+      if ! grep -q '[[:space:]]sysfs' /proc/mounts; then
+         echo_failure
+         boot_mesg -n "FAILURE:\n\nUnable to create" ${FAILURE}
+         boot_mesg -n " devices without a SysFS filesystem"
+         boot_mesg -n "\n\nAfter you press Enter, this system"
+         boot_mesg -n " will be halted and powered off."
+         boot_mesg -n "\n\nPress Enter to continue..." ${INFO}
+         boot_mesg "" ${NORMAL}
+         wait_for_user
+         /etc/rc.d/init.d/halt stop
+      fi
 
-		# Mount a temporary file system over /dev, so that any devices
-		# made or removed during this boot don't affect the next one.
-		# The reason we don't write to mtab is because we don't ever
-		# want /dev to be unavailable (such as by `umount -a').
-		if ! mountpoint /dev > /dev/null; then
-			mount -n -t tmpfs tmpfs /dev -o mode=755
-		fi
-		if [ ${?} != 0 ]; then
-			echo_failure
-			boot_mesg -n "FAILURE:\n\nCannot mount a tmpfs" ${FAILURE}
-			boot_mesg -n " onto /dev, this system will be halted."
-			boot_mesg -n "\n\nAfter you press Enter, this system"
-			boot_mesg -n " will be halted and powered off."
-			boot_mesg -n "\n\nPress Enter to continue..." ${INFO}
-			boot_mesg "" ${NORMAL}
-			read ENTER
-			/etc/rc.d/init.d/halt stop
-		fi
+      # Mount a temporary file system over /dev, so that any devices
+      # made or removed during this boot don't affect the next one.
+      # The reason we don't write to mtab is because we don't ever
+      # want /dev to be unavailable (such as by `umount -a').
+      if ! mountpoint /dev > /dev/null; then
+         mount -n -t tmpfs tmpfs /dev -o mode=755
+      fi
+      if [ ${?} != 0 ]; then
+         echo_failure
+         boot_mesg -n "FAILURE:\n\nCannot mount a tmpfs" ${FAILURE}
+         boot_mesg -n " onto /dev, this system will be halted."
+         boot_mesg -n "\n\nAfter you press Enter, this system"
+         boot_mesg -n " will be halted and powered off."
+         boot_mesg -n "\n\nPress Enter to continue..." ${INFO}
+         boot_mesg "" ${NORMAL}
+         wait_for_user
+         /etc/rc.d/init.d/halt stop
+      fi
 
-		ln -s /run/shm /dev/shm
+      ln -s /run/shm /dev/shm
 
-		# Udev handles uevents itself, so we don't need to have
-		# the kernel call out to any binary in response to them
-		echo > /proc/sys/kernel/hotplug
+      # Udev handles uevents itself, so we don't need to have
+      # the kernel call out to any binary in response to them
+      echo > /proc/sys/kernel/hotplug
 
-		# Copy the only static device node that Udev >= 155 doesn't
-		# handle to /dev
-		cp -a /lib/udev/devices/null /dev
+      # Copy the only static device node that Udev >= 155 doesn't
+      # handle to /dev
+      cp -a /lib/udev/devices/null /dev
 
-		# Start the udev daemon to continually watch for, and act on,
-		# uevents
-		/sbin/udevd --daemon
+      # Start the udev daemon to continually watch for, and act on,
+      # uevents
+      /sbin/udevd --daemon
 
-		# Now traverse /sys in order to "coldplug" devices that have
-		# already been discovered
-		/sbin/udevadm trigger --action=add --type=subsystems
-		/sbin/udevadm trigger --action=add --type=devices
+      # Now traverse /sys in order to "coldplug" devices that have
+      # already been discovered
+      /sbin/udevadm trigger --action=add --type=subsystems
+      /sbin/udevadm trigger --action=add --type=devices
 
-		# Now wait for udevd to process the uevents we triggered
-		/sbin/udevadm settle
-		evaluate_retval
+      # Now wait for udevd to process the uevents we triggered
+      /sbin/udevadm settle
+      evaluate_retval
+      ;;
 
-		;;
-
-	*)
-		echo "Usage ${0} {start}"
-		exit 1
-		;;
+   *)
+      echo "Usage ${0} {start}"
+      exit 1
+      ;;
 esac
 
-# End $rc_base/init.d/udev
+# End udev

Modified: trunk/BOOK/bootscripts/lfs/init.d/udev_retry
===================================================================
--- trunk/BOOK/bootscripts/lfs/init.d/udev_retry	2011-07-17 19:17:28 UTC (rev 9573)
+++ trunk/BOOK/bootscripts/lfs/init.d/udev_retry	2011-08-02 02:15:42 UTC (rev 9574)
@@ -1,45 +1,60 @@
 #!/bin/sh
 ########################################################################
-# Begin $rc_base/init.d/udev_retry
+# Begin udev_retry
 #
 # Description : Udev cold-plugging script (retry)
 #
 # Authors     : Alexander E. Patrakov
+# Update      : Bruce Dubbs - bdubbs at linuxfromscratch.org
 #
-# Version     : 00.02
+# Version     : LFS 7.0
 #
-# Notes       :
-#
 ########################################################################
 
-. /etc/sysconfig/rc
-. ${rc_functions}
+### BEGIN INIT INFO
+# Provides:            udev_retry
+# Required-Start:      udev
+# Should-Start:        $local_fs
+# Required-Stop:
+# Should-Stop:
+# Default-Start:       S
+# Default-Stop:
+# Short-Description:   Replays failed uevents and creates additonal devices.
+# Description:         Replays any failed uevents that were skipped due to
+#                      slow hardware initialization, and creates those needed
+#                      device nodes
+# X-LFS-Provided-By:   LFS
+### END INIT INFO
 
+. /lib/boot/functions
+
 case "${1}" in
-	start)
-		boot_mesg "Retrying failed uevents, if any..."
+   start)
+      boot_mesg "Retrying failed uevents, if any..."
 
-		# From Debian: "copy the rules generated before / was mounted
-		# read-write":
-		for file in /dev/.udev/tmp-rules--*; do
-			dest=${file##*tmp-rules--}
-			[ "$dest" = '*' ] && break
-			cat $file >> /etc/udev/rules.d/$dest
-			rm -f $file
-		done
+      RUNDIR=$(/sbin/udevadm info --run)
+      # From Debian: "copy the rules generated before / was mounted
+      # read-write":
+    
+      for file in ${RUNDIR}/tmp-rules--*; do
+         dest=${file##*tmp-rules--}
+         [ "$dest" = '*' ] && break
+         cat $file >> /etc/udev/rules.d/$dest
+         rm -f $file
+      done
 
-		# Re-trigger the failed uevents in hope they will succeed now
-		/sbin/udevadm trigger --type=failed --action=add
-		
-		# Now wait for udevd to process the uevents we triggered
-		/sbin/udevadm settle
-		evaluate_retval
-		;;
+      # Re-trigger the failed uevents in hope they will succeed now
+      /sbin/udevadm trigger --type=failed --action=add
 
-	*)
-		echo "Usage ${0} {start}"
-		exit 1
-		;;
+      # Now wait for udevd to process the uevents we triggered
+      /sbin/udevadm settle
+      evaluate_retval
+      ;;
+
+   *)
+      echo "Usage ${0} {start}"
+      exit 1
+      ;;
 esac
 
-# End $rc_base/init.d/udev_retry
+# End udev_retry

Modified: trunk/BOOK/bootscripts/lfs/sysconfig/network-devices/ifdown
===================================================================
--- trunk/BOOK/bootscripts/lfs/sysconfig/network-devices/ifdown	2011-07-17 19:17:28 UTC (rev 9573)
+++ trunk/BOOK/bootscripts/lfs/sysconfig/network-devices/ifdown	2011-08-02 02:15:42 UTC (rev 9574)
@@ -1,95 +1,66 @@
 #!/bin/sh
 ########################################################################
-# Begin $network_devices/ifdown
+# Begin /sbin/ifdown
 #
 # Description : Interface Down
 #
 # Authors     : Nathan Coulson - nathan at linuxfromscratch.org
 #               Kevin P. Fleming - kpfleming at linuxfromscratch.org
+# Update      : Bruce Dubbs - bdubbs at linuxfromscratch.org
 #
-# Version     : 00.01
+# Version     : LFS 7.0
 #
 # Notes       : the IFCONFIG variable is passed to the scripts found
-#               in the services directory, to indicate what file the
+#               in the /lib/boot directory, to indicate what file the
 #               service should source to get environmental variables.
 #
 ########################################################################
 
-. /etc/sysconfig/rc 
-. ${rc_functions} 
+file=/etc/sysconfig/ifconfig.${1}
 
-# Collect a list of configuration files for our interface
-if [ -n "${2}" ]; then
-	for file in ${@#$1}; do # All parameters except $1
-		FILES="${FILES} ${network_devices}/ifconfig.${1}/${file}"
-	done
-elif [ -d "${network_devices}/ifconfig.${1}" ]; then
-	FILES=`echo ${network_devices}/ifconfig.${1}/*`
-else
-	FILES="${network_devices}/ifconfig.${1}"
-fi
+# Skip backup files
+[ "${file}" = "${file%""~""}" ] || exit 0
 
-# Reverse the order configuration files are processed in
-for file in ${FILES}; do
-	FILES2="${file} ${FILES2}"
-done
-FILES=${FILES2}
+. /lib/boot/functions 
 
-# Process each configuration file
-for file in ${FILES}; do
-	# skip backup files
-	if [ "${file}" != "${file%""~""}" ]; then
-		continue
-	fi
+if [ ! -r "${file}" ]; then
+   boot_mesg "${file} is missing or cannot be accessed." ${WARNING}
+   echo_warning
+   exit 1
+fi
 
-	if [ ! -f "${file}" ]; then
-		boot_mesg "${file} is not a network configuration file or directory." ${WARNING}
-		echo_warning
-		continue
-	fi
-	(
-		. ${file}
+. ${file}
 
-		# Will not process this service if started by boot, and ONBOOT
-		# is not set to yes
-		if [ "${IN_BOOT}" = "1" -a "${ONBOOT}" != "yes" ]; then
-			continue
-		fi
+if [ "$IFACE" = "" ]; then
+   boot_mesg "${file} does not define an interface [IFACE]." ${FAILURE}
+   echo_failure
+   exit 1
+fi
 
-		# Will not process this service if started by hotplug, and 
-		# ONHOTPLUG is not set to yes
-		if [ "${IN_HOTPLUG}" = "1" -a "${ONHOTPLUG}" != "yes" ]; then
-			continue
-		fi
-	
-		# This will run the service script, if SERVICE is set
-		if [ -n "${SERVICE}" -a -x "${network_devices}/services/${SERVICE}" ]; then
-			if ip link show ${1} > /dev/null 2>&1
-			then
-				IFCONFIG=${file} ${network_devices}/services/${SERVICE} ${1} down
-			else
-				boot_mesg "Interface ${1} doesn't exist." ${WARNING}
-				echo_warning
-			fi
-		else
-			boot_mesg -n "Unable to process ${file}.  Either" ${FAILURE}
-			boot_mesg -n " the SERVICE variable was not set,"
-			boot_mesg " or the specified service cannot be executed."
-			echo_failure
-			continue
-		fi
-	)
-done
+# This will run the service script, if SERVICE is set
+if [ -n "${SERVICE}" -a -x "/lib/boot/${SERVICE}" ]; then
+   if ip link show ${IFACE} > /dev/null 2>&1; then
+      IFCONFIG=${file} /lib/boot/${SERVICE} ${IFACE} down
+   else
+      boot_mesg "Interface ${1} doesn't exist." ${WARNING}
+      echo_warning
+   fi
+else
+   boot_mesg "Unable to process ${file}.  Either" ${FAILURE}
+   boot_mesg "the SERVICE variable was not set"
+   boot_mesg "or the specified service cannot be executed."
+   echo_failure
+   exit 1
+fi
 
-if [ -z "${2}" ]; then
-	link_status=`ip link show $1 2>/dev/null`
-	if [ -n "${link_status}" ]; then
-		if echo "${link_status}" | grep -q UP; then
-			boot_mesg "Bringing down the ${1} interface..."
-			ip link set ${1} down
-			evaluate_retval
-		fi
-	fi
+link_status=`ip link show ${IFACE} 2>/dev/null`
+
+if [ -n "${link_status}" ]; then
+   if echo "${link_status}" | grep -q UP; then
+      boot_mesg "Bringing down the ${IFACE} interface..."
+      ip link set ${IFACE} down
+      evaluate_retval
+   fi
 fi
 
-# End $network_devices/ifdown
+# End /sbin/ifdown

Modified: trunk/BOOK/bootscripts/lfs/sysconfig/network-devices/ifup
===================================================================
--- trunk/BOOK/bootscripts/lfs/sysconfig/network-devices/ifup	2011-07-17 19:17:28 UTC (rev 9573)
+++ trunk/BOOK/bootscripts/lfs/sysconfig/network-devices/ifup	2011-08-02 02:15:42 UTC (rev 9574)
@@ -1,90 +1,82 @@
 #!/bin/sh
 ########################################################################
-# Begin $network_devices/ifup
+# Begin /sbin/ifup
 #
 # Description : Interface Up
 #
 # Authors     : Nathan Coulson - nathan at linuxfromscratch.org
 #               Kevin P. Fleming - kpfleming at linuxfromscratch.org
+# Update      : Bruce Dubbs - bdubbs at linuxfromscratch.org
 #
-# Version     : 00.00
+# Version     : LFS 7.0
 #
-# Notes       : the IFCONFIG variable is passed to the scripts found
-#               in the services directory, to indicate what file the
+# Notes       : The IFCONFIG variable is passed to the SERVICE script
+#               in the /lib/boot directory, to indicate what file the
 #               service should source to get environmental variables.
 #
 ########################################################################
 
-. /etc/sysconfig/rc 
-. ${rc_functions} 
+file=/etc/sysconfig/ifconfig.${1}
 
-# Collect a list of configuration files for our interface
-if [ -n "${2}" ]; then
-	for file in ${@#$1} # All parameters except $1
-  do
-		FILES="${FILES} ${network_devices}/ifconfig.${1}/${file}"
-	done
-elif [ -d "${network_devices}/ifconfig.${1}" ]; then
-	FILES=`echo ${network_devices}/ifconfig.${1}/*`
-else 
-	FILES="${network_devices}/ifconfig.${1}"
-fi
+# Skip backup files
+[ "${file}" = "${file%""~""}" ] || exit 0
 
+. /lib/boot/functions
+
 boot_mesg "Bringing up the ${1} interface..."
 boot_mesg_flush
 
-# Process each configruation file
-for file in ${FILES}; do
-	# skip backup files
-	if [ "${file}" != "${file%""~""}" ]; then
-		continue
-	fi
+if [ ! -r "${file}" ]; then
+   boot_mesg "${file} is missing or cannot be accessed." ${WARNING}
+   echo_warning
+   exit 1
+fi
 
-	if [ ! -f "${file}" ]; then
-		boot_mesg "${file} is not a network configuration file or directory." ${WARNING}
-		echo_warning
-		continue
-	fi
+. $file
 
-	(
-		. ${file}
+if [ "$IFACE" = "" ]; then
+   boot_mesg "${file} does not define an interface [IFACE]." ${FAILURE}
+   echo_failure
+   exit 1
+fi
 
-		# Will not process this service if started by boot, and ONBOOT
-		# is not set to yes
-		if [ "${IN_BOOT}" = "1" -a "${ONBOOT}" != "yes" ]; then
-			continue
-		fi
-		# Will not process this service if started by hotplug, and 
-		# ONHOTPLUG is not set to yes
-		if [ "${IN_HOTPLUG}" = "1" -a "${ONHOTPLUG}" != "yes" \
-                    -a "${HOSTNAME}" != "(none)" ]; then continue
-		fi
+# Do not process this service if started by boot, and ONBOOT
+# is not set to yes
+if [ "${IN_BOOT}" = "1" -a "${ONBOOT}" != "yes" ]; then
+   echo_skipped
+   exit 0
+fi
 
-		if [ -n "${SERVICE}" -a -x "${network_devices}/services/${SERVICE}" ]; then
-			if [ -z "${CHECK_LINK}" -o "${CHECK_LINK}" = "y" \
-                            -o "${CHECK_LINK}" = "yes" -o "${CHECK_LINK}" = "1" ]; then
-				if ip link show ${1} > /dev/null 2>&1; then
-					link_status=`ip link show ${1}`
-					if [ -n "${link_status}" ]; then
-						if ! echo "${link_status}" | grep -q UP; then
-							ip link set ${1} up
-						fi
-					fi
-				else
-					boot_mesg "Interface ${1} doesn't exist." ${WARNING}
-					echo_warning
-					continue
-				fi
-			fi
-			IFCONFIG=${file} ${network_devices}/services/${SERVICE} ${1} up
-		else
-			boot_mesg "Unable to process ${file}.  Either" ${FAILURE}
-			boot_mesg " the SERVICE variable was not set,"
-			boot_mesg " or the specified service cannot be executed."
-			echo_failure
-			continue
-		fi
-	)
-done
+if [ -n "${SERVICE}" -a -x "/lib/boot/${SERVICE}" ]; then
+   if [ -z "${CHECK_LINK}"         -o \
+           "${CHECK_LINK}" = "y"   -o \
+           "${CHECK_LINK}" = "yes" -o \
+           "${CHECK_LINK}" = "1" ]; then
 
-# End $network_devices/ifup
+      #  Bring up the interface
+      if ip link show ${IFACE} > /dev/null 2>&1; then
+         link_status=`ip link show ${IFACE}`
+
+         if [ -n "${link_status}" ]; then
+            if ! echo "${link_status}" | grep -q UP; then
+               ip link set ${IFACE} up
+            fi
+         fi
+
+      else
+         boot_mesg "Interface ${IFACE} doesn't exist." ${WARNING}
+         echo_warning
+      fi
+   fi
+
+   IFCONFIG=${file} /lib/boot/${SERVICE} ${IFACE} up
+
+else
+   boot_mesg "Unable to process ${file}.  Either" ${FAILURE}
+   boot_mesg "the SERVICE variable was not set"
+   boot_mesg "or the specified service cannot be executed."
+   echo_failure
+   exit 1
+fi
+
+# End /sbin/ifup

Modified: trunk/BOOK/bootscripts/lfs/sysconfig/network-devices/services/ipv4-static
===================================================================
--- trunk/BOOK/bootscripts/lfs/sysconfig/network-devices/services/ipv4-static	2011-07-17 19:17:28 UTC (rev 9573)
+++ trunk/BOOK/bootscripts/lfs/sysconfig/network-devices/services/ipv4-static	2011-08-02 02:15:42 UTC (rev 9574)
@@ -1,82 +1,83 @@
 #!/bin/sh
 ########################################################################
-# Begin $network_devices/services/ipv4-static
+# Begin /lib/boot/ipv4-static
 #
 # Description : IPV4 Static Boot Script
 #
 # Authors     : Nathan Coulson - nathan at linuxfromscratch.org
-#		Kevin P. Fleming - kpfleming at linuxfromscratch.org
+#               Kevin P. Fleming - kpfleming at linuxfromscratch.org
+# Update      : Bruce Dubbs - bdubbs at linuxfromscratch.org
 #
-# Version     : 00.00
+# Version     : LFS 7.0
 #
-# Notes       :
-#
 ########################################################################
 
-. /etc/sysconfig/rc 
-. ${rc_functions} 
+. /lib/boot/functions
 . ${IFCONFIG}
 
 if [ -z "${IP}" ]; then
-	boot_mesg "IP variable missing from ${IFCONFIG}, cannot continue." ${FAILURE}
-	echo_failure
-	exit 1
+   boot_mesg "IP variable missing from ${IFCONFIG}, cannot continue." ${FAILURE}
+   echo_failure
+   exit 1
 fi
 
 if [ -z "${PREFIX}" -a -z "${PEER}" ]; then
-	boot_mesg -n "PREFIX variable missing from ${IFCONFIG}," ${WARNING}
-	boot_mesg " assuming 24."
-	echo_warning
-	PREFIX=24
-	args="${args} ${IP}/${PREFIX}"
+   boot_mesg -n "PREFIX variable missing from ${IFCONFIG}," ${WARNING}
+   boot_mesg " assuming 24."
+   echo_warning
+   PREFIX=24
+   args="${args} ${IP}/${PREFIX}"
+
 elif [ -n "${PREFIX}" -a -n "${PEER}" ]; then
-	boot_mesg "PREFIX and PEER both specified in ${IFCONFIG}, cannot continue." ${FAILURE}
-	echo_failure
-	exit 1
+   boot_mesg "PREFIX and PEER both specified in ${IFCONFIG}, cannot continue." ${FAILURE}
+   echo_failure
+   exit 1
+
 elif [ -n "${PREFIX}" ]; then
-	args="${args} ${IP}/${PREFIX}"
+   args="${args} ${IP}/${PREFIX}"
+
 elif [ -n "${PEER}" ]; then
-	args="${args} ${IP} peer ${PEER}"
+   args="${args} ${IP} peer ${PEER}"
 fi
 
 if [ -n "${BROADCAST}" ]; then
-	args="${args} broadcast ${BROADCAST}"
+   args="${args} broadcast ${BROADCAST}"
 fi
 
 case "${2}" in
-	up)
-		boot_mesg "Adding IPv4 address ${IP} to the ${1} interface..."
-		ip addr add ${args} dev ${1}
-		evaluate_retval
-	
-		if [ -n "${GATEWAY}" ]; then
-			if ip route | grep -q default; then
-				boot_mesg "Gateway already setup; skipping." ${WARNING}
-				echo_warning
-			else
-				boot_mesg "Setting up default gateway..."
-				ip route add default via ${GATEWAY} dev ${1}
-				evaluate_retval
-			 fi
-		fi
-	;;
-	
-	down)
-		if [ -n "${GATEWAY}" ];	then
-			boot_mesg "Removing default gateway..."
-			ip route del default
-			evaluate_retval
-		fi
-	
-		boot_mesg "Removing IPv4 address ${IP} from the ${1} interface..."
-		ip addr del ${args} dev ${1}
-		evaluate_retval
-	;;
-	
-	*)
-		echo "Usage: ${0} [interface] {up|down}"
-		exit 1
-	;;
+   up)
+      boot_mesg "Adding IPv4 address ${IP} to the ${1} interface..."
+      ip addr add ${args} dev ${1}
+      evaluate_retval
+
+      if [ -n "${GATEWAY}" ]; then
+         if ip route | grep -q default; then
+            boot_mesg "Gateway already setup; skipping." ${WARNING}
+            echo_warning
+         else
+            boot_mesg "Setting up default gateway..."
+            ip route add default via ${GATEWAY} dev ${1}
+            evaluate_retval
+          fi
+      fi
+   ;;
+
+   down)
+      if [ -n "${GATEWAY}" ]; then
+         boot_mesg "Removing default gateway..."
+         ip route del default
+         evaluate_retval
+      fi
+
+      boot_mesg "Removing IPv4 address ${IP} from the ${1} interface..."
+      ip addr del ${args} dev ${1}
+      evaluate_retval
+   ;;
+
+   *)
+      echo "Usage: ${0} [interface] {up|down}"
+      exit 1
+   ;;
 esac
 
-# End $network_devices/services/ipv4-static
+# End /lib/boot/ipv4-static

Modified: trunk/BOOK/bootscripts/lfs/sysconfig/network-devices/services/ipv4-static-route
===================================================================
--- trunk/BOOK/bootscripts/lfs/sysconfig/network-devices/services/ipv4-static-route	2011-07-17 19:17:28 UTC (rev 9573)
+++ trunk/BOOK/bootscripts/lfs/sysconfig/network-devices/services/ipv4-static-route	2011-08-02 02:15:42 UTC (rev 9574)
@@ -1,74 +1,72 @@
 #!/bin/sh
 ########################################################################
-# Begin $network_devices/services/ipv4-static-route
+# Begin /lib/boot/ipv4-static-route
 #
 # Description : IPV4 Static Route Script
 #
 # Authors     : Kevin P. Fleming - kpfleming at linuxfromscratch.org
+# Update      : Bruce Dubbs - bdubbs at linuxfromscratch.org
 #
-# Version     : 00.00
+# Version     : LFS 7.0
 #
-# Notes       :
-#
 ########################################################################
 
-. /etc/sysconfig/rc 
-. ${rc_functions} 
+. /lib/boot/functions
 . ${IFCONFIG}
 
 case "${TYPE}" in
-	("" | "network")
-		need_ip=1
-		need_gateway=1
-	;;
+   ("" | "network")
+      need_ip=1
+      need_gateway=1
+   ;;
 
-	("default")
-		need_gateway=1
-		args="${args} default"
-		desc="default"
-	;;
+   ("default")
+      need_gateway=1
+      args="${args} default"
+      desc="default"
+   ;;
 
-	("host")
-		need_ip=1
-	;;
+   ("host")
+      need_ip=1
+   ;;
 
-	("unreachable")
-		need_ip=1
-		args="${args} unreachable"
-		desc="unreachable "
-	;;
+   ("unreachable")
+      need_ip=1
+      args="${args} unreachable"
+      desc="unreachable "
+   ;;
 
-	(*)
-		boot_mesg "Unknown route type (${TYPE}) in ${IFCONFIG}, cannot continue." ${FAILURE}
-		echo_failure
-		exit 1
-	;;
+   (*)
+      boot_mesg "Unknown route type (${TYPE}) in ${IFCONFIG}, cannot continue." ${FAILURE}
+      echo_failure
+      exit 1
+   ;;
 esac
 
 if [ -n "${need_ip}" ]; then
-	if [ -z "${IP}" ]; then
-		boot_mesg "IP variable missing from ${IFCONFIG}, cannot continue." ${FAILURE}
-		echo_failure
-		exit 1
-	fi
+   if [ -z "${IP}" ]; then
+      boot_mesg "IP variable missing from ${IFCONFIG}, cannot continue." ${FAILURE}
+      echo_failure
+      exit 1
+   fi
 
-	if [ -z "${PREFIX}" ]; then
-		boot_mesg "PREFIX variable missing from ${IFCONFIG}, cannot continue." ${FAILURE}
-		echo_failure
-		exit 1
-	fi
-	
-	args="${args} ${IP}/${PREFIX}"
-	desc="${desc}${IP}/${PREFIX}"
+   if [ -z "${PREFIX}" ]; then
+      boot_mesg "PREFIX variable missing from ${IFCONFIG}, cannot continue." ${FAILURE}
+      echo_failure
+      exit 1
+   fi
+   
+   args="${args} ${IP}/${PREFIX}"
+   desc="${desc}${IP}/${PREFIX}"
 fi
 
 if [ -n "${need_gateway}" ]; then
-	if [ -z "${GATEWAY}" ]; then
-		boot_mesg "GATEWAY variable missing from ${IFCONFIG}, cannot continue." ${FAILURE}
-		echo_failure
-		exit 1
-	fi
-	args="${args} via ${GATEWAY}"
+   if [ -z "${GATEWAY}" ]; then
+      boot_mesg "GATEWAY variable missing from ${IFCONFIG}, cannot continue." ${FAILURE}
+      echo_failure
+      exit 1
+   fi
+   args="${args} via ${GATEWAY}"
 fi
 
 if [ -n "${SOURCE}" ]; then
@@ -76,22 +74,22 @@
 fi
 
 case "${2}" in
-	up)
-		boot_mesg "Adding '${desc}' route to the ${1} interface..."
-		ip route add ${args} dev ${1}
-		evaluate_retval
-	;;
-	
-	down)
-		boot_mesg "Removing '${desc}' route from the ${1} interface..."
-		ip route del ${args} dev ${1}
-		evaluate_retval
-	;;
-	
-	*)
-		echo "Usage: ${0} [interface] {up|down}"
-		exit 1
-	;;
+   up)
+      boot_mesg "Adding '${desc}' route to the ${1} interface..."
+      ip route add ${args} dev ${1}
+      evaluate_retval
+   ;;
+   
+   down)
+      boot_mesg "Removing '${desc}' route from the ${1} interface..."
+      ip route del ${args} dev ${1}
+      evaluate_retval
+   ;;
+   
+   *)
+      echo "Usage: ${0} [interface] {up|down}"
+      exit 1
+   ;;
 esac
 
-# End $network_devices/services/ipv4-static-route
+# End /bib/boot/ipv4-static-route

Modified: trunk/BOOK/chapter01/changelog.xml
===================================================================
--- trunk/BOOK/chapter01/changelog.xml	2011-07-17 19:17:28 UTC (rev 9573)
+++ trunk/BOOK/chapter01/changelog.xml	2011-08-02 02:15:42 UTC (rev 9574)
@@ -37,6 +37,27 @@
 
 -->
     <listitem>
+      <para>2011-08-01</para>
+      <itemizedlist>
+        <listitem>
+          <para>[bdubbs] - Rewrite bootscripts and Chaper 7.</para>
+          <itemizedlist>
+             <listitem><para>Make scripts compatible with initd format (see BLFS).</para></listitem>
+             <listitem><para>Move functions and services to /lib/boot.</para></listitem>
+             <listitem><para>Log boot messages to /run/var/bootlog.</para></listitem>
+             <listitem><para>Move ifup/ifdown to /sbin.</para></listitem>
+             <listitem><para>Move network device configuration files to
+                             /etc/sysconfig/ifconfig.*.</para></listitem>
+             <listitem><para>Add IFACE variable to network configuration files.
+                             </para></listitem>
+             <listitem><para>Read optional configuration file /etc/sysconfig/init_params
+                             in functions.</para></listitem>
+          </itemizedlist>
+        </listitem>
+      </itemizedlist>
+    </listitem>
+
+    <listitem>
       <para>2011-07-17</para>
       <itemizedlist>
         <listitem>

Modified: trunk/BOOK/chapter06/sysvinit.xml
===================================================================
--- trunk/BOOK/chapter06/sysvinit.xml	2011-07-17 19:17:28 UTC (rev 9573)
+++ trunk/BOOK/chapter06/sysvinit.xml	2011-08-02 02:15:42 UTC (rev 9574)
@@ -74,52 +74,6 @@
 
   </sect2>
 
-  <sect2 id="conf-sysvinit" role="configuration">
-    <title>Configuring Sysvinit</title>
-
-    <indexterm zone="conf-sysvinit">
-      <primary sortas="a-Sysvinit">Sysvinit</primary>
-      <secondary>configuring</secondary>
-    </indexterm>
-
-    <indexterm zone="conf-sysvinit">
-      <primary sortas="e-/etc/inittab">/etc/inittab</primary>
-    </indexterm>
-
-    <para>Create a new file <filename>/etc/inittab</filename> by running the
-    following:</para>
-
-<screen><userinput>cat > /etc/inittab << "EOF"
-<literal># Begin /etc/inittab
-
-id:3:initdefault:
-
-si::sysinit:/etc/rc.d/init.d/rc sysinit
-
-l0:0:wait:/etc/rc.d/init.d/rc 0
-l1:S1:wait:/etc/rc.d/init.d/rc 1
-l2:2:wait:/etc/rc.d/init.d/rc 2
-l3:3:wait:/etc/rc.d/init.d/rc 3
-l4:4:wait:/etc/rc.d/init.d/rc 4
-l5:5:wait:/etc/rc.d/init.d/rc 5
-l6:6:wait:/etc/rc.d/init.d/rc 6
-
-ca:12345:ctrlaltdel:/sbin/shutdown -t1 -a -r now
-
-su:S016:once:/sbin/sulogin
-
-1:2345:respawn:/sbin/agetty tty1 9600
-2:2345:respawn:/sbin/agetty tty2 9600
-3:2345:respawn:/sbin/agetty tty3 9600
-4:2345:respawn:/sbin/agetty tty4 9600
-5:2345:respawn:/sbin/agetty tty5 9600
-6:2345:respawn:/sbin/agetty tty6 9600
-
-# End /etc/inittab</literal>
-EOF</userinput></screen>
-
-  </sect2>
-
   <sect2 id="contents-sysvinit" role="content">
     <title>Contents of Sysvinit</title>
 

Modified: trunk/BOOK/chapter07/bootscripts.xml
===================================================================
--- trunk/BOOK/chapter07/bootscripts.xml	2011-07-17 19:17:28 UTC (rev 9573)
+++ trunk/BOOK/chapter07/bootscripts.xml	2011-08-02 02:15:42 UTC (rev 9574)
@@ -49,7 +49,6 @@
 
   <sect2 id="contents-bootscripts" role="content">
     <title>Contents of LFS-Bootscripts</title>
-
     <segmentedlist>
       <segtitle>Installed scripts</segtitle>
       <segtitle>Installed directories</segtitle>
@@ -59,7 +58,7 @@
         ifup, localnet, modules, mountfs, mountkernfs, network, rc, reboot,
         sendsignals, setclock, static, swap, sysctl, sysklogd, template,
         udev, and udev_retry</seg>
-        <seg>/etc/rc.d, /etc/sysconfig</seg>
+        <seg>/etc/rc.d, /etc/sysconfig, /lib/boot</seg>
       </seglistitem>
     </segmentedlist>
 
@@ -140,7 +139,7 @@
       <varlistentry id="ifdown-bootscripts">
         <term><command>ifdown</command></term>
         <listitem>
-          <para>Assists the network script with stopping network devices</para>
+          <para>Stops a network device</para>
           <indexterm zone="ch-scripts-bootscripts ifdown-bootscripts">
             <primary sortas="d-ifdown">ifdown</primary>
           </indexterm>
@@ -150,7 +149,7 @@
       <varlistentry id="ifup-bootscripts">
         <term><command>ifup</command></term>
         <listitem>
-          <para>Assists the network script with starting network devices</para>
+          <para>Initializes a network device</para>
           <indexterm zone="ch-scripts-bootscripts ifup-bootscripts">
             <primary sortas="d-ifup">ifup</primary>
           </indexterm>
@@ -325,7 +324,7 @@
         <term><command>udev_retry</command></term>
         <listitem>
           <para>Retries failed udev uevents, and copies generated rules
-          files from <filename class="directory">/dev/.udev</filename> to
+          files from to
           <filename class="directory">/etc/udev/rules.d</filename> if required</para>
           <indexterm zone="ch-scripts-bootscripts udev-retry-bootscripts">
             <primary sortas="d-udev-retry">udev_retry</primary>

Modified: trunk/BOOK/chapter07/chapter07.xml
===================================================================
--- trunk/BOOK/chapter07/chapter07.xml	2011-07-17 19:17:28 UTC (rev 9573)
+++ trunk/BOOK/chapter07/chapter07.xml	2011-08-02 02:15:42 UTC (rev 9574)
@@ -12,17 +12,17 @@
   <title>Setting Up System Bootscripts</title>
 
   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="introduction.xml"/>
+  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="network.xml"/>
+  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="hosts.xml"/>
+  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="udev.xml"/>
+  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="symlinks.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="bootscripts.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="usage.xml"/>
+  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="hostname.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="setclock.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="console.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="sysklogd.xml"/>
+  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="profile.xml"/>
   <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="inputrc.xml"/>
-  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="profile.xml"/>
-  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="udev.xml"/>
-  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="symlinks.xml"/>
-  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="hostname.xml"/>
-  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="hosts.xml"/>
-  <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="network.xml"/>
 
 </chapter>

Modified: trunk/BOOK/chapter07/hostname.xml
===================================================================
--- trunk/BOOK/chapter07/hostname.xml	2011-07-17 19:17:28 UTC (rev 9573)
+++ trunk/BOOK/chapter07/hostname.xml	2011-08-02 02:15:42 UTC (rev 9574)
@@ -8,10 +8,10 @@
 <sect1 id="ch-scripts-hostname">
   <?dbhtml filename="hostname.html"?>
 
-  <title>Configuring the localnet Script</title>
+  <title>Configuring the system hostname</title>
 
   <indexterm zone="ch-scripts-hostname">
-    <primary sortas="d-localnet">localnet</primary>
+    <primary sortas="d-hostname">hostname</primary>
     <secondary>configuring</secondary>
   </indexterm>
 
@@ -26,7 +26,6 @@
 
   <para><replaceable><lfs></replaceable> needs to be replaced with the name given
   to the computer. Do not enter the Fully Qualified Domain Name (FQDN) here. That
-  information will be put in the <filename>/etc/hosts</filename> file in the next
-  section.</para>
+  information is put in the <filename>/etc/hosts</filename> file.</para>
 
 </sect1>

Modified: trunk/BOOK/chapter07/hosts.xml
===================================================================
--- trunk/BOOK/chapter07/hosts.xml	2011-07-17 19:17:28 UTC (rev 9573)
+++ trunk/BOOK/chapter07/hosts.xml	2011-08-02 02:15:42 UTC (rev 9574)
@@ -61,7 +61,7 @@
 
   <para>The <replaceable><192.168.1.1></replaceable> and
   <replaceable><HOSTNAME.example.org></replaceable>
-  values need to be changed for specific users or requirements (if
+  values need to be changed for specific uses or requirements (if
   assigned an IP address by a network/system administrator and the
   machine will be connected to an existing network). The optional alias
   name(s) can be omitted.</para>

Modified: trunk/BOOK/chapter07/introduction.xml
===================================================================
--- trunk/BOOK/chapter07/introduction.xml	2011-07-17 19:17:28 UTC (rev 9573)
+++ trunk/BOOK/chapter07/introduction.xml	2011-08-02 02:15:42 UTC (rev 9574)
@@ -10,18 +10,81 @@
 
   <title>Introduction</title>
 
-  <para>This chapter details how to install and configure the LFS-Bootscripts
-  package. Most of these scripts will work without modification, but a few require
-  additional configuration files because they deal with hardware-dependent
-  information.</para>
+  <para>This chapter discusses configuration files and boot scripts.  
+  First, the general configuration files needed to set up networking are 
+  presented.</para>
+  
+  <itemizedlist>
+     <listitem>
+       <para><xref linkend="ch-scripts-network" role="."/></para>
+     </listitem>
+     <listitem>
+       <para><xref linkend="ch-scripts-hosts" role="."/></para>
+     </listitem>
+  </itemizedlist>
+  
+  <para>Second, issues that affect the proper setup of devices diescussed.</para>
 
+  <itemizedlist>
+     <listitem>
+       <para><xref linkend="ch-scripts-udev" role="."/></para>
+     </listitem>
+     <listitem>
+       <para><xref linkend="ch-scripts-symlinks" role="."/></para>
+     </listitem>
+  </itemizedlist>
+
+  <para>The next sections detail how to install and configure the LFS system
+  scripts needed during the boot process. Most of these scripts will work
+  without modification, but a few require additional configuration files
+  because they deal with hardware-dependent information.</para>
+  
   <para>System-V style init scripts are employed in this book because they are
-  widely used. For additional options, a hint detailing the BSD style init setup
-  is available at <ulink url="&hints-root;bsd-init.txt"/>.
-  Searching the LFS mailing lists for <quote>depinit</quote> will also offer
-  additional choices.</para>
+  widely used and relatively simple. For additional options, a hint detailing
+  the BSD style init setup is available at <ulink
+  url="&hints-root;bsd-init.txt"/>.  Searching the LFS mailing lists for
+  <quote>depinit</quote>, <quote>upstart</quote>, or <quote>systemd</quote>
+  will also offer additional information.</para>
+ 
+  <para>If using an alternative style of init scripts, skip these sections.</para>
 
-  <para>If using an alternative style of init scripts, skip this chapter
-  and move on to <xref linkend="chapter-bootable"/>.</para>
+  <para>A listing of the boot scripts are found in <xref linkend="scripts"
+  role="."/>.</para>
 
+
+  <itemizedlist>
+     <listitem>
+       <para><xref linkend="ch-scripts-bootscripts" role="."/></para>
+     </listitem>
+     <listitem>
+       <para><xref linkend="ch-scripts-usage" role="."/></para>
+     </listitem>
+     <listitem>
+       <para><xref linkend="ch-scripts-hostname" role="."/></para>
+     </listitem>
+     <listitem>
+       <para><xref linkend="ch-scripts-setclock" role="."/></para>
+     </listitem>
+     <listitem>
+       <para><xref linkend="ch-scripts-console" role="."/></para>
+     </listitem>
+     <listitem>
+       <para><xref linkend="ch-scripts-sysklogd" role="."/></para>
+     </listitem>
+  </itemizedlist>
+  
+  
+  <para>Finally, there is a brief introduction to the scripts and configuration
+  files used when the user logs into the system.</para>
+
+  <itemizedlist>
+     <listitem>
+       <para><xref linkend="ch-scripts-profile" role="."/></para>
+     </listitem>
+     <listitem>
+       <para><xref linkend="ch-scripts-inputrc" role="."/></para>
+     </listitem>
+  </itemizedlist>
+
+
 </sect1>

Modified: trunk/BOOK/chapter07/network.xml
===================================================================
--- trunk/BOOK/chapter07/network.xml	2011-07-17 19:17:28 UTC (rev 9573)
+++ trunk/BOOK/chapter07/network.xml	2011-08-02 02:15:42 UTC (rev 9574)
@@ -8,7 +8,7 @@
 <sect1 id="ch-scripts-network">
   <?dbhtml filename="network.html"?>
 
-  <title>Configuring the network Script</title>
+  <title>General Network Configuration</title>
 
   <indexterm zone="ch-scripts-network">
     <primary sortas="d-network">network</primary>
@@ -26,6 +26,11 @@
   <sect2>
     <title>Creating stable names for network interfaces</title>
 
+    <para>If there is only one network interface in the system to be
+    configured, this section is optional, although it will never be wrong to do
+    it.  In many cases (e.g. a laptop with a wireless and a wired interface),
+    accomplishing the configuration in this section is necessary.</para>  
+
     <para>With Udev and modular network drivers, the network interface numbering
     is not persistent across reboots by default, because the drivers are loaded
     in parallel and, thus, in random order. For example, on a computer having
@@ -112,21 +117,22 @@
     <title>Creating Network Interface Configuration Files</title>
 
     <para>Which interfaces are brought up and down by the network script
-    depends on the files and directories in the <filename
-    class="directory">/etc/sysconfig/network-devices</filename> hierarchy.
-    This directory should contain a sub-directory for each interface to be
-    configured, such as <filename>ifconfig.xyz</filename>, where
-    <quote>xyz</quote> is a network interface name. Inside this directory
-    would be files defining the attributes to this interface, such as its IP
-    address(es), subnet masks, and so forth.</para>
+    depends on the files in <filename
+    class="directory">/etc/sysconfig/</filename>.  This directory should
+    contain a file for each interface to be configured, such as
+    <filename>ifconfig.xyz</filename>, where <quote>xyz</quote> is is
+    meaningful to the administrator such as the device name (e.g. eth0).
+    Inside this file are attributes to this interface, such as its IP
+    address(es), subnet masks, and so forth.  It is necessary that 
+    the stem of the filename be <emphasis>ifconfig</emphasis>.</para>
 
-    <para>The following command creates a sample <filename>ipv4</filename>
-    file for the <emphasis>eth0</emphasis> device:</para>
+    <para>The following command creates a sample file for the
+    <emphasis>eth0</emphasis> device with a static IP address:</para>
 
-<screen><userinput>cd /etc/sysconfig/network-devices
-mkdir -v ifconfig.eth0
-cat > ifconfig.eth0/ipv4 << "EOF"
+<screen><userinput>cd /etc/sysconfig/
+cat > ifconfig.eth0 << "EOF"
 <literal>ONBOOT=yes
+IFACE=eth0
 SERVICE=ipv4-static
 IP=192.168.1.1
 GATEWAY=192.168.1.2
@@ -135,19 +141,25 @@
 EOF</userinput></screen>
 
     <para>The values of these variables must be changed in every file to match
-    the proper setup. If the <envar>ONBOOT</envar> variable is set to
-    <quote>yes</quote> the network script will bring up the Network Interface
-    Card (NIC) during booting of the system. If set to anything but
-    <quote>yes</quote> the NIC will be ignored by the network script and not
-    be brought up.</para>
+    the proper setup.</para>
 
+    <para>If the <envar>ONBOOT</envar> variable is set to <quote>yes</quote> the
+    network script will bring up the Network Interface Card (NIC) during
+    booting of the system. If set to anything but <quote>yes</quote> the NIC
+    will be ignored by the network script and not be automatically brought up.
+    The interface can be manually started or stopped with the
+    <command>ifup</command> and <command>ifdown</command> commands.</para>
+
+    <para>The <envar>IFACE</envar> variable defines the interface name,
+    for example, eth0.  It is required for all network device configuration 
+    files. </para>
+
     <para>The <envar>SERVICE</envar> variable defines the method used for
     obtaining the IP address. The LFS-Bootscripts package has a modular IP
     assignment format, and creating additional files in the <filename
-    class="directory">/etc/sysconfig/network-devices/services</filename>
-    directory allows other IP assignment methods. This is commonly used for
-    Dynamic Host Configuration Protocol (DHCP), which is addressed in the
-    BLFS book.</para>
+    class="directory">/lib/boot/</filename> directory allows other IP
+    assignment methods. This is commonly used for Dynamic Host Configuration
+    Protocol (DHCP), which is addressed in the BLFS book.</para>
 
     <para>The <envar>GATEWAY</envar> variable should contain the default
     gateway IP address, if one is present. If not, then comment out the
@@ -189,6 +201,10 @@
 # End /etc/resolv.conf</literal>
 EOF</userinput></screen>
 
+    <para>The <varname>domain</varname> statement can be omitted
+    or replaced with a <varname>search</varname> statement.  See the man page for
+    resolv.conf for more details.</para>
+
     <para>Replace <replaceable><IP address of the nameserver></replaceable>
     with the IP address of the DNS most appropriate for the setup. There will
     often be more than one entry (requirements demand secondary servers for
@@ -196,6 +212,8 @@
     second <emphasis>nameserver</emphasis> line from the file. The IP address
     may also be a router on the local network.</para>
 
+    <note><para>The Google Public IPv4 DNS addresses are 8.8.8.8 and 8.8.4.4.</para></note>
+
   </sect2>
 
 </sect1>

Modified: trunk/BOOK/chapter07/setclock.xml
===================================================================
--- trunk/BOOK/chapter07/setclock.xml	2011-07-17 19:17:28 UTC (rev 9573)
+++ trunk/BOOK/chapter07/setclock.xml	2011-08-02 02:15:42 UTC (rev 9574)
@@ -62,4 +62,7 @@
   at <ulink url="&hints-root;time.txt"/>. It explains issues such as
   time zones, UTC, and the <envar>TZ</envar> environment variable.</para>
 
+  <note><para>The CLOCKPARAMS and UTC paramaters may be alternatively set
+  in the <filename>/etc/sysconfig/init_params</filename> file.</para></note>
+
 </sect1>

Modified: trunk/BOOK/chapter07/sysklogd.xml
===================================================================
--- trunk/BOOK/chapter07/sysklogd.xml	2011-07-17 19:17:28 UTC (rev 9573)
+++ trunk/BOOK/chapter07/sysklogd.xml	2011-08-02 02:15:42 UTC (rev 9574)
@@ -16,11 +16,16 @@
   </indexterm>
 
   <para>The <filename>sysklogd</filename> script invokes the
-  <command>syslogd</command> program with the <parameter>-m 0</parameter> option.
-  This option turns off the periodic timestamp mark that
-  <command>syslogd</command> writes to the log files every 20 minutes by default.
-  If you want to turn on this periodic timestamp mark, edit the
-  <filename>sysklogd</filename> script and make the changes accordingly. See
-  <userinput>man syslogd</userinput> for more information.</para>
+  <command>syslogd</command> program with the <parameter>-m 0</parameter>
+  option.  This option turns off the periodic timestamp mark that
+  <command>syslogd</command> writes to the log files every 20 minutes by
+  default.  If you want to turn on this periodic timestamp mark, create or edit
+  <filename>/etc/sysconfig/init_params</filename> and define the variable
+  SYSKLOGD_PARMS to the desired value.  For instance, to remove all parameters,
+  set the variable to a null value:</para>
 
+<screen role="nodump">SYSKLOGD_PARMS=</screen>
+
+  <para>See <userinput>man syslogd</userinput> for more options.</para>
+
 </sect1>

Modified: trunk/BOOK/chapter07/udev.xml
===================================================================
--- trunk/BOOK/chapter07/udev.xml	2011-07-17 19:17:28 UTC (rev 9573)
+++ trunk/BOOK/chapter07/udev.xml	2011-08-02 02:15:42 UTC (rev 9574)
@@ -95,7 +95,7 @@
     <sect3>
       <title>Udev Bootscript</title>
 
-      <para>The <command>S10udev</command> initscript takes care of creating
+      <para>The <command>/etc/rc.d/init.d/udev</command> initscript takes care of creating
       device nodes when Linux is booted. The script unsets the uevent handler
       from the default of <command>/sbin/hotplug</command>.  This is done
       because the kernel no longer needs to call out to an external binary.
@@ -200,7 +200,7 @@
       class="filesystem">sysfs</systemitem>. In other cases, one should
       arrange module loading by other means. With Linux-&linux-version;, Udev is
       known to load properly-written drivers for INPUT, IDE, PCI, USB, SCSI,
-      SERIO and FireWire devices.</para>
+      SERIO, and FireWire devices.</para>
 
       <para>To determine if the device driver you require has the necessary
       support for Udev, run <command>modinfo</command> with the module name as
@@ -243,7 +243,7 @@
     /sbin/modprobe snd-pcm-oss ; true</literal></screen>
 
       <para>If the module in question is not a wrapper and is useful by itself,
-      configure the <command>S05modules</command> bootscript to load this
+      configure the <command>modules</command> bootscript to load this
       module on system boot. To do this, add the module name to the
       <filename>/etc/sysconfig/modules</filename> file on a separate line.
       This works for wrapper modules too, but is suboptimal in that case.</para>
@@ -306,7 +306,7 @@
       documentation or the documentation provided by the third party driver
       vendor). The static device node will be copied to
       <filename class="directory">/dev</filename> by the
-      <command>S10udev</command> bootscript.</para>
+      <command>udev</command> bootscript.</para>
 
     </sect3>
 

Modified: trunk/BOOK/chapter07/usage.xml
===================================================================
--- trunk/BOOK/chapter07/usage.xml	2011-07-17 19:17:28 UTC (rev 9573)
+++ trunk/BOOK/chapter07/usage.xml	2011-08-02 02:15:42 UTC (rev 9574)
@@ -37,7 +37,80 @@
 5: same as 4, it is usually used for GUI login (like X's <command>xdm</command> or KDE's <command>kdm</command>)
 6: reboot the computer</literallayout>
 
-  <para>The command used to change run-levels is <command>init
+  <sect2 id="conf-sysvinit" role="configuration">
+  <title>Configuring Sysvinit</title>
+
+  <indexterm zone="conf-sysvinit">
+    <primary sortas="a-Sysvinit">Sysvinit</primary>
+    <secondary>configuring</secondary>
+  </indexterm>
+
+  <indexterm zone="conf-sysvinit">
+    <primary sortas="e-/etc/inittab">/etc/inittab</primary>
+  </indexterm>
+
+  <para>During the kernel initialization, the first program that is run
+  is either specified on the command line or, by default 
+  <command>init</command>.  This program reads the initialization file
+  <filename>/etc/inittab</filename>.  Create this file with:</para>
+
+<screen><userinput>cat > /etc/inittab << "EOF"
+<literal># Begin /etc/inittab
+
+id:3:initdefault:
+
+si::sysinit:/etc/rc.d/init.d/rc sysinit
+
+l0:0:wait:/etc/rc.d/init.d/rc 0
+l1:S1:wait:/etc/rc.d/init.d/rc 1
+l2:2:wait:/etc/rc.d/init.d/rc 2
+l3:3:wait:/etc/rc.d/init.d/rc 3
+l4:4:wait:/etc/rc.d/init.d/rc 4
+l5:5:wait:/etc/rc.d/init.d/rc 5
+l6:6:wait:/etc/rc.d/init.d/rc 6
+
+ca:12345:ctrlaltdel:/sbin/shutdown -t1 -a -r now
+
+su:S016:once:/sbin/sulogin
+
+1:2345:respawn:/sbin/agetty tty1 9600
+2:2345:respawn:/sbin/agetty tty2 9600
+3:2345:respawn:/sbin/agetty tty3 9600
+4:2345:respawn:/sbin/agetty tty4 9600
+5:2345:respawn:/sbin/agetty tty5 9600
+6:2345:respawn:/sbin/agetty tty6 9600
+
+# End /etc/inittab</literal>
+EOF</userinput></screen>
+
+  <para>An explanation of this initialization file is in the man page for
+  <emphasis>inittab</emphasis>.  For LFS, the key command that is run is
+  <command>rc</command>. The intialization file above will instruct
+  <command>rc</command> to run all the scripts starting with an S in the
+  <filename class="directory">/etc/rc.d/rcsysinit.d</filename> directory
+  followed by all the scripts starting with an S in the <filename
+  class="directory">/etc/rc.d/rc?.d</filename> directory where the question
+  mark is specified by the initdefault value.</para>
+
+  <para>As a convenience, the <command>rc</command> script reads a library of
+  functions in <filename class="directory">/lib/boot/functions</filename>.
+  This library also reads an optional configuration file,
+  <filename>/etc/sysconfig/init_params</filename>.  Any of the system
+  configuration file parameters described in subsequent sections can be
+  alternatively placed in this file allowing consolidation of all system
+  parameters in thsi one file.</para>
+
+  <para>As a debugging convenience, the functions script also logs all output
+  to <filename>/run/var/bootlog</filename>.  Since the <filename
+  class="directory">/run</filename> directory is a tmpfs, this file is not
+  persistent across boots.</para>
+
+  </sect2>
+
+  <sect2 id="init-levels" >
+  <title>Changing Run Levels</title>
+
+  <para>Changing run-levels is done with <command>init
   <replaceable><runlevel></replaceable></command>, where
   <replaceable><runlevel></replaceable> is the target run-level. For example, to
   reboot the computer, a user could issue the <command>init 6</command> command,
@@ -59,7 +132,7 @@
 
   <para>The real scripts are in <filename
   class="directory">/etc/rc.d/init.d</filename>. They do the actual work, and
-  the symlinks all point to them. Killing links and starting links point to
+  the symlinks all point to them. K links and S links point to
   the same script in <filename class="directory">/etc/rc.d/init.d</filename>.
   This is because the scripts can be called with different parameters like
   <parameter>start</parameter>, <parameter>stop</parameter>,
@@ -126,4 +199,6 @@
   it is your own LFS system). The files given here are an example of how
   it can be done.</para>
 
+  </sect2>
+
 </sect1>

Modified: trunk/BOOK/general.ent
===================================================================
--- trunk/BOOK/general.ent	2011-07-17 19:17:28 UTC (rev 9573)
+++ trunk/BOOK/general.ent	2011-08-02 02:15:42 UTC (rev 9574)
@@ -1,7 +1,7 @@
-<!ENTITY version "SVN-20110717">
-<!ENTITY releasedate "July 17, 2011">
+<!ENTITY version "SVN-20110801">
+<!ENTITY releasedate "Aug 1, 2011">
 <!ENTITY copyrightdate "1999-2011"><!-- jhalfs needs a literal dash, not – -->
-<!ENTITY milestone "6.9">
+<!ENTITY milestone "7.0">
 <!ENTITY generic-version "development"> <!-- Use "development", "testing", or "x.y[-pre{x}]" -->
 
 <!ENTITY lfs-root "http://www.linuxfromscratch.org/">

Modified: trunk/BOOK/packages.ent
===================================================================
--- trunk/BOOK/packages.ent	2011-07-17 19:17:28 UTC (rev 9573)
+++ trunk/BOOK/packages.ent	2011-08-02 02:15:42 UTC (rev 9574)
@@ -297,7 +297,7 @@
 <!ENTITY less-ch6-du "3.5 MB">
 <!ENTITY less-ch6-sbu "less than 0.1 SBU">
 
-<!ENTITY lfs-bootscripts-version "20110531">                 <!-- Scripts depend on this format -->
+<!ENTITY lfs-bootscripts-version "20110801">                 <!-- Scripts depend on this format -->
 <!ENTITY lfs-bootscripts-size "BOOTSCRIPTS-SIZE KB">         <!-- Updated in Makefile -->
 <!ENTITY lfs-bootscripts-url "&downloads-root;lfs-bootscripts-&lfs-bootscripts-version;.tar.bz2">
 <!ENTITY lfs-bootscripts-md5 "BOOTSCRIPTS-MD5SUM">           <!-- Updated in Makefile -->

Modified: trunk/BOOK/prologue/standards.xml
===================================================================
--- trunk/BOOK/prologue/standards.xml	2011-07-17 19:17:28 UTC (rev 9573)
+++ trunk/BOOK/prologue/standards.xml	2011-08-02 02:15:42 UTC (rev 9574)
@@ -111,8 +111,8 @@
       <varlistentry>
         <term><emphasis>LSB Core:</emphasis></term>
         <listitem>
-          <para>Bc, Cpio, Ed, Fcrontab, PAM, Sendmail (or Postfix or Exim)
-          </para>
+          <para>Bc, Cpio, Ed, Fcrontab, Initd-tools, PAM, 
+          Sendmail (or Postfix or Exim) </para>
         </listitem>
       </varlistentry>
 
@@ -164,7 +164,7 @@
       <varlistentry>
         <term><emphasis>LSB Core:</emphasis></term>
         <listitem>
-          <para>At, Batch, Install_initd, Lsb_release, Remove_initd, Test
+          <para>At, Batch, Lsb_release
           </para>
         </listitem>
       </varlistentry>




More information about the lfs-book mailing list