Author: pierre
Date: Tue Mar 12 23:31:55 2019
New Revision: 4083

Log:
Get virtual kernel filesystem commands from the book, and really add
/run/systemd/resolve/resolv.conf after creating the kernel FS in chapter 6

Added:
   jhalfs/trunk/common/kernfs.xsl
Modified:
   jhalfs/trunk/LFS/master.sh
   jhalfs/trunk/common/libs/func_book_parser
   jhalfs/trunk/jhalfs

Modified: jhalfs/trunk/LFS/master.sh
==============================================================================
--- jhalfs/trunk/LFS/master.sh  Mon Mar 11 07:25:09 2019        (r4082)
+++ jhalfs/trunk/LFS/master.sh  Tue Mar 12 23:31:55 2019        (r4083)
@@ -445,12 +445,32 @@
     i=`expr $i + 1`
   done
 
+  # Store virtual kernel file systems commands:
+  devices=`cat ../kernfs-scripts/devices.sh | \
+            sed -e 's|^|       |'   \
+                -e 's|mount|sudo &|' \
+                -e 's|mkdir|sudo &|' \
+                -e 's|\\$|&&|g' \
+                -e 's|\$\$LFS|$(MOUNT_PT)|g'`
+  teardown=`cat ../kernfs-scripts/teardown.sh | \
+            sed -e 's|^|       |'   \
+                -e 's|umount|sudo &|' \
+                -e 's|\$LFS|$(MOUNT_PT)|'`
+  teardownat=`cat ../kernfs-scripts/teardown.sh | \
+              sed -e 's|^|     |'   \
+                  -e 's|umount|@-sudo &|' \
+                  -e 's|\$LFS|$(MOUNT_PT)|'`
+#echo [DEBUG]
+#echo devices=$devices
+#echo teardown=$teardown
+#echo teardownat=$teardownat
   # Drop in the main target 'all:' and the chapter targets with each sub-target
   # as a dependency.
 (
     cat << EOF
 
 all:   ck_UID mk_SETUP mk_LUSER mk_SUDO mk_CHROOT mk_BOOT create-sbu_du-report 
mk_BLFS_TOOL mk_CUSTOM_TOOLS
+$teardownat
        @sudo make do_housekeeping
 EOF
 ) >> $MKFILE
@@ -533,14 +553,7 @@
        @touch \$@
 
 devices: ck_UID
-       sudo mount -v --bind /dev \$(MOUNT_PT)/dev
-       sudo mount -vt devpts devpts \$(MOUNT_PT)/dev/pts
-       sudo mount -vt proc proc \$(MOUNT_PT)/proc
-       sudo mount -vt sysfs sysfs \$(MOUNT_PT)/sys
-       sudo mount -vt tmpfs tmpfs \$(MOUNT_PT)/run
-       if [ -h \$(MOUNT_PT)/dev/shm ]; then \\
-         sudo mkdir -p \$(MOUNT_PT)/\$\$(readlink \$(MOUNT_PT)/dev/shm); \\
-       fi
+$devices
 EOF
 ) >> $MKFILE
 if [ "$INITSYS" = systemd ]; then
@@ -553,12 +566,9 @@
 fi
 (
     cat << EOF
+
 teardown:
-       sudo umount -v \$(MOUNT_PT)/dev/pts
-       sudo umount -v \$(MOUNT_PT)/dev
-       sudo umount -v \$(MOUNT_PT)/run
-       sudo umount -v \$(MOUNT_PT)/proc
-       sudo umount -v \$(MOUNT_PT)/sys
+$teardown
 
 chroot1: devices
        sudo \$(CHROOT1)
@@ -571,6 +581,19 @@
 SETUP:        $chapter4
 LUSER:        $chapter5
 SUDO:         $runasroot
+EOF
+) >> $MKFILE
+if [ "$INITSYS" = systemd ]; then
+(
+    cat << EOF
+       sudo mkdir -pv \$(MOUNT_PT)/run/systemd/resolve
+       sudo cp -v /etc/resolv.conf \$(MOUNT_PT)/run/systemd/resolve
+
+EOF
+) >> $MKFILE
+fi
+(
+    cat << EOF
 CHROOT:       SHELL=/tools/bin/bash
 CHROOT:       $chapter6
 BOOT:         $chapter78
@@ -597,26 +620,12 @@
        @\$(call housekeeping)
 
 do_housekeeping:
-       @-umount \$(MOUNT_PT)/sys
-       @-umount \$(MOUNT_PT)/proc
-       @-if mountpoint -q \$(MOUNT_PT)/run; then \\
-         umount \$(MOUNT_PT)/run; \\
-       elif [ -h \$(MOUNT_PT)/dev/shm ]; then \\
-         link=\$\$(readlink \$(MOUNT_PT)/dev/shm); \\
-         umount \$(MOUNT_PT)/\$\$link; \\
-         unset link; \\
-       else \\
-         umount \$(MOUNT_PT)/dev/shm; \\
-       fi
-       @-umount \$(MOUNT_PT)/dev/pts
-       @-umount \$(MOUNT_PT)/dev
        @-rm /tools
        @-if [ ! -f luser-exist ]; then \\
                userdel \$(LUSER); \\
                rm -rf \$(LUSER_HOME); \\
        fi;
 
-
 EOF
 ) >> $MKFILE
 

Added: jhalfs/trunk/common/kernfs.xsl
==============================================================================
--- /dev/null   00:00:00 1970   (empty, because file is newly added)
+++ jhalfs/trunk/common/kernfs.xsl      Tue Mar 12 23:31:55 2019        (r4083)
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+
+<!-- $Id: kernfs.xsl 3776 2014-01-12 21:43:04Z pierre $ -->
+
+<xsl:stylesheet
+      xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
+      version="1.0">
+
+  <xsl:output method="text"/>
+
+  <xsl:template match="/">
+    <xsl:apply-templates select="//userinput[contains(string(),'--bind') or
+                                             contains(string(),'/proc') or
+                                             contains(string(),'readlink')]"/>
+  </xsl:template>
+
+  <xsl:template match="userinput">
+    <xsl:apply-templates/>
+    <xsl:text>
+</xsl:text>
+  </xsl:template>
+
+</xsl:stylesheet>

Modified: jhalfs/trunk/common/libs/func_book_parser
==============================================================================
--- jhalfs/trunk/common/libs/func_book_parser   Mon Mar 11 07:25:09 2019        
(r4082)
+++ jhalfs/trunk/common/libs/func_book_parser   Tue Mar 12 23:31:55 2019        
(r4083)
@@ -211,7 +211,10 @@
 
   # Create the packages file. We need it for proper Makefile creation
   create_package_list
-  create_chroot_scripts
+  if [ "${PROGNAME}" = lfs ]; then
+    create_chroot_scripts
+    create_kernfs_scripts
+  fi
 
   # Done. Moving on...
   get_sources
@@ -258,10 +261,10 @@
 }
 
 #----------------------------#
-create_chroot_scripts() {      #
+create_chroot_scripts() {    #
 #----------------------------#
 
-  rm -rf chroot_scripts
+  rm -rf chroot-scripts
   echo -n "Creating chroot commands scripts from $BOOK"
   if [ ! -z $ARCH ] ; then echo -n " $ARCH" ; fi
   echo -n "... "
@@ -283,6 +286,40 @@
       ;;
     *)
   esac
+  echo "done"
+
+}
+
+#----------------------------#
+create_kernfs_scripts() {    #
+#----------------------------#
+
+  rm -rf kernfs-scripts
+  mkdir kernfs-scripts
+  echo -n "Creating virtual kernel FS commands scripts from $BOOK"
+  if [ ! -z $ARCH ] ; then echo -n " $ARCH" ; fi
+  echo -n "... "
+  case ${PROGNAME} in
+    clfs*)
+      xsltproc --nonet --xinclude \
+               -o kernfs-scripts/ kernfs.xsl \
+               $BOOK/BOOK/${ARCH}-index.xml >> $LOGDIR/$LOG 2>&1
+      ;;
+    hlfs)
+      xsltproc --nonet --xinclude \
+               -o kernfs-scripts/ kernfs.xsl \
+               $BOOK/index.xml >> $LOGDIR/$LOG 2>&1
+      ;;
+    lfs)
+      xsltproc --nonet \
+               -o kernfs-scripts/devices.sh kernfs.xsl \
+               $BOOK/chapter06/kernfs.xml >> $LOGDIR/$LOG 2>&1
+      xsltproc --nonet \
+               -o kernfs-scripts/teardown.sh kernfs.xsl \
+               $BOOK/chapter09/reboot.xml >> $LOGDIR/$LOG 2>&1
+      ;;
+    *)
+  esac
   echo "done"
 
 }

Modified: jhalfs/trunk/jhalfs
==============================================================================
--- jhalfs/trunk/jhalfs Mon Mar 11 07:25:09 2019        (r4082)
+++ jhalfs/trunk/jhalfs Tue Mar 12 23:31:55 2019        (r4083)
@@ -381,7 +381,7 @@
   cp $COMMON_DIR/{makefile-functions,progress_bar.sh} $JHALFSDIR/
 
 # Copy needed stylesheets
-  cp $COMMON_DIR/{packages.xsl,chroot.xsl} $JHALFSDIR/
+  cp $COMMON_DIR/{packages.xsl,chroot.xsl,kernfs.xsl} $JHALFSDIR/
 
 # Fix the XSL book parser
   case $PROGNAME in
-- 
http://lists.linuxfromscratch.org/listinfo/alfs-log
Unsubscribe: See the above information page

Reply via email to