diff options
Diffstat (limited to 'chapter07')
-rw-r--r-- | chapter07/chroot.xml | 14 | ||||
-rw-r--r-- | chapter07/createfiles.xml | 21 | ||||
-rw-r--r-- | chapter07/kernfs.xml | 4 | ||||
-rw-r--r-- | chapter07/perl.xml | 32 |
4 files changed, 64 insertions, 7 deletions
diff --git a/chapter07/chroot.xml b/chapter07/chroot.xml index b8de03dc2..70f5717dd 100644 --- a/chapter07/chroot.xml +++ b/chapter07/chroot.xml @@ -23,8 +23,20 @@ TERM="$TERM" \ PS1='(lfs chroot) \u:\w\$ ' \ PATH=/usr/bin:/usr/sbin \ + MAKEFLAGS="-j<replaceable>$(nproc)</replaceable>" \ + TESTSUITEFLAGS="-j<replaceable>$(nproc)</replaceable>" \ /bin/bash --login</userinput></screen> + <para> + If you don't want to use all available logical cores, replace + <replaceable>$(nproc)</replaceable> with the number of logical cores you + want to use for building packages in this chapter and the following + chapters. The test suites of some packages (notably Autoconf, Libtool, + and Tar) in &ch-final; are not affected by <envar>MAKEFLAGS</envar>, they + use a <envar>TESTSUITEFLAGS</envar> environment variable instead. We + set that here as well for running these test suites with multiple cores. + </para> + <para>The <parameter>-i</parameter> option given to the <command>env</command> command will clear all the variables in the chroot environment. After that, only the <envar>HOME</envar>, <envar>TERM</envar>, <envar>PS1</envar>, and @@ -47,7 +59,7 @@ in the <envar>PATH</envar>. This means that the cross toolchain will no longer be used.</para> - <para>Note that the <command>bash</command> prompt will say + <para>Also note that the <command>bash</command> prompt will say <computeroutput>I have no name!</computeroutput> This is normal because the <filename>/etc/passwd</filename> file has not been created yet.</para> diff --git a/chapter07/createfiles.xml b/chapter07/createfiles.xml index 2b752b944..9047fa744 100644 --- a/chapter07/createfiles.xml +++ b/chapter07/createfiles.xml @@ -215,8 +215,23 @@ chmod -v 600 /var/log/btmp</userinput></screen> failed login attempts. The <filename>/var/log/btmp</filename> file records the bad login attempts.</para> - <note><para>The <filename>/run/utmp</filename> file records the users that - are currently logged in. This file is created dynamically in the boot - scripts.</para></note> + <!-- systemd no longer creates this --> + <note revision='sysv'><para>The <filename>/run/utmp</filename> file + records the users that are currently logged in. This file is created + dynamically in the boot scripts.</para></note> + + <!-- AFAIK they are not vital for system function, users requiring such + info should rely on systemd-logind or elogind or some custom PAM + module. Maybe we can stop to create them at all. --> + <note> + <para> + The <phrase revision='sysv'><filename>utmp</filename>, + </phrase><filename>wtmp</filename>, <filename>btmp</filename>, and + <filename>lastlog</filename> files use 32-bit integers for timestamps + and they'll be fundamentally broken after year 2038. Many packages + have stopped using them and other packages are going to stop using + them. It is probably best to consider them deprecated. + </para> + </note> </sect1> diff --git a/chapter07/kernfs.xml b/chapter07/kernfs.xml index b5b0762bb..049f6e804 100644 --- a/chapter07/kernfs.xml +++ b/chapter07/kernfs.xml @@ -107,9 +107,9 @@ mount -vt tmpfs tmpfs $LFS/run</userinput></screen> we must explicitly mount a tmpfs:</para> <screen><userinput>if [ -h $LFS/dev/shm ]; then - mkdir -pv $LFS/$(readlink $LFS/dev/shm) + (cd $LFS/dev; mkdir $(readlink shm)) else - mount -t tmpfs -o nosuid,nodev tmpfs $LFS/dev/shm + mount -vt tmpfs -o nosuid,nodev tmpfs $LFS/dev/shm fi</userinput></screen> </sect2> diff --git a/chapter07/perl.xml b/chapter07/perl.xml index ac0407087..c8e3d7c98 100644 --- a/chapter07/perl.xml +++ b/chapter07/perl.xml @@ -57,7 +57,8 @@ -Dvendorarch=/usr/lib/perl5/&perl-version-min;/vendor_perl</userinput></screen> <variablelist> - <title>The meaning of the new Configure options:</title> + <title>The meaning of the Configure options:</title> + <varlistentry> <term><parameter>-des</parameter></term> <listitem> @@ -67,6 +68,35 @@ </listitem> </varlistentry> + <varlistentry> + <term><parameter>-Dvendorprefix=/usr</parameter></term> + <listitem> + <para>This ensures <command>perl</command> knows how to + tell packages where they should install their Perl modules.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><parameter>-Duseshrplib</parameter></term> + <listitem> + <para>Build <systemitem class='library'>libperl</systemitem> + needed by some Perl modules as a shared library, instead of + a static library.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><parameter>-Dprivlib,-Darchlib,-Dsitelib,...</parameter></term> + <listitem> + <para>These settings define where Perl looks for installed + modules. The LFS editors chose to put them in a directory structure + based on the MAJOR.MINOR version of Perl (&perl-version-min;) which + allows upgrading Perl to newer patch levels (the patch level is + the last dot separated part in the full version string like + &perl-version;) without reinstalling all of the modules.</para> + </listitem> + </varlistentry> + </variablelist> <para>Compile the package:</para> |