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.
- Remove an extra whitespace breaking shebang (though our instruction
does not use the shebang).
- Adjust the regex to allow several letters after the version number,
and match grep version to the text.
- Raise Coreutils to 7.0 (for the host requirement script itself). It
was released in 2008 so I don't think it's a problem.
- Add a colon after the text "Compiler check" to match "Aliases:".
- Use grep -o instead of sed to make kernel version check simpler.
This update changes the default number of cores used to build
packages to 4. A section is also added to host requirements
to recommend a minumum number of cores and memory size.
For example, a swap partition does not contain any FS. And, if you want
to clone a partition, you can use
dd if=/dev/<old-partition> of=/dev/<new-partition>
then it's unnecessary to create a FS on new-partition before operation.
This is sometimes faster than creating a new FS, mounting both
partition, then "cp -av" if the old-partition contains many small files.
A requirement on Glibc is not needed at all. It's enough once
$LFS_TGT-* is runnable. A test on Alpine (using musl as libc) has
practically proved this.
We'd raised binutils and GCC requirements mostly for Glibc. But now
Glibc is cross compiled by our cross toolchain with latest GCC and
binutils release, the host tools really does not matter. In the Glibc
building process only two .c files are build with BUILD_CC (the C
compiler from the host), and they are highly conservative (mostly
unchanged for years).
Binutils does not have too much requirement on host GCC & Binutils:
there is even a Binutils commit in this week fixing a build failure with
GCC-4.2!
So the most strict limitation comes from GCC. GCC requires host GCC to
support ISO C++ 11 so GCC >= 4.8 is needed. And both GCC-4.8 and latest
GCC-11.2 claims a requirement for Binutils-2.12 (for x86_64) or 2.13.1
(for 32-bit x86), so we make minimal Binutils version 2.13.1.
And, host bzip2 is never used now: the only .tar.bz2 files are elfutils
and python docs. They are not decompressed before entering chroot.
Update to meson-0.58.0
Update to systemd-248
Update to gcc-11.1.0
Update to linux-5.12.1
Update to iproute2-5.12.0
Update to Python-3.9.5
Make /bin, /sbin, and /lib symlinks to their counterparts in /usr.
Thanks again for a significant portion of this work goes to Xi, I only
really merged it and made a couple of modifications for my updates. To
LFS 11.x we go!
Update to glibc-2.29.
Update to libpipeline-1.5.1.
Update to linux-4.20.6.
Update to meson-0.49.1.
Update to mpfr-4.0.2.
Update to ninja-1.9.0.
git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@11506 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
Ensure grep tests run to completion.
Run gcc tests in Chapter 6 as a non-privileged user.
Move shadow to before gcc so the gcc tests can
use su to run as a non-privileged user.
Add perl Configure options in Chapter 5 to ensure
no host system libraries are used.
Update minimum make version to 4.0 required by glibc-2.28.
Update bzip2 url to a new location.
Update to linux-4.17.14.
git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@11446 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689