- Timestamp:
- 04/13/2006 06:45:33 PM (18 years ago)
- Branches:
- 10.0, 10.0-rc1, 10.1, 10.1-rc1, 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, 6.3, 6.4, 6.5, 6.6, 6.7, 6.8, 7.0, 7.1, 7.2, 7.3, 7.4, 7.5, 7.5-systemd, 7.6, 7.6-systemd, 7.7, 7.7-systemd, 7.8, 7.8-systemd, 7.9, 7.9-systemd, 8.0, 8.1, 8.2, 8.3, 8.4, 9.0, 9.1, 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:
- a0d96d25
- Parents:
- dd7ed7b
- Location:
- chapter06
- Files:
-
- 3 deleted
- 9 edited
Legend:
- Unmodified
- Added
- Removed
-
chapter06/chapter06.xml
rdd7ed7b rd2c332bc 13 13 14 14 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="introduction.xml"/> 15 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="kernfs.xml"/> 15 16 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="pkgmgt.xml"/> 16 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="kernfs.xml"/>17 17 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="chroot.xml"/> 18 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="changingowner.xml"/>19 18 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="creatingdirs.xml"/> 20 19 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="createfiles.xml"/> 21 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="pwdgroup.xml"/>22 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="devices.xml"/>23 20 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="linux-libc-headers.xml"/> 24 21 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="man-pages.xml"/> … … 54 51 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="groff.xml"/> 55 52 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="gzip.xml"/> 56 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="hotplug.xml"/>57 53 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="inetutils.xml"/> 58 54 <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" href="iproute2.xml"/> -
chapter06/chroot.xml
rdd7ed7b rd2c332bc 45 45 to <command>bash</command>.</para> 46 46 47 <para>It is important that all the commands throughout the remainder of this48 chapter and the following chapters are run from within the chroot environment.49 If you leave this environment for any reason (rebooting for example), remember50 to first mount the <systemitem class="filesystem">proc</systemitem> and51 <systemitem class="filesystem">devpts</systemitem> file systems (discussed52 in the previous section) and enter chroot again before continuing with the53 installations.</para>54 55 47 <para>Note that the <command>bash</command> prompt will say 56 48 <computeroutput>I have no name!</computeroutput> This is normal because the 57 49 <filename>/etc/passwd</filename> file has not been created yet.</para> 58 50 51 <note> 52 <para>It is important that all the commands throughout the remainder of this 53 chapter and the following chapters are run from within the chroot 54 environment. If you leave this environment for any reason (rebooting for 55 example), ensure that the virtual kernel filesystems are mounted as 56 explained in <xref linkend="ch-system-bindmount"/> and <xref 57 linkend="ch-system-kernfsmount"/> and enter chroot again before continuing 58 with the installation.</para> 59 </note> 60 59 61 </sect1> -
chapter06/createfiles.xml
rdd7ed7b rd2c332bc 9 9 <?dbhtml filename="createfiles.html"?> 10 10 11 <title>Creating Essential Symlinks</title> 11 <title>Creating Essential Files and Symlinks</title> 12 13 <indexterm zone="ch-system-createfiles"> 14 <primary sortas="e-/etc/passwd">/etc/passwd</primary> 15 </indexterm> 16 17 <indexterm zone="ch-system-createfiles"> 18 <primary sortas="e-/etc/group">/etc/group</primary> 19 </indexterm> 20 21 <indexterm zone="ch-system-createfiles"> 22 <primary sortas="e-/var/run/utmp">/var/run/utmp</primary> 23 </indexterm> 24 25 <indexterm zone="ch-system-createfiles"> 26 <primary sortas="e-/var/log/btmp">/var/log/btmp</primary> 27 </indexterm> 28 29 <indexterm zone="ch-system-createfiles"> 30 <primary sortas="e-/var/log/lastlog">/var/log/lastlog</primary> 31 </indexterm> 32 33 <indexterm zone="ch-system-createfiles"> 34 <primary sortas="e-/var/log/wtmp">/var/log/wtmp</primary> 35 </indexterm> 12 36 13 37 <para>Some programs use hard-wired paths to programs which do not exist yet. In … … 21 45 ln -sv bash /bin/sh</userinput></screen> 22 46 47 <para>A proper Linux system maintains a list of the mounted file systems in 48 the file <filename>/etc/mtab</filename>. Normally, this file would be 49 created when we mount a new file system. Since we will not be mounting any 50 file systems inside our chroot environment, create an empty file for 51 utilities that expect the presence of <filename>/etc/mtab</filename>:</para> 52 53 <screen><userinput>touch /etc/mtab</userinput></screen> 54 55 <para>In order for user <systemitem class="username">root</systemitem> to be 56 able to login and for the name <quote>root</quote> to be recognized, there 57 must be relevant entries in the <filename>/etc/passwd</filename> and 58 <filename>/etc/group</filename> files.</para> 59 60 <para>Create the <filename>/etc/passwd</filename> file by running the following 61 command:</para> 62 63 <screen><userinput>cat > /etc/passwd << "EOF" 64 <literal>root:x:0:0:root:/root:/bin/bash</literal> 65 EOF</userinput></screen> 66 67 <para>The actual password for <systemitem class="username">root</systemitem> 68 (the <quote>x</quote> used here is just a placeholder) will be set later.</para> 69 70 <para>Create the <filename>/etc/group</filename> file by running the following 71 command:</para> 72 73 <screen><userinput>cat > /etc/group << "EOF" 74 <literal>root:x:0: 75 bin:x:1: 76 sys:x:2: 77 kmem:x:3: 78 tty:x:4: 79 tape:x:5: 80 daemon:x:6: 81 floppy:x:7: 82 disk:x:8: 83 lp:x:9: 84 dialout:x:10: 85 audio:x:11: 86 video:x:12: 87 utmp:x:13: 88 usb:x:14: 89 cdrom:x:15:</literal> 90 EOF</userinput></screen> 91 92 <para>The created groups are not part of any standard—they are groups 93 decided on in part by the requirements of the Udev configuration in this 94 chapter, and in part by common convention employed by a number of existing 95 Linux distributions. The Linux Standard Base (LSB, available at <ulink 96 url="http://www.linuxbase.org"/>) recommends only that, besides the group 97 <systemitem class="groupname">root</systemitem> with a Group ID (GID) of 0, 98 a group <systemitem class="groupname">bin</systemitem> with a GID of 1 be 99 present. All other group names and GIDs can be chosen freely by the system 100 administrator since well-written programs do not depend on GID numbers, but 101 rather use the group's name.</para> 102 103 <para>To remove the <quote>I have no name!</quote> prompt, start a new 104 shell. Since a full Glibc was installed in <xref 105 linkend="chapter-temporary-tools"/> and the 106 <filename>/etc/passwd</filename> and <filename>/etc/group</filename> 107 files have been created, user name and group name resolution will now 108 work.</para> 109 110 <screen role="nodump"><userinput>exec /tools/bin/bash --login +h</userinput></screen> 111 112 <para>Note the use of the <parameter>+h</parameter> directive. This tells 113 <command>bash</command> not to use its internal path hashing. Without this 114 directive, <command>bash</command> would remember the paths to binaries it has 115 executed. To ensure the use of the newly compiled binaries as soon as they are 116 installed, the <parameter>+h</parameter> directive will be used for the duration 117 of this chapter.</para> 118 119 <para>The <command>login</command>, <command>agetty</command>, and 120 <command>init</command> programs (and others) use a number of log 121 files to record information such as who was logged into the system and 122 when. However, these programs will not write to the log files if they 123 do not already exist. Initialize the log files and give them 124 proper permissions:</para> 125 126 <screen><userinput>touch /var/run/utmp /var/log/{btmp,lastlog,wtmp} 127 chgrp -v utmp /var/run/utmp /var/log/lastlog 128 chmod -v 664 /var/run/utmp /var/log/lastlog</userinput></screen> 129 130 <para>The <filename>/var/run/utmp</filename> file records the users 131 that are currently logged in. The <filename>/var/log/wtmp</filename> 132 file records all logins and logouts. The 133 <filename>/var/log/lastlog</filename> file records when 134 each user last logged in. The <filename>/var/log/btmp</filename> file 135 records the bad login attempts.</para> 136 23 137 </sect1> -
chapter06/creatingdirs.xml
rdd7ed7b rd2c332bc 14 14 standard directory tree by issuing the following commands:</para> 15 15 16 <screen><userinput>install -dv /{bin,boot, dev,etc/opt,home,lib,mnt}16 <screen><userinput>install -dv /{bin,boot,etc/opt,home,lib,mnt} 17 17 install -dv /{sbin,srv,usr/local,var,opt} 18 18 install -dv /root -m 0750 -
chapter06/introduction.xml
rdd7ed7b rd2c332bc 56 56 these) that the package installs.</para> 57 57 58 <note>59 <para>At this point, you may wish to keep your finished temporary60 tools for use in future LFS builds by creating a tarball of the61 <filename class="directory">/tools</filename> directory and62 storing it in a safe location.</para>63 </note>64 65 58 </sect1> -
chapter06/iproute2.xml
rdd7ed7b rd2c332bc 26 26 27 27 <seglistitem> 28 <seg>0. 1SBU</seg>29 <seg>4. 3MB</seg>28 <seg>0.2 SBU</seg> 29 <seg>4.8 MB</seg> 30 30 </seglistitem> 31 31 </segmentedlist> -
chapter06/kernfs.xml
rdd7ed7b rd2c332bc 9 9 <?dbhtml filename="kernfs.html"?> 10 10 11 <title> Mounting Virtual Kernel File Systems</title>11 <title>Preparing Virtual Kernel File Systems</title> 12 12 13 < para>Various file systems exported by the kernel are used to communicate to and14 from the kernel itself. These file systems are virtual in that no disk space is15 used for them. The content of the file systems resides in memory.</para>13 <indexterm zone="ch-system-kernfs"> 14 <primary sortas="e-/dev/">/dev/*</primary> 15 </indexterm> 16 16 17 <para>Begin by creating directories onto which the file systems will be 18 mounted:</para> 17 <para>Various file systems exported by the kernel are used to communicate to 18 and from the kernel itself. These file systems are virtual in that no disk 19 space is used for them. The content of the file systems resides in 20 memory.</para> 19 21 20 <screen><userinput>mkdir -pv $LFS/{proc,sys}</userinput></screen> 22 <para>Begin by creating directories onto which the file systems will be 23 mounted:</para> 21 24 22 <para>Now mount the file systems:</para>25 <screen><userinput>mkdir -pv $LFS/{dev,proc,sys}</userinput></screen> 23 26 24 <screen><userinput>mount -vt proc proc $LFS/proc 27 <sect2> 28 <title>Creating Initial Device Nodes</title> 29 30 <para>When the kernel boots the system, it requires the presence of a few 31 device nodes, in particular the <filename 32 class="devicefile">console</filename> and <filename 33 class="devicefile">null</filename> devices. The device nodes will be created 34 on the hard disk so that they are available before <command>udev</command> 35 has been started, and additionally when Linux is started in single user mode 36 (hence the restrictive permissions on <filename 37 class="devicefile">console</filename>). Create the devices by running the 38 following commands:</para> 39 40 <screen><userinput>mknod -m 600 $LFS/dev/console c 5 1 41 mknod -m 666 $LFS/dev/null c 1 3</userinput></screen> 42 43 </sect2> 44 45 <sect2 id="ch-system-bindmount"> 46 <title>Mounting and Populating /dev</title> 47 48 <para>The recommended method of populating the <filename 49 class="directory">/dev</filename> directory with devices is to mount a 50 virtual filesystem (such as <systemitem 51 class="filesystem">tmpfs</systemitem>) on the <filename 52 class="directory">/dev</filename> directory, and allow the devices to be 53 created dynamically on that virtual filesystem as they are detected or 54 accessed. This is generally done during the boot process by Udev. Since 55 this new system does not yet have Udev and has not yet been booted, it is 56 necessary to mount and populate <filename 57 class="directory">/dev</filename> manually. This is accomplished by bind 58 mounting the host system's <filename class="directory">/dev</filename> 59 directory. A bind mount is a special type of mount that allows you to 60 create a mirror of a directory or mount point to some other location. Use 61 the following command to achieve this:</para> 62 63 <screen><userinput>mount --bind /dev $LFS/dev</userinput></screen> 64 65 </sect2> 66 67 <sect2 id="ch-system-kernfsmount"> 68 <title>Mounting Virtual Kernel File Systems</title> 69 70 <para>Now mount the remaining virtual kernel filesystems:</para> 71 72 <screen><userinput>mount -vt devpts devpts $LFS/dev/pts 73 mount -vt tmpfs shm $LFS/dev/shm 74 mount -vt proc proc $LFS/proc 25 75 mount -vt sysfs sysfs $LFS/sys</userinput></screen> 26 76 27 <para>Remember that if for any reason you stop working on the LFS 28 system and start again later, it is important to check that these file 29 systems are mounted again before entering the chroot 30 environment.</para> 31 32 <para>Additional file systems will soon be mounted from within the 33 chroot environment. To keep the host up to date, perform a <quote>fake 34 mount</quote> for each of these now:</para> 35 36 <screen><userinput>mount -vft tmpfs tmpfs $LFS/dev 37 mount -vft tmpfs tmpfs $LFS/dev/shm 38 mount -vft devpts -o gid=4,mode=620 devpts $LFS/dev/pts</userinput></screen> 77 </sect2> 39 78 40 79 </sect1> -
chapter06/pkgmgt.xml
rdd7ed7b rd2c332bc 39 39 the <ulink url="&hints-root;">Hints subproject</ulink> and see if one of them 40 40 fits your need.</para> 41 42 <note>43 <para>As no particular package management technique is mentioned in LFS,44 the commands in the remainder of this book must be performed while logged in45 as user <systemitem class="username">root</systemitem> and no longer as user46 <systemitem class="username">lfs</systemitem>. Also, double check that47 <envar>$LFS</envar> is set.</para>48 </note>49 41 50 42 <sect2> -
chapter06/udev.xml
rdd7ed7b rd2c332bc 27 27 <seglistitem> 28 28 <seg>0.1 SBU</seg> 29 <seg> 3.8 MB</seg>29 <seg>4.8 MB</seg> 30 30 </seglistitem> 31 31 </segmentedlist> … … 44 44 <title>Installation of Udev</title> 45 45 46 <para>Create some devices and directories that Udev cannot handle due to 47 them being required very early in the boot process:</para> 48 49 <screen><userinput>install -dv /lib/{firmware,udev/devices/{pts,shm}} 50 mknod -m0666 /lib/udev/devices/null c 1 3 51 ln -sv /proc/self/fd /lib/udev/devices/fd 52 ln -sv /proc/self/fd/0 /lib/udev/devices/stdin 53 ln -sv /proc/self/fd/1 /lib/udev/devices/stdout 54 ln -sv /proc/self/fd/2 /lib/udev/devices/stderr 55 ln -sv /proc/kcore /lib/udev/devices/core</userinput></screen> 56 46 57 <para>Compile the package:</para> 47 58 48 <screen><userinput>make EXTRAS=extras/run_directory</userinput></screen> 59 <screen><userinput>make EXTRAS="extras/ata_id extras/cdrom_id extras/edd_id \ 60 extras/firmware extras/floppy extras/scsi_id \ 61 extras/usb_id extras/volume_id"</userinput></screen> 49 62 50 63 <variablelist> … … 52 65 53 66 <varlistentry> 54 <term><parameter>EXTRAS=extras/run_directory</parameter></term> 55 <listitem> 56 <para>This builds the <command>udev_run_devd</command> and 57 <command>udev_run_hotplugd</command> binaries, which are required 58 for correct handling of hotpluggable devices.</para> 67 <term><parameter>EXTRAS=...</parameter></term> 68 <listitem> 69 <para>This builds several helper binaries that can aid in writing custom 70 Udev rules.</para> 59 71 </listitem> 60 72 </varlistentry> … … 67 79 <para>Install the package:</para> 68 80 69 <screen><userinput>make DESTDIR=/ EXTRAS=extras/run_directory install</userinput></screen> 81 <screen><userinput>make DESTDIR=/ \ 82 EXTRAS="extras/ata_id extras/cdrom_id extras/edd_id \ 83 extras/firmware extras/floppy extras/scsi_id \ 84 extras/usb_id extras/volume_id" install</userinput></screen> 70 85 71 86 <variablelist> … … 88 103 <screen><userinput>cp -v ../&udev-config-file; /etc/udev/rules.d/25-lfs.rules</userinput></screen> 89 104 105 <para>Create some rules that work around broken sysfs attribute creation 106 timing in linux-2.6.15:</para> 107 108 <screen><userinput>cat >> /etc/udev/rules.d/10-wait_for_sysfs.rules << "EOF" 109 ACTION=="add", DEVPATH=="/devices/*", ENV{PHYSDEVBUS}=="?*", WAIT_FOR_SYSFS="bus" 110 ACTION=="add", SUBSYSTEM=="net", WAIT_FOR_SYSFS="address" 111 EOF</userinput></screen> 112 90 113 <para>Install the documentation that explains how to create Udev rules:</para> 91 114 92 115 <screen><userinput>install -m644 -D -v docs/writing_udev_rules/index.html /usr/share/doc/udev-&udev-version;/index.html</userinput></screen> 93 116 94 <!-- Not for the LiveCD --> 95 <!-- Edit Me --> 96 <para>Run the <command>udevstart</command> program to create our full 97 complement of device nodes.</para> 98 99 <screen><userinput>/sbin/udevstart</userinput></screen> 117 <important> 118 119 <para>When Udev is started by the LFS-Bootscripts, a replay of all kernel 120 device events happens. These events tell Udev what devices exist. 121 Sometimes the Udev bootscript doesn't wait long enough for 122 <command>udevd</command> to process all of the replayed events and 123 consequently the devices for those missed events are not created before the 124 script exits. Since <command>udevd</command> is still running in the 125 background, the devices will be created a few milliseconds later, but the 126 next bootscript to run may require a device to exist before it has been 127 created. To avoid such missed events, and to avoid hardcoding an overly 128 long wait time, It is recommended that you run the following commands to 129 aid the LFS development team in debugging these missed events and finding 130 an acceptable solution more quickly.</para> 131 132 <para>First, create a simple C file:</para> 133 134 <screen><userinput>cat > bug.c << EOF 135 <literal>/* Simple event recorder */ 136 #define _GNU_SOURCE 137 #include <sys/types.h> 138 #include <sys/stat.h> 139 #include <fcntl.h> 140 #include <unistd.h> 141 #include <stdlib.h> 142 #include <argz.h> 143 int main(int argc, char * argv[]) 144 { 145 char * envz; 146 size_t len; 147 int bug; 148 bug = open("/dev/bug", O_WRONLY | O_APPEND); 149 if (bug == -1) 150 return 0; 151 setenv("_SEPARATOR", "--------------------------------------", 1); 152 argz_create(environ, &envz, &len); 153 argz_stringify(envz, len, '\n'); 154 envz[len-1]='\n'; 155 write(bug, envz, len); 156 close(bug); 157 free(envz); 158 return 0; 159 }</literal> 160 EOF</userinput></screen> 161 162 <para>Now compile it:</para> 163 164 <screen><userinput>gcc -o /lib/udev/bug bug.c</userinput></screen> 165 166 <para>The next step adds a simple logging rule to run this program.</para> 167 168 <screen><userinput>cat > /etc/udev/rules.d/90-bug.rules << "EOF" 169 <literal>ACTION=="add", RUN+="bug"</literal> 170 EOF</userinput></screen> 171 172 <para>When booting the new LFS system, if any events are missed, a warning 173 message will appear and a <filename>/dev/bugreport</filename> file will be 174 created. The warning message will tell you where to send feedback.</para> 175 176 </important> 100 177 101 178 </sect2> … … 109 186 110 187 <seglistitem> 111 <seg>udev, udev_run_devd, udev_run_hotplugd, udevcontrol, udevd, 112 udevinfo, udevmonitor, udevsend, udevstart, and udevtest</seg> 188 <seg>ata_id, cdrom_id, create_floppy_devices, edd_id, firmware_helper, 189 scsi_id, udevcontrol, udevd, udevinfo, udevmonitor, udevtest, usb_id 190 and vol_id</seg> 113 191 <seg>/etc/udev</seg> 114 192 </seglistitem> … … 120 198 <?dbhtml list-presentation="table"?> 121 199 122 <varlistentry id="udev"> 123 <term><command>udev</command></term> 124 <listitem> 125 <para>Creates device nodes in <filename class="directory">/dev</filename> 126 or renames network interfaces (not in LFS) in response to hotplug 127 events</para> 128 <indexterm zone="ch-system-udev udev"> 129 <primary sortas="b-udev">udev</primary> 130 </indexterm> 131 </listitem> 132 </varlistentry> 133 134 <varlistentry id="udev_run_devd"> 135 <term><command>udev_run_devd</command></term> 136 <listitem> 137 <para>Executes programs and scripts in the <filename 138 class="directory">/etc/dev.d/</filename> directory in response to 139 hotplug events</para> 140 <indexterm zone="ch-system-udev udev_run_devd"> 141 <primary sortas="b-udev_run_devd">udev_run_devd</primary> 142 </indexterm> 143 </listitem> 144 </varlistentry> 145 146 <varlistentry id="udev_run_hotplugd"> 147 <term><command>udev_run_hotplugd</command></term> 148 <listitem> 149 <para>Executes programs and scripts in the <filename 150 class="directory">/etc/hotplug.d/</filename> directory in response 151 to hotplug events</para> 152 <indexterm zone="ch-system-udev udev_run_hotplugd"> 153 <primary sortas="b-udev_run_hotplugd">udev_run_hotplugd</primary> 200 <varlistentry id="ata_id"> 201 <term><command>ata_id</command></term> 202 <listitem> 203 <para>Provides Udev with a unique string and 204 additional information (uuid, label) for an ATA drive</para> 205 <indexterm zone="ch-system-udev ata_id"> 206 <primary sortas="b-ata_id">ata_id</primary> 207 </indexterm> 208 </listitem> 209 </varlistentry> 210 211 <varlistentry id="cdrom_id"> 212 <term><command>cdrom_id</command></term> 213 <listitem> 214 <para>Provides Udev with the capabilities of a 215 CD-ROM or DVD-ROM drive</para> 216 <indexterm zone="ch-system-udev cdrom_id"> 217 <primary sortas="b-cdrom_id">cdrom_id</primary> 218 </indexterm> 219 </listitem> 220 </varlistentry> 221 222 <varlistentry id="create_floppy_devices"> 223 <term><command>create_floppy_devices</command></term> 224 <listitem> 225 <para>Creates all possible floppy devices based on the CMOS type</para> 226 <indexterm zone="ch-system-udev create_floppy_devices"> 227 <primary sortas="b-create_floppy_devices">create_floppy_devices</primary> 228 </indexterm> 229 </listitem> 230 </varlistentry> 231 232 <varlistentry id="edd_id"> 233 <term><command>edd_id</command></term> 234 <listitem> 235 <para>Provides Udev with the EDD ID for a BIOS disk drive</para> 236 <indexterm zone="ch-system-udev edd_id"> 237 <primary sortas="b-edd_id">edd_id</primary> 238 </indexterm> 239 </listitem> 240 </varlistentry> 241 242 <varlistentry id="firmware_helper"> 243 <term><command>firmware_helper</command></term> 244 <listitem> 245 <para>Uploads firmware to devices</para> 246 <indexterm zone="ch-system-udev firmware_helper"> 247 <primary sortas="b-firmware_helper">firmware_helper</primary> 248 </indexterm> 249 </listitem> 250 </varlistentry> 251 252 <varlistentry id="scsi_id"> 253 <term><command>scsi_id</command></term> 254 <listitem> 255 <para>Provides Udev with a unique SCSI identifier 256 based on the data returned from sending a SCSI INQUIRY command to 257 the specified device</para> 258 <indexterm zone="ch-system-udev scsi_id"> 259 <primary sortas="b-scsi_id">scsi_id</primary> 154 260 </indexterm> 155 261 </listitem> … … 170 276 <term><command>udevd</command></term> 171 277 <listitem> 172 <para>A daemon that reorders hotplug events before submitting them to 173 <command>udev</command>, thus avoiding various race conditions</para> 278 <para>A daemon that listens for uevents on the netlink socket, 279 creates devices and runs the configured external programs in 280 response to these uevents</para> 174 281 <indexterm zone="ch-system-udev udevd"> 175 282 <primary sortas="b-udevd">udevd</primary> … … 181 288 <term><command>udevinfo</command></term> 182 289 <listitem> 183 <para>Allows users to query the <command>udev</command>database for290 <para>Allows users to query the Udev database for 184 291 information on any device currently present on the system; it also 185 292 provides a way to query any device in the <systemitem … … 195 302 <term><command>udevmonitor</command></term> 196 303 <listitem> 197 <para>Prints the event received from the kernel and the e vent which198 <command>udev</command>sends out after rule processing</para>304 <para>Prints the event received from the kernel and the environment 305 which Udev sends out after rule processing</para> 199 306 <indexterm zone="ch-system-udev udevmonitor"> 200 307 <primary sortas="b-udevmonitor">udevmonitor</primary> … … 203 310 </varlistentry> 204 311 205 <varlistentry id="udevsend">206 <term><command>udevsend</command></term>207 <listitem>208 <para>Delivers hotplug events to <command>udevd</command></para>209 <indexterm zone="ch-system-udev udevsend">210 <primary sortas="b-udevsend">udevsend</primary>211 </indexterm>212 </listitem>213 </varlistentry>214 215 <varlistentry id="udevstart">216 <term><command>udevstart</command></term>217 <listitem>218 <para>Creates device nodes in <filename class="directory">/dev</filename>219 that correspond to drivers compiled directly into the kernel; it220 performs that task by simulating hotplug events presumably dropped by221 the kernel before invocation of this program (e.g., because the root222 filesystem has not been mounted) and submitting such synthetic hotplug223 events to <command>udev</command></para>224 <indexterm zone="ch-system-udev udevstart">225 <primary sortas="b-udevstart">udevstart</primary>226 </indexterm>227 </listitem>228 </varlistentry>229 230 312 <varlistentry id="udevtest"> 231 313 <term><command>udevtest</command></term> 232 314 <listitem> 233 <para>Simulates a <command>udev</command> run for the given device, 234 and prints out the name of the node the real <command>udev</command> 235 would have created or (not in LFS) the name of the renamed network 236 interface</para> 315 <para>Simulates a uevent for the given device, and prints out the 316 name of the node the real <command>udevd</command> would have created, 317 or the name of the renamed network interface</para> 237 318 <indexterm zone="ch-system-udev udevtest"> 238 319 <primary sortas="b-udevtest">udevtest</primary> … … 241 322 </varlistentry> 242 323 324 <varlistentry id="usb_id"> 325 <term><command>usb_id</command></term> 326 <listitem> 327 <para>Provides Udev with information about USB 328 devices</para> 329 <indexterm zone="ch-system-udev usb_id"> 330 <primary sortas="b-usb_id">usb_id</primary> 331 </indexterm> 332 </listitem> 333 </varlistentry> 334 335 <varlistentry id="vol_id"> 336 <term><command>vol_id</command></term> 337 <listitem> 338 <para>Provides Udev with the label and uuid of a 339 filesystem</para> 340 <indexterm zone="ch-system-udev vol_id"> 341 <primary sortas="b-vol_id">vol_id</primary> 342 </indexterm> 343 </listitem> 344 </varlistentry> 345 243 346 <varlistentry id="etc-udev"> 244 347 <term><filename class="directory">/etc/udev</filename></term> 245 348 <listitem> 246 <para>Contains <command>udev</command>configuation files,349 <para>Contains Udev configuation files, 247 350 device permissions, and rules for device naming</para> 248 351 <indexterm zone="ch-system-udev etc-udev">
Note:
See TracChangeset
for help on using the changeset viewer.