Ignore:
Timestamp:
12/05/2008 08:46:02 PM (15 years ago)
Author:
Jeremy Huntwork <jhuntwork@…>
Branches:
10.0, 10.0-rc1, 10.1, 10.1-rc1, 11.0, 11.0-rc1, 11.0-rc2, 11.0-rc3, 11.1, 11.1-rc1, 11.2, 11.2-rc1, 11.3, 11.3-rc1, 12.0, 12.0-rc1, 12.1, 12.1-rc1, 6.5, 6.6, 6.7, 6.8, 7.0, 7.1, 7.2, 7.3, 7.4, 7.5, 7.5-systemd, 7.6, 7.6-systemd, 7.7, 7.7-systemd, 7.8, 7.8-systemd, 7.9, 7.9-systemd, 8.0, 8.1, 8.2, 8.3, 8.4, 9.0, 9.1, arm, bdubbs/gcc13, ml-11.0, multilib, renodr/libudev-from-systemd, s6-init, trunk, xry111/arm64, xry111/arm64-12.0, xry111/clfs-ng, xry111/lfs-next, xry111/loongarch, xry111/loongarch-12.0, xry111/loongarch-12.1, xry111/mips64el, xry111/pip3, xry111/rust-wip-20221008, xry111/update-glibc
Children:
6f2cc22
Parents:
6e88633
Message:

Bring in DIY's next generation build method. Move GRUB to chapter 8.

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

File:
1 edited

Legend:

Unmodified
Added
Removed
  • chapter05/binutils-pass1.xml

    r6e88633 r4e82d47  
    4242
    4343  <sect2 role="installation">
    44     <title>Installation of Binutils</title>
     44    <title>Installation of Cross Binutils</title>
    4545
    4646    <para>It is important that Binutils be the first package compiled
     
    7171    <para>Now prepare Binutils for compilation:</para>
    7272
    73 <screen><userinput remap="configure">CC="gcc -B/usr/bin/" ../binutils-&binutils-version;/configure \
    74     --prefix=/tools --disable-nls --disable-werror</userinput></screen>
     73<screen><userinput remap="configure">../binutils-&binutils-version;/configure \
     74    --target=$LFS_TGT --prefix=/tools \
     75    --disable-nls --disable-werror</userinput></screen>
    7576
    7677    <variablelist>
     
    7879
    7980      <varlistentry>
    80         <term><envar>CC="gcc -B/usr/bin/"</envar></term>
     81        <term><envar>--target=$LFS_TGT</envar></term>
    8182        <listitem>
    82           <para>This forces <command>gcc</command> to prefer the linker from
    83           the host in <filename class="directory">/usr/bin</filename>. This
    84           is necessary on some hosts where the new <command>ld</command>
    85           built here is not compatible with the host's <command>gcc</command>.
     83          <para>Because the machine description in the <envar>LFS_TGT</envar>
     84          variable is slightly different than the value returned by the
     85          config.guess script, this switch will tell the configure script to
     86          adjust Binutil's build system for building a cross linker.
    8687          </para>
    8788        </listitem>
     
    125126    first pass will soon be replaced by those from the second.</para>
    126127
    127     <para>Create a symlink to ensure the sanity of our toolchain:</para>
     128    <para>If building on x86_64, create a symlink to ensure the sanity of
     129    the toolchain:</para>
    128130
    129 <screen><userinput remap="install">mkdir -v /tools/lib
    130 ln -sv lib /tools/lib64</userinput></screen>
     131<screen><userinput remap="install">case $(uname -m) in
     132  x86_64) mkdir -v /tools/lib &amp;&amp; ln -sv lib /tools/lib64 ;;
     133esac</userinput></screen>
    131134
    132135    <para>Install the package:</para>
    133136
    134137<screen><userinput remap="install">make install</userinput></screen>
    135 
    136     <para>Finally, prepare the linker for the <quote>Adjusting</quote> phase
    137     later on:</para>
    138 
    139 <screen><userinput remap="adjust">make -C ld clean
    140 make -C ld LIB_PATH=/tools/lib
    141 cp -v ld/ld-new /tools/bin</userinput></screen>
    142 
    143     <variablelist>
    144       <title>The meaning of the make parameters:</title>
    145 
    146       <varlistentry>
    147         <term><parameter>-C ld clean</parameter></term>
    148         <listitem>
    149           <para>This tells the make program to remove all compiled
    150           files in the <filename class="directory">ld</filename>
    151           subdirectory.</para>
    152         </listitem>
    153       </varlistentry>
    154 
    155       <varlistentry>
    156         <term><parameter>-C ld LIB_PATH=/tools/lib</parameter></term>
    157         <listitem>
    158           <para>This option rebuilds everything in the <filename
    159           class="directory">ld</filename> subdirectory. Specifying the
    160           <envar>LIB_PATH</envar> Makefile variable on the command line
    161           allows us to override the default value and point it to the
    162           temporary tools location. The value of this variable specifies
    163           the linker's default library search path. This preparation is
    164           used later in the chapter.</para>
    165         </listitem>
    166       </varlistentry>
    167 
    168     </variablelist>
    169138
    170139  </sect2>
Note: See TracChangeset for help on using the changeset viewer.