Changes in / [0e9fb93:df462a9]
- Files:
-
- 59 edited
Legend:
- Unmodified
- Added
- Removed
-
chapter01/changelog.xml
r0e9fb93 rdf462a9 45 45 appropriate for the entry or if needed the entire day's listitem. 46 46 --> 47 <listitem> 48 <para>2021-05-12</para> 49 <itemizedlist> 50 <listitem> 51 <para>[renodr] - Moved LFS to a merged-/usr configuration. Thanks 52 goes to Xi Ruoyao for doing almost all of the work. Fixes 53 <ulink url="&lfs-ticket-root;4848">#4848</ulink>.</para> 54 </listitem> 55 <listitem> 56 <para>[renodr] - Update to gcc-11.1.0. Fixes 57 <ulink url="&lfs-ticket-root;4847">#4847</ulink>.</para> 58 </listitem> 59 <listitem> 60 <para>[renodr] - Fix a FTBFS when building glibc-2.30 with 61 gcc-11.1.0.</para> 62 </listitem> 63 <listitem revision="systemd"> 64 <para>[renodr] - Update to systemd-248. Fixes 65 <ulink url="&lfs-ticket-root;4841">#4841</ulink>.</para> 66 </listitem> 67 <listitem> 68 <para>[renodr] - Update to iproute2-5.12.0. Fixes 69 <ulink url="&lfs-ticket-root;4852">#4852</ulink>.</para> 70 </listitem> 71 <listitem> 72 <para>[renodr] - Update to Python-3.9.5. Fixes 73 <ulink url="&lfs-ticket-root;4854">#4854</ulink>.</para> 74 </listitem> 75 <listitem> 76 <para>[renodr] - Update to meson-0.58.0. Fixes 77 <ulink url="&lfs-ticket-root;4853">#4853</ulink>.</para> 78 </listitem> 79 <listitem> 80 <para>[renodr] - Update to linux-5.12.2. Fixes 81 <ulink url="&lfs-ticket-root;4840">#4840</ulink>.</para> 82 </listitem> 83 </itemizedlist> 84 </listitem> 47 85 48 86 <listitem> -
chapter01/whatsnew.xml
r0e9fb93 rdf462a9 97 97 <para>Gawk-&gawk-version;</para> 98 98 </listitem>--> 99 < !--<listitem>99 <listitem> 100 100 <para>GCC-&gcc-version;</para> 101 </listitem> -->101 </listitem> 102 102 <!--<listitem> 103 103 <para>GDBM-&gdbm-version;</para> … … 229 229 <para>Sysklogd-&sysklogd-version;</para> 230 230 </listitem> 231 < !--<listitem revision="systemd">231 <listitem revision="systemd"> 232 232 <para>Systemd-&systemd-version;</para> 233 </listitem> -->233 </listitem> 234 234 <listitem revision="sysv"> 235 235 <para>SysVinit-&sysvinit-version;</para> -
chapter02/creatingpartition.xml
r0e9fb93 rdf462a9 142 142 space.</para></listitem> 143 143 144 <listitem><para>/usr – A separate /usr partition is generally used 145 if providing a server for a thin client or diskless workstation. It is 146 normally not needed for LFS. A size of ten gigabytes will handle most 147 installations.</para></listitem> 144 <listitem><para>/usr – In LFS, 145 <filename class="directory">/bin</filename>, 146 <filename class="directory">/lib</filename>, and 147 <filename class="directory">/sbin</filename> are symlinks to their 148 counterpart in <filename class="directory">/usr</filename>. 149 So <filename class="directory">/usr</filename> contains all binaries 150 needed for the system to run. For LFS a separate partition for 151 <filename class="directory">/usr</filename> is normally not needed. 152 If you need it anyway, you should make a partition large enough to 153 fit all programs and libraries in the system. The root partition can be 154 very small (maybe just one gigabyte) in this configuration, so it's 155 suitable for a thin client or diskless workstation (where 156 <filename class="directory">/usr</filename> is mounted from a remote 157 server). However you should take care that an initramfs (not covered by 158 LFS) will be needed to boot a system with separate 159 <filename class="directory">/usr</filename> partition.</para></listitem> 148 160 149 161 <listitem><para>/opt – This directory is most useful for -
chapter02/mounting.xml
r0e9fb93 rdf462a9 28 28 <para>If using multiple partitions for LFS (e.g., one for <filename 29 29 class="directory">/</filename> and another for <filename 30 class="directory">/ usr</filename>), mount them using:</para>30 class="directory">/home</filename>), mount them using:</para> 31 31 32 32 <screen role="nodump"><userinput>mkdir -pv $LFS 33 33 mount -v -t ext4 /dev/<replaceable><xxx></replaceable> $LFS 34 mkdir -v $LFS/ usr35 mount -v -t ext4 /dev/<replaceable><yyy></replaceable> $LFS/ usr</userinput></screen>34 mkdir -v $LFS/home 35 mount -v -t ext4 /dev/<replaceable><yyy></replaceable> $LFS/home</userinput></screen> 36 36 37 37 <para>Replace <replaceable><xxx></replaceable> and -
chapter04/addinguser.xml
r0e9fb93 rdf462a9 81 81 <systemitem class="username">lfs</systemitem> the directory owner:</para> 82 82 83 <screen><userinput>chown -v lfs $LFS/{usr ,lib,var,etc,bin,sbin,tools}83 <screen><userinput>chown -v lfs $LFS/{usr{,/*},lib,var,etc,bin,sbin,tools} 84 84 case $(uname -m) in 85 85 x86_64) chown -v lfs $LFS/lib64 ;; -
chapter04/creatingminlayout.xml
r0e9fb93 rdf462a9 21 21 <systemitem class="username">root</systemitem>:</para> 22 22 23 <screen><userinput>mkdir -pv $LFS/{bin,etc,lib,sbin,usr,var} 23 <screen><userinput>mkdir -pv $LFS/{etc,var} $LFS/usr/{bin,lib,sbin} 24 25 for i in bin lib sbin; do 26 ln -sv usr/$i $LFS/$i 27 done 28 24 29 case $(uname -m) in 25 30 x86_64) mkdir -pv $LFS/lib64 ;; 26 31 esac</userinput></screen> 27 <screen arch="ml_32" ><userinput>mkdir -pv $LFS&lib-m32;</userinput></screen> 28 <screen arch="ml_x32" ><userinput>mkdir -pv $LFS&lib-mx32;</userinput></screen> 29 <screen arch="ml_all" ><userinput>mkdir -pv $LFS/lib{,x}32</userinput></screen> 30 <!-- 31 <screen arch="ml_32" ><userinput>mkdir -pv $LFS/{usr/,}lib32</userinput></screen> 32 <screen arch="ml_x32" ><userinput>mkdir -pv $LFS/{usr/,}libx32</userinput></screen> 33 <screen arch="ml_all" ><userinput>mkdir -pv $LFS/{usr/,}{lib32,libx32}</userinput></screen> 34 <screen arch="ml_32" ><userinput>mkdir -pv $LFS&usr-inc-m32;</userinput></screen> 35 <screen arch="ml_x32" ><userinput>mkdir -pv $LFS&usr-inc-mx32;</userinput></screen> 36 <screen arch="ml_all" ><userinput>mkdir -pv $LFS&usr-inc-m32; 37 mkdir -pv $LFS&usr-inc-mx32;</userinput></screen> 38 --> 32 <screen arch="ml_32"><userinput>mkdir -pv $LFS&usr-lib-m32; 33 ln -sv usr&lib-m32; $LFS&lib-m32;</userinput></screen> 34 <screen arch="ml_x32"><userinput>mkdir -pv $LFS&usr-lib-mx32; 35 ln -sv usr&lib-mx32; $LFS&lib-mx32;</userinput></screen> 36 <screen arch="ml_all"><userinput>mkdir -pv $LFS/usr/lib{,x}32 37 ln -sv usr&lib-m32; $LFS&lib-m32; 38 ln -sv usr&lib-mx32; $LFS&lib-mx32;</userinput></screen> 39 40 <note> 41 <para> 42 The above command is correct. The <command>ln</command> command has 43 a few syntactic versions, so be sure to check 44 <command>info coreutils ln</command> and <filename>ln(1)</filename> 45 before reporting what you may think is an error. 46 </para> 47 </note> 48 39 49 <para>Programs in <xref linkend="chapter-temporary-tools"/> will be compiled 40 50 with a cross-compiler (more details in section <xref -
chapter05/glibc.xml
r0e9fb93 rdf462a9 59 59 ln -sfv ../lib/ld-linux-x86-64.so.2 $LFS/lib64/ld-lsb-x86-64.so.3</userinput></screen> 60 60 61 <note>62 <para>63 The above command is correct. The <command>ln</command> command has64 a few syntactic versions, so be sure to check65 <command>info coreutils ln</command> and <filename>ln(1)</filename>66 before reporting what you may think is an error.67 </para>68 </note>69 70 61 <para>Some of the Glibc programs use the non-FHS compliant 71 62 <filename class="directory">/var/db</filename> directory to store their … … 74 65 75 66 <screen><userinput remap="pre">patch -Np1 -i ../glibc-&glibc-version;-fhs-1.patch</userinput></screen> 67 68 <para>Fix a build issue with gcc-11.1:</para> 69 70 <screen><userinput remap="pre">sed 's/amx_/amx-/' -i sysdeps/x86/tst-cpu-features-supports.c</userinput></screen> 76 71 77 72 <para>The Glibc documentation recommends building Glibc … … 89 84 --enable-kernel=&min-kernel; \ 90 85 --with-headers=$LFS/usr/include \ 91 libc_cv_slibdir=/ lib</userinput></screen>86 libc_cv_slibdir=/usr/lib</userinput></screen> 92 87 <screen arch="ml_32,ml_x32,ml_all"><userinput remap="configure">../configure \ 93 88 --prefix=/usr \ … … 97 92 --with-headers=$LFS/usr/include \ 98 93 --enable-multi-arch \ 99 --libdir=/usr/lib \ 100 --libexecdir=/usr/lib \ 101 libc_cv_slibdir=/lib</userinput></screen> 102 <!-- 103 libc_cv_forced_unwind=yes \ 104 libc_cv_c_cleanup=yes</userinput></screen> --> 94 libc_cv_slibdir=/usr/lib</userinput></screen> 105 95 106 96 <variablelist> … … 136 126 137 127 <varlistentry> 138 <term><parameter>libc_cv_slibdir=/ lib</parameter></term>139 <listitem> 140 <para>This ensures that the library is installed in / lib instead128 <term><parameter>libc_cv_slibdir=/usr/lib</parameter></term> 129 <listitem> 130 <para>This ensures that the library is installed in /usr/lib instead 141 131 of the default /lib64 on 64 bit machines.</para> 142 132 </listitem> … … 278 268 --libdir=&usr-lib-m32; \ 279 269 --libexecdir=&usr-lib-m32; \ 280 libc_cv_slibdir=& lib-m32;</userinput></screen>270 libc_cv_slibdir=&usr-lib-m32;</userinput></screen> 281 271 282 272 <para>Compile the package:</para> … … 350 340 --libdir=&usr-lib-mx32; \ 351 341 --libexecdir=&usr-lib-mx32; \ 352 libc_cv_slibdir=& lib-mx32;</userinput></screen>342 libc_cv_slibdir=&usr-lib-mx32;</userinput></screen> 353 343 354 344 <para>Compile the package:</para> -
chapter06/bash.xml
r0e9fb93 rdf462a9 75 75 <screen><userinput remap="install">make DESTDIR=$LFS install</userinput></screen> 76 76 77 <para>Move the executable to where it is expected:</para>78 79 <screen><userinput remap="install">mv $LFS/usr/bin/bash $LFS/bin/bash</userinput></screen>80 81 77 <para>Make a link for the programs that use <command>sh</command> for 82 78 a shell:</para> -
chapter06/coreutils.xml
r0e9fb93 rdf462a9 84 84 programs harcode executable locations:</para> 85 85 86 <screen><userinput remap="install">mv -v $LFS/usr/bin/{cat,chgrp,chmod,chown,cp,date,dd,df,echo} $LFS/bin 87 mv -v $LFS/usr/bin/{false,ln,ls,mkdir,mknod,mv,pwd,rm} $LFS/bin 88 mv -v $LFS/usr/bin/{rmdir,stty,sync,true,uname} $LFS/bin 89 mv -v $LFS/usr/bin/{head,nice,sleep,touch} $LFS/bin 90 mv -v $LFS/usr/bin/chroot $LFS/usr/sbin 86 <screen><userinput remap="install">mv -v $LFS/usr/bin/chroot $LFS/usr/sbin 91 87 mkdir -pv $LFS/usr/share/man/man8 92 88 mv -v $LFS/usr/share/man/man1/chroot.1 $LFS/usr/share/man/man8/chroot.8 -
chapter06/file.xml
r0e9fb93 rdf462a9 91 91 <screen><userinput remap="install">make DESTDIR=$LFS install</userinput></screen> 92 92 93 <para>Move a shared library into its final location in the LFS system,94 and recreate the symlink for it:</para>95 96 <screen><userinput remap="install">mv -v $LFS/usr/lib/libmagic.so.* $LFS/lib97 ln -sfv ../../lib/$(readlink /usr/lib/libmagic.so) $LFS/usr/lib/libmagic.so</userinput></screen>98 99 93 </sect2> 100 94 -
chapter06/findutils.xml
r0e9fb93 rdf462a9 58 58 <screen><userinput remap="install">make DESTDIR=$LFS install</userinput></screen> 59 59 60 <para>Move the executable to its final expected location:</para>61 62 <screen><userinput remap="install">mv -v $LFS/usr/bin/find $LFS/bin63 sed -i 's|find:=${BINDIR}|find:=/bin|' $LFS/usr/bin/updatedb</userinput></screen>64 65 60 </sect2> 66 61 -
chapter06/grep.xml
r0e9fb93 rdf462a9 47 47 48 48 <screen><userinput remap="configure">./configure --prefix=/usr \ 49 --host=$LFS_TGT \ 50 --bindir=/bin</userinput></screen> 49 --host=$LFS_TGT</userinput></screen> 51 50 52 51 <para>Compile the package:</para> -
chapter06/gzip.xml
r0e9fb93 rdf462a9 56 56 <screen><userinput remap="install">make DESTDIR=$LFS install</userinput></screen> 57 57 58 <para>Move the executable to its final expected location:</para>59 60 <screen><userinput remap="install">mv -v $LFS/usr/bin/gzip $LFS/bin</userinput></screen>61 62 58 </sect2> 63 59 -
chapter06/ncurses.xml
r0e9fb93 rdf462a9 148 148 149 149 </variablelist> 150 151 <para>Move the shared libraries to the152 <filename class="directory">/lib</filename> directory, where they are153 expected to reside:</para>154 155 <screen><userinput remap="install">mv -v $LFS/usr/lib/libncursesw.so.6* $LFS/lib</userinput></screen>156 157 <para>Because the libraries have been moved, one symlink points to158 a non-existent file. Recreate it:</para>159 160 <screen><userinput remap="install">ln -sfv ../../lib/$(readlink $LFS/usr/lib/libncursesw.so) $LFS/usr/lib/libncursesw.so</userinput></screen>161 150 162 151 </sect2> -
chapter06/sed.xml
r0e9fb93 rdf462a9 47 47 48 48 <screen><userinput remap="configure">./configure --prefix=/usr \ 49 --host=$LFS_TGT \ 50 --bindir=/bin</userinput></screen> 49 --host=$LFS_TGT</userinput></screen> 51 50 52 51 <para>Compile the package:</para> -
chapter06/tar.xml
r0e9fb93 rdf462a9 48 48 <screen><userinput remap="configure">./configure --prefix=/usr \ 49 49 --host=$LFS_TGT \ 50 --build=$(build-aux/config.guess) \ 51 --bindir=/bin</userinput></screen> 50 --build=$(build-aux/config.guess)</userinput></screen> 52 51 53 52 <para>Compile the package:</para> -
chapter06/xz.xml
r0e9fb93 rdf462a9 60 60 <screen><userinput remap="install">make DESTDIR=$LFS install</userinput></screen> 61 61 62 <para>Make sure that all essential files are in the correct directory:</para>63 64 <screen><userinput remap="install">mv -v $LFS/usr/bin/{lzma,unlzma,lzcat,xz,unxz,xzcat} $LFS/bin65 mv -v $LFS/usr/lib/liblzma.so.* $LFS/lib66 ln -svf ../../lib/$(readlink $LFS/usr/lib/liblzma.so) $LFS/usr/lib/liblzma.so</userinput></screen>67 68 62 </sect2> 69 63 -
chapter07/chroot.xml
r0e9fb93 rdf462a9 23 23 TERM="$TERM" \ 24 24 PS1='(lfs chroot) \u:\w\$ ' \ 25 PATH=/ bin:/usr/bin:/sbin:/usr/sbin\25 PATH=/usr/bin:/usr/sbin \ 26 26 /bin/bash --login +h</userinput></screen> 27 27 -
chapter07/createfiles.xml
r0e9fb93 rdf462a9 84 84 systemd-coredump:x:79:79:systemd Core Dumper:/:/bin/false 85 85 uuidd:x:80:80:UUID Generation Daemon User:/dev/null:/bin/false 86 systemd-oomd:x:81:81:systemd Out Of Memory Daemon:/:/bin/false 86 87 nobody:x:99:99:Unprivileged User:/dev/null:/bin/false</literal> 87 88 EOF</userinput></screen> … … 153 154 systemd-coredump:x:79: 154 155 uuidd:x:80: 156 systemd-oomd:x:81:81: 155 157 wheel:x:97: 156 158 nogroup:x:99: -
chapter07/creatingdirs.xml
r0e9fb93 rdf462a9 28 28 mkdir -pv /lib/firmware 29 29 mkdir -pv /media/{floppy,cdrom} 30 mkdir -pv /usr/{,local/}{bin,include,lib,sbin,src} 30 mkdir -pv /usr/{,local/}{include,src} 31 mkdir -pv /usr/local/{bin,lib,sbin} 31 32 mkdir -pv /usr/{,local/}share/{color,dict,doc,info,locale,man} 32 33 mkdir -pv /usr/{,local/}share/{misc,terminfo,zoneinfo} -
chapter07/util-linux.xml
r0e9fb93 rdf462a9 53 53 54 54 <screen><userinput remap="configure">./configure ADJTIME_PATH=/var/lib/hwclock/adjtime \ 55 --libdir=/usr/lib \ 55 56 --docdir=/usr/share/doc/util-linux-&util-linux-version; \ 56 57 --disable-chfn-chsh \ … … 76 77 at another location, which would not be overwritten or removed 77 78 when building the final util-linux package.</para> 79 </listitem> 80 </varlistentry> 81 82 <varlistentry> 83 <term><parameter>--libdir=/usr/lib</parameter></term> 84 <listitem> 85 <para>This switch ensures the 86 <filename class="extension">.so</filename> symlinks targeting 87 the shared library file in the same directory 88 (<filename class="directory">/usr/lib</filename>) directly.</para> 78 89 </listitem> 79 90 </varlistentry> -
chapter08/acl.xml
r0e9fb93 rdf462a9 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
r0e9fb93 rdf462a9 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
r0e9fb93 rdf462a9 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
r0e9fb93 rdf462a9 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
r0e9fb93 rdf462a9 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
r0e9fb93 rdf462a9 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
r0e9fb93 rdf462a9 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
r0e9fb93 rdf462a9 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
r0e9fb93 rdf462a9 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 … … 181 175 <para>Information about hardware devices is maintained in the 182 176 <filename class="directory">/etc/udev/hwdb.d</filename> and 183 <filename class="directory">/ lib/udev/hwdb.d</filename> directories.177 <filename class="directory">/usr/lib/udev/hwdb.d</filename> directories. 184 178 <application>Eudev</application> needs that information to be compiled 185 179 into a binary database <filename>/etc/udev/hwdb.bin</filename>. Create the … … 202 196 203 197 <seglistitem> 204 <seg><!-- These are in / lib/udev and not to be called by the user:198 <seg><!-- These are in /usr/lib/udev and not to be called by the user: 205 199 accelerometer, ata_id, cdrom_id, collect, mtd_probe, 206 200 scsi_id, v4l_id,--> udevadm and udevd</seg> … … 208 202 <seg>libudev.so</seg> 209 203 210 <seg>/etc/udev, / lib/udev, and /usr/share/doc/udev-&udev-lfs-version;</seg>204 <seg>/etc/udev, /usr/lib/udev, and /usr/share/doc/udev-&udev-lfs-version;</seg> 211 205 </seglistitem> 212 206 </segmentedlist> -
chapter08/file.xml
r0e9fb93 rdf462a9 57 57 58 58 <screen><userinput remap="install">make install</userinput></screen> 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 59 70 60 </sect2> -
chapter08/findutils.xml
r0e9fb93 rdf462a9 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
r0e9fb93 rdf462a9 143 143 apparently related to the en_HK locale.</para> 144 144 145 <para>Additionally the following tests related to the following files 145 <para>Additionally, the test constexpr-52830 is known to fail.</para> 146 147 <!--<para>Additionally the following tests related to the following files 146 148 are known to fail with glibc-2.33: asan_test.C, co-ret-17-void-ret-coro.C, 147 149 pr95519-05-gro.C, pr80166.c.</para> 150 --> 148 151 149 152 <!-- don't fail anymore after the move of iana-etc and /etc/hosts … … 183 186 for "historical" reasons.</para> 184 187 185 <screen><userinput remap="install">ln -sv ../usr/bin/cpp /lib</userinput></screen>188 <screen><userinput remap="install">ln -svr /usr/bin/cpp /lib</userinput></screen> 186 189 <!-- already done earlier 187 190 <para>Many packages use the name <command>cc</command> to call the C -
chapter08/glibc.xml
r0e9fb93 rdf462a9 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 <screen arch="ml_32,ml_x32,ml_all"><userinput remap="configure">../configure --prefix=/usr \ 73 77 --disable-werror \ … … 76 80 --with-headers=/usr/include \ 77 81 --enable-multi-arch \ 78 libc_cv_slibdir=/ lib</userinput></screen>82 libc_cv_slibdir=/usr/lib</userinput></screen> 79 83 80 84 <variablelist> … … 117 121 118 122 <varlistentry> 119 <term><parameter>libc_cv_slibdir=/ lib</parameter></term>123 <term><parameter>libc_cv_slibdir=/usr/lib</parameter></term> 120 124 <listitem> 121 125 <para>This variable sets the correct library for all … … 229 233 230 234 <screen revision="systemd"><userinput remap="install">install -v -Dm644 ../nscd/nscd.tmpfiles /usr/lib/tmpfiles.d/nscd.conf 231 install -v -Dm644 ../nscd/nscd.service / lib/systemd/system/nscd.service</userinput></screen>235 install -v -Dm644 ../nscd/nscd.service /usr/lib/systemd/system/nscd.service</userinput></screen> 232 236 233 237 <para>Next, install the locales that can make the system respond in a … … 500 504 --libdir=&usr-lib-m32; \ 501 505 --libexecdir=&usr-lib-m32; \ 502 libc_cv_slibdir=& lib-m32;</userinput></screen>506 libc_cv_slibdir=&usr-lib-m32;</userinput></screen> 503 507 504 508 <para>Compile the package:</para> -
chapter08/grep.xml
r0e9fb93 rdf462a9 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
r0e9fb93 rdf462a9 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
r0e9fb93 rdf462a9 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
r0e9fb93 rdf462a9 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
r0e9fb93 rdf462a9 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> 74 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> 72 <para>Install the package:</para> 73 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
r0e9fb93 rdf462a9 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
r0e9fb93 rdf462a9 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
r0e9fb93 rdf462a9 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
r0e9fb93 rdf462a9 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
r0e9fb93 rdf462a9 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
r0e9fb93 rdf462a9 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
r0e9fb93 rdf462a9 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
r0e9fb93 rdf462a9 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
r0e9fb93 rdf462a9 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
r0e9fb93 rdf462a9 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 for LIB in $save_lib; do 40 objcopy --only-keep-debug $LIB $LIB.dbg 41 strip --strip-unneeded $LIB 42 objcopy --add-gnu-debuglink=$LIB.dbg $LIB 43 done</userinput> 44 <userinput arch="ml_32,ml_all"> 45 cd &lib-m32; 46 for LIB in $save_lib; do 47 objcopy --only-keep-debug $LIB $LIB.dbg 48 strip --strip-unneeded $LIB 49 objcopy --add-gnu-debuglink=$LIB.dbg $LIB 50 done</userinput> 51 <userinput arch="ml_x32,ml_all"> 52 cd &lib-mx32; 53 for LIB in $save_lib; do 54 objcopy --only-keep-debug $LIB $LIB.dbg 55 strip --strip-unneeded $LIB 56 objcopy --add-gnu-debuglink=$LIB.dbg $LIB 57 done</userinput><userinput> 58 59 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; 60 38 libitm.so.&libitm-version; libatomic.so.&libatomic-version;" <!-- libcilkrts.so.&libcilkrts-version;--> 61 39 … … 81 59 done</userinput><userinput> 82 60 83 unset LIB save_ lib save_usrlib</userinput></screen>61 unset LIB save_usrlib</userinput></screen> 84 62 85 63 <!-- <para>Before performing the stripping, take special care to ensure that … … 98 76 -exec strip --strip-debug {} ';'</userinput><userinput> 99 77 100 find / lib /usr/lib -type f -name \*.so* ! -name \*dbg \78 find /usr/lib -type f -name \*.so* ! -name \*dbg \ 101 79 -exec strip --strip-unneeded {} ';'</userinput> 102 <userinput arch="ml_32,ml_all">find & lib-m32; &usr-lib-m32; -type f -name \*.so* ! -name \*dbg \80 <userinput arch="ml_32,ml_all">find &usr-lib-m32; -type f -name \*.so* ! -name \*dbg \ 103 81 -exec strip --strip-unneeded {} ';'</userinput> 104 <userinput arch="ml_x32,ml_all">find & lib-mx32; &usr-lib-mx32; -type f -name \*.so* ! -name \*dbg \82 <userinput arch="ml_x32,ml_all">find &usr-lib-mx32; -type f -name \*.so* ! -name \*dbg \ 105 83 -exec strip --strip-unneeded {} ';'</userinput><userinput> 106 84 107 find / {bin,sbin} /usr/{bin,sbin,libexec} -type f \85 find /usr/{bin,sbin,libexec} -type f \ 108 86 -exec strip --strip-all {} ';'</userinput></screen> 109 87 -
chapter08/systemd.xml
r0e9fb93 rdf462a9 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> … … 385 351 <seg>bootctl, busctl, coredumpctl, halt (symlink to systemctl), 386 352 hostnamectl, init, journalctl, kernel-install, localectl, loginctl, 387 machinectl, networkctl, portablectl, poweroff (symlink to353 machinectl, networkctl, oomctl, portablectl, poweroff (symlink to 388 354 systemctl), reboot (symlink to systemctl), resolvconf (symlink to 389 355 resolvectl), resolvectl, runlevel (symlink to systemctl), shutdown 390 356 (symlink to systemctl), systemctl, systemd-analyze, 391 357 systemd-ask-password, systemd-cat, systemd-cgls, systemd-cgtop, 392 systemd-delta, systemd-detect-virt, systemd-dissect, systemd-escape, 393 systemd-hwdb, systemd-id128, systemd-inhibit, systemd-machine-id-setup, 358 systemd-cryptenroll, systemd-delta, systemd-detect-virt, 359 systemd-dissect, systemd-escape, systemd-hwdb, systemd-id128, 360 systemd-inhibit, systemd-machine-id-setup, 394 361 systemd-mount, systemd-notify, systemd-nspawn, systemd-path, 395 362 systemd-repart, systemd-resolve (symlink to resolvectl), systemd-run, 396 systemd-socket-activate, systemd-stdio-bridge, systemd- tmpfiles,397 systemd-t ty-ask-password-agent, systemd-umount (symlink to398 systemd- mount), telinit (symlink to systemctl), timedatectl, and399 udevadm</seg>363 systemd-socket-activate, systemd-stdio-bridge, systemd-sysext, 364 systemd-tmpfiles, systemd-tty-ask-password-agent, 365 systemd-umount (symlink to systemd-mount), 366 telinit (symlink to systemctl), timedatectl, and udevadm</seg> 400 367 <seg>libnss_myhostname.so.2, libnss_mymachines.so.2, 401 368 libnss_resolve.so.2, libnss_systemd.so.2, 402 libsystemd.so, libsystemd-shared-&systemd-version;.so (in / lib/systemd),369 libsystemd.so, libsystemd-shared-&systemd-version;.so (in /usr/lib/systemd), 403 370 and libudev.so</seg> 404 371 <seg>/etc/binfmt.d, /etc/init.d, /etc/kernel, /etc/modules-load.d, 405 372 /etc/sysctl.d, /etc/systemd, /etc/tmpfiles.d, /etc/udev, 406 /etc/xdg/systemd, / lib/systemd,/lib/udev, /usr/include/systemd,373 /etc/xdg/systemd, /usr/lib/systemd, /usr/lib/udev, /usr/include/systemd, 407 374 /usr/lib/binfmt.d, /usr/lib/environment.d, /usr/lib/kernel, 408 375 /usr/lib/modules-load.d, /usr/lib/sysctl.d, /usr/lib/systemd, … … 551 518 </varlistentry> 552 519 520 <varlistentry id="oomctl"> 521 <term><command>oomctl</command></term> 522 <listitem> 523 <para>Controls the systemd Out Of Memory daemon</para> 524 <indexterm zone="ch-system-systemd oomctl"> 525 <primary sortas="b-oomctl">oomctl</primary> 526 </indexterm> 527 </listitem> 528 </varlistentry> 529 553 530 <varlistentry id="portablectl"> 554 531 <term><command>portablectl</command></term> … … 696 673 </varlistentry> 697 674 675 <varlistentry id="systemd-cryptenroll"> 676 <term><command>systemd-cryptenroll</command></term> 677 <listitem> 678 <para>Is used to enroll or remove a system from full disk encryption, 679 as well as set and query private keys and recovery keys</para> 680 <indexterm zone="ch-system-systemd systemd-cryptenroll"> 681 <primary sortas="b-systemd-cryptenroll">systemd-cryptenroll</primary> 682 </indexterm> 683 </listitem> 684 </varlistentry> 685 698 686 <varlistentry id="systemd-delta"> 699 687 <term><command>systemd-delta</command></term> … … 867 855 <indexterm zone="ch-system-systemd systemd-socket-activate"> 868 856 <primary sortas="b-systemd-socket-activate">systemd-socket-activate</primary> 857 </indexterm> 858 </listitem> 859 </varlistentry> 860 861 <varlistentry id="systemd-sysext"> 862 <term><command>systemd-sysext</command></term> 863 <listitem> 864 <para>Creates, deletes, and manages system extensions through the 865 systemd-sysextd daemon</para> 866 <indexterm zone="ch-system-systemd systemd-sysext"> 867 <primary sortas="b-systemd-sysext">systemd-sysext</primary> 869 868 </indexterm> 870 869 </listitem> -
chapter08/tar.xml
r0e9fb93 rdf462a9 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
r0e9fb93 rdf462a9 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
r0e9fb93 rdf462a9 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
r0e9fb93 rdf462a9 57 57 58 58 <screen><userinput remap="install">make install</userinput></screen> 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 59 68 60 <para>Remove an useless static library:</para> -
chapter08/zstd.xml
r0e9fb93 rdf462a9 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> -
chapter09/symlinks.xml
r0e9fb93 rdf462a9 49 49 Generate these rules by running:</para> 50 50 51 <screen role="install"><userinput>bash / lib/udev/init-net-rules.sh</userinput></screen>51 <screen role="install"><userinput>bash /usr/lib/udev/init-net-rules.sh</userinput></screen> 52 52 53 53 <para> Now, inspect the -
chapter09/udev.xml
r0e9fb93 rdf462a9 109 109 udevd</command>. Based on the rules specified in the files within the 110 110 <filename class="directory">/etc/udev/rules.d</filename>, <filename 111 class="directory">/ lib/udev/rules.d</filename>, and <filename111 class="directory">/usr/lib/udev/rules.d</filename>, and <filename 112 112 class="directory">/run/udev/rules.d</filename> directories, <command> 113 113 udevd</command> will create additional symlinks to the device node, or … … 286 286 <systemitem class="filesystem">sysfs</systemitem>. This is most common 287 287 with third party drivers from outside the kernel tree. Create a static 288 device node in <filename>/ lib/udev/devices</filename> with the288 device node in <filename>/usr/lib/udev/devices</filename> with the 289 289 appropriate major/minor numbers (see the file 290 290 <filename>devices.txt</filename> inside the kernel documentation or the -
packages.ent
r0e9fb93 rdf462a9 218 218 <!ENTITY gawk-fin-sbu "0.4 SBU"> 219 219 220 <!ENTITY gcc-version "1 0.2.0">221 <!ENTITY gcc-size "7 3,247KB">220 <!ENTITY gcc-version "11.1.0"> 221 <!ENTITY gcc-size "77,032 KB"> 222 222 <!ENTITY gcc-url "&gnu;gcc/gcc-&gcc-version;/gcc-&gcc-version;.tar.xz"> 223 <!ENTITY gcc-md5 " e9fd9b1789155ad09bcf3ae747596b50">223 <!ENTITY gcc-md5 "77f6252be0861ab918042acf42bc10ff"> 224 224 <!ENTITY gcc-home "https://gcc.gnu.org/"> 225 225 <!ENTITY gcc-tmpp1-du "3.7 GB"> … … 345 345 <!ENTITY intltool-fin-sbu "less than 0.1 SBU"> 346 346 347 <!ENTITY iproute2-version "5.1 1.0">348 <!ENTITY iproute2-size "8 03KB">347 <!ENTITY iproute2-version "5.12.0"> 348 <!ENTITY iproute2-size "820 KB"> 349 349 <!ENTITY iproute2-url "&kernel;linux/utils/net/iproute2/iproute2-&iproute2-version;.tar.xz"> 350 <!ENTITY iproute2-md5 " a3c6b09590c0bd120f0ab0b6e36187a8">350 <!ENTITY iproute2-md5 "bbebacdabd4628ff86453ef4771a242a"> 351 351 <!ENTITY iproute2-home "&kernel;linux/utils/net/iproute2/"> 352 352 <!ENTITY iproute2-fin-du "15 MB"> … … 426 426 427 427 <!ENTITY linux-major-version "5"> 428 <!ENTITY linux-minor-version "1 1">429 <!ENTITY linux-patch-version " 16">428 <!ENTITY linux-minor-version "12"> 429 <!ENTITY linux-patch-version "2"> 430 430 <!--<!ENTITY linux-version "&linux-major-version;.&linux-minor-version;">--> 431 431 <!ENTITY linux-version "&linux-major-version;.&linux-minor-version;.&linux-patch-version;"> 432 <!ENTITY linux-size "11 4,893KB">432 <!ENTITY linux-size "115,344 KB"> 433 433 <!ENTITY linux-url "&kernel;linux/kernel/v&linux-major-version;.x/linux-&linux-version;.tar.xz"> 434 <!ENTITY linux-md5 " c7536df1e1e3d03621092d732c8a5b6e">434 <!ENTITY linux-md5 "1119082b017840a4d57e1a51c4bfc07b"> 435 435 <!ENTITY linux-home "https://www.kernel.org/"> 436 436 <!-- measured for 5.8.3 / gcc-10.2.0 on x86_64 : minimum is … … 482 482 <!ENTITY man-pages-fin-sbu "less than 0.1 SBU"> 483 483 484 <!ENTITY meson-version "0.5 7.2">485 <!ENTITY meson-size "1,8 11KB">484 <!ENTITY meson-version "0.58.0"> 485 <!ENTITY meson-size "1,844 KB"> 486 486 <!ENTITY meson-url "&github;/mesonbuild/meson/releases/download/&meson-version;/meson-&meson-version;.tar.gz"> 487 <!ENTITY meson-md5 " 4a07b6d42d7a46a6b6e9604fae7da9aa">487 <!ENTITY meson-md5 "18ac55e3d6a5acb17b5737eb2a15bb5b"> 488 488 <!ENTITY meson-home "https://mesonbuild.com"> 489 489 <!ENTITY meson-fin-du "37 MB"> … … 583 583 meson pages will be needed: python3.6 and python3.6m --> 584 584 585 <!ENTITY python-version "3.9. 4">585 <!ENTITY python-version "3.9.5"> 586 586 <!ENTITY python-minor "3.9"> 587 <!ENTITY python-size "18, 458KB">587 <!ENTITY python-size "18,612 KB"> 588 588 <!ENTITY python-url "https://www.python.org/ftp/python/&python-version;/Python-&python-version;.tar.xz"> 589 <!ENTITY python-md5 " 2a3dba5fc75b695c45cf1806156e1a97">589 <!ENTITY python-md5 "71f7ada6bec9cdbf4538adc326120cfd"> 590 590 <!ENTITY python-home "https://www.python.org/"> 591 591 <!ENTITY python-tmp-du "374 MB"> … … 594 594 <!ENTITY python-fin-sbu "2.8 SBU"> 595 595 <!ENTITY python-docs-url "https://www.python.org/ftp/python/doc/&python-version;/python-&python-version;-docs-html.tar.bz2"> 596 <!ENTITY python-docs-md5 " a225c583da4533c5bf98ba3555f50c7b">597 <!ENTITY python-docs-size "6,6 72KB">596 <!ENTITY python-docs-md5 "c594916b00cbb9796fa001dd2764ab0f"> 597 <!ENTITY python-docs-size "6,680 KB"> 598 598 599 599 <!ENTITY readline-version "8.1"> … … 631 631 <!ENTITY sysklogd-fin-sbu "less than 0.1 SBU"> 632 632 633 <!ENTITY systemd-version "24 7">633 <!ENTITY systemd-version "248"> 634 634 <!--<!ENTITY systemd-stable "6b4878d">--> 635 635 <!-- The above entity is used whenever we move to a stable backport branch. In the event of a critical problem or kernel 636 636 change that is incompatible, we will switch to the backport branch until the next stable release. --> 637 <!ENTITY systemd-size " 9,656KB">637 <!ENTITY systemd-size "10,068 KB"> 638 638 <!ENTITY systemd-url "&github;/systemd/systemd/archive/v&systemd-version;/systemd-&systemd-version;.tar.gz"> 639 639 <!--<!ENTITY systemd-url "&anduin-sources;/systemd-&systemd-version;-&systemd-stable;.tar.xz">--> 640 <!ENTITY systemd-md5 " b0d6e603b814908acc69db29bbfb023c">640 <!ENTITY systemd-md5 "00131adf0e98c1fd8a7fde4eb47f10c8"> 641 641 <!ENTITY systemd-home "https://www.freedesktop.org/wiki/Software/systemd/"> 642 <!ENTITY systemd-man-version "24 7-2">643 <!ENTITY systemd-man-size " 612KB">642 <!ENTITY systemd-man-version "248"> 643 <!ENTITY systemd-man-size "584 KB"> 644 644 <!--<!ENTITY systemd-man-url "&anduin-sources;/systemd-man-pages-&systemd-version;-&systemd-stable;.tar.xz">--> 645 645 <!ENTITY systemd-man-url "&anduin-sources;/systemd-man-pages-&systemd-man-version;.tar.xz"> 646 <!ENTITY systemd-man-md5 " 7d8a53105b7a205f2863e360d9a23f95">646 <!ENTITY systemd-man-md5 "82cc641742df67128df8b6a55fbcbabc"> 647 647 <!ENTITY systemd-fin-du "264 MB"> 648 648 <!ENTITY systemd-fin-sbu "1.8 SBU"> -
patches.ent
r0e9fb93 rdf462a9 68 68 <!ENTITY sysvinit-consolidated-patch-size "2.4 KB"> 69 69 70 <!ENTITY systemd-upstream-fixes-patch "systemd-&systemd-version;-upstream_fixes- 3.patch">71 <!ENTITY systemd-upstream-fixes-patch-md5 " 949768da539ddfa2bf6e936b81ed96df">72 <!ENTITY systemd-upstream-fixes-patch-size " 16KB">70 <!ENTITY systemd-upstream-fixes-patch "systemd-&systemd-version;-upstream_fixes-1.patch"> 71 <!ENTITY systemd-upstream-fixes-patch-md5 "6819d49562ac48b551d15d2dd0123055"> 72 <!ENTITY systemd-upstream-fixes-patch-size "8 KB">
Note:
See TracChangeset
for help on using the changeset viewer.