udev.po 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477
  1. # SOME DESCRIPTIVE TITLE
  2. # Copyright (C) YEAR Free Software Foundation, Inc.
  3. # This file is distributed under the same license as the PACKAGE package.
  4. # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
  5. #
  6. #, fuzzy
  7. msgid ""
  8. msgstr ""
  9. "Project-Id-Version: PACKAGE VERSION\n"
  10. "POT-Creation-Date: 2020-06-17 12:44+0800\n"
  11. "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
  12. "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
  13. "Language-Team: LANGUAGE <LL@li.org>\n"
  14. "Language: \n"
  15. "MIME-Version: 1.0\n"
  16. "Content-Type: text/plain; charset=UTF-8\n"
  17. "Content-Transfer-Encoding: 8bit\n"
  18. #. type: Content of: <sect1><title>
  19. #: /home/xry111/svn-repos/LFS-BOOK/chapter09/udev.xml:11
  20. msgid "Overview of Device and Module Handling"
  21. msgstr ""
  22. #. type: Content of: <sect1><indexterm><primary>
  23. #: /home/xry111/svn-repos/LFS-BOOK/chapter09/udev.xml:14
  24. msgid "Udev"
  25. msgstr ""
  26. #. type: Content of: <sect1><indexterm><secondary>
  27. #: /home/xry111/svn-repos/LFS-BOOK/chapter09/udev.xml:15
  28. msgid "usage"
  29. msgstr ""
  30. #. type: Content of: <sect1><para>
  31. #: /home/xry111/svn-repos/LFS-BOOK/chapter09/udev.xml:18
  32. msgid ""
  33. "In <xref linkend=\"chapter-building-system\"/>, we installed the udev "
  34. "package when <phrase revision=\"sysv\">eudev</phrase> <phrase "
  35. "revision=\"systemd\">systemd</phrase> was built. Before we go into the "
  36. "details regarding how this works, a brief history of previous methods of "
  37. "handling devices is in order."
  38. msgstr ""
  39. #. type: Content of: <sect1><para>
  40. #: /home/xry111/svn-repos/LFS-BOOK/chapter09/udev.xml:24
  41. msgid ""
  42. "Linux systems in general traditionally used a static device creation method, "
  43. "whereby a great many device nodes were created under <filename "
  44. "class=\"directory\">/dev</filename> (sometimes literally thousands of "
  45. "nodes), regardless of whether the corresponding hardware devices actually "
  46. "existed. This was typically done via a <command>MAKEDEV</command> script, "
  47. "which contains a number of calls to the <command>mknod</command> program "
  48. "with the relevant major and minor device numbers for every possible device "
  49. "that might exist in the world."
  50. msgstr ""
  51. #. type: Content of: <sect1><para>
  52. #: /home/xry111/svn-repos/LFS-BOOK/chapter09/udev.xml:33
  53. msgid ""
  54. "Using the udev method, only those devices which are detected by the kernel "
  55. "get device nodes created for them. Because these device nodes will be "
  56. "created each time the system boots, they will be stored on a <systemitem "
  57. "class=\"filesystem\">devtmpfs</systemitem> file system (a virtual file "
  58. "system that resides entirely in system memory). Device nodes do not require "
  59. "much space, so the memory that is used is negligible."
  60. msgstr ""
  61. #. type: Content of: <sect1><sect2><title>
  62. #: /home/xry111/svn-repos/LFS-BOOK/chapter09/udev.xml:41
  63. msgid "History"
  64. msgstr ""
  65. #. type: Content of: <sect1><sect2><para>
  66. #: /home/xry111/svn-repos/LFS-BOOK/chapter09/udev.xml:43
  67. msgid ""
  68. "In February 2000, a new filesystem called <systemitem "
  69. "class=\"filesystem\">devfs</systemitem> was merged into the 2.3.46 kernel "
  70. "and was made available during the 2.4 series of stable kernels. Although it "
  71. "was present in the kernel source itself, this method of creating devices "
  72. "dynamically never received overwhelming support from the core kernel "
  73. "developers."
  74. msgstr ""
  75. #. type: Content of: <sect1><sect2><para>
  76. #: /home/xry111/svn-repos/LFS-BOOK/chapter09/udev.xml:50
  77. msgid ""
  78. "The main problem with the approach adopted by <systemitem "
  79. "class=\"filesystem\">devfs</systemitem> was the way it handled device "
  80. "detection, creation, and naming. The latter issue, that of device node "
  81. "naming, was perhaps the most critical. It is generally accepted that if "
  82. "device names are allowed to be configurable, then the device naming policy "
  83. "should be up to a system administrator, not imposed on them by any "
  84. "particular developer(s). The <systemitem "
  85. "class=\"filesystem\">devfs</systemitem> file system also suffered from race "
  86. "conditions that were inherent in its design and could not be fixed without a "
  87. "substantial revision to the kernel. It was marked as deprecated for a long "
  88. "period &ndash; due to a lack of maintenance &ndash; and was finally removed "
  89. "from the kernel in June, 2006."
  90. msgstr ""
  91. #. type: Content of: <sect1><sect2><para>
  92. #: /home/xry111/svn-repos/LFS-BOOK/chapter09/udev.xml:63
  93. msgid ""
  94. "With the development of the unstable 2.5 kernel tree, later released as the "
  95. "2.6 series of stable kernels, a new virtual filesystem called <systemitem "
  96. "class=\"filesystem\">sysfs</systemitem> came to be. The job of <systemitem "
  97. "class=\"filesystem\">sysfs</systemitem> is to export a view of the system's "
  98. "hardware configuration to userspace processes. With this userspace-visible "
  99. "representation, the possibility of developing a userspace replacement for "
  100. "<systemitem class=\"filesystem\">devfs</systemitem> became much more "
  101. "realistic."
  102. msgstr ""
  103. #. type: Content of: <sect1><sect2><title>
  104. #: /home/xry111/svn-repos/LFS-BOOK/chapter09/udev.xml:75
  105. msgid "Udev Implementation"
  106. msgstr ""
  107. #. type: Content of: <sect1><sect2><sect3><title>
  108. #: /home/xry111/svn-repos/LFS-BOOK/chapter09/udev.xml:78
  109. msgid "Sysfs"
  110. msgstr ""
  111. #. type: Content of: <sect1><sect2><sect3><para>
  112. #: /home/xry111/svn-repos/LFS-BOOK/chapter09/udev.xml:80
  113. msgid ""
  114. "The <systemitem class=\"filesystem\">sysfs</systemitem> filesystem was "
  115. "mentioned briefly above. One may wonder how <systemitem "
  116. "class=\"filesystem\">sysfs</systemitem> knows about the devices present on a "
  117. "system and what device numbers should be used for them. Drivers that have "
  118. "been compiled into the kernel directly register their objects with a "
  119. "<systemitem class=\"filesystem\">sysfs</systemitem> (devtmpfs internally) "
  120. "as they are detected by the kernel. For drivers compiled as modules, this "
  121. "registration will happen when the module is loaded. Once the <systemitem "
  122. "class=\"filesystem\">sysfs</systemitem> filesystem is mounted (on /sys), "
  123. "data which the drivers register with <systemitem "
  124. "class=\"filesystem\">sysfs</systemitem> are available to userspace processes "
  125. "and to udevd for processing (including modifications to device nodes)."
  126. msgstr ""
  127. #. type: Content of: <sect1><sect2><sect3><title>
  128. #: /home/xry111/svn-repos/LFS-BOOK/chapter09/udev.xml:97
  129. msgid "Device Node Creation"
  130. msgstr ""
  131. #. type: Content of: <sect1><sect2><sect3><para>
  132. #: /home/xry111/svn-repos/LFS-BOOK/chapter09/udev.xml:99
  133. msgid ""
  134. "Device files are created by the kernel by the <systemitem "
  135. "class=\"filesystem\">devtmpfs</systemitem> filesystem. Any driver that "
  136. "wishes to register a device node will go through the <systemitem "
  137. "class=\"filesystem\">devtmpfs</systemitem> (via the driver core) to do it. "
  138. "When a <systemitem class=\"filesystem\">devtmpfs</systemitem> instance is "
  139. "mounted on <filename class=\"directory\">/dev</filename>, the device node "
  140. "will initially be created with a fixed name, permissions, and owner."
  141. msgstr ""
  142. #. type: Content of: <sect1><sect2><sect3><para>
  143. #: /home/xry111/svn-repos/LFS-BOOK/chapter09/udev.xml:108
  144. msgid ""
  145. "A short time later, the kernel will send a uevent to <command> "
  146. "udevd</command>. Based on the rules specified in the files within the "
  147. "<filename class=\"directory\">/etc/udev/rules.d</filename>, <filename "
  148. "class=\"directory\">/lib/udev/rules.d</filename>, and <filename "
  149. "class=\"directory\">/run/udev/rules.d</filename> directories, <command> "
  150. "udevd</command> will create additional symlinks to the device node, or "
  151. "change its permissions, owner, or group, or modify the internal "
  152. "<command>udevd</command> database entry (name) for that object."
  153. msgstr ""
  154. #. type: Content of: <sect1><sect2><sect3><para>
  155. #: /home/xry111/svn-repos/LFS-BOOK/chapter09/udev.xml:117
  156. msgid ""
  157. "The rules in these three directories are numbered and all three directories "
  158. "are merged together. If <command>udevd</command> can't find a rule for the "
  159. "device it is creating, it will leave the permissions and ownership at "
  160. "whatever <systemitem class=\"filesystem\">devtmpfs</systemitem> used "
  161. "initially."
  162. msgstr ""
  163. #. type: Content of: <sect1><sect2><sect3><title>
  164. #: /home/xry111/svn-repos/LFS-BOOK/chapter09/udev.xml:124
  165. msgid "Module Loading"
  166. msgstr ""
  167. #. type: Content of: <sect1><sect2><sect3><para>
  168. #: /home/xry111/svn-repos/LFS-BOOK/chapter09/udev.xml:126
  169. msgid ""
  170. "Device drivers compiled as modules may have aliases built into them. "
  171. "Aliases are visible in the output of the <command>modinfo</command> program "
  172. "and are usually related to the bus-specific identifiers of devices supported "
  173. "by a module. For example, the <emphasis>snd-fm801</emphasis> driver supports "
  174. "PCI devices with vendor ID 0x1319 and device ID 0x0801, and has an alias of "
  175. "<quote>pci:v00001319d00000801sv*sd*bc04sc01i*</quote>. For most devices, "
  176. "the bus driver exports the alias of the driver that would handle the device "
  177. "via <systemitem class=\"filesystem\">sysfs</systemitem>. E.g., the "
  178. "<filename>/sys/bus/pci/devices/0000:00:0d.0/modalias</filename> file might "
  179. "contain the string "
  180. "<quote>pci:v00001319d00000801sv00001319sd00001319bc04sc01i00</quote>. The "
  181. "default rules provided with udev will cause <command>udevd</command> to call "
  182. "out to <command>/sbin/modprobe</command> with the contents of the "
  183. "<envar>MODALIAS</envar> uevent environment variable (which should be the "
  184. "same as the contents of the <filename>modalias</filename> file in sysfs), "
  185. "thus loading all modules whose aliases match this string after wildcard "
  186. "expansion."
  187. msgstr ""
  188. #. type: Content of: <sect1><sect2><sect3><para>
  189. #: /home/xry111/svn-repos/LFS-BOOK/chapter09/udev.xml:145
  190. msgid ""
  191. "In this example, this means that, in addition to "
  192. "<emphasis>snd-fm801</emphasis>, the obsolete (and unwanted) "
  193. "<emphasis>forte</emphasis> driver will be loaded if it is available. See "
  194. "below for ways in which the loading of unwanted drivers can be prevented."
  195. msgstr ""
  196. #. type: Content of: <sect1><sect2><sect3><para>
  197. #: /home/xry111/svn-repos/LFS-BOOK/chapter09/udev.xml:151
  198. msgid ""
  199. "The kernel itself is also able to load modules for network protocols, "
  200. "filesystems, and NLS support on demand."
  201. msgstr ""
  202. #. type: Content of: <sect1><sect2><sect3><title>
  203. #: /home/xry111/svn-repos/LFS-BOOK/chapter09/udev.xml:157
  204. msgid "Handling Hotpluggable/Dynamic Devices"
  205. msgstr ""
  206. #. type: Content of: <sect1><sect2><sect3><para>
  207. #: /home/xry111/svn-repos/LFS-BOOK/chapter09/udev.xml:159
  208. msgid ""
  209. "When you plug in a device, such as a Universal Serial Bus (USB) MP3 player, "
  210. "the kernel recognizes that the device is now connected and generates a "
  211. "uevent. This uevent is then handled by <command>udevd</command> as described "
  212. "above."
  213. msgstr ""
  214. #. type: Content of: <sect1><sect2><title>
  215. #: /home/xry111/svn-repos/LFS-BOOK/chapter09/udev.xml:169
  216. msgid "Problems with Loading Modules and Creating Devices"
  217. msgstr ""
  218. #. type: Content of: <sect1><sect2><para>
  219. #: /home/xry111/svn-repos/LFS-BOOK/chapter09/udev.xml:171
  220. msgid ""
  221. "There are a few possible problems when it comes to automatically creating "
  222. "device nodes."
  223. msgstr ""
  224. #. type: Content of: <sect1><sect2><sect3><title>
  225. #: /home/xry111/svn-repos/LFS-BOOK/chapter09/udev.xml:175
  226. msgid "A kernel module is not loaded automatically"
  227. msgstr ""
  228. #. type: Content of: <sect1><sect2><sect3><para>
  229. #: /home/xry111/svn-repos/LFS-BOOK/chapter09/udev.xml:177
  230. msgid ""
  231. "Udev will only load a module if it has a bus-specific alias and the bus "
  232. "driver properly exports the necessary aliases to <systemitem "
  233. "class=\"filesystem\">sysfs</systemitem>. In other cases, one should arrange "
  234. "module loading by other means. With Linux-&linux-version;, udev is known to "
  235. "load properly-written drivers for INPUT, IDE, PCI, USB, SCSI, SERIO, and "
  236. "FireWire devices."
  237. msgstr ""
  238. #. type: Content of: <sect1><sect2><sect3><para>
  239. #: /home/xry111/svn-repos/LFS-BOOK/chapter09/udev.xml:184
  240. msgid ""
  241. "To determine if the device driver you require has the necessary support for "
  242. "udev, run <command>modinfo</command> with the module name as the argument. "
  243. "Now try locating the device directory under <filename "
  244. "class=\"directory\">/sys/bus</filename> and check whether there is a "
  245. "<filename>modalias</filename> file there."
  246. msgstr ""
  247. #. type: Content of: <sect1><sect2><sect3><para>
  248. #: /home/xry111/svn-repos/LFS-BOOK/chapter09/udev.xml:190
  249. msgid ""
  250. "If the <filename>modalias</filename> file exists in <systemitem "
  251. "class=\"filesystem\">sysfs</systemitem>, the driver supports the device and "
  252. "can talk to it directly, but doesn't have the alias, it is a bug in the "
  253. "driver. Load the driver without the help from udev and expect the issue to "
  254. "be fixed later."
  255. msgstr ""
  256. #. type: Content of: <sect1><sect2><sect3><para>
  257. #: /home/xry111/svn-repos/LFS-BOOK/chapter09/udev.xml:196
  258. msgid ""
  259. "If there is no <filename>modalias</filename> file in the relevant directory "
  260. "under <filename class=\"directory\">/sys/bus</filename>, this means that the "
  261. "kernel developers have not yet added modalias support to this bus type. With "
  262. "Linux-&linux-version;, this is the case with ISA busses. Expect this issue "
  263. "to be fixed in later kernel versions."
  264. msgstr ""
  265. #. type: Content of: <sect1><sect2><sect3><para>
  266. #: /home/xry111/svn-repos/LFS-BOOK/chapter09/udev.xml:202
  267. msgid ""
  268. "Udev is not intended to load <quote>wrapper</quote> drivers such as "
  269. "<emphasis>snd-pcm-oss</emphasis> and non-hardware drivers such as "
  270. "<emphasis>loop</emphasis> at all."
  271. msgstr ""
  272. #. type: Content of: <sect1><sect2><sect3><title>
  273. #: /home/xry111/svn-repos/LFS-BOOK/chapter09/udev.xml:209
  274. msgid ""
  275. "A kernel module is not loaded automatically, and udev is not intended to "
  276. "load it"
  277. msgstr ""
  278. #. type: Content of: <sect1><sect2><sect3><para>
  279. #: /home/xry111/svn-repos/LFS-BOOK/chapter09/udev.xml:212
  280. msgid ""
  281. "If the <quote>wrapper</quote> module only enhances the functionality "
  282. "provided by some other module (e.g., <emphasis>snd-pcm-oss</emphasis> "
  283. "enhances the functionality of <emphasis>snd-pcm</emphasis> by making the "
  284. "sound cards available to OSS applications), configure "
  285. "<command>modprobe</command> to load the wrapper after udev loads the wrapped "
  286. "module. To do this, add a <quote>softdep</quote> line to the corresponding "
  287. "<filename>/etc/modprobe.d/<replaceable>&lt;filename&gt;</replaceable>.conf</filename> "
  288. "file. For example:"
  289. msgstr ""
  290. #. type: Content of: <sect1><sect2><sect3><screen>
  291. #: /home/xry111/svn-repos/LFS-BOOK/chapter09/udev.xml:222
  292. #, no-wrap
  293. msgid "<literal>softdep snd-pcm post: snd-pcm-oss</literal>"
  294. msgstr ""
  295. #. type: Content of: <sect1><sect2><sect3><para>
  296. #: /home/xry111/svn-repos/LFS-BOOK/chapter09/udev.xml:224
  297. msgid ""
  298. "Note that the <quote>softdep</quote> command also allows "
  299. "<literal>pre:</literal> dependencies, or a mixture of both "
  300. "<literal>pre:</literal> and <literal>post:</literal> dependencies. See the "
  301. "<filename>modprobe.d(5)</filename> manual page for more information on "
  302. "<quote>softdep</quote> syntax and capabilities."
  303. msgstr ""
  304. #. type: Content of: <sect1><sect2><sect3><para>
  305. #: /home/xry111/svn-repos/LFS-BOOK/chapter09/udev.xml:230
  306. msgid ""
  307. "If the module in question is not a wrapper and is useful by itself, "
  308. "configure the <command>modules</command> bootscript to load this module on "
  309. "system boot. To do this, add the module name to the "
  310. "<filename>/etc/sysconfig/modules</filename> file on a separate line. This "
  311. "works for wrapper modules too, but is suboptimal in that case."
  312. msgstr ""
  313. #. type: Content of: <sect1><sect2><sect3><title>
  314. #: /home/xry111/svn-repos/LFS-BOOK/chapter09/udev.xml:239
  315. msgid "Udev loads some unwanted module"
  316. msgstr ""
  317. #. type: Content of: <sect1><sect2><sect3><para>
  318. #: /home/xry111/svn-repos/LFS-BOOK/chapter09/udev.xml:241
  319. msgid ""
  320. "Either don't build the module, or blacklist it in a "
  321. "<filename>/etc/modprobe.d/blacklist.conf</filename> file as done with the "
  322. "<emphasis>forte</emphasis> module in the example below:"
  323. msgstr ""
  324. #. type: Content of: <sect1><sect2><sect3><screen>
  325. #: /home/xry111/svn-repos/LFS-BOOK/chapter09/udev.xml:245
  326. #, no-wrap
  327. msgid "<literal>blacklist forte</literal>"
  328. msgstr ""
  329. #. type: Content of: <sect1><sect2><sect3><para>
  330. #: /home/xry111/svn-repos/LFS-BOOK/chapter09/udev.xml:247
  331. msgid ""
  332. "Blacklisted modules can still be loaded manually with the explicit "
  333. "<command>modprobe</command> command."
  334. msgstr ""
  335. #. type: Content of: <sect1><sect2><sect3><title>
  336. #: /home/xry111/svn-repos/LFS-BOOK/chapter09/udev.xml:253
  337. msgid "Udev creates a device incorrectly, or makes a wrong symlink"
  338. msgstr ""
  339. #. type: Content of: <sect1><sect2><sect3><para>
  340. #: /home/xry111/svn-repos/LFS-BOOK/chapter09/udev.xml:255
  341. msgid ""
  342. "This usually happens if a rule unexpectedly matches a device. For example, a "
  343. "poorly-written rule can match both a SCSI disk (as desired) and the "
  344. "corresponding SCSI generic device (incorrectly) by vendor. Find the "
  345. "offending rule and make it more specific, with the help of the "
  346. "<command>udevadm info</command> command."
  347. msgstr ""
  348. #. type: Content of: <sect1><sect2><sect3><title>
  349. #: /home/xry111/svn-repos/LFS-BOOK/chapter09/udev.xml:264
  350. msgid "Udev rule works unreliably"
  351. msgstr ""
  352. #. type: Content of: <sect1><sect2><sect3><para>
  353. #: /home/xry111/svn-repos/LFS-BOOK/chapter09/udev.xml:266
  354. msgid ""
  355. "This may be another manifestation of the previous problem. If not, and your "
  356. "rule uses <systemitem class=\"filesystem\">sysfs</systemitem> attributes, it "
  357. "may be a kernel timing issue, to be fixed in later kernels. For now, you "
  358. "can work around it by creating a rule that waits for the used <systemitem "
  359. "class=\"filesystem\">sysfs</systemitem> attribute and appending it to the "
  360. "<filename>/etc/udev/rules.d/10-wait_for_sysfs.rules</filename> file (create "
  361. "this file if it does not exist). Please notify the LFS Development list if "
  362. "you do so and it helps."
  363. msgstr ""
  364. #. type: Content of: <sect1><sect2><sect3><title>
  365. #: /home/xry111/svn-repos/LFS-BOOK/chapter09/udev.xml:278
  366. msgid "Udev does not create a device"
  367. msgstr ""
  368. #. type: Content of: <sect1><sect2><sect3><para>
  369. #: /home/xry111/svn-repos/LFS-BOOK/chapter09/udev.xml:280
  370. msgid ""
  371. "Further text assumes that the driver is built statically into the kernel or "
  372. "already loaded as a module, and that you have already checked that udev "
  373. "doesn't create a misnamed device."
  374. msgstr ""
  375. #. type: Content of: <sect1><sect2><sect3><para>
  376. #: /home/xry111/svn-repos/LFS-BOOK/chapter09/udev.xml:284
  377. msgid ""
  378. "Udev has no information needed to create a device node if a kernel driver "
  379. "does not export its data to <systemitem "
  380. "class=\"filesystem\">sysfs</systemitem>. This is most common with third "
  381. "party drivers from outside the kernel tree. Create a static device node in "
  382. "<filename>/lib/udev/devices</filename> with the appropriate major/minor "
  383. "numbers (see the file <filename>devices.txt</filename> inside the kernel "
  384. "documentation or the documentation provided by the third party driver "
  385. "vendor). The static device node will be copied to <filename "
  386. "class=\"directory\">/dev</filename> by <command>udev</command>."
  387. msgstr ""
  388. #. type: Content of: <sect1><sect2><sect3><title>
  389. #: /home/xry111/svn-repos/LFS-BOOK/chapter09/udev.xml:298
  390. msgid "Device naming order changes randomly after rebooting"
  391. msgstr ""
  392. #. type: Content of: <sect1><sect2><sect3><para>
  393. #: /home/xry111/svn-repos/LFS-BOOK/chapter09/udev.xml:300
  394. msgid ""
  395. "This is due to the fact that udev, by design, handles uevents and loads "
  396. "modules in parallel, and thus in an unpredictable order. This will never be "
  397. "<quote>fixed</quote>. You should not rely upon the kernel device names being "
  398. "stable. Instead, create your own rules that make symlinks with stable names "
  399. "based on some stable attributes of the device, such as a serial number or "
  400. "the output of various *_id utilities installed by udev. See <xref "
  401. "linkend=\"ch-config-symlinks\"/> and <xref linkend=\"ch-config-network\"/> "
  402. "for examples."
  403. msgstr ""
  404. #. type: Content of: <sect1><sect2><title>
  405. #: /home/xry111/svn-repos/LFS-BOOK/chapter09/udev.xml:314
  406. msgid "Useful Reading"
  407. msgstr ""
  408. #. type: Content of: <sect1><sect2><para>
  409. #: /home/xry111/svn-repos/LFS-BOOK/chapter09/udev.xml:316
  410. msgid "Additional helpful documentation is available at the following sites:"
  411. msgstr ""
  412. #. type: Content of: <sect1><sect2><itemizedlist><listitem><para>
  413. #: /home/xry111/svn-repos/LFS-BOOK/chapter09/udev.xml:322
  414. msgid ""
  415. "A Userspace Implementation of <systemitem "
  416. "class=\"filesystem\">devfs</systemitem> <ulink "
  417. "url=\"http://www.kroah.com/linux/talks/ols_2003_udev_paper/Reprint-Kroah-Hartman-OLS2003.pdf\"/>"
  418. msgstr ""
  419. #. type: Content of: <sect1><sect2><itemizedlist><listitem><para>
  420. #: /home/xry111/svn-repos/LFS-BOOK/chapter09/udev.xml:327
  421. msgid ""
  422. "The <systemitem class=\"filesystem\">sysfs</systemitem> Filesystem <ulink "
  423. "url=\"http://www.kernel.org/pub/linux/kernel/people/mochel/doc/papers/ols-2005/mochel.pdf\"/>"
  424. msgstr ""