Index: bootscripts/ChangeLog
===================================================================
--- bootscripts/ChangeLog	(revision 43c2ecf0b898e8dfaca243df6946522b5d49cda5)
+++ bootscripts/ChangeLog	(revision 0cda8984a835f37a573c0e2eb31676ff52773d16)
@@ -1,20 +1,36 @@
-2011-05-31	DJ Lucas <dj@linuxfromscratch.org>
+2011-07-14  Bruce Dubbs <bdubbs@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@linuxfromscratch.org>
    * lfs/init.d/udev: Add multiple udev triggers for both subsystems and
      devices per upstream recommendation.
 
-2011-04-19	Bruce Dubbs <bdubbs@linuxfromscratch.org>
+2011-04-19  Bruce Dubbs <bdubbs@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@linuxfromscratch.org>
+2011-04-18  Bruce Dubbs <bdubbs@linuxfromscratch.org>
    * lfs/init.d/mountvirtfs: Change name from mountkernfs to mountvirtfs.
      Add mounting of /run filesystem.
 
-2010-05-29	Matt Burgess <matthew@linuxfromscratch.org>
+2010-05-29  Matt Burgess <matthew@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@linuxfromscratch.org>
+2010-04-20  Bryan Kadzban <bryan@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
Index: bootscripts/LICENSE
===================================================================
--- bootscripts/LICENSE	(revision 43c2ecf0b898e8dfaca243df6946522b5d49cda5)
+++ 	(revision )
@@ -1,29 +1,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.
-
Index: bootscripts/Makefile
===================================================================
--- bootscripts/Makefile	(revision 43c2ecf0b898e8dfaca243df6946522b5d49cda5)
+++ bootscripts/Makefile	(revision 0cda8984a835f37a573c0e2eb31676ff52773d16)
@@ -1,4 +1,5 @@
 ETCDIR=/etc
 EXTDIR=${DESTDIR}${ETCDIR}
+LIBDIR=${DESTDIR}/lib/boot
 MODE=754
 DIRMODE=755
@@ -18,12 +19,11 @@
 	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/
@@ -38,5 +38,5 @@
 	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/
@@ -45,5 +45,5 @@
 	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
@@ -52,15 +52,15 @@
 	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
@@ -80,11 +80,17 @@
 	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
@@ -92,14 +98,9 @@
 	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/
@@ -126,7 +127,8 @@
 	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 
 
Index: bootscripts/README
===================================================================
--- bootscripts/README	(revision 43c2ecf0b898e8dfaca243df6946522b5d49cda5)
+++ bootscripts/README	(revision 0cda8984a835f37a573c0e2eb31676ff52773d16)
@@ -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.
+
Index: bootscripts/contrib/lsb/Makefile
===================================================================
--- bootscripts/contrib/lsb/Makefile	(revision 43c2ecf0b898e8dfaca243df6946522b5d49cda5)
+++ 	(revision )
@@ -1,11 +1,0 @@
-ETCDIR=/etc
-EXTDIR=${DESTDIR}${ETCDIR}
-MODE=754
-DIRMODE=755
-CONFMODE=644
-
-install:
-	install -d -m ${DIRMODE} ${DESTDIR}/lib/lsb
-	install -m ${CONFMODE} lib/init-functions ${DESTDIR}/lib/lsb
-
-.PHONY: install
Index: bootscripts/contrib/lsb/lib/init-functions
===================================================================
--- bootscripts/contrib/lsb/lib/init-functions	(revision 43c2ecf0b898e8dfaca243df6946522b5d49cda5)
+++ 	(revision )
@@ -1,348 +1,0 @@
-
-#*******************************************************************************
-# Function - start_daemon [-f] [-n nicelevel] [-p pidfile] pathname [args]
-#
-# Purpose: This runs the specified program as a daemon
-#
-# Inputs: -f, run the program even if it is already running
-#         -n nicelevel, specifies a nice level. See nice(1).
-#         -p pidfile, uses the specified pidfile
-#         pathname, pathname to the specified program
-#         args, arguments to pass to specified program
-#
-# Outputs: return 0 - Success
-#          return 2 - Invalid or excessive number of arguments, 
-#                     warning in stdout
-#          return 4 - Program or service status is unknown
-#
-# Dependencies: nice
-#
-# Todo: none
-#
-#*******************************************************************************
-start_daemon()
-{
-  local pidfile=""
-	local forcestart=""
-	local nicelevel="0"
-
-	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
-				;;
-			*)
-				break
-				;;
-		esac
-	done
-
-	if [ -z "${forcestart}" ]; then
-		if [ -z "${pidfile}" ]; then
-			pidofproc "${1}" > /dev/null
-		else
-			pidofproc -p "${pidfile}" "${1}" > /dev/null
-		fi
-
-		case "${?}" in
-			0)
-				log_warning_msg "Unable to continue: ${1} is running"
-				return 4
-				;;
-			1)
-				log_warning_msg "Unable to continue: ${pidfile} exists"
-				return 4
-				;;
-			3)
-				;;
-			*)
-				log_failure_msg "Unknown error code from pidofproc: ${?}"
-				return 4
-				;;
-		esac
-	fi
-
-	nice -n "${nicelevel}" "${@}"
-}
-
-#*******************************************************************************
-# Function - killproc  [-p pidfile] pathname [signal]
-#
-# Purpose:
-#
-# Inputs: -p pidfile, uses the specified pidfile
-#         pathname, pathname to the specified program
-#         signal, send this signal to pathname
-#
-# Outputs: return 0 - Success
-#          return 1 - Invalid or excessive number of arguments, 
-#                     warning in stdout
-#          return 4 - Unknown Status
-#
-# Dependencies: kill
-#
-# Todo: test
-#
-#*******************************************************************************
-killproc()
-{
-	local pidfile=""
-	local killsig=""
-	local pidlist=""
-	while true
-	do
-		case "${1}" in
-			-p)
-				pidfile="${2}"
-				shift 2
-				;;
-			-*)
-				log_failure_msg "Unknown Option: ${1}"
-				return 1
-				;;
-			*)
-				break
-				;;
-		esac
-	done
-
-	if [ "${#}" = "2" ]; then
-		killsig="${2}"
-	elif [ "${#}" != "1" ]; then
-		shift 2
-		log_failure_msg "Excess Arguments: $@"
-		return 1
-	fi
-
-	if [ -z "${pidfile}" ]; then
-		pidlist=`pidofproc "${1}"`
-	else
-		pidlist=`pidofproc -p "${pidfile}" "${1}"`
-	fi
-
-	for pid in ${pidlist}
-	do
-		kill -${killsig:-TERM} ${pid} 2> /dev/null
-		if [ -z "${killsig}" ]; then
-			# Wait up to 3 seconds, for ${pid} to terminate
-			local dtime=3
-			while [ "${dtime}" != "0" ]
-			do
-				kill -0 ${pid} 2> /dev/null || break
-				sleep 1
-				dtime=$(( ${dtime} - 1))
-			done
-			# If ${pid} is still running, kill it
-			kill -0 ${pid} 2> /dev/null && kill -KILL ${pid} 2> /dev/null
-		fi
-	done
-
-	if [ -z "${killsig}" ]; then
-		pidofproc "${1}" 2>&1 > /dev/null
-	
-		# Program was terminated
-		if [ "$?" != "0" ]; then
-			# Pidfile Exists
-			if [ -f "${pidfile}" ];	then
-				rm -f "${pidfile}" 2>&1 > /dev/null
-			fi
-			return 0
-		else # Program is still running
-			return 4 # Unknown Status
-		fi
-	else
-		if [ -z "${pidfile}" ]; then
-			pidofproc "${1}" 2> /dev/null
-		else
-			pidofproc -p "${pidfile}" "${1}" 2> /dev/null
-		fi
-	fi
-}
-
-#*******************************************************************************
-# Function - pidofproc [-p pidfile] pathname
-#
-# Purpose: This function returns one or more pid(s) for a particular daemon
-#
-# Inputs: -p pidfile, use the specified pidfile instead of pidof
-#         pathname, path to the specified program
-#
-# Outputs: return 0 - Success, pid's in stdout
-#          return 1 - Invalid or excessive number of arguments, 
-#                     warning in stdout
-#          return 1 - Program is dead, pidfile exists
-#          return 3 - Program is not running
-#
-# Dependencies: pidof, echo
-#
-# Todo: - Invalid or excessive argments, and program is dead pidfile exists
-#         conflict with eachother
-#
-#*******************************************************************************
-pidofproc()
-{
-	local pidfile=""
-	local lpids=""
-	local pidlist=""
-	while true
-	do
-		case "${1}" in
-			-p)
-				pidfile="${2}"
-				shift 2
-				;;
-			-*)
-				log_failure_msg "Unknown Option: ${1}"
-				return 1
-				;;
-			*)
-				break
-				;;
-		esac
-	done
-
-	if [ "${#}" != "1" ]; then
-		shift 1
-		log_failure_msg "Excess Arguments: $@"
-		return 1
-	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
-			echo ${pidlist}
-			test -z "${pidlist}" && return 1 # Program is dead, pidfile exists
-			return 0
-		done
-		
-	else
-		pidof "${1}"
-	fi
-
-	if [ "$?" != "0" ]; then
-		return 3 # Program is not running
-	fi
-}
-
-# Screen Dimentions
-if [ -z "${COLUMNS}" ]; then
-  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
-fi
-
-# Measurements for positioning result messages
-COL=$((${COLUMNS} - 8))
-WCOL=$((${COL} - 2))
-
-# Set Cursur Position Commands, used via echo -e
-SET_COL="\\033[${COL}G"      # at the $COL char
-SET_WCOL="\\033[${WCOL}G"    # at the $WCOL char
-CURS_UP="\\033[1A\\033[0G"   # Up one line, at the 0'th char
-
-# Set color commands, used via echo -e
-# Please consult `man console_codes` for more information
-# under the "Set Graphics Resolution" section
-#
-# Warning, when switching from a 8bit to a 9bit font,
-# the linux console will reinterpret the bold (1;) to
-# the top 256 glyphs of the 9bit font.  This does
-# not affect framebuffer consoles
-NORMAL="\\033[0;39m"         # Standard console grey
-SUCCESS="\\033[1;32m"        # Success is green
-WARNING="\\033[1;33m"        # Warnings are yellow
-FAILURE="\\033[1;31m"        # Failures are red
-INFO="\\033[1;36m"           # Information is light cyan
-BRACKET="\\033[1;34m"        # Brackets are blue
-
-BOOTMESG_PREFIX=" * "        # Text at the beginning of every line
-
-
-#*******************************************************************************
-# Function - log_success_msg "message"
-#
-# Purpose: Print a success message
-#
-# Inputs:
-#
-# Outputs:
-#
-# Dependencies: echo
-#
-# Todo: logging
-#
-#*******************************************************************************
-log_success_msg()
-{
-	echo -n -e "${BOOTMESG_PREFIX}${@}"
-	echo -e "${SET_COL}""${BRACKET}""[""${SUCCESS}""  OK  ""${BRACKET}""]""${NORMAL}"
-	return 0
-}
-
-#*******************************************************************************
-# Function - log_failure_msg "message"
-#
-# Purpose: Print a failure message
-#
-# Inputs: $@ - Message
-#
-# Outputs: Text output to screen
-#
-# Dependencies: echo
-#
-# Todo: logging
-#
-#*******************************************************************************
-log_failure_msg() {
-	echo -n -e "${BOOTMESG_PREFIX}${@}"
-	echo -e "${SET_COL}""${BRACKET}""[""${FAILURE}"" FAIL ""${BRACKET}""]""${NORMAL}"
-	return 0
-}
-
-#*******************************************************************************
-# Function - log_warning_msg "message"
-#
-# Purpose: print a warning message
-#
-# Inputs: $@ - Message
-#
-# Outputs: Text output to screen
-#
-# Dependencies: echo
-#
-# Todo: logging
-#
-#*******************************************************************************
-log_warning_msg() {
-	echo -n -e "${BOOTMESG_PREFIX}${@}"
-	echo -e "${SET_COL}""${BRACKET}""[""${WARNING}"" WARN ""${BRACKET}""]""${NORMAL}"
-	return 0
-}
-
Index: bootscripts/contrib/sysconfig/network-devices/services/mtu
===================================================================
--- bootscripts/contrib/sysconfig/network-devices/services/mtu	(revision 43c2ecf0b898e8dfaca243df6946522b5d49cda5)
+++ 	(revision )
@@ -1,45 +1,0 @@
-#!/bin/sh
-########################################################################
-# Begin $network_devices/services/mtu
-#
-# Description : Sets MTU per interface
-#
-# Authors     : Nathan Coulson - nathan@linuxfromscratch.org
-#		Jim Gifford - jim@linuxfromscratch.org
-#
-# Version     : 00.00
-#
-# Notes       : This sets the maximum amount of bytes that can be
-#		transmitted within a packet.  By default, this
-#		value is set to 1500.
-#
-########################################################################
-
-. /etc/sysconfig/rc 
-. ${rc_functions}
-. ${IFCONFIG}
-
-if [ -z "${MTU}" ]
-then
-	boot_mesg "MTU variable missing from ${IFCONFIG}, cannot continue." ${FAILURE}
-	echo_failure
-	exit 1
-fi
-
-case "${2}" in
-	up)
-		boot_mesg "Setting the MTU for ${1} to ${MTU}..."
-		echo "${MTU}" > "/sys/class/net/${1}/mtu"
-		evaluate_retval
-	;;
-	
-	down)
-	;;
-	
-	*)
-		echo "Usage: ${0} [interface] {up|down}"
-		exit 1
-	;;
-esac
-
-# End $network_devices/services/mtu
Index: bootscripts/lfs/init.d/checkfs
===================================================================
--- bootscripts/lfs/init.d/checkfs	(revision 43c2ecf0b898e8dfaca243df6946522b5d49cda5)
+++ bootscripts/lfs/init.d/checkfs	(revision 0cda8984a835f37a573c0e2eb31676ff52773d16)
@@ -1,5 +1,5 @@
 #!/bin/sh
 ########################################################################
-# Begin $rc_base/init.d/checkfs
+# Begin checkfs
 #
 # Description : File System Check
@@ -7,8 +7,7 @@
 # Authors     : Gerard Beekmans - gerard@linuxfromscratch.org
 #               A. Luebke - luebke@users.sourceforge.net
+# Update      : Bruce Dubbs - bdubbs@linuxfromscratch.org
 #
-# Version     : 00.00
-#
-# Notes       :
+# Version     : LFS 7.0
 #
 # Based on checkfs script from LFS-3.1 and earlier.
@@ -26,106 +25,118 @@
 #########################################################################
 
-. /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
Index: bootscripts/lfs/init.d/cleanfs
===================================================================
--- bootscripts/lfs/init.d/cleanfs	(revision 43c2ecf0b898e8dfaca243df6946522b5d49cda5)
+++ bootscripts/lfs/init.d/cleanfs	(revision 0cda8984a835f37a573c0e2eb31676ff52773d16)
@@ -1,18 +1,31 @@
 #!/bin/sh
 ########################################################################
-# Begin $rc_base/init.d/cleanfs
+# Begin cleanfs
 #
 # Description : Clean file system
 #
 # Authors     : Gerard Beekmans - gerard@linuxfromscratch.org
+# Update      : Bruce Dubbs - bdubbs@linuxfromscratch.org
 #
-# Version     : 00.00
-#
-# Notes       :
+# Version     : LFS 7.0
 #
 ########################################################################
 
-. /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.
@@ -22,5 +35,4 @@
 		while read name type perm usr grp dtype maj min junk
 		do
-
 			# Ignore comments and blank lines.
        			case "${name}" in
@@ -74,8 +86,9 @@
 		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
@@ -101,3 +114,3 @@
 esac
 
-# End $rc_base/init.d/cleanfs
+# End cleanfs
Index: bootscripts/lfs/init.d/console
===================================================================
--- bootscripts/lfs/init.d/console	(revision 43c2ecf0b898e8dfaca243df6946522b5d49cda5)
+++ bootscripts/lfs/init.d/console	(revision 0cda8984a835f37a573c0e2eb31676ff52773d16)
@@ -1,30 +1,41 @@
 #!/bin/sh
 ########################################################################
-# Begin $rc_base/init.d/console
+# Begin console
 #
 # Description : Sets keymap and screen font
 #
 # Authors     : Gerard Beekmans - gerard@linuxfromscratch.org
-#		Alexander E. Patrakov
+#               Alexander E. Patrakov
+# Update      : Bruce Dubbs - bdubbs@linuxfromscratch.org
 #
-# Version     : 00.03
-#
-# Notes       :
+# Version     : LFS 7.0
 #
 ########################################################################
 
-. /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" ]
 }
 
@@ -32,65 +43,65 @@
 
 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
Index: bootscripts/lfs/init.d/consolelog
===================================================================
--- bootscripts/lfs/init.d/consolelog	(revision 43c2ecf0b898e8dfaca243df6946522b5d49cda5)
+++ bootscripts/lfs/init.d/consolelog	(revision 0cda8984a835f37a573c0e2eb31676ff52773d16)
@@ -1,12 +1,13 @@
 #!/bin/sh
-# Begin $rc_base/init.d/consolelog
-
 ########################################################################
+# Begin consolelog
 #
 # Description : Set the kernel log level for the console
 #
 # Authors     : Dan Nicholson - dnicholson@linuxfromscratch.org
+# Authors     : Gerard Beekmans  - gerard@linuxfromscratch.org
+# Update      : Bruce Dubbs - bdubbs@linuxfromscratch.org
 #
-# Version     : 00.00
+# Version     : LFS 7.0
 #
 # Notes       : /proc must be mounted before this can run
@@ -14,48 +15,59 @@
 ########################################################################
 
-. /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
Index: bootscripts/lfs/init.d/functions
===================================================================
--- bootscripts/lfs/init.d/functions	(revision 43c2ecf0b898e8dfaca243df6946522b5d49cda5)
+++ bootscripts/lfs/init.d/functions	(revision 0cda8984a835f37a573c0e2eb31676ff52773d16)
@@ -1,16 +1,22 @@
 #!/bin/sh
 ########################################################################
-# Begin $rc_base/init.d/functions
+# Begin boot functions
 #
 # Description : Run Level Control Functions
 #
 # Authors     : Gerard Beekmans - gerard@linuxfromscratch.org
-#
-# Version     : 00.00
+# Update      : Bruce Dubbs - bdubbs@linuxfromscratch.org
+#
+# 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
@@ -28,11 +34,11 @@
 # 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
 
@@ -44,10 +50,10 @@
 # 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
 
@@ -85,5 +91,5 @@
 #
 # Dependencies: - sed for parsing strings.
-#	        - grep for counting string length.
+#          - grep for counting string length.
 #               
 # Todo:         
@@ -91,163 +97,145 @@
 boot_mesg()
 {
-	local ECHOPARM=""
-
-	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))
-
-	# Print the message to the screen
-	${ECHO} ${ECHOPARM} -e "${2}${1}"
-	
+   local ECHOPARM=""
+
+   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))
+
+   # 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"
-}
-
-boot_log()
-{
-	# Left in for backwards compatibility
-	:
+   # Reset STRING_LENGTH for next message
+   STRING_LENGTH="0"
 }
 
 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
-}
-
-print_error_msg()
-{
-	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@linuxfromscratch.org.\n"
-	boot_mesg_flush
-	boot_mesg -n "Press Enter to continue..." ${INFO}
-	boot_mesg "" ${NORMAL}
-	read ENTER
-}
-
-check_script_status()
-{
-	# $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
+   ${ECHO} -n -e "${CURS_UP}${SET_COL}${BRACKET}[${WARNING} WARN ${BRACKET}]" >> /run/var/bootlog
+   ${ECHO} -e "${NORMAL}" >> /run/var/bootlog
+}
+
+echo_skipped()
+{
+   ${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
+}
+
+wait_for_user()
+{
+   # Wait for the user by default
+   [ "${HEADLESS=0}" = "0" ] && read ENTER
 }
 
 evaluate_retval()
 {
-	error_value="${?}"
-
-	if [ ${error_value} = 0 ]; then
-		echo_ok
-	else
-		echo_failure
-	fi
-
-	# This prevents the 'An Unexpected Error Has Occurred' from trivial
-	# errors.
-	return 0
+   error_value="${?}"
+
+   if [ ${error_value} = 0 ]; then
+      echo_ok
+   else
+      echo_failure
+   fi
+
+   # 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
-
-	case "${1}" in
-
-		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
-		;;
-
-		failure)
-			echo_failure
-		;;
-
-	esac
+   if [ "${#}" = "0" ]; then
+      echo "Usage: ${0} {success|warning|failure}"
+      return 1
+   fi
+
+   case "${1}" in
+
+      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
+      ;;
+
+      failure)
+         echo_failure
+      ;;
+
+   esac
 
 }
@@ -255,128 +243,128 @@
 reloadproc()
 {
-	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
-
-	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
-
-	# 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
-
-	if [ -n "${pidlist}" ];	then
-		for pid in ${pidlist}
-		do
-			kill -"${RELOADSIG}" "${pid}" || failure="1"
-		done
-
-		(exit ${failure})
-		evaluate_retval
-
-	else
-		boot_mesg "Process ${1} not running." ${WARNING}
-		echo_warning
-	fi
+   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
+
+   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
+
+   # 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
+
+   if [ -n "${pidlist}" ]; then
+      for pid in ${pidlist}
+      do
+         kill -"${RELOADSIG}" "${pid}" || failure="1"
+      done
+
+      (exit ${failure})
+      evaluate_retval
+
+   else
+      boot_mesg "Process ${1} not running." ${WARNING}
+      echo_warning
+   fi
 }
 
 statusproc()
 {
-	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
-
-	if [ "${#}" != "1" ]; then
-		shift 1
-		log_failure_msg "Usage: statusproc [-p pidfile] pathname"
-		return 2
-	fi
-
-	# Get the process basename
-	base="${1##*/}"
-
-	# 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
-
-	# 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
-
-	# Return the status from pidofproc
-	return $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
+
+   if [ "${#}" != "1" ]; then
+      shift 1
+      log_failure_msg "Usage: statusproc [-p pidfile] pathname"
+      return 2
+   fi
+
+   # Get the process basename
+   base="${1##*/}"
+
+   # 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
+
+   # 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
+
+   # Return the status from pidofproc
+   return $ret
 }
 
@@ -406,80 +394,80 @@
 pidofproc()
 {
-	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
-
-	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
-
-		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
-
-	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
-
-	fi
-
-	if [ "$?" != "0" ]; then
-		return 3 # Program is not running
-	fi
+   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
+
+   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
+
+      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
+
+   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
+
+   fi
+
+   if [ "$?" != "0" ]; then
+      return 3 # Program is not running
+   fi
 }
 
@@ -511,72 +499,72 @@
 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
-
-	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
-
-		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,
+   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 [ -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
+
+   nice -n "${nicelevel}" "${@}"
+   evaluate_retval # This is "Probably" not LSB compliant,
 #                         but required to be compatible with older bootscripts
-	return 0
+   return 0
 }
 
@@ -604,104 +592,104 @@
 killproc()
 {
-	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
-
-	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
-
-	# 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
+   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
+
+   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
+
+   # 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
 
     # If running, send the signal
     if [ -n "${pidlist}" ]; then
-	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
-
-	# 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
+   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
+
+   # 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
     else # process not running
-	print_status warning not_running
+   print_status warning not_running
     fi
 }
@@ -724,7 +712,10 @@
 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
 }
 
@@ -744,7 +735,10 @@
 #*******************************************************************************
 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
 }
 
@@ -764,8 +758,34 @@
 #*******************************************************************************
 log_warning_msg() {
-	${ECHO} -n -e "${BOOTMESG_PREFIX}${@}"
-	${ECHO} -e "${SET_COL}""${BRACKET}""[""${WARNING}"" WARN ""${BRACKET}""]""${NORMAL}"
-	return 0
-}
-
-# End $rc_base/init.d/functions
+   ${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
+}
+
+#*******************************************************************************
+# 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
Index: bootscripts/lfs/init.d/halt
===================================================================
--- bootscripts/lfs/init.d/halt	(revision 43c2ecf0b898e8dfaca243df6946522b5d49cda5)
+++ bootscripts/lfs/init.d/halt	(revision 0cda8984a835f37a573c0e2eb31676ff52773d16)
@@ -1,28 +1,38 @@
 #!/bin/sh
 ########################################################################
-# Begin $rc_base/init.d/halt
+# Begin halt
 #
 # Description : Halt Script
 #
 # Authors     : Gerard Beekmans - gerard@linuxfromscratch.org
+# Update      : Bruce Dubbs - bdubbs@linuxfromscratch.org
 #
-# Version     : 00.00
-#
-# Notes       :
+# Version     : LFS 7.0
 #
 ########################################################################
 
-. /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
Index: bootscripts/lfs/init.d/localnet
===================================================================
--- bootscripts/lfs/init.d/localnet	(revision 43c2ecf0b898e8dfaca243df6946522b5d49cda5)
+++ bootscripts/lfs/init.d/localnet	(revision 0cda8984a835f37a573c0e2eb31676ff52773d16)
@@ -1,54 +1,66 @@
 #!/bin/sh
 ########################################################################
-# Begin $rc_base/init.d/localnet
+# Begin localnet
 #
 # Description : Loopback device
 #
 # Authors     : Gerard Beekmans  - gerard@linuxfromscratch.org
+# Update      : Bruce Dubbs - bdubbs@linuxfromscratch.org
 #
-# Version     : 00.00
-#
-# Notes       :
+# Version     : LFS 7.0
 #
 ########################################################################
 
-. /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
Index: bootscripts/lfs/init.d/modules
===================================================================
--- bootscripts/lfs/init.d/modules	(revision 43c2ecf0b898e8dfaca243df6946522b5d49cda5)
+++ bootscripts/lfs/init.d/modules	(revision 0cda8984a835f37a573c0e2eb31676ff52773d16)
@@ -1,18 +1,29 @@
 #!/bin/sh
 ########################################################################
-# Begin $rc_base/init.d/modules
+# Begin modules
 #
 # Description : Module auto-loading script
 #
 # Authors     : Zack Winkles
+# Update      : Bruce Dubbs - bdubbs@linuxfromscratch.org
 #
-# Version     : 00.00
-#
-# Notes       :
+# Version     : LFS 7.0
 #
 ########################################################################
 
-. /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.
@@ -20,53 +31,53 @@
 
 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
Index: bootscripts/lfs/init.d/mountfs
===================================================================
--- bootscripts/lfs/init.d/mountfs	(revision 43c2ecf0b898e8dfaca243df6946522b5d49cda5)
+++ bootscripts/lfs/init.d/mountfs	(revision 0cda8984a835f37a573c0e2eb31676ff52773d16)
@@ -1,56 +1,70 @@
 #!/bin/sh
 ########################################################################
-# Begin $rc_base/init.d/mountfs
+# Begin mountfs
 #
 # Description : File System Mount Script
 #
 # Authors     : Gerard Beekmans - gerard@linuxfromscratch.org
+# Update      : Bruce Dubbs - bdubbs@linuxfromscratch.org
 #
-# Version     : 00.00
-#
-# Notes       :
+# Version     : LFS 7.0
 #
 ########################################################################
 
-. /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
Index: bootscripts/lfs/init.d/mountvirtfs
===================================================================
--- bootscripts/lfs/init.d/mountvirtfs	(revision 43c2ecf0b898e8dfaca243df6946522b5d49cda5)
+++ bootscripts/lfs/init.d/mountvirtfs	(revision 0cda8984a835f37a573c0e2eb31676ff52773d16)
@@ -1,50 +1,63 @@
 #!/bin/sh
 ########################################################################
-# Begin $rc_base/init.d/mountvirtfs
+# Begin mountvirtfs
 #
 # Description : Mount proc, sysfs, and run
 #
 # Authors     : Gerard Beekmans - gerard@linuxfromscratch.org
+# Update      : Bruce Dubbs - bdubbs@linuxfromscratch.org
 #
-# Version     : 00.00
-#
-# Notes       :
+# Version     : LFS 7.0
 #
 ########################################################################
 
-. /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
Index: bootscripts/lfs/init.d/network
===================================================================
--- bootscripts/lfs/init.d/network	(revision 43c2ecf0b898e8dfaca243df6946522b5d49cda5)
+++ bootscripts/lfs/init.d/network	(revision 0cda8984a835f37a573c0e2eb31676ff52773d16)
@@ -1,73 +1,81 @@
 #!/bin/sh
 ########################################################################
-# Begin $rc_base/init.d/network
+# Begin network
 #
 # Description : Network Control Script
 #
 # Authors     : Gerard Beekmans - gerard@linuxfromscratch.org
-#		Nathan Coulson - nathan@linuxfromscratch.org
-#		Kevin P. Fleming - kpfleming@linuxfromscratch.org
+#               Nathan Coulson - nathan@linuxfromscratch.org
+#               Kevin P. Fleming - kpfleming@linuxfromscratch.org
+# Update      : Bruce Dubbs - bdubbs@linuxfromscratch.org
 #
-# Version     : 00.00
-#
-# Notes       :
+# Version     : LFS 7.0
 #
 ########################################################################
 
-. /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
Index: bootscripts/lfs/init.d/rc
===================================================================
--- bootscripts/lfs/init.d/rc	(revision 43c2ecf0b898e8dfaca243df6946522b5d49cda5)
+++ bootscripts/lfs/init.d/rc	(revision 0cda8984a835f37a573c0e2eb31676ff52773d16)
@@ -1,18 +1,51 @@
 #!/bin/sh
 ########################################################################
-# Begin $rc_base/init.d/rc
+# Begin rc
 #
 # Description : Main Run Level Control Script
 #
 # Authors     : Gerard Beekmans  - gerard@linuxfromscratch.org
+# Update      : Bruce Dubbs - bdubbs@linuxfromscratch.org
 #
-# Version     : 00.00
-#
-# Notes       :
+# Version     : LFS 7.0
 #
 ########################################################################
 
-. /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@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.
@@ -25,6 +58,6 @@
 
 if [ "${runlevel}" = "" ]; then
-	echo "Usage: ${0} <runlevel>" >&2
-	exit 1
+   echo "Usage: ${0} <runlevel>" >&2
+   exit 1
 fi
 
@@ -32,68 +65,69 @@
 [ "${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
Index: bootscripts/lfs/init.d/reboot
===================================================================
--- bootscripts/lfs/init.d/reboot	(revision 43c2ecf0b898e8dfaca243df6946522b5d49cda5)
+++ bootscripts/lfs/init.d/reboot	(revision 0cda8984a835f37a573c0e2eb31676ff52773d16)
@@ -1,31 +1,42 @@
 #!/bin/sh
 ########################################################################
-# Begin $rc_base/init.d/reboot
+# Begin reboot
 #
 # Description : Reboot Scripts
 #
 # Authors     : Gerard Beekmans - gerard@linuxfromscratch.org
+# Update      : Bruce Dubbs - bdubbs@linuxfromscratch.org
 #
-# Version     : 00.00
-#
-# Notes       :
+# Version     : LFS 7.0
 #
 ########################################################################
 
-. /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
Index: bootscripts/lfs/init.d/sendsignals
===================================================================
--- bootscripts/lfs/init.d/sendsignals	(revision 43c2ecf0b898e8dfaca243df6946522b5d49cda5)
+++ bootscripts/lfs/init.d/sendsignals	(revision 0cda8984a835f37a573c0e2eb31676ff52773d16)
@@ -1,52 +1,63 @@
 #!/bin/sh
 ########################################################################
-# Begin $rc_base/init.d/sendsignals
+# Begin sendsignals
 #
 # Description : Sendsignals Script
 #
 # Authors     : Gerard Beekmans - gerard@linuxfromscratch.org
+# Update      : Bruce Dubbs - bdubbs@linuxfromscratch.org
 #
-# Version     : 00.00
-#
-# Notes       :
+# Version     : LFS 7.0
 #
 ########################################################################
 
-. /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
Index: bootscripts/lfs/init.d/setclock
===================================================================
--- bootscripts/lfs/init.d/setclock	(revision 43c2ecf0b898e8dfaca243df6946522b5d49cda5)
+++ bootscripts/lfs/init.d/setclock	(revision 0cda8984a835f37a573c0e2eb31676ff52773d16)
@@ -1,47 +1,61 @@
 #!/bin/sh
 ########################################################################
-# Begin $rc_base/init.d/setclock
+# Begin setclock
 #
 # Description : Setting Linux Clock
 #
 # Authors     : Gerard Beekmans - gerard@linuxfromscratch.org
+# Update      : Bruce Dubbs - bdubbs@linuxfromscratch.org
 #
-# Version     : 00.00
-#
-# Notes       :
+# Version     : LFS 7.0
 #
 ########################################################################
 
-. /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
Index: bootscripts/lfs/init.d/swap
===================================================================
--- bootscripts/lfs/init.d/swap	(revision 43c2ecf0b898e8dfaca243df6946522b5d49cda5)
+++ bootscripts/lfs/init.d/swap	(revision 0cda8984a835f37a573c0e2eb31676ff52773d16)
@@ -1,50 +1,62 @@
 #!/bin/sh
 ########################################################################
-# Begin $rc_base/init.d/swap
+# Begin swap
 #
 # Description : Swap Control Script
 #
 # Authors     : Gerard Beekmans - gerard@linuxfromscratch.org
+# Update      : Bruce Dubbs - bdubbs@linuxfromscratch.org
 #
-# Version     : 00.00
-#
-# Notes       :
+# Version     : LFS 7.0
 #
 ########################################################################
 
-. /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
Index: bootscripts/lfs/init.d/sysctl
===================================================================
--- bootscripts/lfs/init.d/sysctl	(revision 43c2ecf0b898e8dfaca243df6946522b5d49cda5)
+++ bootscripts/lfs/init.d/sysctl	(revision 0cda8984a835f37a573c0e2eb31676ff52773d16)
@@ -1,5 +1,5 @@
 #!/bin/sh
 ########################################################################
-# Begin $rc_base/init.d/sysctl
+# Begin sysctl
 #
 # Description : File uses /etc/sysctl.conf to set kernel runtime
@@ -8,32 +8,44 @@
 # Authors     : Nathan Coulson (nathan@linuxfromscratch.org)
 #               Matthew Burgress (matthew@linuxfromscratch.org)
+# Update      : Bruce Dubbs - bdubbs@linuxfromscratch.org
 #
-# Version     : 00.00
-#
-# Notes       :
+# Version     : LFS 7.0
 #
 ########################################################################
 
-. /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
Index: bootscripts/lfs/init.d/sysklogd
===================================================================
--- bootscripts/lfs/init.d/sysklogd	(revision 43c2ecf0b898e8dfaca243df6946522b5d49cda5)
+++ bootscripts/lfs/init.d/sysklogd	(revision 0cda8984a835f37a573c0e2eb31676ff52773d16)
@@ -1,57 +1,70 @@
 #!/bin/sh
 ########################################################################
-# Begin $rc_base/init.d/sysklogd
+# Begin sysklogd
 #
 # Description : Sysklogd loader
 #
 # Authors     : Gerard Beekmans - gerard@linuxfromscratch.org
+# Update      : Bruce Dubbs - bdubbs@linuxfromscratch.org
 #
-# Version     : 00.00
-#
-# Notes       :
+# Version     : LFS 7.0
 #
 ########################################################################
 
-. /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
Index: bootscripts/lfs/init.d/template
===================================================================
--- bootscripts/lfs/init.d/template	(revision 43c2ecf0b898e8dfaca243df6946522b5d49cda5)
+++ bootscripts/lfs/init.d/template	(revision 0cda8984a835f37a573c0e2eb31676ff52773d16)
@@ -1,5 +1,5 @@
 #!/bin/sh
 ########################################################################
-# Begin $rc_base/init.d/
+# Begin scriptname
 #
 # Description :
@@ -7,5 +7,5 @@
 # Authors     :
 #
-# Version     : 00.00
+# Version     : LFS x.x
 #
 # Notes       :
@@ -13,38 +13,50 @@
 ########################################################################
 
-. /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
Index: bootscripts/lfs/init.d/udev
===================================================================
--- bootscripts/lfs/init.d/udev	(revision 43c2ecf0b898e8dfaca243df6946522b5d49cda5)
+++ bootscripts/lfs/init.d/udev	(revision 0cda8984a835f37a573c0e2eb31676ff52773d16)
@@ -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@linuxfromscratch.org
 #
-# Version     : 00.02
-#
-# Notes       :
+# Version     : LFS 7.0
 #
 ########################################################################
 
-. /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
Index: bootscripts/lfs/init.d/udev_retry
===================================================================
--- bootscripts/lfs/init.d/udev_retry	(revision 43c2ecf0b898e8dfaca243df6946522b5d49cda5)
+++ bootscripts/lfs/init.d/udev_retry	(revision 0cda8984a835f37a573c0e2eb31676ff52773d16)
@@ -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@linuxfromscratch.org
 #
-# Version     : 00.02
-#
-# Notes       :
+# Version     : LFS 7.0
 #
 ########################################################################
 
-. /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
Index: bootscripts/lfs/sysconfig/network-devices/ifdown
===================================================================
--- bootscripts/lfs/sysconfig/network-devices/ifdown	(revision 43c2ecf0b898e8dfaca243df6946522b5d49cda5)
+++ bootscripts/lfs/sysconfig/network-devices/ifdown	(revision 0cda8984a835f37a573c0e2eb31676ff52773d16)
@@ -1,5 +1,5 @@
 #!/bin/sh
 ########################################################################
-# Begin $network_devices/ifdown
+# Begin /sbin/ifdown
 #
 # Description : Interface Down
@@ -7,89 +7,60 @@
 # Authors     : Nathan Coulson - nathan@linuxfromscratch.org
 #               Kevin P. Fleming - kpfleming@linuxfromscratch.org
+# Update      : Bruce Dubbs - bdubbs@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}"
+# Skip backup files
+[ "${file}" = "${file%""~""}" ] || exit 0
+
+. /lib/boot/functions 
+
+if [ ! -r "${file}" ]; then
+   boot_mesg "${file} is missing or cannot be accessed." ${WARNING}
+   echo_warning
+   exit 1
 fi
 
-# Reverse the order configuration files are processed in
-for file in ${FILES}; do
-	FILES2="${file} ${FILES2}"
-done
-FILES=${FILES2}
+. ${file}
 
-# Process each configuration file
-for file in ${FILES}; do
-	# skip backup files
-	if [ "${file}" != "${file%""~""}" ]; then
-		continue
-	fi
-
-	if [ ! -f "${file}" ]; then
-		boot_mesg "${file} is not a network configuration file or directory." ${WARNING}
-		echo_warning
-		continue
-	fi
-	(
-		. ${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
-
-		# 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
-
-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
+if [ "$IFACE" = "" ]; then
+   boot_mesg "${file} does not define an interface [IFACE]." ${FAILURE}
+   echo_failure
+   exit 1
 fi
 
-# End $network_devices/ifdown
+# 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
+
+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 /sbin/ifdown
Index: bootscripts/lfs/sysconfig/network-devices/ifup
===================================================================
--- bootscripts/lfs/sysconfig/network-devices/ifup	(revision 43c2ecf0b898e8dfaca243df6946522b5d49cda5)
+++ bootscripts/lfs/sysconfig/network-devices/ifup	(revision 0cda8984a835f37a573c0e2eb31676ff52773d16)
@@ -1,5 +1,5 @@
 #!/bin/sh
 ########################################################################
-# Begin $network_devices/ifup
+# Begin /sbin/ifup
 #
 # Description : Interface Up
@@ -7,84 +7,76 @@
 # Authors     : Nathan Coulson - nathan@linuxfromscratch.org
 #               Kevin P. Fleming - kpfleming@linuxfromscratch.org
+# Update      : Bruce Dubbs - bdubbs@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
Index: bootscripts/lfs/sysconfig/network-devices/services/ipv4-static
===================================================================
--- bootscripts/lfs/sysconfig/network-devices/services/ipv4-static	(revision 43c2ecf0b898e8dfaca243df6946522b5d49cda5)
+++ bootscripts/lfs/sysconfig/network-devices/services/ipv4-static	(revision 0cda8984a835f37a573c0e2eb31676ff52773d16)
@@ -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@linuxfromscratch.org
-#		Kevin P. Fleming - kpfleming@linuxfromscratch.org
+#               Kevin P. Fleming - kpfleming@linuxfromscratch.org
+# Update      : Bruce Dubbs - bdubbs@linuxfromscratch.org
 #
-# Version     : 00.00
-#
-# Notes       :
+# Version     : LFS 7.0
 #
 ########################################################################
 
-. /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
Index: bootscripts/lfs/sysconfig/network-devices/services/ipv4-static-route
===================================================================
--- bootscripts/lfs/sysconfig/network-devices/services/ipv4-static-route	(revision 43c2ecf0b898e8dfaca243df6946522b5d49cda5)
+++ bootscripts/lfs/sysconfig/network-devices/services/ipv4-static-route	(revision 0cda8984a835f37a573c0e2eb31676ff52773d16)
@@ -1,73 +1,71 @@
 #!/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@linuxfromscratch.org
+# Update      : Bruce Dubbs - bdubbs@linuxfromscratch.org
 #
-# Version     : 00.00
-#
-# Notes       :
+# Version     : LFS 7.0
 #
 ########################################################################
 
-. /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
 
@@ -77,21 +75,21 @@
 
 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
