Browse Source

Remove obsolete note about iconv() in Chapter 6 Glibc.
Minor adjustments to text in the same section.

Add a note about UEFI and Secure Boot to Chapter 8
"Using GRUB to Set Up the Boot Process".

Add notes about paths for 64-bit systems in
Chapter 6 "Adjusting the Toolchain".
+


git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@11043 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689

Bruce Dubbs 9 years ago
parent
commit
d730742904
4 changed files with 52 additions and 45 deletions
  1. 22 0
      chapter01/changelog.xml
  2. 8 0
      chapter06/adjusting.xml
  3. 12 45
      chapter06/glibc.xml
  4. 10 0
      chapter08/grub.xml

+ 22 - 0
chapter01/changelog.xml

@@ -35,6 +35,28 @@
       </itemizedlist>
       </itemizedlist>
     </listitem>
     </listitem>
 -->
 -->
+    <listitem>
+      <para>2016-04-05</para>
+      <itemizedlist>
+        <listitem>
+          <para>[bdubbs] - Remove obsolete note about iconv() 
+          in Chapter 6 Glibc. Minor adjustments to text in the
+          same section. Fixes
+          <ulink url="&lfs-ticket-root;3904">#3904</ulink>.</para>
+        </listitem>
+        <listitem>
+          <para>[bdubbs] - Add a note about UEFI and Secure Boot
+          to Chapter 8 "Using GRUB to Set Up the Boot Process". Fixes
+          <ulink url="&lfs-ticket-root;3908">#3908</ulink>.</para>
+        </listitem>
+        <listitem>
+          <para>[bdubbs] - Add notes about paths for 64-bit 
+          systems in Chapter 6 "Adjusting the Toolchain". Fixes
+          <ulink url="&lfs-ticket-root;3912">#3912</ulink>.</para>
+        </listitem>
+      </itemizedlist>
+    </listitem>
+
     <listitem>
     <listitem>
       <para>2016-04-04</para>
       <para>2016-04-04</para>
       <itemizedlist>
       <itemizedlist>

+ 8 - 0
chapter06/adjusting.xml

@@ -55,6 +55,9 @@ readelf -l a.out | grep ': /lib'</userinput></screen>
   <para>Note that <filename class="directory">/lib</filename> is now
   <para>Note that <filename class="directory">/lib</filename> is now
   the prefix of our dynamic linker.</para>
   the prefix of our dynamic linker.</para>
 
 
+  <note><para>On 64-bit systems the interpreter should be
+  /lib64/ld-linux-x86-64.so.2.</para></note>
+
   <para os="d">Now make sure that we're setup to use the correct start files:</para>
   <para os="d">Now make sure that we're setup to use the correct start files:</para>
 
 
 <screen os="e"><userinput>grep -o '/usr/lib.*/crt[1in].*succeeded' dummy.log</userinput></screen>
 <screen os="e"><userinput>grep -o '/usr/lib.*/crt[1in].*succeeded' dummy.log</userinput></screen>
@@ -65,6 +68,11 @@ readelf -l a.out | grep ': /lib'</userinput></screen>
 /usr/lib/crti.o succeeded
 /usr/lib/crti.o succeeded
 /usr/lib/crtn.o succeeded</computeroutput></screen>
 /usr/lib/crtn.o succeeded</computeroutput></screen>
 
 
+   <note><para>On 64-bit systems, the path above will be
+   /usr/lib/gcc/x86_64-unknown-linux-gnu/5.3.0/../../../../lib64/.  This
+   reduces to /usr/lib64 and /usr/lib64 is a symlink that points to
+   /usr/lib.</para></note>
+
   <para os="g">Verify that the compiler is searching for the correct header
   <para os="g">Verify that the compiler is searching for the correct header
   files:</para>
   files:</para>
 
 

+ 12 - 45
chapter06/glibc.xml

@@ -42,7 +42,7 @@
 
 
   <sect2 role="installation">
   <sect2 role="installation">
     <title>Installation of Glibc</title>
     <title>Installation of Glibc</title>
-
+<!--
     <note>
     <note>
       <para>Some packages outside of LFS suggest installing GNU libiconv in
       <para>Some packages outside of LFS suggest installing GNU libiconv in
       order to translate data from one encoding to another. The project's
       order to translate data from one encoding to another. The project's
@@ -53,6 +53,13 @@
       an <function>iconv()</function> implementation and can convert from/to
       an <function>iconv()</function> implementation and can convert from/to
       Unicode, therefore libiconv is not required on an LFS system.</para>
       Unicode, therefore libiconv is not required on an LFS system.</para>
     </note>
     </note>
+-->
+    <note><para>The Glibc build system is self-contained and will install
+    perfectly, even though the compiler specs file and linker are still
+    pointing to <filename class="directory">/tools</filename>. The specs
+    and linker cannot be adjusted before the Glibc install because the
+    Glibc autoconf tests would give false results and defeat the goal
+    of achieving a clean build.</para></note>
 
 
     <para>Some of the Glibc programs use non-FHS compilant
     <para>Some of the Glibc programs use non-FHS compilant
     <filename class="directory">/var/db</filename> directory to store
     <filename class="directory">/var/db</filename> directory to store
@@ -61,26 +68,6 @@
 
 
 <screen><userinput remap="pre">patch -Np1 -i ../&glibc-fhs-patch;</userinput></screen>
 <screen><userinput remap="pre">patch -Np1 -i ../&glibc-fhs-patch;</userinput></screen>
 
 
-    <para>The Glibc build system is self-contained and will install
-    perfectly, even though the compiler specs file and linker are still
-    pointing at <filename class="directory">/tools</filename>. The specs
-    and linker cannot be adjusted before the Glibc install because the
-    Glibc autoconf tests would give false results and defeat the goal
-    of achieving a clean build.</para>
-<!--
-    <para>Now fix a build problem that affects i386 systems:</para>
-
-<screen><userinput remap="pre">patch -Np1 -i ../&glibc-upstream-patch;</userinput></screen>
-
-    <para>The most recent stable version of Glibc does not handle large files
-    correctly.  Fix the problem with this patch:</para>
-
-<screen><userinput remap="pre">patch -Np1 -i ../&glibc-largefile-patch;</userinput></screen>
-
-    <para>Finally, update some recent changes from the upstream repository:</para>
-
-<screen><userinput remap="pre">patch -Np1 -i ../&glibc-upstream-patch2;</userinput></screen>
--->
     <para>The Glibc documentation recommends building Glibc 
     <para>The Glibc documentation recommends building Glibc 
     in a dedicated build directory:</para>
     in a dedicated build directory:</para>
 
 
@@ -138,27 +125,7 @@ cd       build</userinput></screen>
         <emphasis>nptl/tst-thread-affinity-{pthread,pthread2,sched}</emphasis>
         <emphasis>nptl/tst-thread-affinity-{pthread,pthread2,sched}</emphasis>
         tests may fail for reasons that have not been determined.  </para>
         tests may fail for reasons that have not been determined.  </para>
       </listitem>
       </listitem>
-<!--
-      <listitem>
-        <para>The <emphasis>elf/tst-protected1a</emphasis> and
-        <emphasis>elf/tst-protected1b</emphasis> tests are known to
-        fail with the current stable version of binutils.</para>
-      </listitem>
 
 
-      <listitem>
-        <para>When running on older and slower hardware or on systems under
-        load, some tests can fail because of test timeouts being exceeded.
-        Modifying the make check command to set a TIMEOUTFACTOR is reported to
-        help eliminate these errors (e.g. <command>TIMEOUTFACTOR=16
-        make -k check</command>).</para>
-      </listitem>
--->
-<!--
-      <listitem>
-        <para>libio/tst-ftell-partial-wide.out fails because it needs a locale
-        that has not yet been generated.</para>
-      </listitem>
--->
       <listitem>
       <listitem>
         <para>Other tests known to fail on some architectures are
         <para>Other tests known to fail on some architectures are
         malloc/tst-malloc-usable and nptl/tst-cleanupx4. </para>
         malloc/tst-malloc-usable and nptl/tst-cleanupx4. </para>
@@ -182,10 +149,10 @@ cd       build</userinput></screen>
 <screen><userinput remap="install">cp -v ../nscd/nscd.conf /etc/nscd.conf
 <screen><userinput remap="install">cp -v ../nscd/nscd.conf /etc/nscd.conf
 mkdir -pv /var/cache/nscd</userinput></screen>
 mkdir -pv /var/cache/nscd</userinput></screen>
 
 
-    <para>The locales that can make the system respond in a different language
-    were not installed by the above command. None of the locales are required,
-    but if some of them are missing, test suites of the future packages would
-    skip important testcases.</para>
+    <para>Next, install the locales that can make the system respond in a
+    different language.  None of the locales are required, but if some of them
+    are missing, the test suites of future packages would skip important
+    testcases.</para>
 
 
     <para>Individual locales can be installed using the
     <para>Individual locales can be installed using the
     <command>localedef</command> program. E.g., the first
     <command>localedef</command> program. E.g., the first

+ 10 - 0
chapter08/grub.xml

@@ -38,6 +38,16 @@
 grub-mkrescue --output=grub-img.iso 
 grub-mkrescue --output=grub-img.iso 
 xorriso -as cdrecord -v dev=/dev/cdrw blank=as_needed grub-img.iso</userinput></screen>
 xorriso -as cdrecord -v dev=/dev/cdrw blank=as_needed grub-img.iso</userinput></screen>
 
 
+    <note><para>Most newer systems now come with system firmware that is in
+    UEFI ((Unified Extensible Firmware Interface) mode by default.  To boot LFS
+    on these systems using the instructions here, the UEFI Mode and Secure Boot
+    capabilities need to be turned off.  There are ways to boot with these
+    capabilities still enabled, but are not covered here.  For details, see
+    <ulink
+    url="http://www.linuxfromscratch.org/hints/downloads/files/lfs-uefi.txt">the
+    lfs-uefi.txt hint</ulink> at
+    http://www.linuxfromscratch.org/hints/downloads/files/lfs-uefi.txt.</para></note>
+
   </sect2>
   </sect2>
 
 
   <sect2>
   <sect2>