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