Index: HLFS/hlfs.xsl
===================================================================
--- HLFS/hlfs.xsl	(revision e2860d3838c9690e6bacc9b06b254c488ed8aa96)
+++ HLFS/hlfs.xsl	(revision d540567eb54e7de23898b17722db28cdca520a50)
@@ -16,4 +16,10 @@
   <!-- What libc implentation must be used? -->
   <xsl:param name="model" select="glibc"/>
+
+  <!-- Is the host kernel using grsecurity? -->
+  <xsl:param name="grsecurity_host" select="0"/>
+
+  <!-- Compile the keymap into the kernel? -->
+  <xsl:param name="keymap" select="none"/>
 
   <!-- Run test suites?
@@ -78,5 +84,6 @@
           </xsl:otherwise>
         </xsl:choose>
-        <xsl:if test="sect2[@role='installation'] or
+        <xsl:if test="(sect2[@role='installation'] and
+                     not(@id='bootable-kernel')) or
                      @id='ch-tools-adjusting' or
                      @id='ch-system-readjusting'">
@@ -153,4 +160,8 @@
         <xsl:text>&#xA;</xsl:text>
       </xsl:when>
+      <!-- grsecurity kernel in the host? -->
+      <xsl:when test="ancestor::sect1[@id='ch-system-kernfs'] and
+                contains(string(),'sysctl')
+                and $grsecurity_host ='0'"/>
       <!-- Setting $LC_ALL and $LANG for /etc/profile -->
       <xsl:when test="ancestor::sect1[@id='bootable-profile'] and
@@ -162,4 +173,13 @@
         <xsl:text>&#xA;</xsl:text>
       </xsl:when>
+      <!-- Fixing bootscripts installation -->
+      <xsl:when test="ancestor::sect1[@id='bootable-bootscripts'] and
+                string() = 'make install'">
+        <xsl:text>make install&#xA;</xsl:text>
+        <xsl:text>cd ../blfs-bootscripts-&blfs-bootscripts-version;&#xA;</xsl:text>
+      </xsl:when>
+      <!-- Compile the keymap into the kernel? -->
+      <xsl:when test="contains(string(),'defkeymap') and
+                $keymap = 'none'"/>
       <!-- Copying the kernel config file -->
       <xsl:when test="string() = 'make mrproper'">
@@ -198,6 +218,7 @@
                 ancestor::sect1[@id='ch-system-binutils']
                 and $testsuite = '0'"/>
-      <!-- Don't stop on strip run -->
-      <xsl:when test="contains(string(),'strip ')">
+      <!-- Don't stop on strip run and chapter05 GCC installation test-->
+      <xsl:when test="contains(string(),'strip ') or
+                ancestor::sect2[@id='testing-gcc']">
         <xsl:apply-templates/>
         <xsl:text> || true&#xA;</xsl:text>
@@ -219,4 +240,7 @@
       <xsl:when test="ancestor::sect1[@id='ch-system-groff']">
         <xsl:text>$PAGE</xsl:text>
+      </xsl:when>
+      <xsl:when test="ancestor::sect1[@id='bootable-kernel']">
+        <xsl:value-of select="$keymap"/>
       </xsl:when>
       <xsl:otherwise>
Index: common/common-functions
===================================================================
--- common/common-functions	(revision e2860d3838c9690e6bacc9b06b254c488ed8aa96)
+++ common/common-functions	(revision d540567eb54e7de23898b17722db28cdca520a50)
@@ -661,4 +661,6 @@
                   --stringparam model $MODEL \
                   --stringparam testsuite $TEST \
+                  --stringparam keymap $KEYMAP \
+                  --stringparam grsecurity_host $GRSECURITY_HOST \
                   -o ./${PROGNAME}-commands/ $XSL $BOOK/index.xml >>$LOGDIR/$LOG 2>&1
         for i in $(find ./${PROGNAME}-commands/chapter07/*) ; do
Index: common/config
===================================================================
--- common/config	(revision e2860d3838c9690e6bacc9b06b254c488ed8aa96)
+++ common/config	(revision d540567eb54e7de23898b17722db28cdca520a50)
@@ -27,8 +27,8 @@
 #  2 = all chapter06 testsuites
 #  3 = all chapter05 and chapter06 testsuites
-TEST=0
+TEST=1
 
 #--- Run the stripping phases  0(no)/1(yes)
-STRIP=0
+STRIP=1
 
 #--- page definition for groff letter/A4
@@ -45,6 +45,8 @@
 LANG=$LANG
 
-#--- Include the keymap in the kernel if defined
-KEYMAP=/usr/share/kbd/keymaps/i386/qwerty/us.map.gz
+#--- Include the keymap in the kernel if defined. Path to the
+#    keymap file relative to /usr/share/kbd/keymaps/
+#    (e.g., i386/qwerty/us.map.gz) or "none"
+KEYMAP=none
 
 #=== Variables needed by ICA ===
Index: common/func_validate_configs.sh
===================================================================
--- common/func_validate_configs.sh	(revision e2860d3838c9690e6bacc9b06b254c488ed8aa96)
+++ common/func_validate_configs.sh	(revision d540567eb54e7de23898b17722db28cdca520a50)
@@ -93,6 +93,6 @@
       for config_param in KEYMAP; do
         [[ $1 = "1" ]] && echo "`eval echo $PARAM_VALS`"
-        [[ -z "${!config_param}" ]] && continue
-        [[ -e "${!config_param}" ]] && [[ -s "${!config_param}" ]] && continue
+        [[ "${!config_param}" = "none" ]] && continue
+        [[ -e "/usr/share/kbd/keymaps/${!config_param}" ]] && [[ -s "/usr/share/kbd/keymaps/${!config_param}" ]] && continue
 
           # If you make it this far then there is a problem
