diff --git a/Makefile b/Makefile index bd6884a66..c2dfc109a 100644 --- a/Makefile +++ b/Makefile @@ -18,20 +18,32 @@ endif ifneq ($(REV), sysv) ifneq ($(REV), systemd) - $(error REV must be 'sysv' (default) or 'systemd'.) + ifneq ($(REV), s6) + $(error REV must be 'sysv' (default), 'systemd' or 's6'.) + endif endif endif ifeq ($(REV), sysv) + # SysV BASEDIR ?= ~/lfs-book PDF_OUTPUT ?= LFS-BOOK.pdf NOCHUNKS_OUTPUT ?= LFS-BOOK.html DUMPDIR ?= ~/cross-lfs-commands else +ifeq ($(REV), systemd) + # systemd BASEDIR ?= ~/lfs-systemd PDF_OUTPUT ?= LFS-SYSD-BOOK.pdf NOCHUNKS_OUTPUT ?= LFS-SYSD-BOOK.html DUMPDIR ?= ~/lfs-sysd-commands +else + # S6 + BASEDIR ?= ~/lfs-s6 + PDF_OUTPUT ?= LFS-S6-BOOK.pdf + NOCHUNKS_OUTPUT ?= LFS-S6-BOOK.html + DUMPDIR ?= ~/lfs-s6-commands +endif endif book: validate profile-html diff --git a/chapter01/whatsnew.xml b/chapter01/whatsnew.xml index 66affa2dd..f0c82a0de 100644 --- a/chapter01/whatsnew.xml +++ b/chapter01/whatsnew.xml @@ -71,7 +71,7 @@ E2fsprogs-&e2fsprogs-version; - diff --git a/chapter03/packages.xml b/chapter03/packages.xml index aa927e60a..4edc5950c 100644 --- a/chapter03/packages.xml +++ b/chapter03/packages.xml @@ -174,7 +174,7 @@ - + Eudev (&eudev-version;) - &eudev-size;: Download: @@ -182,6 +182,15 @@ + + execline (&execline-version;) - &execline-size;: + + Home page: + Download: + MD5 sum: &execline-md5; + + + Expat (&expat-version;) - &expat-size;: @@ -656,6 +665,42 @@ + + skalibs (&skalibs-version;) - &skalibs-size;: + + Home page: + Download: + MD5 sum: &skalibs-md5; + + + + + S6 (&s6-version;) - &s6-size;: + + Home page: + Download: + MD5 sum: &s6-md5; + + + + + S6-rc (&s6-rc-version;) - &s6-rc-size;: + + Home page: + Download: + MD5 sum: &s6-rc-md5; + + + + + S6-linux-init (&s6-init-version;) - &s6-init-size;: + + Home page: + Download: + MD5 sum: &s6-init-md5; + + + Sysklogd (&sysklogd-version;) - &sysklogd-size;: @@ -689,7 +734,6 @@ - Sysvinit (&sysvinit-version;) - &sysvinit-size;: @@ -743,7 +787,7 @@ - + Udev-lfs Tarball (&udev-lfs-version;) - &udev-lfs-size;: Download: diff --git a/chapter07/createfiles.xml b/chapter07/createfiles.xml index eda30ed2e..7ad90a976 100644 --- a/chapter07/createfiles.xml +++ b/chapter07/createfiles.xml @@ -60,7 +60,7 @@ EOF Create the /etc/passwd file by running the following command: -cat > /etc/passwd << "EOF" +cat > /etc/passwd << "EOF" root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/dev/null:/usr/bin/false daemon:x:6:6:Daemon User:/dev/null:/usr/bin/false @@ -92,7 +92,7 @@ EOF Create the /etc/group file by running the following command: -cat > /etc/group << "EOF" +cat > /etc/group << "EOF" root:x:0: bin:x:1:daemon sys:x:2: @@ -168,7 +168,7 @@ EOF with a GID of 1 be present. The GID of 5 is widely used for tty group, and the number 5 is also used in systemd - /etc/fstab for the + /etc/fstab for the devpts filesystem. All other group names and GIDs can be chosen freely by the system administrator since well-written programs do not depend on GID numbers, diff --git a/chapter08/chapter08.xml b/chapter08/chapter08.xml index 902d1bf48..fde5897a1 100644 --- a/chapter08/chapter08.xml +++ b/chapter08/chapter08.xml @@ -96,14 +96,19 @@ - - + + + + + + + diff --git a/chapter08/eudev.xml b/chapter08/eudev.xml index efaba9d30..59061f60b 100644 --- a/chapter08/eudev.xml +++ b/chapter08/eudev.xml @@ -5,7 +5,7 @@ %general-entities; ]> - + @@ -133,7 +133,7 @@ make -f &udev-lfs-version;/Makefile.lfs install Short Descriptions - + udevadm Generic udev administration tool: controls the udevd daemon, diff --git a/chapter08/execline.xml b/chapter08/execline.xml new file mode 100644 index 000000000..8800e7beb --- /dev/null +++ b/chapter08/execline.xml @@ -0,0 +1,104 @@ + + + %general-entities; +]> + + + + + + execline + &execline-version; +
&execline-url;
+
+ + execline-&execline-version; + + + execline + + + + + + <para>The execline package is a (non-interactive) scripting + language, like sh - but its syntax is quite different from + a traditional shell syntax. Used internally by the S6 ecosystem.</para> + + <segmentedlist> + <segtitle>&buildtime;</segtitle> + <segtitle>&diskspace;</segtitle> + + <seglistitem> + <seg>&execline-fin-sbu;</seg> + <seg>&execline-fin-du;</seg> + </seglistitem> + </segmentedlist> + </sect2> + + <sect2 role="installation"> + <title>Installation of execline + + Prepare execline for compilation: + +./configure --prefix=/usr + + + + Compile the package: + +make + + Install the package: + +make install + + + + + Contents of execline + + + Installed programs + Installed libraries + Installed directories + + + execline-x, execline-y, execline-z, ... + libx, liby, libz ... + dirx, diry, dirz ... + + + + + Short Descriptions + + + + + execline-x + + Is used to blah blah + + execline-x + + + + + + + +
diff --git a/chapter08/man-db.xml b/chapter08/man-db.xml index 523962c9a..f3c90f7f9 100644 --- a/chapter08/man-db.xml +++ b/chapter08/man-db.xml @@ -52,7 +52,7 @@ --with-vgrind=/usr/bin/vgrind \ --with-grap=/usr/bin/grap
-./configure --prefix=/usr \ +./configure --prefix=/usr \ --docdir=/usr/share/doc/man-db-&man-db-version; \ --sysconfdir=/etc \ --disable-setuid \ @@ -97,7 +97,7 @@
- + --with-systemd... These parameters prevent installing unneeded systemd diff --git a/chapter08/meson.xml b/chapter08/meson.xml index d2132b5a1..12a43fd08 100644 --- a/chapter08/meson.xml +++ b/chapter08/meson.xml @@ -35,7 +35,7 @@ - + This section is not strictly required for LFS if not using systemd. On the other hand, meson/ninja is a powerful build system, which is expected to be used more and more often. It is required for diff --git a/chapter08/procps.xml b/chapter08/procps.xml index a78f7fa90..ed1b6a086 100644 --- a/chapter08/procps.xml +++ b/chapter08/procps.xml @@ -42,7 +42,7 @@ Prepare procps-ng for compilation: -./configure --prefix=/usr \ +./configure --prefix=/usr \ --docdir=/usr/share/doc/procps-ng-&procps-ng-version; \ --disable-static \ --disable-kill diff --git a/chapter08/s6-init.xml b/chapter08/s6-init.xml new file mode 100644 index 000000000..c79b5b1f9 --- /dev/null +++ b/chapter08/s6-init.xml @@ -0,0 +1,104 @@ + + + %general-entities; +]> + + + + + + s6-init + &s6-init-version; +
&s6-init-url;
+
+ + s6-init-&s6-init-version; + + + s6-init + + + + + + <para>s6-linux-init is a set of minimalistic tools used to + create a s6-based init system, including a /sbin/init binary, + on a Linux kernel.</para> + + <segmentedlist> + <segtitle>&buildtime;</segtitle> + <segtitle>&diskspace;</segtitle> + + <seglistitem> + <seg>&s6-init-fin-sbu;</seg> + <seg>&s6-init-fin-du;</seg> + </seglistitem> + </segmentedlist> + </sect2> + + <sect2 role="installation"> + <title>Installation of s6-linux-init + + Prepare s6-init for compilation: + +./configure --prefix=/usr + + + + Compile the package: + +make + + Install the package: + +make install + + + + + Contents of s6-init + + + Installed programs + Installed libraries + Installed directories + + + s6-init-x, s6-init-y, s6-init-z, ... + libx, liby, libz ... + dirx, diry, dirz ... + + + + + Short Descriptions + + + + + s6-init-x + + Is used to blah blah + + s6-init-x + + + + + + + +
diff --git a/chapter08/s6-rc.xml b/chapter08/s6-rc.xml new file mode 100644 index 000000000..82f5214a1 --- /dev/null +++ b/chapter08/s6-rc.xml @@ -0,0 +1,103 @@ + + + %general-entities; +]> + + + + + + s6-rc + &s6-rc-version; +
&s6-rc-url;
+
+ + s6-rc-&s6-rc-version; + + + s6-rc + + + + + + <para>The s6-rc package contains library routines for the + S6 init system.</para> + + <segmentedlist> + <segtitle>&buildtime;</segtitle> + <segtitle>&diskspace;</segtitle> + + <seglistitem> + <seg>&s6-rc-fin-sbu;</seg> + <seg>&s6-rc-fin-du;</seg> + </seglistitem> + </segmentedlist> + </sect2> + + <sect2 role="installation"> + <title>Installation of s6-rc + + Prepare s6-rc for compilation: + +./configure --prefix=/usr + + + + Compile the package: + +make + + Install the package: + +make install + + + + + Contents of s6-rc + + + Installed programs + Installed libraries + Installed directories + + + s6-rc-x, s6-rc-y, s6-rc-z, ... + libx, liby, libz ... + dirx, diry, dirz ... + + + + + Short Descriptions + + + + + s6-rc-x + + Is used to blah blah + + s6-rc-x + + + + + + + +
diff --git a/chapter08/s6.xml b/chapter08/s6.xml new file mode 100644 index 000000000..cdc3de7c0 --- /dev/null +++ b/chapter08/s6.xml @@ -0,0 +1,105 @@ + + + %general-entities; +]> + + + + + + s6 + &s6-version; +
&s6-url;
+
+ + S6-&s6-version; + + + s6 + + + + + + <para>The s6 package contains programs for controlling the startup, + running, and shutdown of the system.</para> + + <segmentedlist> + <segtitle>&buildtime;</segtitle> + <segtitle>&diskspace;</segtitle> + + <seglistitem> + <seg>&s6-fin-sbu;</seg> + <seg>&s6-fin-du;</seg> + </seglistitem> + </segmentedlist> + </sect2> + + <sect2 role="installation"> + <title>Installation of s6 + + Prepare s6 for compilation: + +./configure --prefix=/usr \ + --datadir=/etc \ + --docdir=/usr/share/doc/s6-&s6-version; + + + + Compile the package: + +make + + Install the package: + +make install + + + + + Contents of s6 + + + Installed programs + Installed libraries + Installed directories + + + s6-x, s6-y, s6-z, ... + libx, liby, libz ... + dirx, diry, dirz ... + + + + + Short Descriptions + + + + + s6-x + + Is used to blah blah + + s6-x + + + + + + + +
diff --git a/chapter08/skalibs.xml b/chapter08/skalibs.xml new file mode 100644 index 000000000..43b0a48ad --- /dev/null +++ b/chapter08/skalibs.xml @@ -0,0 +1,103 @@ + + + %general-entities; +]> + + + + + + skalibs + &skalibs-version; +
&skalibs-url;
+
+ + skalibs-&skalibs-version; + + + skalibs + + + + + + <para>The skalibs package contains library routines for the + S6 init system.</para> + + <segmentedlist> + <segtitle>&buildtime;</segtitle> + <segtitle>&diskspace;</segtitle> + + <seglistitem> + <seg>&skalibs-fin-sbu;</seg> + <seg>&skalibs-fin-du;</seg> + </seglistitem> + </segmentedlist> + </sect2> + + <sect2 role="installation"> + <title>Installation of skalibs + + Prepare skalibs for compilation: + +./configure --prefix=/usr + + + + Compile the package: + +make + + Install the package: + +make install + + + + + Contents of skalibs + + + Installed programs + Installed libraries + Installed directories + + + skalibs-x, skalibs-y, skalibs-z, ... + libx, liby, libz ... + dirx, diry, dirz ... + + + + + Short Descriptions + + + + + skalibs-x + + Is used to blah blah + + skalibs-x + + + + + + + +
diff --git a/chapter08/util-linux.xml b/chapter08/util-linux.xml index d659666db..ab57e0a8f 100644 --- a/chapter08/util-linux.xml +++ b/chapter08/util-linux.xml @@ -44,7 +44,7 @@ Prepare Util-linux for compilation: -./configure ADJTIME_PATH=/var/lib/hwclock/adjtime \ +./configure ADJTIME_PATH=/var/lib/hwclock/adjtime \ --bindir=/usr/bin \ --libdir=/usr/lib \ --sbindir=/usr/sbin \ diff --git a/chapter09/chapter09.xml b/chapter09/chapter09.xml index 499e66a6f..d94612401 100644 --- a/chapter09/chapter09.xml +++ b/chapter09/chapter09.xml @@ -19,6 +19,11 @@ + + + + + diff --git a/chapter09/introduction6.xml b/chapter09/introduction6.xml new file mode 100644 index 000000000..fcfa85837 --- /dev/null +++ b/chapter09/introduction6.xml @@ -0,0 +1,91 @@ + + + %general-entities; +]> + + + + + Introduction + + Booting a Linux system involves several tasks. The process must + mount both virtual and real file systems, initialize devices, activate swap, + check file systems for integrity, mount any swap partitions or files, set + the system clock, bring up networking, start any daemons required by the + system, and accomplish any other custom tasks needed by the user. This + process must be organized to ensure the tasks are performed in the correct + order but, at the same time, be executed as fast as possible. + + + System V + + System V is the classic boot process that has been used in Unix and + Unix-like systems such as Linux since about 1983. It consists of a small + program, init, that sets up basic programs such as + login (via getty) and runs a script. This script, + usually named rc, controls the execution of a set of + additional scripts that perform the tasks required to initialize the + system. + + The init program is controlled by the + /etc/inittab file and is organized into run levels that + can be run by the user. In LFS, they are used as follows: + +0 — halt +1 — Single user mode +2 — User definable +3 — Full multiuser mode +4 — User definable +5 — Full multiuser mode with display manager +6 — reboot + + The usual default run level is 3 or 5. + + Advantages + + + + Established, well understood system. + + + + Easy to customize. + + + + + + Disadvantages + + + + May be slower to boot. A medium speed base LFS system + takes 8-12 seconds where the boot time is measured from the + first kernel message to the login prompt. Network + connectivity is typically established about 2 seconds + after the login prompt. + + + + Serial processing of boot tasks. This is related to the previous + point. A delay in any process such as a file system check, will + delay the entire boot process. + + + + Does not directly support advanced features like + control groups (cgroups), and per-user fair share scheduling. + + + + Adding scripts requires manual, static sequencing decisions. + + + + + + + + diff --git a/chapter09/network6.xml b/chapter09/network6.xml new file mode 100644 index 000000000..291abb95e --- /dev/null +++ b/chapter09/network6.xml @@ -0,0 +1,247 @@ + + + %general-entities; +]> + + + + + General Network Configuration + + + network + configuring + + + Creating Network Interface Configuration Files + + Which interfaces are brought up and down by the network script + usually depends on the files in /etc/sysconfig/. This directory should + contain a file for each interface to be configured, such as + ifconfig.xyz, where xyz should describe + the network card. The interface name (e.g. eth0) is usually appropriate. + Inside this file are attributes to this interface, such as its IP + address(es), subnet masks, and so forth. It is necessary that the stem of + the filename be ifconfig. + + + If the procedure in the previous section was not used, udev + will assign network card interface names based on system physical + characteristics such as enp2s1. If you are not sure what your interface + name is, you can always run ip link or ls + /sys/class/net after you have booted your system. + + + The interface names depend on the implementation and + configuration of the udev daemon running on the system. The udev + daemon for LFS (installed in ) will + not run until the LFS system is booted. So it's unreliable to + determine the interface names being used in LFS system by running + those commands on the host distro, + even though in the chroot environment. + + + The following command creates a sample file for the + eth0 device with a static IP address: + +cd /etc/sysconfig/ +cat > ifconfig.eth0 << "EOF" +ONBOOT=yes +IFACE=eth0 +SERVICE=ipv4-static +IP=192.168.1.2 +GATEWAY=192.168.1.1 +PREFIX=24 +BROADCAST=192.168.1.255 +EOF + + The values in italics must be changed in every file to match + the proper setup. + + If the ONBOOT variable is set to yes the + System V network script will bring up the Network Interface Card (NIC) during + the system boot process. If set to anything but yes the NIC + will be ignored by the network script and not be automatically brought up. + The interface can be manually started or stopped with the + ifup and ifdown commands. + + The IFACE variable defines the interface name, + for example, eth0. It is required for all network device configuration + files. The filename extension must match this value. + + The SERVICE variable defines the method used for + obtaining the IP address. The LFS-Bootscripts package has a modular IP + assignment format, and creating additional files in the /lib/services/ directory allows other IP + assignment methods. This is commonly used for Dynamic Host Configuration + Protocol (DHCP), which is addressed in the BLFS book. + + The GATEWAY variable should contain the default + gateway IP address, if one is present. If not, then comment out the + variable entirely. + + The PREFIX variable contains the number of + bits used in the subnet. Each octet in an IP address is 8 bits. If the + subnet's netmask is 255.255.255.0, then it is using the first three octets + (24 bits) to specify the network number. If the netmask is 255.255.255.240, + it would be using the first 28 bits. Prefixes longer than 24 bits are + commonly used by DSL and cable-based Internet Service Providers (ISPs). + In this example (PREFIX=24), the netmask is 255.255.255.0. Adjust the + PREFIX variable according to your specific subnet. + If omitted, the PREFIX defaults to 24. + + For more information see the ifup man page. + + + + Creating the /etc/resolv.conf File + + + /etc/resolv.conf + + + The system will need some means of obtaining Domain Name Service + (DNS) name resolution to resolve Internet domain names to IP addresses, and + vice versa. This is best achieved by placing the IP address of the DNS + server, available from the ISP or network administrator, into + /etc/resolv.conf. Create the file by running the + following: + +cat > /etc/resolv.conf << "EOF" +# Begin /etc/resolv.conf + +domain <Your Domain Name> +nameserver <IP address of your primary nameserver> +nameserver <IP address of your secondary nameserver> + +# End /etc/resolv.conf +EOF + + The domain statement can be omitted + or replaced with a search statement. See the man page for + resolv.conf for more details. + + Replace <IP address of the nameserver> + with the IP address of the DNS most appropriate for the setup. There will + often be more than one entry (requirements demand secondary servers for + fallback capability). If you only need or want one DNS server, remove the + second nameserver line from the file. The IP address + may also be a router on the local network. + + + The Google Public IPv4 DNS addresses are 8.8.8.8 and 8.8.4.4. + + + + + + Configuring the system hostname + + + hostname + configuring + + + During the boot process, the file /etc/hostname + is used for establishing the system's hostname. + + Create the /etc/hostname file and enter a + hostname by running: + +echo "<lfs>" > /etc/hostname + + <lfs> needs to be replaced with the + name given to the computer. Do not enter the Fully Qualified Domain Name + (FQDN) here. That information is put in the + /etc/hosts file. + + + + + Customizing the /etc/hosts File + + + /etc/hosts + + + + localnet + /etc/hosts + + + + network + /etc/hosts + + + Decide on the IP address, fully-qualified domain name (FQDN), and + possible aliases for use in the /etc/hosts file. The + syntax is: + +IP_address myhost.example.org aliases + + Unless the computer is to be visible to the Internet (i.e., there is + a registered domain and a valid block of assigned IP addresses—most + users do not have this), make sure that the IP address is in the private + network IP address range. Valid ranges are: + +Private Network Address Range Normal Prefix +10.0.0.1 - 10.255.255.254 8 +172.x.0.1 - 172.x.255.254 16 +192.168.y.1 - 192.168.y.254 24 + + x can be any number in the range 16-31. y can be any number in the + range 0-255. + + A valid private IP address could be 192.168.1.1. A valid FQDN for + this IP could be lfs.example.org. + + Even if not using a network card, a valid FQDN is still required. + This is necessary for certain programs to operate correctly. + + Create the /etc/hosts file by running: + +cat > /etc/hosts << "EOF" +# Begin /etc/hosts + +127.0.0.1 localhost.localdomain localhost +127.0.1.1 <FQDN> <HOSTNAME> +<192.168.1.1> <FQDN> <HOSTNAME> [alias1] [alias2 ...] +::1 localhost ip6-localhost ip6-loopback +ff02::1 ip6-allnodes +ff02::2 ip6-allrouters + +# End /etc/hosts +EOF + + The <192.168.1.1>, + <FQDN>, and + <HOSTNAME> values need to be + changed for specific uses or requirements (if assigned an IP address by a + network/system administrator and the machine will be connected to an + existing network). The optional alias name(s) can be omitted. + + + + + + diff --git a/chapter09/profile.xml b/chapter09/profile.xml index e47153830..b95183bca 100644 --- a/chapter09/profile.xml +++ b/chapter09/profile.xml @@ -5,7 +5,7 @@ %general-entities; ]> - + The Bash Shell Startup Files diff --git a/chapter09/symlinks.xml b/chapter09/symlinks.xml index 24ebf537d..b4437f60f 100644 --- a/chapter09/symlinks.xml +++ b/chapter09/symlinks.xml @@ -10,7 +10,7 @@ Managing Devices - + Network Devices @@ -116,7 +116,7 @@ - + CD-ROM symlinks diff --git a/chapter09/udev.xml b/chapter09/udev.xml index a2ff35511..80db2c2de 100644 --- a/chapter09/udev.xml +++ b/chapter09/udev.xml @@ -16,7 +16,7 @@ In , we installed the udev - package when eudev + package when eudev systemd was built. Before we go into the details regarding how this works, a brief history of previous methods of handling devices is in order. @@ -227,7 +227,7 @@ the modprobe.d(5) manual page for more information on softdep syntax and capabilities.
- If the module in question is not a wrapper and is + If the module in question is not a wrapper and is useful by itself, configure the modules bootscript to load this module on system boot. To do this, add the module name to the /etc/sysconfig/modules file on a separate line. diff --git a/chapter09/usage6.xml b/chapter09/usage6.xml new file mode 100644 index 000000000..4d089a8d7 --- /dev/null +++ b/chapter09/usage6.xml @@ -0,0 +1,16 @@ + + + + %general-entities; +]> + + + + + S6 Usage and Configuration + + Add more info about S6 here. + + diff --git a/chapter10/fstab.xml b/chapter10/fstab.xml index ebfae3aaf..f24a83a31 100644 --- a/chapter10/fstab.xml +++ b/chapter10/fstab.xml @@ -19,7 +19,7 @@ which must be checked (for integrity errors) prior to mounting. Create a new file systems table like this: -cat > /etc/fstab << "EOF" +cat > /etc/fstab << "EOF" # Begin /etc/fstab # file system mount-point type options dump fsck diff --git a/chapter10/kernel.xml b/chapter10/kernel.xml index 1bf8b112e..5bc457294 100644 --- a/chapter10/kernel.xml +++ b/chapter10/kernel.xml @@ -105,7 +105,7 @@ Be sure to enable/disable/set the following features or the system might not work correctly or boot at all: - General setup --> + General setup --> [ ] Compile the kernel with warnings as errors [CONFIG_WERROR] < > Enable kernel headers through /sys/kernel/kheaders.tar.xz [CONFIG_IKHEADERS] Device Drivers ---> @@ -156,7 +156,7 @@ File systems ---> required, it is highly recommended by the systemd developers. - There are several other options that may be desired + There are several other options that may be desired depending on the requirements for the system. For a list of options needed for BLFS packages, see the BLFS diff --git a/chapter11/reboot.xml b/chapter11/reboot.xml index 3d7953897..bd8198df6 100644 --- a/chapter11/reboot.xml +++ b/chapter11/reboot.xml @@ -75,7 +75,7 @@ /etc/vimrc /root/.bash_profile /root/.bashrc - /etc/sysconfig/ifconfig.eth0 + /etc/sysconfig/ifconfig.eth0
diff --git a/general.ent b/general.ent index f378f7e20..8ae793d54 100644 --- a/general.ent +++ b/general.ent @@ -30,6 +30,10 @@ ]]> + + +]]> ]]> + + +]]> ]]> + + +]]> + + + + + + + + + @@ -614,6 +624,46 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/prologue/why.xml b/prologue/why.xml index dd6a27c96..136715afa 100644 --- a/prologue/why.xml +++ b/prologue/why.xml @@ -137,7 +137,7 @@ tested file systems that Linux supports. - + Eudev This package is a device manager. It dynamically controls the ownership,