- Timestamp:
- 05/12/2021 04:24:11 AM (3 years ago)
- Branches:
- 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, arm, bdubbs/gcc13, ml-11.0, multilib, renodr/libudev-from-systemd, s6-init, trunk, 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:
- 5ed37b3, c034573, df462a9
- Parents:
- 0f7d4cb
- Location:
- chapter08
- Files:
-
- 34 edited
Legend:
- Unmodified
- Added
- Removed
-
chapter08/acl.xml
r0f7d4cb rd7a9421 45 45 <para>Prepare Acl for compilation:</para> 46 46 47 <screen revision="sysv"><userinput remap="configure">./configure --prefix=/usr \ 48 --bindir=/bin \ 47 <screen><userinput remap="configure">./configure --prefix=/usr \ 49 48 --disable-static \ 50 --libexecdir=/usr/lib \51 --docdir=/usr/share/doc/acl-&acl-version;</userinput></screen>52 53 <screen revision="systemd"><userinput remap="configure">./configure --prefix=/usr \54 --disable-static \55 --libexecdir=/usr/lib \56 49 --docdir=/usr/share/doc/acl-&acl-version;</userinput></screen> 57 50 … … 69 62 70 63 <screen><userinput remap="install">make install</userinput></screen> 71 72 <para>The shared library needs to be moved to73 <filename class="directory">/lib</filename>, and as a result the74 <filename class="extension">.so</filename> file in75 <filename class="directory">/usr/lib</filename> will need to be recreated:</para>76 77 <screen><userinput remap="install">mv -v /usr/lib/libacl.so.* /lib78 ln -sfv ../../lib/$(readlink /usr/lib/libacl.so) /usr/lib/libacl.so</userinput></screen>79 64 80 65 </sect2> -
chapter08/adjusting.xml
r0f7d4cb rd7a9421 103 103 <para os="n">The output of the last command should be:</para> 104 104 105 <screen os="o"><computeroutput>attempt to open / lib/libc.so.6 succeeded</computeroutput></screen>105 <screen os="o"><computeroutput>attempt to open /usr/lib/libc.so.6 succeeded</computeroutput></screen> 106 106 107 107 <para os="p">Make sure GCC is using the correct dynamic linker:</para> … … 112 112 platform-specific differences in dynamic linker name):</para> 113 113 114 <screen os="s"><computeroutput>found ld-linux-x86-64.so.2 at / lib/ld-linux-x86-64.so.2</computeroutput></screen>114 <screen os="s"><computeroutput>found ld-linux-x86-64.so.2 at /usr/lib/ld-linux-x86-64.so.2</computeroutput></screen> 115 115 116 116 <para os="t">If the output does not appear as shown above or is not received -
chapter08/attr.xml
r0f7d4cb rd7a9421 44 44 <para>Prepare Attr for compilation:</para> 45 45 46 <screen revision="sysv"><userinput remap="configure">./configure --prefix=/usr \ 47 --bindir=/bin \ 48 --disable-static \ 49 --sysconfdir=/etc \ 50 --docdir=/usr/share/doc/attr-&attr-version;</userinput></screen> 51 52 <screen revision="systemd"><userinput remap="configure">./configure --prefix=/usr \ 46 <screen><userinput remap="configure">./configure --prefix=/usr \ 53 47 --disable-static \ 54 48 --sysconfdir=/etc \ … … 68 62 69 63 <screen><userinput remap="install">make install</userinput></screen> 70 71 <para>The shared library needs to be moved to72 <filename class="directory">/lib</filename>, and as a result the73 <filename class="extension">.so</filename> file in74 <filename class="directory">/usr/lib</filename> will need to be recreated:</para>75 76 <screen><userinput remap="install">mv -v /usr/lib/libattr.so.* /lib77 ln -sfv ../../lib/$(readlink /usr/lib/libattr.so) /usr/lib/libattr.so</userinput></screen>78 64 79 65 </sect2> -
chapter08/bash.xml
r0f7d4cb rd7a9421 85 85 EOF</userinput></screen> 86 86 87 <para>Install the package and move the main executable to 88 <filename class='directory'>/bin</filename>:</para> 87 <para>Install the package:</para> 89 88 90 <screen><userinput remap="install">make install 91 mv -vf /usr/bin/bash /bin</userinput></screen> 89 <screen><userinput remap="install">make install</userinput></screen> 92 90 93 91 <para>Run the newly compiled <command>bash</command> program (replacing the one that is -
chapter08/bzip2.xml
r0f7d4cb rd7a9421 85 85 <screen><userinput remap="install">make PREFIX=/usr install</userinput></screen> 86 86 87 <para>Install the shared library:</para> 88 <screen><userinput remap="install">cp -av libbz2.so.* /usr/lib 89 ln -sv libbz2.so.&bzip2-version; /usr/lib/libbz2.so</userinput></screen> 90 87 91 <para>Install the shared <command>bzip2</command> binary into the 88 <filename class="directory">/bin</filename> directory, make 89 some necessary symbolic links, and clean up:</para> 90 91 <screen><userinput remap="install">cp -v bzip2-shared /bin/bzip2 92 cp -av libbz2.so* /lib 93 ln -sv ../../lib/libbz2.so.1.0 /usr/lib/libbz2.so 94 rm -v /usr/bin/{bunzip2,bzcat,bzip2} 95 ln -sv bzip2 /bin/bunzip2 96 ln -sv bzip2 /bin/bzcat</userinput></screen> 92 <filename class="directory">/bin</filename> directory:</para> 93 94 <screen><userinput remap="install">cp -v bzip2-shared /bin/bzip2</userinput></screen> 97 95 98 96 <para>Remove an useless static library:</para> -
chapter08/coreutils.xml
r0f7d4cb rd7a9421 143 143 <para>Move programs to the locations specified by the FHS:</para> 144 144 145 <screen><userinput remap="install">mv -v /usr/bin/{cat,chgrp,chmod,chown,cp,date,dd,df,echo} /bin 146 mv -v /usr/bin/{false,ln,ls,mkdir,mknod,mv,pwd,rm} /bin 147 mv -v /usr/bin/{rmdir,stty,sync,true,uname} /bin 148 mv -v /usr/bin/chroot /usr/sbin 145 <screen><userinput remap="install">mv -v /usr/bin/chroot /usr/sbin 149 146 mv -v /usr/share/man/man1/chroot.1 /usr/share/man/man8/chroot.8 150 147 sed -i 's/"1"/"8"/' /usr/share/man/man8/chroot.8</userinput></screen> 151 152 <para revision="sysv">Some of the scripts in the LFS-Bootscripts package153 depend on <command>head</command>, <command>nice</command>,154 <command>sleep</command>, and <command>touch</command>. As <filename155 class="directory">/usr</filename> may not be available during the early and156 late stages of booting, those binaries need to be on the root partition to157 maintain FHS compliance:</para>158 159 <screen><userinput remap="install">mv -v /usr/bin/{head,nice,sleep,touch} /bin</userinput></screen>160 148 161 149 </sect2> -
chapter08/dbus.xml
r0f7d4cb rd7a9421 98 98 <screen><userinput remap="install">make install</userinput></screen> 99 99 100 <para>The shared library needs to be moved to101 <filename class="directory">/lib</filename>, and as a result the102 <filename class="extension">.so</filename> file in103 <filename class="directory">/usr/lib</filename> will need to be recreated:</para>104 105 <screen><userinput remap="install">mv -v /usr/lib/libdbus-1.so.* /lib106 ln -sfv ../../lib/$(readlink /usr/lib/libdbus-1.so) /usr/lib/libdbus-1.so</userinput></screen>107 108 100 <para>Create a symlink so that D-Bus and systemd can use the same 109 101 <filename>machine-id</filename> file:</para> -
chapter08/e2fsprogs.xml
r0f7d4cb rd7a9421 54 54 55 55 <screen><userinput remap="configure">../configure --prefix=/usr \ 56 --bindir=/bin \57 --with-root-prefix="" \58 56 --enable-elf-shlibs \ 59 57 --disable-libblkid \ … … 64 62 <variablelist> 65 63 <title>The meaning of the configure options:</title> 66 67 <varlistentry>68 <term><parameter>--with-root-prefix=""</parameter> and69 <parameter>--bindir=/bin</parameter></term>70 <listitem>71 <para>Certain programs (such as the <command>e2fsck</command>72 program) are considered essential programs. When, for example,73 <filename class="directory">/usr</filename> is not mounted, these74 programs still need to be available. They belong in directories75 like <filename class="directory">/lib</filename> and <filename76 class="directory">/sbin</filename>. If this option is not passed77 to configure, the programs are installed into the78 <filename class="directory">/usr</filename> directory.</para>79 </listitem>80 </varlistentry>81 64 82 65 <varlistentry> -
chapter08/eudev.xml
r0f7d4cb rd7a9421 54 54 55 55 <screen><userinput remap="configure">./configure --prefix=/usr \ 56 --bindir=/sbin \57 --sbindir=/sbin \58 --libdir=/usr/lib \59 56 --sysconfdir=/etc \ 60 --libexecdir=/lib \61 --with-rootprefix= \62 --with-rootlibdir=/lib \63 57 --enable-manpages \ 64 58 --disable-static</userinput></screen> … … 71 65 will also be used as a part of installation:</para> 72 66 73 <screen><userinput remap="test">mkdir -pv / lib/udev/rules.d67 <screen><userinput remap="test">mkdir -pv /usr/lib/udev/rules.d 74 68 mkdir -pv /etc/udev/rules.d</userinput></screen> 75 69 … … 104 98 <para>Information about hardware devices is maintained in the 105 99 <filename class="directory">/etc/udev/hwdb.d</filename> and 106 <filename class="directory">/ lib/udev/hwdb.d</filename> directories.100 <filename class="directory">/usr/lib/udev/hwdb.d</filename> directories. 107 101 <application>Eudev</application> needs that information to be compiled 108 102 into a binary database <filename>/etc/udev/hwdb.bin</filename>. Create the … … 125 119 126 120 <seglistitem> 127 <seg><!-- These are in / lib/udev and not to be called by the user:121 <seg><!-- These are in /usr/lib/udev and not to be called by the user: 128 122 accelerometer, ata_id, cdrom_id, collect, mtd_probe, 129 123 scsi_id, v4l_id,--> udevadm and udevd</seg> … … 131 125 <seg>libudev.so</seg> 132 126 133 <seg>/etc/udev, / lib/udev, and /usr/share/doc/udev-&udev-lfs-version;</seg>127 <seg>/etc/udev, /usr/lib/udev, and /usr/share/doc/udev-&udev-lfs-version;</seg> 134 128 </seglistitem> 135 129 </segmentedlist> -
chapter08/file.xml
r0f7d4cb rd7a9421 58 58 <screen><userinput remap="install">make install</userinput></screen> 59 59 60 <para><command>/bin/more</command> from util-linux will link to61 <filename class="libraryfile">libmagic.so</filename>, so the shared62 library should be moved to <filename class="directory">/lib</filename>,63 and as a result the64 <filename class="extension">.so</filename> file in65 <filename class="directory">/usr/lib</filename> will need to be recreated:</para>66 67 <screen><userinput remap="install">mv -v /usr/lib/libmagic.so.* /lib68 ln -sfv ../../lib/$(readlink /usr/lib/libmagic.so) /usr/lib/libmagic.so</userinput></screen>69 70 60 </sect2> 71 61 -
chapter08/findutils.xml
r0f7d4cb rd7a9421 75 75 <screen><userinput remap="install">make install</userinput></screen> 76 76 77 <para revision="sysv">Some of the scripts in the LFS-Bootscripts package78 depend on <command>find</command>. As <filename79 class="directory">/usr</filename> may not be available during the early80 stages of booting, this program needs to be on the root partition. The81 <command>updatedb</command> script also needs to be modified to correct an82 explicit path:</para>83 84 <para revision="systemd"> Some packages in BLFS and beyond expect the85 <command>find</command> program in <filename86 class="directory">/bin</filename>, so make sure it's placed there:</para>87 88 <screen><userinput remap="install">mv -v /usr/bin/find /bin89 sed -i 's|find:=${BINDIR}|find:=/bin|' /usr/bin/updatedb</userinput></screen>90 91 77 </sect2> 92 78 -
chapter08/gcc.xml
r0f7d4cb rd7a9421 125 125 apparently related to the en_HK locale.</para> 126 126 127 <para>Additionally the following tests related to the following files 127 <para>Additionally, the test constexpr-52830 is known to fail.</para> 128 129 <!--<para>Additionally the following tests related to the following files 128 130 are known to fail with glibc-2.33: asan_test.C, co-ret-17-void-ret-coro.C, 129 131 pr95519-05-gro.C, pr80166.c.</para> 132 --> 130 133 131 134 <!-- don't fail anymore after the move of iana-etc and /etc/hosts … … 165 168 for "historical" reasons.</para> 166 169 167 <screen><userinput remap="install">ln -sv ../usr/bin/cpp /lib</userinput></screen>170 <screen><userinput remap="install">ln -svr /usr/bin/cpp /lib</userinput></screen> 168 171 <!-- already done earlier 169 172 <para>Many packages use the name <command>cc</command> to call the C -
chapter08/glibc.xml
r0f7d4cb rd7a9421 56 56 -i nss/nss_database.c</userinput></screen> 57 57 58 <para>Fix a build issue with gcc-11.1:</para> 59 60 <screen><userinput remap="pre">sed 's/amx_/amx-/' -i sysdeps/x86/tst-cpu-features-supports.c</userinput></screen> 61 58 62 <para>The Glibc documentation recommends building Glibc 59 63 in a dedicated build directory:</para> … … 69 73 --enable-stack-protector=strong \ 70 74 --with-headers=/usr/include \ 71 libc_cv_slibdir=/ lib</userinput></screen>75 libc_cv_slibdir=/usr/lib</userinput></screen> 72 76 73 77 <variablelist> … … 110 114 111 115 <varlistentry> 112 <term><parameter>libc_cv_slibdir=/ lib</parameter></term>116 <term><parameter>libc_cv_slibdir=/usr/lib</parameter></term> 113 117 <listitem> 114 118 <para>This variable sets the correct library for all … … 222 226 223 227 <screen revision="systemd"><userinput remap="install">install -v -Dm644 ../nscd/nscd.tmpfiles /usr/lib/tmpfiles.d/nscd.conf 224 install -v -Dm644 ../nscd/nscd.service / lib/systemd/system/nscd.service</userinput></screen>228 install -v -Dm644 ../nscd/nscd.service /usr/lib/systemd/system/nscd.service</userinput></screen> 225 229 226 230 <para>Next, install the locales that can make the system respond in a -
chapter08/grep.xml
r0f7d4cb rd7a9421 43 43 <para>Prepare Grep for compilation:</para> 44 44 45 <screen><userinput remap="configure">./configure --prefix=/usr --bindir=/bin</userinput></screen>45 <screen><userinput remap="configure">./configure --prefix=/usr</userinput></screen> 46 46 47 47 <para>Compile the package:</para> -
chapter08/gzip.xml
r0f7d4cb rd7a9421 58 58 <screen><userinput remap="install">make install</userinput></screen> 59 59 60 <para>Move a program that needs to be on the root filesystem:</para>61 62 <screen><userinput remap="install">mv -v /usr/bin/gzip /bin</userinput></screen>63 64 60 </sect2> 65 61 -
chapter08/inetutils.xml
r0f7d4cb rd7a9421 115 115 <screen><userinput remap="install">make install</userinput></screen> 116 116 117 <para>Move some programs so they are available if <filename 118 class='directory'>/usr</filename> is not accessible:</para> 119 120 <screen><userinput remap="install">mv -v /usr/bin/{hostname,ping,ping6,traceroute} /bin 121 mv -v /usr/bin/ifconfig /sbin</userinput></screen> 117 <para>Move a program to the proper location:</para> 118 119 <screen><userinput remap="install">mv -v /{,s}bin/ifconfig</userinput></screen> 122 120 123 121 </sect2> -
chapter08/kmod.xml
r0f7d4cb rd7a9421 45 45 46 46 <screen><userinput remap="configure">./configure --prefix=/usr \ 47 --bindir=/bin \48 47 --sysconfdir=/etc \ 49 --with-rootlibdir=/lib \50 48 --with-xz \ 51 49 --with-zstd \ … … 59 57 <listitem> 60 58 <para>These options enable Kmod to handle compressed kernel modules.</para> 61 </listitem>62 </varlistentry>63 64 <varlistentry>65 <term><parameter>--with-rootlibdir=/lib</parameter></term>66 <listitem>67 <para>This option ensures different library related files are placed68 in the correct directories.</para>69 59 </listitem> 70 60 </varlistentry> -
chapter08/libcap.xml
r0f7d4cb rd7a9421 70 70 <screen><userinput remap="test">make test</userinput></screen> 71 71 72 <para>Install the package and make sure the essential libraries are in 73 the correct directory:</para> 72 <para>Install the package:</para> 74 73 75 <screen><userinput remap="install">make prefix=/usr lib=lib install 76 for libname in cap psx; do 77 mv -v /usr/lib/lib${libname}.so.* /lib 78 ln -sfv ../../lib/lib${libname}.so.2 /usr/lib/lib${libname}.so 79 chmod -v 755 /lib/lib${libname}.so.&libcap-version; 80 done</userinput></screen> 74 <screen><userinput remap="install">make prefix=/usr lib=lib install</userinput></screen> 75 76 <para>Adjust the permission of the shared libraries:</para> 77 78 <screen><userinput remap="install">chmod -v 755 /usr/lib/lib{cap,psx}.so.&libcap-version;</userinput></screen> 81 79 82 80 </sect2> -
chapter08/libelf.xml
r0f7d4cb rd7a9421 49 49 <screen><userinput remap="configure">./configure --prefix=/usr \ 50 50 --disable-debuginfod \ 51 --enable-libdebuginfod=dummy \ 52 --libdir=/lib</userinput></screen> 51 --enable-libdebuginfod=dummy</userinput></screen> 53 52 54 53 <para>Compile the package:</para> … … 66 65 <screen><userinput remap="install">make -C libelf install 67 66 install -vm644 config/libelf.pc /usr/lib/pkgconfig 68 rm / lib/libelf.a</userinput></screen>67 rm /usr/lib/libelf.a</userinput></screen> 69 68 70 69 </sect2> -
chapter08/man-db.xml
r0f7d4cb rd7a9421 44 44 <para>Prepare Man-DB for compilation:</para> 45 45 46 <screen revision="systemd"><userinput remap="configure">sed -i '/find/s@/usr@@' init/systemd/man-db.service.in 47 48 ./configure --prefix=/usr \ 46 <screen revision="systemd"><userinput remap="configure">./configure --prefix=/usr \ 49 47 --docdir=/usr/share/doc/man-db-&man-db-version; \ 50 48 --sysconfdir=/etc \ … … 69 67 <title>The meaning of the configure options:</title> 70 68 71 <varlistentry revision="systemd">72 <term><command>sed -i '/find/s@/usr@@' init/systemd/man-db.service.in</command></term>73 <listitem>74 <para>This changes a harcoded path to the <command>find</command>75 utility, which we install in76 <filename class="directory">/bin</filename>.</para>77 </listitem>78 </varlistentry>79 80 69 <varlistentry> 81 70 <term><parameter>--disable-setuid</parameter></term> -
chapter08/ncurses.xml
r0f7d4cb rd7a9421 100 100 101 101 <screen><userinput remap="install">make install</userinput></screen> 102 103 <para>Move the shared libraries to the104 <filename class="directory">/lib</filename> directory, where they are105 expected to reside:</para>106 107 <screen><userinput remap="install">mv -v /usr/lib/libncursesw.so.6* /lib</userinput></screen>108 109 <para>Because the libraries have been moved, one symlink points to110 a non-existent file. Recreate it:</para>111 112 <screen><userinput remap="install">ln -sfv ../../lib/$(readlink /usr/lib/libncursesw.so) /usr/lib/libncursesw.so</userinput></screen>113 102 114 103 <para>Many applications still expect the linker to be able to find -
chapter08/procps.xml
r0f7d4cb rd7a9421 52 52 53 53 <screen revision="sysv"><userinput remap="configure">./configure --prefix=/usr \ 54 --exec-prefix= \55 --libdir=/usr/lib \56 54 --docdir=/usr/share/doc/procps-ng-&procps-ng-version; \ 57 55 --disable-static \ … … 59 57 60 58 <screen revision="systemd"><userinput remap="configure">./configure --prefix=/usr \ 61 --exec-prefix= \62 --libdir=/usr/lib \63 59 --docdir=/usr/share/doc/procps-ng-&procps-ng-version; \ 64 60 --disable-static \ … … 102 98 103 99 <screen><userinput remap="install">make install</userinput></screen> 104 105 <para>Finally, move essential libraries to a location that can be found106 if <filename class="directory">/usr</filename> is not mounted.</para>107 108 <screen><userinput remap="install">mv -v /usr/lib/libprocps.so.* /lib109 ln -sfv ../../lib/$(readlink /usr/lib/libprocps.so) /usr/lib/libprocps.so</userinput></screen>110 100 111 101 </sect2> -
chapter08/psmisc.xml
r0f7d4cb rd7a9421 55 55 56 56 <screen><userinput remap="install">make install</userinput></screen> 57 58 <para>Finally, move the <command>killall</command> and <command>fuser</command>59 programs to the location specified by the FHS:</para>60 61 <screen><userinput remap="install">mv -v /usr/bin/fuser /bin62 mv -v /usr/bin/killall /bin</userinput></screen>63 57 64 58 </sect2> -
chapter08/readline.xml
r0f7d4cb rd7a9421 95 95 <screen><userinput remap="install">make SHLIB_LIBS="-lncursesw" install</userinput></screen> 96 96 97 <para>Now move the dynamic libraries to a more appropriate location98 and fix up symbolic links:</para>99 100 <screen><userinput remap="install">mv -v /usr/lib/lib{readline,history}.so.* /lib101 ln -sfv ../../lib/$(readlink /usr/lib/libreadline.so) /usr/lib/libreadline.so102 ln -sfv ../../lib/$(readlink /usr/lib/libhistory.so ) /usr/lib/libhistory.so</userinput></screen>103 104 97 <para>If desired, install the documentation:</para> 105 98 -
chapter08/revisedchroot.xml
r0f7d4cb rd7a9421 24 24 HOME=/root TERM="$TERM" \ 25 25 PS1='(lfs chroot) \u:\w\$ ' \ 26 PATH=/ bin:/usr/bin:/sbin:/usr/sbin\26 PATH=/usr/bin:/usr/sbin \ 27 27 /bin/bash --login</userinput></screen> 28 28 -
chapter08/sed.xml
r0f7d4cb rd7a9421 43 43 <para>Prepare Sed for compilation:</para> 44 44 45 <screen><userinput remap="configure">./configure --prefix=/usr --bindir=/bin</userinput></screen>45 <screen><userinput remap="configure">./configure --prefix=/usr</userinput></screen> 46 46 47 47 <para>Compile the package and generate the HTML documentation:</para> -
chapter08/shadow.xml
r0f7d4cb rd7a9421 66 66 the obsolete <filename class="directory">/var/spool/mail</filename> location 67 67 for user mailboxes that Shadow uses by default to the <filename 68 class="directory">/var/mail</filename> location used currently:</para> 68 class="directory">/var/mail</filename> location used currently. And, 69 get rid of <filename class="directory">/bin</filename> and 70 <filename class="directory">/sbin</filename> from <envar>PATH</envar>, 71 since they are simply symlinks to their counterpart in 72 <filename class="directory">/usr</filename>.</para> 73 74 <note> 75 <para>If <filename class="directory">/bin</filename> and/or 76 <filename class="directory">/sbin</filename> are prefereed to be 77 left over in <envar>PATH</envar> for some reason, modify 78 <envar>PATH</envar> in <filename>.bashrc</filename> after LFS is 79 built.</para> 80 </note> 69 81 70 82 <screen><userinput remap="pre">sed -e 's:#ENCRYPT_METHOD DES:ENCRYPT_METHOD SHA512:' \ 71 83 -e 's:/var/spool/mail:/var/mail:' \ 84 -e '/PATH=/{s@/sbin:@@;s@/bin:@@}' \ 72 85 -i etc/login.defs</userinput></screen> 73 86 … … 119 132 120 133 <screen><userinput remap="install">make install</userinput></screen> 121 <!--122 <para>Move a misplaced program to its proper location:</para>123 124 <screen><userinput remap="install">mv -v /usr/bin/passwd /bin</userinput></screen>125 -->126 127 <!-- <para>Move Shadow's libraries to more appropriate locations:</para>128 129 <screen><userinput remap="install">mv -v /lib/libshadow.*a /usr/lib130 rm -v /lib/libshadow.so131 ln -sfv ../../lib/libshadow.so.0 /usr/lib/libshadow.so</userinput></screen> -->132 134 133 135 </sect2> -
chapter08/strippingagain.xml
r0f7d4cb rd7a9421 34 34 35 35 <!--<screen><userinput>save_lib="ld-2.25.so libc-2.25.so libpthread-2.25.so libthread_db-1.0.so"--> 36 <screen><userinput>save_lib="ld-&glibc-version;.so libc-&glibc-version;.so libpthread-&glibc-version;.so libthread_db-&libthread_db-version;.so" 37 38 cd /lib 39 40 for LIB in $save_lib; do 41 objcopy --only-keep-debug $LIB $LIB.dbg 42 strip --strip-unneeded $LIB 43 objcopy --add-gnu-debuglink=$LIB.dbg $LIB 44 done 45 46 save_usrlib="libquadmath.so.&libquadmath-version; libstdc++.so.&libstdcpp-version; 36 <screen><userinput>save_usrlib="ld-&glibc-version;.so libc-&glibc-version;.so libpthread-&glibc-version;.so libthread_db-&libthread_db-version;.so 37 libquadmath.so.&libquadmath-version; libstdc++.so.&libstdcpp-version; 47 38 libitm.so.&libitm-version; libatomic.so.&libatomic-version;" <!-- libcilkrts.so.&libcilkrts-version;--> 48 39 … … 55 46 done 56 47 57 unset LIB save_ lib save_usrlib</userinput></screen>48 unset LIB save_usrlib</userinput></screen> 58 49 59 50 <!-- <para>Before performing the stripping, take special care to ensure that … … 68 59 -exec strip --strip-debug {} ';' 69 60 70 find / lib /usr/lib -type f -name \*.so* ! -name \*dbg \61 find /usr/lib -type f -name \*.so* ! -name \*dbg \ 71 62 -exec strip --strip-unneeded {} ';' 72 63 73 find / {bin,sbin} /usr/{bin,sbin,libexec} -type f \64 find /usr/{bin,sbin,libexec} -type f \ 74 65 -exec strip --strip-all {} ';'</userinput></screen> 75 66 -
chapter08/systemd.xml
r0f7d4cb rd7a9421 48 48 49 49 <!-- For linux-5.11's API headers changing the rfkill_event structure --> 50 <para>First, apply a patch to fix some regressions and fix functionality 51 with future versions of the kernel:</para> 52 53 <screen><userinput remap="pre">patch -Np1 -i ../systemd-&systemd-version;-upstream_fixes-3.patch</userinput></screen> 50 <para>First, apply a patch to fix some build issues:</para> 51 52 <screen><userinput remap="pre">patch -Np1 -i ../systemd-&systemd-version;-upstream_fixes-1.patch</userinput></screen> 54 53 55 54 <para>Remove tests that cannot be built in chroot:</para> 56 55 57 <screen><userinput remap="pre">sed '1 81,$ d' -i src/resolve/meson.build</userinput></screen>56 <screen><userinput remap="pre">sed '177,$ d' -i src/resolve/meson.build</userinput></screen> 58 57 59 58 <para>Remove an unneeded group, … … 77 76 -Dfirstboot=false \ 78 77 -Dinstall-tests=false \ 79 -Dkmod-path=/bin/kmod \80 78 -Dldconfig=false \ 81 -Dmount-path=/bin/mount \82 -Drootprefix= \83 -Drootlibdir=/lib \84 -Dsplit-usr=true \85 -Dsulogin-path=/sbin/sulogin \86 79 -Dsysusers=false \ 87 -Dumount-path=/bin/umount \88 80 -Db_lto=false \ 89 81 -Drpmmacrosdir=no \ … … 99 91 100 92 <varlistentry> 101 <term><parameter>-D*-path=*</parameter></term>102 <listitem>103 <para>These switches provide the location of binaries needed by104 systemd at runtime that have not yet been installed.</para>105 </listitem>106 </varlistentry>107 108 <varlistentry>109 93 <term><parameter>-Ddefault-dnssec=no</parameter></term> 110 94 <listitem> … … 137 121 distributions such as LFS and makes the boot time longer. Remove it 138 122 if the described feature is desired.</para> 139 </listitem>140 </varlistentry>141 142 <varlistentry>143 <term><parameter>-Droot*</parameter></term>144 <listitem>145 <para>These switches ensure that core programs and146 shared libraries are installed in subdirectories147 of the root partition.</para>148 </listitem>149 </varlistentry>150 151 <varlistentry>152 <term><parameter>-Dsplit-usr=true</parameter></term>153 <listitem>154 <para>This switch ensures that systemd will work on155 systems where /bin, /lib and /sbin directories are not156 symlinks to their /usr counterparts.</para>157 123 </listitem> 158 124 </varlistentry> … … 258 224 <seg>bootctl, busctl, coredumpctl, halt (symlink to systemctl), 259 225 hostnamectl, init, journalctl, kernel-install, localectl, loginctl, 260 machinectl, networkctl, portablectl, poweroff (symlink to226 machinectl, networkctl, oomctl, portablectl, poweroff (symlink to 261 227 systemctl), reboot (symlink to systemctl), resolvconf (symlink to 262 228 resolvectl), resolvectl, runlevel (symlink to systemctl), shutdown 263 229 (symlink to systemctl), systemctl, systemd-analyze, 264 230 systemd-ask-password, systemd-cat, systemd-cgls, systemd-cgtop, 265 systemd-delta, systemd-detect-virt, systemd-dissect, systemd-escape, 266 systemd-hwdb, systemd-id128, systemd-inhibit, systemd-machine-id-setup, 231 systemd-cryptenroll, systemd-delta, systemd-detect-virt, 232 systemd-dissect, systemd-escape, systemd-hwdb, systemd-id128, 233 systemd-inhibit, systemd-machine-id-setup, 267 234 systemd-mount, systemd-notify, systemd-nspawn, systemd-path, 268 235 systemd-repart, systemd-resolve (symlink to resolvectl), systemd-run, 269 systemd-socket-activate, systemd-stdio-bridge, systemd- tmpfiles,270 systemd-t ty-ask-password-agent, systemd-umount (symlink to271 systemd- mount), telinit (symlink to systemctl), timedatectl, and272 udevadm</seg>236 systemd-socket-activate, systemd-stdio-bridge, systemd-sysext, 237 systemd-tmpfiles, systemd-tty-ask-password-agent, 238 systemd-umount (symlink to systemd-mount), 239 telinit (symlink to systemctl), timedatectl, and udevadm</seg> 273 240 <seg>libnss_myhostname.so.2, libnss_mymachines.so.2, 274 241 libnss_resolve.so.2, libnss_systemd.so.2, 275 libsystemd.so, libsystemd-shared-&systemd-version;.so (in / lib/systemd),242 libsystemd.so, libsystemd-shared-&systemd-version;.so (in /usr/lib/systemd), 276 243 and libudev.so</seg> 277 244 <seg>/etc/binfmt.d, /etc/init.d, /etc/kernel, /etc/modules-load.d, 278 245 /etc/sysctl.d, /etc/systemd, /etc/tmpfiles.d, /etc/udev, 279 /etc/xdg/systemd, / lib/systemd,/lib/udev, /usr/include/systemd,246 /etc/xdg/systemd, /usr/lib/systemd, /usr/lib/udev, /usr/include/systemd, 280 247 /usr/lib/binfmt.d, /usr/lib/environment.d, /usr/lib/kernel, 281 248 /usr/lib/modules-load.d, /usr/lib/sysctl.d, /usr/lib/systemd, … … 424 391 </varlistentry> 425 392 393 <varlistentry id="oomctl"> 394 <term><command>oomctl</command></term> 395 <listitem> 396 <para>Controls the systemd Out Of Memory daemon</para> 397 <indexterm zone="ch-system-systemd oomctl"> 398 <primary sortas="b-oomctl">oomctl</primary> 399 </indexterm> 400 </listitem> 401 </varlistentry> 402 426 403 <varlistentry id="portablectl"> 427 404 <term><command>portablectl</command></term> … … 569 546 </varlistentry> 570 547 548 <varlistentry id="systemd-cryptenroll"> 549 <term><command>systemd-cryptenroll</command></term> 550 <listitem> 551 <para>Is used to enroll or remove a system from full disk encryption, 552 as well as set and query private keys and recovery keys</para> 553 <indexterm zone="ch-system-systemd systemd-cryptenroll"> 554 <primary sortas="b-systemd-cryptenroll">systemd-cryptenroll</primary> 555 </indexterm> 556 </listitem> 557 </varlistentry> 558 571 559 <varlistentry id="systemd-delta"> 572 560 <term><command>systemd-delta</command></term> … … 740 728 <indexterm zone="ch-system-systemd systemd-socket-activate"> 741 729 <primary sortas="b-systemd-socket-activate">systemd-socket-activate</primary> 730 </indexterm> 731 </listitem> 732 </varlistentry> 733 734 <varlistentry id="systemd-sysext"> 735 <term><command>systemd-sysext</command></term> 736 <listitem> 737 <para>Creates, deletes, and manages system extensions through the 738 systemd-sysextd daemon</para> 739 <indexterm zone="ch-system-systemd systemd-sysext"> 740 <primary sortas="b-systemd-sysext">systemd-sysext</primary> 742 741 </indexterm> 743 742 </listitem> -
chapter08/tar.xml
r0f7d4cb rd7a9421 47 47 48 48 <screen><userinput remap="configure">FORCE_UNSAFE_CONFIGURE=1 \ 49 ./configure --prefix=/usr \ 50 --bindir=/bin</userinput></screen> 49 ./configure --prefix=/usr</userinput></screen> 51 50 52 51 <variablelist> -
chapter08/util-linux.xml
r0f7d4cb rd7a9421 46 46 47 47 <screen revision="sysv"><userinput remap="configure">./configure ADJTIME_PATH=/var/lib/hwclock/adjtime \ 48 --libdir=/usr/lib \ 48 49 --docdir=/usr/share/doc/util-linux-&util-linux-version; \ 49 50 --disable-chfn-chsh \ … … 61 62 62 63 <screen revision="systemd"><userinput remap="configure">./configure ADJTIME_PATH=/var/lib/hwclock/adjtime \ 64 --libdir=/usr/lib \ 63 65 --docdir=/usr/share/doc/util-linux-&util-linux-version; \ 64 66 --disable-chfn-chsh \ -
chapter08/xz.xml
r0f7d4cb rd7a9421 59 59 <screen><userinput remap="test">make check</userinput></screen> 60 60 61 <para>Install the package and make sure that all essential files are in the 62 correct directory:</para> 63 64 <screen><userinput remap="install">make install 65 mv -v /usr/bin/{lzma,unlzma,lzcat,xz,unxz,xzcat} /bin 66 mv -v /usr/lib/liblzma.so.* /lib 67 ln -svf ../../lib/$(readlink /usr/lib/liblzma.so) /usr/lib/liblzma.so</userinput></screen> 61 <para>Install the package:</para> 62 63 <screen><userinput remap="install">make install</userinput></screen> 68 64 69 65 </sect2> -
chapter08/zlib.xml
r0f7d4cb rd7a9421 58 58 <screen><userinput remap="install">make install</userinput></screen> 59 59 60 <para>The shared library needs to be moved to61 <filename class="directory">/lib</filename>, and as a result the62 <filename class="extension">.so</filename> file in63 <filename class="directory">/usr/lib</filename> will need to be recreated:</para>64 65 <screen><userinput remap="install">mv -v /usr/lib/libz.so.* /lib66 ln -sfv ../../lib/$(readlink /usr/lib/libz.so) /usr/lib/libz.so</userinput></screen>67 68 60 <para>Remove an useless static library:</para> 69 61 -
chapter08/zstd.xml
r0f7d4cb rd7a9421 55 55 <screen><userinput remap="install">make prefix=/usr install</userinput></screen> 56 56 57 <para>Remove the static library and move the shared library to 58 <filename class="directory">/lib</filename>. Also, the 59 <filename class="extension">.so</filename> file in 60 <filename class="directory">/usr/lib</filename> will need to be recreated:</para> 61 62 <screen><userinput remap="install">rm -v /usr/lib/libzstd.a 63 mv -v /usr/lib/libzstd.so.* /lib 64 ln -sfv ../../lib/$(readlink /usr/lib/libzstd.so) /usr/lib/libzstd.so</userinput></screen> 57 <para>Remove the static library:</para> 58 <screen><userinput remap="install">rm -v /usr/lib/libzstd.a</userinput></screen> 65 59 66 60 </sect2>
Note:
See TracChangeset
for help on using the changeset viewer.