Changeset 7e602eab


Ignore:
Timestamp:
09/27/2003 03:38:15 AM (21 years ago)
Author:
Greg Schafer <greg@…>
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
Message:

Chapter 6 - Clarify remaining PTY issues.

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

Files:
9 edited

Legend:

Unmodified
Added
Removed
  • chapter05/gcc-pass2-inst.xml

    r72b845e6 r7e602eab  
    1717<para>If you receive the message:</para>
    1818
    19 <para><screen>The system has no more ptys.  Ask your system administrator to create more.</screen></para>
     19<blockquote><screen>The system has no more ptys.  Ask your system administrator to create more.</screen></blockquote>
    2020
    2121<para>Your host distribution is not set up for proper PTY operation. In this
  • chapter05/lockingglibc.xml

    r72b845e6 r7e602eab  
    5454output of the last command will be:</para>
    5555
    56 <para><screen>[Requesting program interpreter: /tools/lib/ld-linux.so.2]
    57 </screen></para>
     56<blockquote><screen>[Requesting program interpreter: /tools/lib/ld-linux.so.2]</screen></blockquote>
    5857
    5958<para>If you did not receive the output as shown above, then something is
  • chapter06/adjustingtoolchain.xml

    r72b845e6 r7e602eab  
    4747output of the last command will be:</para>
    4848
    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>
    5150
    5251<para>If you did not receive the output as shown above, then something is
  • chapter06/binutils-inst.xml

    r72b845e6 r7e602eab  
    33<sect2><title>Installation of Binutils</title>
    44
     5<para>Now is an appropriate time to verify that your pseudo terminals (PTYs) are
     6working properly inside the chroot environment. We will again quickly check that
     7everything 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
     16case there is no point in running the test suites for Binutils and GCC until you
     17are able to resolve the issue. Please refer back to the "Mounting the proc and
     18devpts file systems" and "Creating devices (Makedev)" sections and perform the
     19recommended steps to fix the problem.</para>
     20
    521<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
     23circumstances.</para> </note>
    824
    925<para>This package is known to behave badly when you have changed its
  • chapter06/gcc-inst.xml

    r72b845e6 r7e602eab  
    55
    66<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>
     7critical</emphasis>. Our advice is to not skip it under any
     8circumstances.</para></note>
    89
    910<para>This package is known to behave badly when you have changed its
     
    4344<para><screen><userinput>make</userinput></screen></para>
    4445
     46<note><para>At this point it is strongly recommended to repeat the sanity check
     47we performed earlier in the chapter. Refer back to the "Re-adjusting the
     48toolchain" section and repeat the check. If the results are wrong then most
     49likely, you erroneously applied the GCC Specs patch from Chapter 5.</para></note>
     50
    4551<para>Test the results, but don't stop at errors (you'll remember the few
    4652known ones):</para>
  • chapter06/glibc-inst.xml

    r72b845e6 r7e602eab  
    1111
    1212<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>
     13critical</emphasis>. Our advice is to not skip it under any
     14circumstances.</para></note>
    1415
    1516<para>Before starting to build Glibc, remember to unpack the Glibc-linuxthreads
  • chapter06/makedev-inst.xml

    r72b845e6 r7e602eab  
    3636information.</para>
    3737
    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
     39the "Mounting the proc and devpts file systems" section, now is the time to
     40try the alternatives. If your kernel supports the devfs file system, run the
     41following command to mount devfs:</para>
    4442
    4543<para><screen><userinput>mount -t devfs devfs /dev</userinput></screen></para>
    4644
     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
     47created are still present, they are just hidden by the new devfs
     48filesystem.</para>
     49
     50<para>If this still doesn't work, the only option left is to use the MAKEDEV
     51script to create the ptyXX and ttyXX range of files that would otherwise not be
     52needed. 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
     54creating an extra 512 device special files which will not be needed when we
     55finally boot into the finished LFS system.</para>
     56
    4757</sect2>
    4858
  • chapter06/mountproc.xml

    r72b845e6 r7e602eab  
    33<?dbhtml filename="proc.html" dir="chapter06"?>
    44
    5 <para>In order for certain programs to function properly, the proc and devpts
    6 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
     7available within the chroot environment. A file system can be mounted as many
     8times and in as many places as you like, thus it's not a problem that the these
     9file systems are already mounted on your host system -- especially so because
     10they are virtual file systems.</para>
    1111
    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
     13pseudo-filesystem that the kernel uses to provide status information about the
     14status of the system.</para>
     15
     16<para>The proc file system is mounted on
     17<filename class="directory">/proc</filename> by running the following
     18command:</para>
    1519
    1620<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/pts
    19 </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 not
    29 have the necessary support for devpts in the kernel.  To work around this
    30 problem, we will place the host's devfs system on top of the new /dev
    31 structure later, in the section where we run the MAKEDEV script.</para>
    3221
    3322<para>You might get warning messages from the mount command, such as
     
    4130will be successful and that's all we care about at this point.</para>
    4231
    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
     33now the most common way for pseudo terminals (PTYs) to be implemented.</para>
    4634
    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
     45without support for the devpts file system. You can check which file systems
     46your kernel supports by peeking into its internals with a command such as
     47<userinput>cat /proc/filesystems</userinput>. If for some reason, devpts is
     48listed there but the mount still doesn't work, check instead for a different
     49file system variety called <emphasis>devfs</emphasis>. If devfs is listed then
     50we'll be able to work around the problem by mounting the host's devfs file
     51system on top of the new <filename>/dev</filename> structure which we'll create
     52later on in the "Creating devices (Makedev)" section. If devfs was not listed,
     53do not worry because there is yet a third way to get PTYs working inside the
     54chroot environment. We'll cover this shortly in the aforementioned Makedev
     55section.</para>
     56
     57<para>Remember, if for any reason you stop working on your LFS, and start again
     58later, it's important to check that these filesystems are still mounted inside
     59the chroot environment, otherwise problems are likely to occur.</para>
    5160
    5261</sect1>
  • index.xml

    r72b845e6 r7e602eab  
    44
    55
    6 <!ENTITY version "20030926">
    7 <!ENTITY releasedate "September 26th, 2003">
     6<!ENTITY version "20030927">
     7<!ENTITY releasedate "September 27th, 2003">
    88<!ENTITY nbsp " ">
    99
Note: See TracChangeset for help on using the changeset viewer.