Changeset 216be86 for BOOK/final-system/common
- Timestamp:
- Apr 24, 2017, 10:21:28 AM (8 years ago)
- Branches:
- master, systemd
- Children:
- 0fa3c9f
- Parents:
- c831ac4
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
BOOK/final-system/common/systemd.xml
rc831ac4 r216be86 25 25 <title>Installation of Systemd</title> 26 26 27 <para os="p1">Systemd 209 merged several libraries into28 <filename class="libraryfile">libsystemd</filename>, but some packages29 that use systemd still expect those separate libraries. Apply a patch30 to allow backwards compatibility with these packages by31 installing Pkg-config files for the old libraries:</para>32 33 <screen os="p2"><userinput>patch -Np1 -i ../&systemd-compat-patch;</userinput></screen>34 35 27 <para os="s1">Prevent the <filename>Makefile</filename> from trying to run 36 28 <command>setcap</command> on <command>systemd-detect-virt</command>, … … 46 38 <screen os="s4"><userinput>sed -i '/timesyncd.conf/d' src/timesync/timesyncd.conf.in</userinput></screen> 47 39 48 <para os="s5">By default, <command>systemd-fsck</command> will run49 <filename>/sbin/fsck</filename> with the <option>-l</option> option, which50 applies an <function>flock</function> on the file system being checked.51 This can conflict with an <function>flock</function> that52 systemd itself puts on the file system, which could result in problems53 booting. <command>fsck</command> will be fixed to avoid this problem in a54 future release of Util-linux, but for now we will work around the issue by55 simply preventing <command>systemd-fsck</command> from using <option>-l</option>:</para>56 57 <screen os="s6"><userinput>sed -i '/-l/d' src/fsck/fsck.c</userinput></screen>58 59 40 <para os="a">Prepare systemd for compilation:</para> 41 42 <para os="cc1">Create a file to declare some variables</para> 43 44 <screen os="cc2"><userinput>cat > config.cache << "EOF" 45 KILL="/bin/kill" 46 MOUNT_PATH="/bin/mount" 47 UMOUNT_PATH="/bin/umount" 48 SULOGIN="/sbin/sulogin" 49 XSLTPROC="/usr/bin/xsltproc" 50 EOF</userinput></screen> 60 51 61 52 <screen os="b"><userinput>./configure \ … … 68 59 --with-rootlibdir=/lib \ 69 60 --enable-split-usr \ 70 --disable-gudev \ 61 --disable-firstboot \ 62 --disable-ldconfig \ 63 --disable-lto \ 64 --disable-sysusers \ 65 --with-default-dnssec=no \ 71 66 --with-kbd-loadkeys=/bin/loadkeys \ 72 67 --with-kbd-setfont=/bin/setfont \ 73 68 --with-dbuspolicydir=/etc/dbus-1/system.d \ 74 --with-dbusinterfacedir=/usr/share/dbus-1/interfaces \75 69 --with-dbussessionservicedir=/usr/share/dbus-1/services \ 76 70 --with-dbussystemservicedir=/usr/share/dbus-1/system-services \ 77 cc_cv_CFLAGS__flto=no</userinput></screen>71 --config-cache</userinput></screen> 78 72 79 73 <variablelist os="c"> 80 74 <title>The meaning of the configure options:</title> 75 76 <varlistentry> 77 <term><parameter>--config-cache</parameter></term> 78 <listitem> 79 <para>Use the created <filename>config.cache</filename>.</para> 80 </listitem> 81 </varlistentry> 81 82 82 83 <varlistentry> … … 99 100 100 101 <varlistentry> 101 <term><parameter>--disable-gudev</parameter></term> 102 <listitem> 103 <para>This switch prevents systemd from building 104 <filename class="libraryfile">libgudev</filename> as it requires 105 Glib, which is not installed in CLFS.</para> 102 <term><parameter>--disable-firstboot</parameter></term> 103 <listitem> 104 <para>This switch prevents installation of systemd services 105 responsible for setting up the system for the first time. 106 They are not useful for CLFS as everything is done manually. 107 </para> 108 </listitem> 109 </varlistentry> 110 111 <varlistentry> 112 <term><parameter>--disable-ldconfig</parameter></term> 113 <listitem> 114 <para>This switch prevents installation of a systemd unit that runs 115 <command>ldconfig</command> at boot, and increases boot time. 116 While it may be not useful for source distributions like CLFS, 117 this option may be removed.</para> 118 </listitem> 119 </varlistentry> 120 121 <varlistentry> 122 <term><parameter>--disable-lto</parameter></term> 123 <listitem> 124 <para>This prevents the build system from using GCC's Link-time 125 optimization (LTO), to ensure that systemd's binaries will not try 126 to link to <filename class="libraryfile">libgcc_s</filename></para> 127 </listitem> 128 </varlistentry> 129 130 <varlistentry> 131 <term><parameter>--disable-sysusers</parameter></term> 132 <listitem> 133 <para>This switch prevents install of systemd services which setup 134 the previously created <filename>/etc/group</filename> and 135 <filename>/etc/passwd</filename> files.</para> 106 136 </listitem> 107 137 </varlistentry> … … 116 146 117 147 <varlistentry> 118 <term><parameter>cc_cv_CFLAGS__flto=no</parameter></term> 119 <listitem> 120 <para>This prevents the build system from using GCC's Link-time 121 optimization (LTO), to ensure that systemd's binaries will not try 122 to link to <filename class="libraryfile">libgcc_s</filename>.</para> 148 <term><parameter>--with-default-dnssec=no</parameter></term> 149 <listitem> 150 <para>This switch turns off the experimental DNNSEC support.</para> 123 151 </listitem> 124 152 </varlistentry> … … 132 160 <para os="f">Prevent a broken test case from running:</para> 133 161 134 <screen os="g"><userinput remap="test">sed -e "s:test/udev-test.pl::g"\135 -e "s:test-bus-cleanup\$(EXEEXT) ::g"\136 -e "s:test-bus-gvariant\$(EXEEXT) ::g" \137 -i Makefile</userinput></screen>162 <screen os="g"><userinput remap="test">sed -e 's@test/udev-test.pl @@' \ 163 -e 's@test-copy$(EXEEXT) @@' \ 164 -i Makefile.in 165 </userinput></screen> 138 166 139 167 <para os="h">To test the results, issue:</para> 140 168 141 <screen os="i"><userinput remap="test">make check</userinput></screen> 169 <screen os="i"><userinput remap="test"> 170 sed -i "s:minix:ext4:g" src/test/test-path-util.c 171 make check</userinput></screen> 142 172 143 173 <para os="j">Install the package:</para> … … 148 178 149 179 <screen os="m"><userinput>install -v -m644 man/*.html /usr/share/doc/systemd-&systemd-version;</userinput></screen> 150 151 <para os="n">Move the152 <filename class="libraryfile">nss_myhostname</filename> library to153 <filename class="directory">/lib</filename>:</para>154 155 <screen os="o"><userinput>mv -v /usr/lib/libnss_myhostname.so.2 /lib</userinput></screen>156 180 157 181 <para os="p">Remove an unnecessary directory:</para> … … 165 189 done 166 190 ln -sfv ../lib/systemd/systemd /sbin/init</userinput></screen> 167 168 <para os="t">Modify a configuration file which references a group that169 doesn't exist:</para>170 171 <screen os="u"><userinput>sed -i "s@root lock@root root@g" /usr/lib/tmpfiles.d/legacy.conf</userinput></screen>172 191 173 192 </sect2>
Note:
See TracChangeset
for help on using the changeset viewer.