Changeset 835e40c


Ignore:
Timestamp:
03/08/2023 03:25:48 AM (14 months ago)
Author:
Xi Ruoyao <xry111@…>
Branches:
12.0, 12.0-rc1, 12.1, 12.1-rc1, bdubbs/gcc13, multilib, renodr/libudev-from-systemd, trunk, xry111/arm64, xry111/arm64-12.0, xry111/clfs-ng, xry111/loongarch, xry111/loongarch-12.0, xry111/loongarch-12.1, xry111/mips64el, xry111/update-glibc
Children:
7160772, a8c261b, d0a9bda4
Parents:
e0fb109
git-author:
Xi Ruoyao <xry111@…> (03/08/2023 03:21:34 AM)
git-committer:
Xi Ruoyao <xry111@…> (03/08/2023 03:25:48 AM)
Message:

Adjustments for /dev/pts

  1. Declare UNIX98 PTY requirement in host system requirements and check it in the script. All desktop or server distros should have it now, but let's stop anyone from building on a embedded distro w/o UNIX98 PTY early...
  2. Use Expect test suite as a guard against mishandled $LFS/dev/pts.
  3. No need to test the basic function of Expect in Binutils anymore because if ($LFS)/dev/pts is not good, the Expect test suite would have failed.
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • chapter02/hostreqs.xml

    re0fb109 r835e40c  
    105105      compiling the kernel and configuring the boot loader (assuming the host
    106106      uses GRUB) are located in <xref linkend="chapter-bootable"/>.</para>
     107
     108      <para>We require the host kernel to support UNIX 98 pseudo terminal
     109      (PTY).  It should be enabled on all desktop or server distros shipping
     110      Linux &min-kernel; or a newer kernel. If you are building a custom
     111      host kernel, ensure <option>CONFIG_UNIX98_PTYS</option> is set to
     112      <literal>y</literal> in the kernel configuration.</para>
    107113
    108114    </listitem>
     
    231237ver_kernel &min-kernel;
    232238
     239if mount | grep -q 'devpts on /dev/pts' &amp;&amp; [ -e /dev/ptmx ]
     240then echo "OK:    Linux Kernel supports UNIX 98 PTY";
     241else echo "ERROR: Linux Kernel does NOT support UNIX 98 PTY"; fi
     242
    233243alias_check() {
    234244   if $1 --version 2>&amp;1 | grep -qi $2
  • chapter08/binutils.xml

    re0fb109 r835e40c  
    4242    <title>Installation of Binutils</title>
    4343
    44     <para>Verify that the PTYs are working properly inside the chroot
    45     environment by performing a simple test:</para>
    46 
    47 <screen><userinput remap="test">expect -c "spawn ls"</userinput></screen>
    48 
    49     <para>This command should output the following:</para>
    50 
    51 <screen><computeroutput>spawn ls</computeroutput></screen>
    52 
    53     <para>If, instead, the output includes the message below, then the environment
    54     is not set up for proper PTY operation.  This issue needs to be resolved before
    55     running the test suites for Binutils and GCC:</para>
    56 
    57 <screen><computeroutput>The system has no more ptys.
    58 Ask your system administrator to create more.</computeroutput></screen>
    59 <!-- Fixed in binutils-2.39
    60     <para>
    61       Now make a fix identified upstream that affects building some packages:
    62      </para>
    63 
    64 <screen><userinput remap="pre">sed -e '/R_386_TLS_LE /i \   || (TYPE) == R_386_TLS_IE \\' \
    65     -i ./bfd/elfxx-x86.h</userinput></screen>
    66 -->
    6744    <para>The Binutils documentation recommends building Binutils
    6845    in a dedicated build directory:</para>
  • chapter08/expect.xml

    re0fb109 r835e40c  
    8383<screen><userinput remap="make">make</userinput></screen>
    8484
     85    <important>
     86      <para>The test suite for Expect is considered critical.
     87      Do not skip it under any circumstances.</para>
     88    </important>
     89
    8590    <para>To test the results, issue:</para>
    8691
    8792<screen><userinput remap="test">make test</userinput></screen>
     93
     94    <para>If any test fails with the message
     95    <quote><computeroutput>The system has no more ptys.  Ask your system
     96    administrator to create more</computeroutput></quote>, it indicates
     97    you've not mounted the
     98    <systemitem class="filesystem">devpts</systemitem> file system
     99    correctly.  You need to exit from the chroot environment, read
     100    <xref linkend='ch-tools-kernfs'/> again, and ensure the
     101    <systemitem class="filesystem">devpts</systemitem> file system (and
     102    other virtual kernel file systems) mounted correctly.  Then reenter
     103    the chroot environment following <xref linkend='ch-tools-chroot'/>.
     104    This issue needs to be resolved before continuing.</para>
    88105
    89106    <para>Install the package:</para>
Note: See TracChangeset for help on using the changeset viewer.