aboutsummaryrefslogtreecommitdiffstats
path: root/chapter06/makedev-inst.xml
blob: fd8b087dd95a9dade46521d6815e36211e24fbce (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
<sect2><title>&nbsp;</title><para>&nbsp;</para></sect2>

<sect2>
<title>Creating devices</title>

<para>Please note that unpacking the MAKEDEV-&makedev-version;.bz2 file
doesn't create a directory for you to <userinput>cd</userinput> into, as
the file only contains a single shell script.</para>

<para>Install the MAKEDEV script:</para>

<para><screen><userinput>bzcat MAKEDEV-&makedev-version;.bz2 &gt; /dev/MAKEDEV
chmod 754 /dev/MAKEDEV</userinput></screen></para>

<para>Run the script to create the device files:</para>

<para><screen><userinput>cd /dev
./MAKEDEV -v generic-nopty</userinput></screen></para>

<para>The meaning of the option:</para>

<itemizedlist>
<listitem><para><userinput>-v generic-nopty</userinput>: The
<userinput>-v</userinput> parameter tells the MAKEDEV script to run in verbose
mode. The <userinput>generic-nopty</userinput> parameter instructs MAKEDEV to
create a generic selection of commonly used device special files, except for the
ptyXX and ttyXX range of files. We don't need those files because we are going
to use Unix98 PTYs via the <emphasis>devpts</emphasis> file
system.</para></listitem>
</itemizedlist>

<para>If a device you need is missing, try running
<userinput>./MAKEDEV -v &lt;device&gt;</userinput>. Alternatively, you may
create devices via the <emphasis>mknod</emphasis> program. Please refer to
the man and info pages of <emphasis>mknod</emphasis> if you need more
information.</para>

<para>Additionally, if you were unable to mount the devpts filesystem earlier in
the "Mounting the proc and devpts file systems" section, now is the time to
try the alternatives. If your kernel supports the devfs file system, run the
following command to mount devfs:</para>

<para><screen><userinput>mount -t devfs devfs /dev</userinput></screen></para>

<para>This will mount the devfs file system over the top of the new static
<filename>/dev</filename> structure. This poses no problems, as the device nodes
created are still present, they are just hidden by the new devfs
filesystem.</para>

<para>If this still doesn't work, the only option left is to use the MAKEDEV
script to create the ptyXX and ttyXX range of files that would otherwise not be
needed. Ensure you are still in the <filename>/dev</filename> directory then run
<userinput>./MAKEDEV -v pty</userinput>. The downside of this is, we are
creating an extra 512 device special files which will not be needed when we
finally boot into the finished LFS system.</para>

</sect2>