- Timestamp:
- 09/27/2003 03:38:15 AM (21 years ago)
- 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.0, 6.1, 6.1.1, 6.3, 6.4, 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, v5_0, v5_1, v5_1_1, 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:
- ad3db0e
- Parents:
- 72b845e6
- Location:
- chapter06
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
chapter06/adjustingtoolchain.xml
r72b845e6 r7e602eab 47 47 output of the last command will be:</para> 48 48 49 <para><screen>[Requesting program interpreter: /lib/ld-linux.so.2] 50 </screen></para> 49 <blockquote><screen>[Requesting program interpreter: /lib/ld-linux.so.2]</screen></blockquote> 51 50 52 51 <para>If you did not receive the output as shown above, then something is -
chapter06/binutils-inst.xml
r72b845e6 r7e602eab 3 3 <sect2><title>Installation of Binutils</title> 4 4 5 <para>Now is an appropriate time to verify that your pseudo terminals (PTYs) are 6 working properly inside the chroot environment. We will again quickly check that 7 everything is set up correctly by performing a simple test:</para> 8 9 <para><screen><userinput>expect -c "spawn ls"</userinput></screen></para> 10 11 <para>If you receive the message:</para> 12 13 <blockquote><screen>The system has no more ptys. Ask your system administrator to create more.</screen></blockquote> 14 15 <para>Your chroot environment is not set up for proper PTY operation. In this 16 case there is no point in running the test suites for Binutils and GCC until you 17 are able to resolve the issue. Please refer back to the "Mounting the proc and 18 devpts file systems" and "Creating devices (Makedev)" sections and perform the 19 recommended steps to fix the problem.</para> 20 5 21 <note><para>The test suite for Binutils in this section is considered 6 <emphasis>critical</emphasis>. Do not skip it under any circumstances.</para>7 </note>22 <emphasis>critical</emphasis>. Our advice is to not skip it under any 23 circumstances.</para> </note> 8 24 9 25 <para>This package is known to behave badly when you have changed its -
chapter06/gcc-inst.xml
r72b845e6 r7e602eab 5 5 6 6 <note><para>The test suite for GCC in this section is considered <emphasis> 7 critical</emphasis>. Do not skip it under any circumstances.</para></note> 7 critical</emphasis>. Our advice is to not skip it under any 8 circumstances.</para></note> 8 9 9 10 <para>This package is known to behave badly when you have changed its … … 43 44 <para><screen><userinput>make</userinput></screen></para> 44 45 46 <note><para>At this point it is strongly recommended to repeat the sanity check 47 we performed earlier in the chapter. Refer back to the "Re-adjusting the 48 toolchain" section and repeat the check. If the results are wrong then most 49 likely, you erroneously applied the GCC Specs patch from Chapter 5.</para></note> 50 45 51 <para>Test the results, but don't stop at errors (you'll remember the few 46 52 known ones):</para> -
chapter06/glibc-inst.xml
r72b845e6 r7e602eab 11 11 12 12 <note><para>The test suite for Glibc in this section is considered <emphasis> 13 critical</emphasis>. Do not skip it under any circumstances.</para></note> 13 critical</emphasis>. Our advice is to not skip it under any 14 circumstances.</para></note> 14 15 15 16 <para>Before starting to build Glibc, remember to unpack the Glibc-linuxthreads -
chapter06/makedev-inst.xml
r72b845e6 r7e602eab 36 36 information.</para> 37 37 38 <para>Also, if earlier in Chapter 6 you were unable to mount the devpts 39 filesystem because your host uses devfs, we will now mount that devfs 40 system over top of this new static /dev structure. This poses no problems, 41 as the device nodes created are still present, they are just hidden by the 42 new devfs filesystem. Run the following command to mount devfs, if necessary: 43 </para> 38 <para>Additionally, if you were unable to mount the devpts filesystem earlier in 39 the "Mounting the proc and devpts file systems" section, now is the time to 40 try the alternatives. If your kernel supports the devfs file system, run the 41 following command to mount devfs:</para> 44 42 45 43 <para><screen><userinput>mount -t devfs devfs /dev</userinput></screen></para> 46 44 45 <para>This will mount the devfs file system over the top of the new static 46 <filename>/dev</filename> structure. This poses no problems, as the device nodes 47 created are still present, they are just hidden by the new devfs 48 filesystem.</para> 49 50 <para>If this still doesn't work, the only option left is to use the MAKEDEV 51 script to create the ptyXX and ttyXX range of files that would otherwise not be 52 needed. Ensure you are still in the <filename>/dev</filename> directory then run 53 <userinput>./MAKEDEV -v pty</userinput>. The downside of this is, we are 54 creating an extra 512 device special files which will not be needed when we 55 finally boot into the finished LFS system.</para> 56 47 57 </sect2> 48 58 -
chapter06/mountproc.xml
r72b845e6 r7e602eab 3 3 <?dbhtml filename="proc.html" dir="chapter06"?> 4 4 5 <para>In order for certain programs to function properly, the proc and devpts6 file systems must be available within the chroot environment. 7 As a file system can be mounted as many times and in as many places 8 as you like, it's not a problem that the these file systems are already 9 mounted on your host system -- especially so because they are virtual 10 file systems.</para>5 <para>In order for certain programs to function properly, the 6 <emphasis>proc</emphasis> and <emphasis>devpts</emphasis> file systems must be 7 available within the chroot environment. A file system can be mounted as many 8 times and in as many places as you like, thus it's not a problem that the these 9 file systems are already mounted on your host system -- especially so because 10 they are virtual file systems.</para> 11 11 12 <para>The proc file system is mounted under 13 <filename class="directory">/proc</filename> by running the 14 following command:</para> 12 <para>The <emphasis>proc</emphasis> file system is the process information 13 pseudo-filesystem that the kernel uses to provide status information about the 14 status of the system.</para> 15 16 <para>The proc file system is mounted on 17 <filename class="directory">/proc</filename> by running the following 18 command:</para> 15 19 16 20 <para><screen><userinput>mount proc /proc -t proc</userinput></screen></para> 17 18 <para>The devpts file system is mounted to <filename class="directory">/dev/pts19 </filename> by running:</para>20 21 <para><screen><userinput>mount devpts /dev/pts -t devpts</userinput></screen>22 </para>23 24 <para>Should this command fail with an error to the effect of:</para>25 26 <blockquote><screen>filesystem devpts not supported by kernel</screen></blockquote>27 28 <para>This most likely means that your host system uses devfs, and does not29 have the necessary support for devpts in the kernel. To work around this30 problem, we will place the host's devfs system on top of the new /dev31 structure later, in the section where we run the MAKEDEV script.</para>32 21 33 22 <para>You might get warning messages from the mount command, such as … … 41 30 will be successful and that's all we care about at this point.</para> 42 31 43 <para>The last error (not enough memory) doesn't always show up. It depends 44 on your system configuration (such as the host system's Glibc version that was 45 used to compile the mount program with).</para> 32 <para>The <emphasis>devpts</emphasis> file system was mentioned earlier and is 33 now the most common way for pseudo terminals (PTYs) to be implemented.</para> 46 34 47 <para>Remember, if for any reason you stop working on your LFS, and 48 start again later, it's important to check that these filesystems are still 49 mounted inside the chroot environment. Otherwise, some programs might 50 end up compiled incorrectly.</para> 35 <para>The devpts file system is mounted on 36 <filename class="directory">/dev/pts</filename> by running:</para> 37 38 <para><screen><userinput>mount devpts /dev/pts -t devpts</userinput></screen></para> 39 40 <para>Should this command fail with an error to the effect of:</para> 41 42 <blockquote><screen>filesystem devpts not supported by kernel</screen></blockquote> 43 44 <para>The most likely cause is that your host system's kernel was compiled 45 without support for the devpts file system. You can check which file systems 46 your kernel supports by peeking into its internals with a command such as 47 <userinput>cat /proc/filesystems</userinput>. If for some reason, devpts is 48 listed there but the mount still doesn't work, check instead for a different 49 file system variety called <emphasis>devfs</emphasis>. If devfs is listed then 50 we'll be able to work around the problem by mounting the host's devfs file 51 system on top of the new <filename>/dev</filename> structure which we'll create 52 later on in the "Creating devices (Makedev)" section. If devfs was not listed, 53 do not worry because there is yet a third way to get PTYs working inside the 54 chroot environment. We'll cover this shortly in the aforementioned Makedev 55 section.</para> 56 57 <para>Remember, if for any reason you stop working on your LFS, and start again 58 later, it's important to check that these filesystems are still mounted inside 59 the chroot environment, otherwise problems are likely to occur.</para> 51 60 52 61 </sect1>
Note:
See TracChangeset
for help on using the changeset viewer.