From cb23c1a6ab0a3c279df1f453ef9585b062963ec4 Mon Sep 17 00:00:00 2001 From: Bruce Dubbs Date: Mon, 20 Jan 2014 01:18:30 +0000 Subject: [PATCH] Added a Chapter 5 build of util-linux in preparation for moving the Chapter 6 build to after udev. This satisfies a circular dependency. This is not the complete fix as this build has not yet been incorporated into Chapter 6. Mount /run as a tmpfs for Chapter 6. This allows use by test processes during Chapter 6 without carying the files over to the new system. Other minor cleanups. git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@10447 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689 --- appendices/dependencies.xml | 4 +- chapter01/changelog.xml | 17 +++++++- chapter01/whatsnew.xml | 4 +- chapter05/chapter05.xml | 2 +- chapter05/ncurses.xml | 23 ++++++++++- chapter05/util-linux-ng.xml | 78 ------------------------------------- chapter05/util-linux.xml | 71 +++++++++++++++++++++++++++++++++ chapter06/creatingdirs.xml | 2 +- chapter06/kernfs.xml | 16 +++----- chapter06/revisedchroot.xml | 2 +- general.ent | 4 +- packages.ent | 2 + 12 files changed, 125 insertions(+), 100 deletions(-) delete mode 100644 chapter05/util-linux-ng.xml create mode 100644 chapter05/util-linux.xml diff --git a/appendices/dependencies.xml b/appendices/dependencies.xml index fb4c4f9d9..6b39cfc7d 100644 --- a/appendices/dependencies.xml +++ b/appendices/dependencies.xml @@ -2091,7 +2091,7 @@ Bash, Binutils, Coreutils, Diffutils, Findutils, Gawk, GCC, - Gettext, Glibc, Grep, Make, Ncurses, Sed, and Zlib + Gettext, Glibc, Grep, Make, Ncurses, Sed, Udev, and Zlib @@ -2099,7 +2099,7 @@ &testsuites; - No test suite available + None diff --git a/chapter01/changelog.xml b/chapter01/changelog.xml index a68688719..8a2d666db 100644 --- a/chapter01/changelog.xml +++ b/chapter01/changelog.xml @@ -35,6 +35,21 @@ --> + + 2014-01-15 + + + [bdubbs] - Added a Chapter 5 build of util-linux after + udev to satify a circular dependency. This is not the + complete fix as this build has not yet been incorporated into + Chapter 6. + + + [bdubbs] - Moutn /run as a tmpfs for Chapter 6. + + + + 2014-01-14 @@ -46,7 +61,7 @@ [bdubbs] - Fix hardcoded reference to /tools in - Chapter 6 glibc. Fixes + Chapter 6 gcc. Fixes #3466. diff --git a/chapter01/whatsnew.xml b/chapter01/whatsnew.xml index 7b576327c..eafc29c54 100644 --- a/chapter01/whatsnew.xml +++ b/chapter01/whatsnew.xml @@ -106,9 +106,9 @@ - + IPRoute2 &iproute2-version; diff --git a/chapter05/chapter05.xml b/chapter05/chapter05.xml index d858c9a98..e5bb196dc 100644 --- a/chapter05/chapter05.xml +++ b/chapter05/chapter05.xml @@ -43,8 +43,8 @@ + - diff --git a/chapter05/ncurses.xml b/chapter05/ncurses.xml index 18da06aec..2db0a770c 100644 --- a/chapter05/ncurses.xml +++ b/chapter05/ncurses.xml @@ -45,8 +45,13 @@ Prepare Ncurses for compilation: -./configure --prefix=/tools --with-shared \ - --without-debug --without-ada --enable-overwrite + +./configure --prefix=/tools \ + --with-shared \ + --without-debug \ + --without-ada \ + --enable-widec \ + --enable-overwrite The meaning of the configure options: @@ -71,6 +76,20 @@ + + --enable-widec + + This switch causes wide-character libraries (e.g., libncursesw.so.&ncurses-version;) + to be built instead of normal ones (e.g., libncurses.so.&ncurses-version;). + These wide-character libraries are usable in both multibyte and + traditional 8-bit locales, while normal libraries work properly + only in 8-bit locales. Wide-character and normal libraries are + source-compatible, but not binary-compatible. + + + Compile the package: diff --git a/chapter05/util-linux-ng.xml b/chapter05/util-linux-ng.xml deleted file mode 100644 index d06249f4f..000000000 --- a/chapter05/util-linux-ng.xml +++ /dev/null @@ -1,78 +0,0 @@ - - - %general-entities; -]> - - - - - - util-linux-ng - &util-linux-ng-version; -
&util-linux-ng-url;
-
- - Util-linux-ng-&util-linux-ng-version; - - - Util-linux-ng - tools - - - - - - <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" - href="../chapter06/util-linux-ng.xml" - xpointer="xpointer(/sect1/sect2[1]/para[1])"/> - - <segmentedlist> - <segtitle>&buildtime;</segtitle> - <segtitle>&diskspace;</segtitle> - - <seglistitem> - <seg>&util-linux-ng-ch5-sbu;</seg> - <seg>&util-linux-ng-ch5-du;</seg> - </seglistitem> - </segmentedlist> - - </sect2> - - <sect2 role="installation"> - <title>Installation of Util-linux-ng - - Prepare Util-linux-ng for compilation: - -./configure --prefix=/tools - - Only a few of the utilities contained in this package need to be - built: - -make -C disk-utils mkswap -make -C mount mount umount -make -C text-utils more - - This package does not come with a test suite. - - Install the shared libraries required by E2fsprogs: - -make -C shlibs/uuid install -make -C shlibs/blkid install - - Copy these programs to the temporary tools directory: - -cp -v disk-utils/mkswap mount/{,u}mount text-utils/more /tools/bin - - - - - - - <para>Details on this package are located in - <xref linkend="contents-utillinux" role="."/></para> - - </sect2> - -</sect1> diff --git a/chapter05/util-linux.xml b/chapter05/util-linux.xml new file mode 100644 index 000000000..c049150b4 --- /dev/null +++ b/chapter05/util-linux.xml @@ -0,0 +1,71 @@ +<?xml version="1.0" encoding="ISO-8859-1"?> +<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" + "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [ + <!ENTITY % general-entities SYSTEM "../general.ent"> + %general-entities; +]> + +<sect1 id="ch-tools-util-linux" role="wrap"> + <?dbhtml filename="util-linux.html"?> + + <sect1info condition="script"> + <productname>util-linux</productname> + <productnumber>&util-linux-version;</productnumber> + <address>&util-linux-url;</address> + </sect1info> + + <title>Util-linux-&util-linux-version; + + + Util-linux + + + + + + <para>The Util-linux package contains miscellaneous utility programs.</para> + + <segmentedlist> + <segtitle>&buildtime;</segtitle> + <segtitle>&diskspace;</segtitle> + + <seglistitem> + <seg>&util-linux-ch5-sbu;</seg> + <seg>&util-linux-ch5-du;</seg> + </seglistitem> + </segmentedlist> + + </sect2> + + <sect2 role="installation"> + <title>Installation of Util-linux + + Prepare Util-linux for compilation: + +./configure --prefix=/tools --disable-makeinstall-chown + + + The meaning of the configure option: + + + --disable-makeinstall-chown + + This switch disables using the chown command + during installation. This is not needed when installing into the + /tools directory and avoids the necessity of installing as + root. + + + + + Compile the package: + +make + + Install the package: + +make install + + + +
diff --git a/chapter06/creatingdirs.xml b/chapter06/creatingdirs.xml index aec7d25ec..65553e8d5 100644 --- a/chapter06/creatingdirs.xml +++ b/chapter06/creatingdirs.xml @@ -13,7 +13,7 @@ It is time to create some structure in the LFS file system. Create a standard directory tree by issuing the following commands: -mkdir -pv /{bin,boot,etc/{opt,sysconfig},home,lib,mnt,opt,run} +mkdir -pv /{bin,boot,etc/{opt,sysconfig},home,lib,mnt,opt} mkdir -pv /{media/{floppy,cdrom},sbin,srv,var} install -dv -m 0750 /root install -dv -m 1777 /tmp /var/tmp diff --git a/chapter06/kernfs.xml b/chapter06/kernfs.xml index bfd583455..860cdfc00 100644 --- a/chapter06/kernfs.xml +++ b/chapter06/kernfs.xml @@ -22,7 +22,7 @@ Begin by creating directories onto which the file systems will be mounted: -mkdir -pv $LFS/{dev,proc,sys} +mkdir -pv $LFS/{dev,proc,sys,run} Creating Initial Device Nodes @@ -70,7 +70,8 @@ mknod -m 666 $LFS/dev/null c 1 3 mount -vt devpts devpts $LFS/dev/pts -o gid=5,mode=620 mount -vt proc proc $LFS/proc -mount -vt sysfs sysfs $LFS/sys +mount -vt sysfs sysfs $LFS/sys +mount -vt tmpfs tmpfs $LFS/run The meaning of the mount options for devpts: @@ -102,16 +103,11 @@ mount -vt sysfs sysfs $LFS/sys In some host systems, /dev/shm is a symbolic link to /run/shm. - Inside a chroot environment, this temporary file system needs - to be mounted separate from the host file system: + The /run tmpfs was mounted above so in this case only a + directory needs to be created. if [ -h $LFS/dev/shm ]; then - link=$(readlink $LFS/dev/shm) - mkdir -pv $LFS/$link - mount -vt tmpfs shm $LFS/$link - unset link -else - mount -vt tmpfs shm $LFS/dev/shm + mkdir -pv $LFS/$(readlink $LFS/dev/shm) fi diff --git a/chapter06/revisedchroot.xml b/chapter06/revisedchroot.xml index 6c4579a1e..8927a9f29 100644 --- a/chapter06/revisedchroot.xml +++ b/chapter06/revisedchroot.xml @@ -12,7 +12,7 @@ Finally, clean up some extra files left around from running tests: -rm -rf /run/* /tmp/* +rm -rf /tmp/* From now on, when reentering the chroot environment after exiting, use the following modified chroot command: diff --git a/general.ent b/general.ent index 993aa9e10..5c98a5afe 100644 --- a/general.ent +++ b/general.ent @@ -1,5 +1,5 @@ - - + + diff --git a/packages.ent b/packages.ent index 9854a9789..331b3e472 100644 --- a/packages.ent +++ b/packages.ent @@ -565,6 +565,8 @@ + +