Tagging 1.99.1
[linux_from_scratch.git] / newxml / chapter06 / makedev.xml
blob467ee43ac027af45a83033365691f2f7f667e580
1 <?xml version="1.0" encoding="ISO-8859-1"?>
2 <!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3CR2//EN" "http://www.docbook.org/xml/4.3CR2/docbookx.dtd" [
3   <!ENTITY % makedev-entities SYSTEM "../ent/makedev.ent">
4   %makedev-entities;
5 ]>
6 <sect1 id="ch06-MAKEDEV">
7 <title>Creating &makedev-version; (Makedev-1.7)</title>
8 <?dbhtml filename="makedev.html"?>
10 <screen>Estimated build time:           0.1 SBU
11 Estimated required disk space:  50 KB</screen>
13 <sect2><title>Contents of MAKEDEV</title>
15 <!-- <para>(Last checked against version &makedev-contversion;.)</para> -->
17 <para>The MAKEDEV script creates the static device nodes which
18 usually reside in the <filename class="directory">/dev</filename>
19 directory. Detailed information about device nodes may be found
20 in the <filename>Documentation/&makedev-version;.txt</filename> file under
21 the Linux kernel source tree.</para>
23 <para><emphasis>Installed script</emphasis>: MAKEDEV</para>
25 </sect2>
28 <sect2>
29 <title>MAKEDEV Installation Dependencies</title>
31 <!-- <para>(Last checked against version &makedev-depversion;.)</para> -->
33 <para>MAKEDEV depends on: Bash, Coreutils.</para>
35 </sect2>
40 <sect2>
41 <title>Creating &makedev-version;</title>
43 <para>Note that unpacking the <filename>MAKEDEV-1.7.bz2</filename>
44 file doesn't create a directory for you to <userinput>cd</userinput> into, as
45 the file contains only a shell script.</para>
47 <para>Install the <userinput>MAKEDEV</userinput> script:</para>
49 <screen><userinput>bzcat MAKEDEV-1.7.bz2 &gt; /dev/MAKEDEV
50 chmod 754 /dev/MAKEDEV</userinput></screen>
52 <para>Run the script to create the device files:</para>
54 <screen><userinput>cd /dev
55 ./MAKEDEV -v generic-nopty</userinput></screen>
57 <para>The meaning of the arguments:</para>
59 <itemizedlist>
60 <listitem><para><userinput>-v</userinput>: This tells the script to run in
61 verbose mode.</para></listitem>
63 <listitem><para><userinput>generic-nopty</userinput>: This instructs
64 <userinput>MAKEDEV</userinput> to create a generic selection of commonly used
65 device special files, except for the ptyXX and ttyXX range of files. We don't
66 need those files because we are going to use Unix98 PTYs via the
67 <emphasis>devpts</emphasis> file system.</para></listitem>
68 </itemizedlist>
70 <para>If it turns out that some special device <filename>zzz</filename> that
71 you need is missing, try running <userinput>./MAKEDEV -v zzz</userinput>.
72 Alternatively, you may create &makedev-version; via the <userinput>mknod</userinput>
73 program. Please refer to its man and info pages if you need more
74 information.</para>
76 <para>Additionally, if you were unable to mount the devpts filesystem earlier in
77 the "Mounting the proc and devpts file systems" section, now is the time to
78 try the alternatives. If your kernel supports the devfs file system, run the
79 following command to mount devfs:</para>
81 <screen><userinput>mount -t devfs devfs /dev</userinput></screen>
83 <para>This will mount the devfs file system over the top of the new static
84 <filename>/dev</filename> structure. This poses no problems, as the device nodes
85 created are still present, they are just hidden by the new devfs
86 filesystem.</para>
88 <para>If this still doesn't work, the only option left is to use the MAKEDEV
89 script to create the ptyXX and ttyXX range of files that would otherwise not be
90 needed. Ensure you are still in the <filename>/dev</filename> directory then run
91 <userinput>./MAKEDEV -v pty</userinput>. The downside of this is, we are
92 creating an extra 512 device special files which will not be needed when we
93 finally boot into the finished LFS system.</para>
95 </sect2>
97 </sect1>