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