1 | <sect1 id="ch06-MAKEDEV" xreflabel="Makedev">
|
---|
2 | <title>Creating devices with Makedev-&makedev-version;</title>
|
---|
3 | <?dbhtml filename="makedev.html" dir="chapter06"?>
|
---|
4 |
|
---|
5 | <para>The MAKEDEV package contains a script for making device nodes.</para>
|
---|
6 |
|
---|
7 | <screen>Estimated build time: &makedev-time;
|
---|
8 | Estimated required disk space: &makedev-compsize;</screen>
|
---|
9 |
|
---|
10 | &aa-makedev-down;
|
---|
11 | &aa-makedev-dep;
|
---|
12 |
|
---|
13 | <sect2><title> </title><para> </para></sect2>
|
---|
14 |
|
---|
15 | <sect2>
|
---|
16 | <title>Making devices</title>
|
---|
17 |
|
---|
18 | <para>Note that unpacking the <filename>MAKEDEV-&makedev-version;.bz2</filename>
|
---|
19 | file doesn't create a directory for you to <userinput>cd</userinput> into, as
|
---|
20 | the file contains only a shell script.</para>
|
---|
21 |
|
---|
22 | <para>Install the <userinput>MAKEDEV</userinput> script:</para>
|
---|
23 |
|
---|
24 | <screen><userinput>bzcat MAKEDEV-&makedev-version;.bz2 > /dev/MAKEDEV
|
---|
25 | chmod 754 /dev/MAKEDEV</userinput></screen>
|
---|
26 |
|
---|
27 | <para>Run the script to create the device files:</para>
|
---|
28 |
|
---|
29 | <screen><userinput>cd /dev
|
---|
30 | ./MAKEDEV -v generic-nopty</userinput></screen>
|
---|
31 |
|
---|
32 | <para>The meaning of the arguments:</para>
|
---|
33 |
|
---|
34 | <itemizedlist>
|
---|
35 | <listitem><para><userinput>-v</userinput>: This tells the script to run in
|
---|
36 | verbose mode.</para></listitem>
|
---|
37 |
|
---|
38 | <listitem><para><userinput>generic-nopty</userinput>: This instructs
|
---|
39 | <userinput>MAKEDEV</userinput> to create a generic selection of commonly used
|
---|
40 | device special files, except for the ptyXX and ttyXX range of files. We don't
|
---|
41 | need those files because we are going to use Unix98 PTYs via the
|
---|
42 | <emphasis>devpts</emphasis> file system.</para></listitem>
|
---|
43 | </itemizedlist>
|
---|
44 |
|
---|
45 | <para>If it turns out that some special device <filename>zzz</filename> that
|
---|
46 | you need is missing, try running <userinput>./MAKEDEV -v zzz</userinput>.
|
---|
47 | Alternatively, you may create devices via the <userinput>mknod</userinput>
|
---|
48 | program. Please refer to its man and info pages if you need more
|
---|
49 | information.</para>
|
---|
50 |
|
---|
51 | <para>Additionally, if you were unable to mount the devpts filesystem earlier in
|
---|
52 | the "Mounting the proc and devpts file systems" section, now is the time to
|
---|
53 | try the alternatives. If your kernel supports the devfs file system, run the
|
---|
54 | following command to mount devfs:</para>
|
---|
55 |
|
---|
56 | <screen><userinput>mount -t devfs devfs /dev</userinput></screen>
|
---|
57 |
|
---|
58 | <para>This will mount the devfs file system over the top of the new static
|
---|
59 | <filename>/dev</filename> structure. This poses no problems, as the device nodes
|
---|
60 | created are still present, they are just hidden by the new devfs
|
---|
61 | filesystem.</para>
|
---|
62 |
|
---|
63 | <para>If this still doesn't work, the only option left is to use the MAKEDEV
|
---|
64 | script to create the ptyXX and ttyXX range of files that would otherwise not be
|
---|
65 | needed. Ensure you are still in the <filename>/dev</filename> directory then run
|
---|
66 | <userinput>./MAKEDEV -v pty</userinput>. The downside of this is, we are
|
---|
67 | creating an extra 512 device special files which will not be needed when we
|
---|
68 | finally boot into the finished LFS system.</para>
|
---|
69 |
|
---|
70 | </sect2>
|
---|
71 |
|
---|
72 | &aa-makedev-shortdesc;
|
---|
73 | &aa-makedev-desc;
|
---|
74 |
|
---|
75 | </sect1>
|
---|
76 |
|
---|