- Timestamp:
- Feb 21, 2006, 1:26:16 AM (19 years ago)
- Branches:
- clfs-1.2, clfs-2.1, clfs-3.0.0-systemd, clfs-3.0.0-sysvinit, master, systemd, sysvinit
- Children:
- cedcdaa
- Parents:
- e47ec16
- Location:
- BOOK
- Files:
-
- 48 edited
Legend:
- Unmodified
- Added
- Removed
-
BOOK/boot/64/e2fsprogs.xml
re47ec16 r6bb43b3 65 65 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" 66 66 href="../common/e2fsprogs.xml" 67 xpointer="xpointer(//*[@os='l'])"/> 68 69 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" 70 href="../common/e2fsprogs.xml" 67 71 xpointer="xpointer(//*[@os='ad'])"/> 68 72 -
BOOK/boot/common/e2fsprogs.xml
re47ec16 r6bb43b3 39 39 --host=${LFS_TARGET}</userinput></screen> 40 40 41 <variablelist os=" ab">41 <variablelist os="e"> 42 42 <title>The meaning of the configure options:</title> 43 43 … … 51 51 52 52 </variablelist> 53 54 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"55 href="../../final-system/common/e2fsprogs.xml"56 xpointer="xpointer(//*[@os='e'])"/>57 53 58 54 <screen os="ac"><userinput>make</userinput></screen> … … 73 69 href="../../final-system/common/e2fsprogs.xml" 74 70 xpointer="xpointer(//*[@os='k'])"/> 71 72 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" 73 href="../../final-system/common/e2fsprogs.xml" 74 xpointer="xpointer(//*[@os='l'])"/> 75 75 76 76 <para os="ad">Create needed symlinks for a bootable system:</para> -
BOOK/boot/common/introduction.xml
re47ec16 r6bb43b3 11 11 <title>Introduction</title> 12 12 13 <para>This chapter shows how to complete the tempora ly tools to create13 <para>This chapter shows how to complete the temporary tools to create 14 14 a minimal system that will be used to boot the target machine and to build 15 the m thefinal system packages.</para>15 the final system packages.</para> 16 16 17 17 </sect1> -
BOOK/boot/common/module-init-tools.xml
re47ec16 r6bb43b3 31 31 xpointer="xpointer(//*[@os='b'])"/> 32 32 33 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"34 href="../../final-system/common/module-init-tools.xml"35 xpointer="xpointer(//*[@os='c'])"/>36 37 33 <screen os="d"><userinput>./configure --prefix=/ \ 38 34 --host=${LFS_TARGET}</userinput></screen> -
BOOK/boot/common/util-linux.xml
re47ec16 r6bb43b3 70 70 <title>The meaning of the make parameters:</title> 71 71 72 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" 73 href="../../final-system/common/util-linux.xml" 74 xpointer="xpointer(//*[@os='e1'])"/> 72 <varlistentry> 73 <term><parameter>HAVE_KILL=yes</parameter></term> 74 <listitem> 75 <para>This prevents the <command>kill</command> program 76 from being built.</para> 77 </listitem> 78 </varlistentry> 75 79 76 80 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" -
BOOK/boot/mips/module-init-tools.xml
re47ec16 r6bb43b3 40 40 41 41 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" 42 href="../../final-system/common/module-init-tools.xml"43 xpointer="xpointer(//*[@os='c'])"/>44 45 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"46 42 href="../common/module-init-tools.xml" 47 43 xpointer="xpointer(//*[@os='d'])"/> -
BOOK/boot/mips64/module-init-tools.xml
re47ec16 r6bb43b3 40 40 41 41 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" 42 href="../common/module-init-tools.xml"43 xpointer="xpointer(//*[@os='c'])"/>44 45 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"46 42 href="../multilib/module-init-tools.xml" 47 43 xpointer="xpointer(//*[@os='d'])"/> -
BOOK/boot/multilib/e2fsprogs.xml
re47ec16 r6bb43b3 48 48 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" 49 49 href="../common/e2fsprogs.xml" 50 xpointer="xpointer(//*[@os='ab'])"/>51 52 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"53 href="../common/e2fsprogs.xml"54 50 xpointer="xpointer(//*[@os='e'])"/> 55 51 … … 74 70 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" 75 71 href="../common/e2fsprogs.xml" 72 xpointer="xpointer(//*[@os='l'])"/> 73 74 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" 75 href="../common/e2fsprogs.xml" 76 76 xpointer="xpointer(//*[@os='ad'])"/> 77 77 -
BOOK/boot/multilib/module-init-tools.xml
re47ec16 r6bb43b3 31 31 xpointer="xpointer(//*[@os='b'])"/> 32 32 33 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"34 href="../common/module-init-tools.xml"35 xpointer="xpointer(//*[@os='c'])"/>36 37 33 <screen os="d"><userinput>CC="${CC} ${BUILD64}" ./configure --prefix=/ \ 38 34 --host=${LFS_TARGET}</userinput></screen> -
BOOK/boot/x86/kernel.xml
re47ec16 r6bb43b3 24 24 25 25 <warning os="aa"> 26 <para>Here a tempora ly cross-compiled kernel will be builded. When26 <para>Here a temporary cross-compiled kernel will be built. When 27 27 configuring it, select the minimal amount of options required to can 28 28 boot the target machine and build the final system. I.e., not support … … 49 49 xpointer="xpointer(//*[@os='d'])"/> 50 50 51 <para os="ab">If your keyboard isn't an US one, you may w hant to build51 <para os="ab">If your keyboard isn't an US one, you may want to build 52 52 the proper keymap for your keyboard layout inside the kernel. Do it by 53 53 running the following command:</para> -
BOOK/boot/x86_64-64/grub-build.xml
re47ec16 r6bb43b3 66 66 67 67 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" 68 href="../x86 /grub-build.xml"68 href="../x86_64/grub-build.xml" 69 69 xpointer="xpointer(//*[@os='i'])"/> 70 70 71 71 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" 72 href="../x86 /grub-build.xml"73 xpointer="xpointer(//*[@os=' ac'])"/>72 href="../x86_64/grub-build.xml" 73 xpointer="xpointer(//*[@os='j'])"/> 74 74 75 75 </sect2> -
BOOK/boot/x86_64/grub-build.xml
re47ec16 r6bb43b3 51 51 52 52 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" 53 href="../ x86/grub-build.xml"53 href="../../final-system/x86_64/grub.xml" 54 54 xpointer="xpointer(//*[@os='i'])"/> 55 55 56 56 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" 57 href="../ x86/grub-build.xml"58 xpointer="xpointer(//*[@os=' ac'])"/>57 href="../../final-system/x86_64/grub.xml" 58 xpointer="xpointer(//*[@os='j'])"/> 59 59 60 60 </sect2> -
BOOK/boot/x86_64/kernel.xml
re47ec16 r6bb43b3 32 32 33 33 <para os="t1">To ensure that your system boots and you can properly run both 34 32 bit and 64bit binaries, Please make sure that you enable support for34 32 bits and 64 bits binaries, please make sure that you enable support for 35 35 ELF and emulations for 32bit ELF into the kernel.</para> 36 36 -
BOOK/cross-tools/common/binutils.xml
re47ec16 r6bb43b3 59 59 <term><parameter>--host=${LFS_HOST}</parameter></term> 60 60 <listitem> 61 <para>When used injunctionwith --target, this creates a cross-architecture61 <para>When used with --target, this creates a cross-architecture 62 62 executable that creates files for ${LFS_TARGET} but runs on ${LFS_HOST).</para> 63 63 </listitem> … … 67 67 <term><parameter>--target=${LFS_TARGET}</parameter></term> 68 68 <listitem> 69 <para>When used injunctionwith --host, this creates a cross-architecture69 <para>When used with --host, this creates a cross-architecture 70 70 executable that creates files for ${LFS_TARGET} but runs on ${LFS_HOST).</para> 71 71 </listitem> -
BOOK/cross-tools/common/glibc.xml
re47ec16 r6bb43b3 89 89 <term><parameter>AR="${LFS_TARGET}-ar"</parameter></term> 90 90 <listitem> 91 <para>This forces GLIBC to use the AR utility thatwe made for our target91 <para>This forces GLIBC to use the AR utility we made for our target 92 92 architecture.</para> 93 93 </listitem> -
BOOK/cross-tools/common/variables-multilib.xml
re47ec16 r6bb43b3 14 14 architecture tools</bridgehead> 15 15 16 <para>This method is recommended for all LiveCD based distro's.</para> 16 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" 17 href="../common/variables.xml" 18 xpointer="xpointer(//*[@os='a'])"/> 17 19 18 <para>During the building of the cross-compile tools you will need to 19 set a few variables that will be dependent on your particular needs. 20 The first variable will be the triplet of the <envar>HOST</envar> machine. 21 You will need to set the <envar>CHOST</envar> triplet to match your 22 particular needs. To set this information you can issue the following 23 command:</para> 20 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" 21 href="../common/variables.xml" 22 xpointer="xpointer(//*[@os='b'])"/> 24 23 25 <screen><userinput>export LFS_HOST="${MACHTYPE}"</userinput></screen> 24 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" 25 href="../common/variables.xml" 26 xpointer="xpointer(//*[@os='c'])"/> 26 27 27 <para>Now you will need to set the target triplet for the target 28 architecure. You can do this by running the same command as above, just 29 running it on the target machine. If you can't run the command on the 30 target machine, you can use the table at the bottom of this page. Set 31 the command using the method listed below:</para> 28 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" 29 href="../common/variables.xml" 30 xpointer="xpointer(//*[@os='d'])"/> 32 31 33 <screen><userinput>export LFS_TARGET="{target triplet}"</userinput></screen> 32 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" 33 href="../common/variables.xml" 34 xpointer="xpointer(//*[@os='e'])"/> 34 35 35 36 <bridgehead renderas="sect4">Configuration # 2 - Creating same 36 37 architecture tools</bridgehead> 37 38 38 <para>You can also create <quote>clean</quote> tools on your current 39 distro. This will ensure that you have all the prerequisites for the 40 LFS build.</para> 39 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" 40 href="../common/variables.xml" 41 xpointer="xpointer(//*[@os='f'])"/> 42 43 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" 44 href="../common/variables.xml" 45 xpointer="xpointer(//*[@os='g'])"/> 41 46 42 <para>You will need to set your host target triplet a little differently. 43 To set this information you can issue the following commands:</para> 47 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" 48 href="../common/variables.xml" 49 xpointer="xpointer(//*[@os='h'])"/> 44 50 45 <screen><userinput>export LFS_HOST="`echo ${MACHTYPE} | sed -e 's/unknown/cross/g' -e 's/-pc-/-cross-/g'`"</userinput></screen> 51 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" 52 href="../common/variables.xml" 53 xpointer="xpointer(//*[@os='i'])"/> 46 54 47 <para>Now you will need to set the target triplet for the target, which 48 in this case is very simple. Set the command using the method listed 49 below:</para> 50 51 <screen><userinput>export LFS_TARGET="${MACHTYPE}"</userinput></screen> 55 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" 56 href="../common/variables.xml" 57 xpointer="xpointer(//*[@os='j'])"/> 52 58 53 59 <bridgehead renderas="sect4">Sanity Check</bridgehead> 54 60 55 <para>Let's perform a sanity check to prevent build issues. If our LFS_HOST matches our 56 target, we will get some failures during our cross-compile:</para> 61 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" 62 href="../common/variables.xml" 63 xpointer="xpointer(//*[@os='k'])"/> 57 64 58 <screen><userinput>if [ "${LFS_HOST}" = "${LFS_TARGET}" ]; then \ 59 echo "Host and Target can't be the same. Use the Other Configuration Method" ; fi</userinput></screen> 60 61 <para>If you received an message, "Host and Target can't be the same." 62 You will need to use the other Configuration Method. This will prevent build 63 issues during the early phases of the build.</para> 65 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" 66 href="../common/variables.xml" 67 xpointer="xpointer(//*[@os='l'])"/> 68 69 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" 70 href="../common/variables.xml" 71 xpointer="xpointer(//*[@os='m'])"/> 64 72 65 73 <bridgehead renderas="sect4">Copy settings to Environment</bridgehead> 66 74 67 <para>Now we will add these to <filename>~/.bashrc</filename>, just in 68 case you have to exit and restart building later:</para> 75 <para os="n">Now we will add ${LFS_TARGET} to <filename>~/.bashrc</filename>, just in 76 case you have to exit and restart building later: We will add ${LFS_HOST} after 77 it performs another sanity check in the next section</para> 69 78 70 <screen ><userinput>echo export LFS_TARGET=\""${LFS_TARGET}\"" >> ~/.bashrc</userinput></screen>79 <screen os="o"><userinput>echo export LFS_TARGET=\""${LFS_TARGET}\"" >> ~/.bashrc</userinput></screen> 71 80 72 73 <table> 74 <title>List of architectures, target triplets, and recommended book</title> 75 <tgroup cols="2" align="center"> 76 <colspec colname="Processor"/> 77 <colspec colname="Triplet"/> 78 <colspec colname="Book"/> 79 <thead> 80 <row> 81 <entry>Architecture</entry> 82 <entry>Target Triplet</entry> 83 <entry>32 Bit, 64 Bit, 32/64 Bit</entry> 84 </row> 85 </thead> 86 <tbody> 87 <row> 88 <entry>Pentium, K6, 586 Compatibles</entry> 89 <entry>i586-pc-linux-gnu</entry> 90 <entry>32 Bit</entry> 91 </row> 92 <row> 93 <entry>Pentium II, Pentium III, Pentium 4</entry> 94 <entry>i686-pc-linux-gnu</entry> 95 <entry>32 Bit</entry> 96 </row> 97 <row> 98 <entry>Athlon, Duron</entry> 99 <entry>i686-pc-linux-gnu</entry> 100 <entry>32 Bit</entry> 101 </row> 102 <row> 103 <entry>Athlon64</entry> 104 <entry>x86_64-pc-linux-gnu</entry> 105 <entry>32/64 Bit</entry> 106 </row> 107 <row> 108 <entry>PowerPC</entry> 109 <entry>powerpc-unknown-linux-gnu</entry> 110 <entry>32 Bit</entry> 111 </row> 112 <row> 113 <entry>PowerPC64</entry> 114 <entry>ppc64-unknown-linux-gnu</entry> 115 <entry>64 Bit</entry> 116 </row> 117 <row> 118 <entry>MIPS</entry> 119 <entry>mips-unknown-linux-gnu</entry> 120 <entry>32 Bit</entry> 121 </row> 122 <row> 123 <entry>MIPS Little Endian</entry> 124 <entry>mipsel-unknown-linux-gnu</entry> 125 <entry>32 Bit</entry> 126 </row> 127 <row> 128 <entry>MIPS 64</entry> 129 <entry>mips64-unknown-linux-gnu</entry> 130 <entry>64 Bit</entry> 131 </row> 132 <row> 133 <entry>MIPS 64 Little Endian</entry> 134 <entry>mips64el-unknown-linux-gnu</entry> 135 <entry>64 Bit</entry> 136 </row> 137 <row> 138 <entry>Cypress</entry> 139 <entry>sparc-unknown-linux-gnu</entry> 140 <entry>32 Bit</entry> 141 </row> 142 <row> 143 <entry>Supersparc and Hypersparc</entry> 144 <entry>sparc-unknown-linux-gnu</entry> 145 <entry>32 Bit</entry> 146 </row> 147 <row> 148 <entry>Ultrasparc</entry> 149 <entry>sparc64-unknown-linux-gnu</entry> 150 <entry>32/64 Bit</entry> 151 </row> 152 <row> 153 <entry>Alpha</entry> 154 <entry>alpha-unknown-linux-gnu</entry> 155 <entry>64 Bit</entry> 156 </row> 157 </tbody> 158 </tgroup> 159 </table> 81 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" 82 href="../common/variables.xml" 83 xpointer="xpointer(//*[@os='p'])"/> 160 84 161 85 </sect1> 86 -
BOOK/cross-tools/common/variables.xml
re47ec16 r6bb43b3 14 14 architecture tools</bridgehead> 15 15 16 <para >This method is recommended for all LiveCD based distro's.</para>16 <para os="a">This method is recommended for all LiveCD based distro's.</para> 17 17 18 <para >During the building of the cross-compile tools you will need to18 <para os="b">During the building of the cross-compile tools you will need to 19 19 set a few variables that will be dependent on your particular needs. 20 20 The first variable will be the triplet of the <envar>HOST</envar> machine. … … 23 23 command:</para> 24 24 25 <screen ><userinput>export LFS_HOST="${MACHTYPE}"</userinput></screen>25 <screen os="c"><userinput>export LFS_HOST="${MACHTYPE}"</userinput></screen> 26 26 27 <para >Now you will need to set the target triplet for the target28 architec ure. You can do this by running the same command as above, just27 <para os="d">Now you will need to set the target triplet for the target 28 architecture. You can do this by running the same command as above, just 29 29 running it on the target machine. If you can't run the command on the 30 30 target machine, you can use the table at the bottom of this page. Set 31 31 the command using the method listed below:</para> 32 32 33 <screen ><userinput>export LFS_TARGET="{target triplet}"</userinput></screen>33 <screen os="e"><userinput>export LFS_TARGET="{target triplet}"</userinput></screen> 34 34 35 35 <bridgehead renderas="sect4">Configuration # 2 - Creating same 36 36 architecture tools</bridgehead> 37 37 38 <para >You can also create <quote>clean</quote> tools on your current38 <para os="f">You can also create <quote>clean</quote> tools on your current 39 39 distro. This will ensure that you have all the prerequisites for the 40 40 LFS build.</para> 41 41 42 <para >You will need to set your host target triplet a little differently.42 <para os="g">You will need to set your host target triplet a little differently. 43 43 To set this information you can issue the following commands:</para> 44 44 45 <screen ><userinput>export LFS_HOST="`echo ${MACHTYPE} | sed -e 's/unknown/cross/g' -e 's/-pc-/-cross-/g'`"</userinput></screen>45 <screen os="h"><userinput>export LFS_HOST="`echo ${MACHTYPE} | sed -e 's/unknown/cross/g' -e 's/-pc-/-cross-/g'`"</userinput></screen> 46 46 47 <para >Now you will need to set the target triplet for the target, which47 <para os="i">Now you will need to set the target triplet for the target, which 48 48 in this case is very simple. Set the command using the method listed 49 49 below:</para> 50 50 51 <screen ><userinput>export LFS_TARGET="${MACHTYPE}"</userinput></screen>51 <screen os="j"><userinput>export LFS_TARGET="${MACHTYPE}"</userinput></screen> 52 52 53 53 <bridgehead renderas="sect4">Sanity Check</bridgehead> 54 54 55 <para >Let's perform a sanity check to prevent build issues. If our LFS_HOST matches our55 <para os="k">Let's perform a sanity check to prevent build issues. If our LFS_HOST matches our 56 56 target, we will get some failures during our cross-compile:</para> 57 57 58 <screen ><userinput>if [ "${LFS_HOST}" = "${LFS_TARGET}" ]; then \58 <screen os="l"><userinput>if [ "${LFS_HOST}" = "${LFS_TARGET}" ]; then \ 59 59 echo "Host and Target can't be the same." ; fi</userinput></screen> 60 60 61 <para >If you received an message, "Host and Target can't be the same."61 <para os="m">If you received an message, "Host and Target can't be the same." 62 62 You will need to use the other Configuration Method. This will prevent build 63 63 issues during the early phases of the build.</para> … … 65 65 <bridgehead renderas="sect4">Copy settings to Environment</bridgehead> 66 66 67 <para >Now we will add these to <filename>~/.bashrc</filename>, just in67 <para os="n">Now we will add these to <filename>~/.bashrc</filename>, just in 68 68 case you have to exit and restart building later:</para> 69 69 70 <screen ><userinput>echo export LFS_HOST=\""${LFS_HOST}\"" >> ~/.bashrc70 <screen os="o"><userinput>echo export LFS_HOST=\""${LFS_HOST}\"" >> ~/.bashrc 71 71 echo export LFS_TARGET=\""${LFS_TARGET}\"" >> ~/.bashrc</userinput></screen> 72 72 73 <table >73 <table os="p"> 74 74 <title>List of architectures, target triplets, and recommended book</title> 75 75 <tgroup cols="2" align="center"> -
BOOK/cross-tools/mips64-64/flags.xml
re47ec16 r6bb43b3 11 11 <title>Build Flags</title> 12 12 13 <para>We will need to setup target specific flags for the compiler 14 and linkers.</para> 13 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" 14 href="../x86_64-64/flags.xml" 15 xpointer="xpointer(//*[@os='a'])"/> 15 16 16 <screen ><userinput>export BUILD64="-mabi=64"</userinput></screen>17 <screen os="b"><userinput>export BUILD64="-mabi=64"</userinput></screen> 17 18 18 <para>Lets add the build flags to <filename>~/.bashrc</filename> to 19 prevent issues if we stop and come back later.</para> 19 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" 20 href="../x86_64-64/flags.xml" 21 xpointer="xpointer(//*[@os='c'])"/> 20 22 21 <screen><userinput>echo export BUILD64=\""${BUILD64}\"" >> ~/.bashrc</userinput></screen> 23 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" 24 href="../x86_64-64/flags.xml" 25 xpointer="xpointer(//*[@os='d'])"/> 22 26 23 27 </sect1> -
BOOK/cross-tools/mips64/flags.xml
re47ec16 r6bb43b3 11 11 <title>Build Flags</title> 12 12 13 <para>We will need to setup target specific flags for the compiler 14 and linkers.</para> 13 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" 14 href="../x86_64/flags.xml" 15 xpointer="xpointer(//*[@os='a'])"/> 15 16 16 <screen ><userinput>export BUILD32="-mabi=32"17 <screen os="b"><userinput>export BUILD32="-mabi=32" 17 18 export BUILDN32="-mabi=n32" 18 19 export BUILD64="-mabi=64"</userinput></screen> 19 20 20 <para>You will need to set your host target triplet for o32 bit:</para> 21 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" 22 href="../x86_64/flags.xml" 23 xpointer="xpointer(//*[@os='c'])"/> 21 24 22 <screen ><userinput>export LFS_TARGET32="`echo ${LFS_TARGET}| sed -e 's/64//g'`"</userinput></screen>25 <screen os="d"><userinput>export LFS_TARGET32="`echo ${LFS_TARGET}| sed -e 's/64//g'`"</userinput></screen> 23 26 24 <screen><userinput>if [ "${LFS_HOST}" = "${LFS_TARGET32}" ]; then \ 25 echo "Host and Target can't be the same." ; fi</userinput></screen> 27 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" 28 href="../x86_64/flags.xml" 29 xpointer="xpointer(//*[@os='e'])"/> 26 30 27 <para>If the above test gave you "Host and Target can't be the same", you will need to change your LFS_HOST to a 28 a different target triplet:</para> 31 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" 32 href="../x86_64/flags.xml" 33 xpointer="xpointer(//*[@os='f'])"/> 29 34 30 <screen><userinput>export LFS_HOST="`echo ${MACHTYPE} | sed -e 's/unknown/cross/g' -e 's/-pc-/-cross-/g'`"</userinput></screen> 35 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" 36 href="../x86_64/flags.xml" 37 xpointer="xpointer(//*[@os='g'])"/> 31 38 32 <para>Lets add the build flags to <filename>~/.bashrc</filename> to 33 prevent issues if we stop and come back later.</para> 39 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" 40 href="../x86_64/flags.xml" 41 xpointer="xpointer(//*[@os='h'])"/> 34 42 35 <screen><userinput>echo export BUILD32=\""${BUILD32}\"" >> ~/.bashrc 43 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" 44 href="../x86_64/flags.xml" 45 xpointer="xpointer(//*[@os='i'])"/> 46 47 <screen os="j"><userinput>echo export BUILD32=\""${BUILD32}\"" >> ~/.bashrc 36 48 echo export BUILDN32=\""${BUILDN32}\"" >> ~/.bashrc 37 49 echo export BUILD64=\""${BUILD64}\"" >> ~/.bashrc -
BOOK/cross-tools/multilib/glibc-64bit.xml
re47ec16 r6bb43b3 83 83 <term><parameter>--libdir=/tools/lib64</parameter></term> 84 84 <listitem> 85 <para>Puts GLIBC into a/tools/lib64 instead of /tools/lib.</para>85 <para>Puts GLIBC into /tools/lib64 instead of /tools/lib.</para> 86 86 </listitem> 87 87 </varlistentry> -
BOOK/cross-tools/sparc64-64/flags.xml
re47ec16 r6bb43b3 10 10 <?dbhtml filename="flags.html"?> 11 11 12 <para>We will need to setup target specific flags for the compiler13 and linkers. You can choose the appropriate BUILD32 and BUILD6414 from the table at the bottom of the page.</para>12 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" 13 href="../x86_64-64/flags.xml" 14 xpointer="xpointer(//*[@os='a'])"/> 15 15 16 <screen ><userinput>export BUILD64="[BUILD64 entries]"16 <screen os="b"><userinput>export BUILD64="[BUILD64 entries]" 17 17 export GCCTARGET="[GCCTARGET entries]"</userinput></screen> 18 18 19 <para>Lets add the build flags to <filename>~/.bashrc</filename> to 20 prevent issues if we stop and come back later.</para> 19 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" 20 href="../x86_64-64/flags.xml" 21 xpointer="xpointer(//*[@os='c'])"/> 21 22 22 <screen ><userinput>echo export BUILD64=\""${BUILD64}\"" >> ~/.bashrc23 <screen os="d"><userinput>echo export BUILD64=\""${BUILD64}\"" >> ~/.bashrc 23 24 echo export GCCTARGET=\""${GCCTARGET}\"" >> ~/.bashrc</userinput></screen> 24 25 25 <para >The following table gives the entires for different Sparc 64 capable26 <para os="e">The following table gives the entires for different Sparc 64 capable 26 27 processors. Pick the processor that matches your system.</para> 27 28 28 <table >29 <table os="f"> 29 30 <title>List of architectures, target triplets, and recommended book</title> 30 31 <tgroup cols="2" align="center"> -
BOOK/cross-tools/sparc64/flags.xml
re47ec16 r6bb43b3 10 10 <?dbhtml filename="flags.html"?> 11 11 12 <para >We will need to setup target specific flags for the compiler12 <para os="a">We will need to setup target specific flags for the compiler 13 13 and linkers. You can choose the appropriate BUILD32 and BUILD64 14 14 from the table at the bottom of the page.</para> 15 15 16 <screen ><userinput>export BUILD32="[BUILD32 entries]"16 <screen os="b"><userinput>export BUILD32="[BUILD32 entries]" 17 17 export BUILD64="[BUILD64 entries]" 18 18 export GCCTARGET="[GCCTARGET entries]"</userinput></screen> 19 19 20 <para>You will need to set your host target triplet for 32 bit:</para> 20 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" 21 href="../x86_64/flags.xml" 22 xpointer="xpointer(//*[@os='c'])"/> 21 23 22 <screen ><userinput>export LFS_TARGET32="sparcv9-unknown-linux-gnu"</userinput></screen>24 <screen os="d"><userinput>export LFS_TARGET32="sparcv9-unknown-linux-gnu"</userinput></screen> 23 25 24 <para>Let's perform a sanity check to prevent build issues. If our LFS_HOST matches our 25 target, we will get some failures during our cross-compile:</para> 26 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" 27 href="../x86_64/flags.xml" 28 xpointer="xpointer(//*[@os='e'])"/> 26 29 27 <screen><userinput>if [ "${LFS_HOST}" = "${LFS_TARGET32}" ]; then \ 28 echo "Host and Target can't be the same." ; fi</userinput></screen> 30 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" 31 href="../x86_64/flags.xml" 32 xpointer="xpointer(//*[@os='f'])"/> 29 33 30 <para>If the above test gave you "Host and Target can't be the same", you will need to change your LFS_HOST to a 31 a different target triplet:</para> 34 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" 35 href="../x86_64/flags.xml" 36 xpointer="xpointer(//*[@os='g'])"/> 32 37 33 <screen><userinput>export LFS_HOST="`echo ${MACHTYPE} | sed -e 's/unknown/cross/g' -e 's/-pc-/-cross-/g'`"</userinput></screen> 38 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" 39 href="../x86_64/flags.xml" 40 xpointer="xpointer(//*[@os='h'])"/> 34 41 35 <para>Lets add the build flags to <filename>~/.bashrc</filename> to 36 prevent issues if we stop and come back later.</para> 42 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" 43 href="../x86_64/flags.xml" 44 xpointer="xpointer(//*[@os='i'])"/> 37 45 38 <screen ><userinput>echo export BUILD32=\""${BUILD32}\"" >> ~/.bashrc46 <screen os="j"><userinput>echo export BUILD32=\""${BUILD32}\"" >> ~/.bashrc 39 47 echo export BUILD64=\""${BUILD64}\"" >> ~/.bashrc 40 48 echo export GCCTARGET=\""${GCCTARGET}\"" >> ~/.bashrc … … 42 50 echo export LFS_HOST=\""${LFS_HOST}\"" >> ~/.bashrc</userinput></screen> 43 51 44 <para >The following table gives the entires for different Sparc 64 capable52 <para os="k">The following table gives the entires for different Sparc 64 capable 45 53 processors. Pick the processor that matches your system.</para> 46 54 47 <table >55 <table os="l"> 48 56 <title>List of architectures, target triplets, and recommended book</title> 49 57 <tgroup cols="2" align="center"> -
BOOK/cross-tools/x86/gcc-final.xml
re47ec16 r6bb43b3 97 97 <term><parameter>--enable-languages=c,c++</parameter></term> 98 98 <listitem> 99 <para>This option ensures that only the C and C++ compilers isbuilt.</para>99 <para>This option ensures that only the C and C++ compilers are built.</para> 100 100 </listitem> 101 101 </varlistentry> -
BOOK/cross-tools/x86/gcc-static.xml
re47ec16 r6bb43b3 37 37 search the <filename class="directory">/usr</filename> directory for 38 38 <filename class="libraryfile">libgcc_s.so</filename> when 39 cross-comp ling:</para>39 cross-compiling:</para> 40 40 41 41 <screen os="af"><userinput>patch -Np1 -i ../&gcc-cross_search-patch;</userinput></screen> -
BOOK/cross-tools/x86/glibc-headers.xml
re47ec16 r6bb43b3 76 76 <term><parameter>--host=${LFS_HOST}</parameter></term> 77 77 <listitem> 78 <para>When used injunctionwith --target, this creates a cross-architecture78 <para>When used with --target, this creates a cross-architecture 79 79 executable that creates files for ${LFS_TARGET} but runs on ${LFS_HOST).</para> 80 80 </listitem> … … 84 84 <term><parameter>--target=${LFS_TARGET}</parameter></term> 85 85 <listitem> 86 <para>When used injunctionwith --host, this creates a cross-architecture86 <para>When used with --host, this creates a cross-architecture 87 87 executable that creates files for ${LFS_TARGET} but runs on ${LFS_HOST).</para> 88 88 </listitem> -
BOOK/cross-tools/x86_64-64/flags.xml
re47ec16 r6bb43b3 11 11 <title>Build Flags</title> 12 12 13 <para >We will need to setup target specific flags for the compiler13 <para os="a">We will need to setup target specific flags for the compiler 14 14 and linkers.</para> 15 15 16 <screen ><userinput>export BUILD64="-m64"</userinput></screen>16 <screen os="b"><userinput>export BUILD64="-m64"</userinput></screen> 17 17 18 <para >Lets add the build flags to <filename>~/.bashrc</filename> to18 <para os="c">Lets add the build flags to <filename>~/.bashrc</filename> to 19 19 prevent issues if we stop and come back later.</para> 20 20 21 <screen ><userinput>echo export BUILD64=\""${BUILD64}\"" >> ~/.bashrc</userinput></screen>21 <screen os="d"><userinput>echo export BUILD64=\""${BUILD64}\"" >> ~/.bashrc</userinput></screen> 22 22 23 23 </sect1> -
BOOK/cross-tools/x86_64/flags.xml
re47ec16 r6bb43b3 11 11 <title>Build Flags</title> 12 12 13 <para >We will need to setup target specific flags for the compiler13 <para os="a">We will need to setup target specific flags for the compiler 14 14 and linkers.</para> 15 15 16 <screen ><userinput>export BUILD32="-m32"16 <screen os="b"><userinput>export BUILD32="-m32" 17 17 export BUILD64="-m64"</userinput></screen> 18 18 19 <para >You will need to set your host target triplet for 32 bit:</para>19 <para os="c">You will need to set your host target triplet for 32 bits:</para> 20 20 21 <screen ><userinput>export LFS_TARGET32="i686-pc-linux-gnu"</userinput></screen>21 <screen os="d"><userinput>export LFS_TARGET32="i686-pc-linux-gnu"</userinput></screen> 22 22 23 <para >Let's perform a sanity check to prevent build issues. If our LFS_HOST matches our23 <para os="e">Let's perform a sanity check to prevent build issues. If our LFS_HOST matches our 24 24 target, we will get some failures during our cross-compile:</para> 25 25 26 <screen ><userinput>if [ "${LFS_HOST}" = "${LFS_TARGET32}" ]; then \26 <screen os="f"><userinput>if [ "${LFS_HOST}" = "${LFS_TARGET32}" ]; then \ 27 27 echo "Host and Target can't be the same." ; fi</userinput></screen> 28 28 29 <para >If the above test gave you "Host and Target can't be the same", you will need to change your LFS_HOST to a29 <para os="g">If the above test gave you "Host and Target can't be the same", you will need to change your LFS_HOST to a 30 30 a different target triplet:</para> 31 31 32 <para>If the above test gave you an error, you will need to change your LFS_HOST to a 33 a different target triplet:</para> 32 <screen os="h"><userinput>export LFS_HOST="`echo ${MACHTYPE} | sed -e 's/unknown/cross/g' -e 's/-pc-/-cross-/g'`"</userinput></screen> 34 33 35 <screen><userinput>export LFS_HOST="`echo ${MACHTYPE} | sed -e 's/unknown/cross/g' -e 's/-pc-/-cross-/g'`"</userinput></screen> 36 37 <para>Lets add the build flags to <filename>~/.bashrc</filename> to 34 <para os="i">Lets add the build flags to <filename>~/.bashrc</filename> to 38 35 prevent issues if we stop and come back later.</para> 39 36 40 <screen ><userinput>echo export BUILD32=\""${BUILD32}\"" >> ~/.bashrc37 <screen os="j"><userinput>echo export BUILD32=\""${BUILD32}\"" >> ~/.bashrc 41 38 echo export BUILD64=\""${BUILD64}\"" >> ~/.bashrc 42 39 echo export LFS_TARGET32=\""${LFS_TARGET32}\"" >> ~/.bashrc -
BOOK/final-system/common/bash.xml
re47ec16 r6bb43b3 47 47 <screen os="d"><userinput>patch -Np1 -i ../&bash-fixes-patch;</userinput></screen> 48 48 49 <para os="e">Bash also has issueswhen compiled against newer versions of Glibc.49 <para os="e">Bash also has an issue when compiled against newer versions of Glibc. 50 50 The following patch resolves this problem:</para> 51 51 -
BOOK/final-system/common/inetutils.xml
re47ec16 r6bb43b3 41 41 <screen os="p2"><userinput>patch -Np1 -i ../&inetutils-man_pages-patch;</userinput></screen> 42 42 43 <para os="p3">Th e following patchesaddresses build issues with GCC 4.x:</para>43 <para os="p3">This patch addresses build issues with GCC 4.x:</para> 44 44 45 45 <screen os="p4"><userinput>patch -Np1 -i ../&inetutils-gcc4_fixes-patch;</userinput></screen> -
BOOK/final-system/common/readline.xml
re47ec16 r6bb43b3 66 66 <screen os="i"><userinput>make install</userinput></screen> 67 67 68 <para os="j">Give Readline's dynamic libraries to amore appropriate68 <para os="j">Give Readline's dynamic libraries more appropriate 69 69 permissions:</para> 70 70 -
BOOK/final-system/multilib/findutils.xml
re47ec16 r6bb43b3 29 29 --libexecdir=/usr/lib64/locate --localstatedir=/var/lib64/locate</userinput></screen> 30 30 31 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" 32 href="../common/findutils.xml" 33 xpointer="xpointer(//*[@os='c'])"/> 31 <variablelist os="c"> 32 <title>The meaning of the configure options:</title> 33 34 <varlistentry> 35 <term><parameter>--localstatedir</parameter></term> 36 <listitem> 37 <para>This option changes the location of the <command>locate</command> 38 database to be in <filename class="directory">/var/lib64/locate</filename>, 39 which is FHS-compliant.</para> 40 </listitem> 41 </varlistentry> 42 43 </variablelist> 34 44 35 45 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" -
BOOK/final-system/multilib/glibc-64bit.xml
re47ec16 r6bb43b3 150 150 class="directory">/usr/lib</filename> for dynamic libraries that are 151 151 needed by programs as they are run. However, if there are libraries in 152 directories other than <filename class="directory">/lib</filename> and 153 <filename class="directory">/usr/lib</filename>, these need to be 152 directories other than <filename class="directory">/lib</filename>, 153 <filename class="directory">/lib64</filename>, 154 <filename class="directory">/usr/lib</filename>, and 155 <filename class="directory">/usr/lib64</filename>, these need to be 154 156 added to the <filename>/etc/ld.so.conf</filename> file in order 155 157 for the dynamic loader to find them. Some directories that are commonly -
BOOK/final-system/x86_64-64/grub.xml
re47ec16 r6bb43b3 64 64 65 65 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" 66 href="../x86 /grub.xml"66 href="../x86_64/grub.xml" 67 67 xpointer="xpointer(//*[@os='i'])"/> 68 68 69 69 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" 70 href="../x86 /grub.xml"70 href="../x86_64/grub.xml" 71 71 xpointer="xpointer(//*[@os='j'])"/> 72 72 -
BOOK/final-system/x86_64/grub.xml
re47ec16 r6bb43b3 51 51 cp /usr/lib/grub/x86_64-pc/stage{1,2} /boot/grub</userinput></screen> 52 52 53 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" 54 href="../x86/grub.xml" 55 xpointer="xpointer(//*[@os='i'])"/> 53 <para os="i">Replace <filename class="directory">x86_64-pc</filename> with whatever 54 directory is appropriate for the hardware in use.</para> 56 55 57 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" 58 href="../x86/grub.xml" 59 xpointer="xpointer(//*[@os='j'])"/> 56 <para os="j">The <filename class="directory">x86_64-pc</filename> directory 57 contains a number of <filename>*stage1_5</filename> files, different 58 ones for different file systems. Review the files available and copy 59 the appropriate ones to the <filename 60 class="directory">/boot/grub</filename> directory. Most users will 61 copy the <filename>e2fs_stage1_5</filename> and/or 62 <filename>reiserfs_stage1_5</filename> files.</para> 60 63 61 64 </sect2> -
BOOK/temp-system/common/bash.xml
re47ec16 r6bb43b3 23 23 <title>Installation of Bash</title> 24 24 25 <para os="aa">Fix a minor issue during the build when cross-comp ling:</para>25 <para os="aa">Fix a minor issue during the build when cross-compiling:</para> 26 26 27 27 <screen os="ab"><userinput>cp Makefile.in Makefile.in.orig … … 58 58 <para>This options turns off the use of Bash's memory allocation 59 59 (malloc) function which is known to cause segmentation faults. 60 By turning this option off, Bash will use the malloc function s60 By turning this option off, Bash will use the malloc function 61 61 from Glibc which are more stable.</para> 62 62 </listitem> -
BOOK/temp-system/common/choose.xml
re47ec16 r6bb43b3 12 12 13 13 <para>TO BE WRITTEN... 14 Introductory text about the dif erecies between the boot and chroot method14 Introductory text about the differencies between the boot and chroot methods 15 15 and who can use any of them or who can use only one.</para> 16 16 -
BOOK/temp-system/common/gettext.xml
re47ec16 r6bb43b3 42 42 <para>This flag tells Gettext not to build the <filename 43 43 class="libraryfile">asprintf</filename> library. Because 44 nothing in this chapter or the next requires this library a45 nd Gettext gets rebuilt later, exclude it to save time44 nothing in this chapter or the next requires this library 45 and Gettext gets rebuilt later, exclude it to save time 46 46 and space.</para> 47 47 </listitem> -
BOOK/temp-system/common/gzip.xml
re47ec16 r6bb43b3 52 52 xpointer="xpointer(//*[@os='h'])"/> 53 53 54 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"55 href="../../final-system/common/gzip.xml"56 xpointer="xpointer(//*[@os='i'])"/>57 58 54 </sect2> 59 55 -
BOOK/temp-system/common/zlib.xml
re47ec16 r6bb43b3 39 39 <term><parameter>--shared</parameter></term> 40 40 <listitem> 41 <para>Tells zlib to build shared librar ies.</para>41 <para>Tells zlib to build shared library.</para> 42 42 </listitem> 43 43 </varlistentry> -
BOOK/temp-system/multilib/binutils.xml
re47ec16 r6bb43b3 67 67 <term><parameter>CC="${CC} ${BUILD64}"</parameter></term> 68 68 <listitem> 69 <para>Tell the compiler to use our 64 bit Build flags.</para>69 <para>Tell the compiler to use our 64 bits Build flags.</para> 70 70 </listitem> 71 71 </varlistentry> -
BOOK/temp-system/multilib/gettext.xml
re47ec16 r6bb43b3 47 47 <listitem> 48 48 <para>Forces Gettext is use our Target Architecture g++ compiler 49 with our 32 bit build flags.</para>49 with our 32 bits build flags.</para> 50 50 </listitem> 51 51 </varlistentry> -
BOOK/temp-system/multilib/gzip.xml
re47ec16 r6bb43b3 54 54 xpointer="xpointer(//*[@os='h'])"/> 55 55 56 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude"57 href="../common/gzip.xml"58 xpointer="xpointer(//*[@os='i'])"/>59 60 56 </sect2> 61 57 -
BOOK/temp-system/multilib/zlib.xml
re47ec16 r6bb43b3 41 41 <listitem> 42 42 <para>Tell ZLIB to use our architecutre specific gcc and use 43 our 32 bit build flags.</para>43 our 32 bits build flags.</para> 44 44 </listitem> 45 45 </varlistentry> -
BOOK/temp-system/x86/gcc.xml
re47ec16 r6bb43b3 61 61 gcc/Makefile.in.orig > gcc/Makefile.in</userinput></screen> 62 62 63 <para os="ch">Use our cross-comp lier instead of the one GCC builds, named63 <para os="ch">Use our cross-compiler instead of the one GCC builds, named 64 64 <command>xgcc</command>:</para> 65 65 -
BOOK/temp-tools/common/expect.xml
re47ec16 r6bb43b3 48 48 <title>The meaning of the configure options:</title> 49 49 50 <varlistentry >50 <varlistentry os="e1"> 51 51 <term><parameter>--with-tcl=/tools/lib</parameter></term> 52 52 <listitem> … … 56 56 </varlistentry> 57 57 58 <varlistentry >58 <varlistentry os="e2"> 59 59 <term><parameter>--with-tclinclude=/tools/include</parameter></term> 60 60 <listitem> … … 66 66 </varlistentry> 67 67 68 <varlistentry >68 <varlistentry os="e3"> 69 69 <term><parameter>--with-x=no</parameter></term> 70 70 <listitem> -
BOOK/temp-tools/common/texinfo.xml
re47ec16 r6bb43b3 43 43 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" 44 44 href="../../final-system/common/texinfo.xml" 45 xpointer="xpointer(//*[@os=' f'])"/>45 xpointer="xpointer(//*[@os='g'])"/> 46 46 47 47 </sect2> -
BOOK/temp-tools/multilib/expect-64bit.xml
re47ec16 r6bb43b3 38 38 --libdir=/tools/lib64 --with-x=no</userinput></screen> 39 39 40 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" 41 href="../common/expect.xml" 42 xpointer="xpointer(//*[@os='e'])"/> 40 <variablelist os="e"> 41 <title>The meaning of the configure options:</title> 42 43 <varlistentry os="e1"> 44 <term><parameter>--with-tcl=/tools/lib64</parameter></term> 45 <listitem> 46 <para>This ensures that the configure script finds the Tcl 47 installation in the temporary temp-tools location.</para> 48 </listitem> 49 </varlistentry> 50 51 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" 52 href="../common/expect.xml" 53 xpointer="xpointer(//*[@os='e2'])"/> 54 55 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" 56 href="../common/expect.xml" 57 xpointer="xpointer(//*[@os='e3'])"/> 58 59 </variablelist> 43 60 44 61 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" -
BOOK/temp-tools/multilib/texinfo.xml
re47ec16 r6bb43b3 43 43 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" 44 44 href="../common/texinfo.xml" 45 xpointer="xpointer(//*[@os=' f'])"/>45 xpointer="xpointer(//*[@os='g'])"/> 46 46 47 47 </sect2>
Note:
See TracChangeset
for help on using the changeset viewer.