diff options
Diffstat (limited to 'chapter06/makedev.xml')
-rw-r--r-- | chapter06/makedev.xml | 105 |
1 files changed, 0 insertions, 105 deletions
diff --git a/chapter06/makedev.xml b/chapter06/makedev.xml deleted file mode 100644 index 6d6e08edb..000000000 --- a/chapter06/makedev.xml +++ /dev/null @@ -1,105 +0,0 @@ -<?xml version="1.0" encoding="ISO-8859-1"?> -<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [ - <!ENTITY % general-entities SYSTEM "../general.ent"> - %general-entities; -]> -<sect1 id="ch-system-MAKEDEV" xreflabel="Make_devices"> -<title>Creating devices with Make_devices-&makedev-version;</title> -<?dbhtml filename="makedevices.html"?> - -<indexterm zone="ch-system-MAKEDEV"><primary sortas="a-Make_devices">Make_devices</primary></indexterm> - -<para>The Make_devices package contains a script for creating device -nodes.</para> - -<screen>&buildtime; 1 SBU -&diskspace; 160 KB</screen> - -<para>For its installation Make_devices depends on: Bash, Bzip2, -Coreutils.</para> - - - -<sect2> -<title>Making devices</title> - -<para>Note that unpacking the -<filename>make_devices-&makedev-version;.bz2</filename> file doesn't -create a directory for you to <command>cd</command> into, as the file -contains only a shell script.</para> - -<para>Install the <filename>make_devices</filename> script:</para> - -<screen><userinput>bzcat make_devices-&makedev-version;.bz2 > /dev/make_devices -chmod 754 /dev/make_devices</userinput></screen> - -<para>Device nodes are special files: things that can generate or receive data. -They usually correspond to physical pieces of hardware. Device nodes can be -created by issuing commands of the form: <command>mknod -m mode name type major -minor</command>. In such a command, <emphasis>mode</emphasis> is the usual -octal read/write/execute permissions triplet, and <emphasis>name</emphasis> is -the name of the device file to be created. It may seem surprising, but the -device name is actually arbitrary, except that most programs rely on devices -such as <filename>/dev/null</filename> having their usual names. The remaining -three parameters tell the kernel what device the node -actually refers to. The <emphasis>type</emphasis> is a letter, either b or c, -indicating whether the device is accessed in blocks (such as a hard disk) or -character by character (such as the console). And <emphasis>major</emphasis> -and <emphasis>minor</emphasis> are numbers, together forming a code that -identifies the device to the kernel. A list of the currently assigned device -numbers for Linux can be found in the file <filename>devices.txt</filename> in -the <filename class="directory">Documentation</filename> subdirectory of the -kernel sources.</para> - -<para>Note that the same major/minor combination is usually assigned to both a -block and a character device. These are, however, completely unrelated devices -that cannot be interchanged. A device is identified by the type/major/minor -triple, not just the major/minor pair, so when creating a device node it is -important to choose the correct <emphasis>type</emphasis> of device.</para> - -<para>Because looking up the type/major/minor triples and using -<command>mknod</command> manually is tedious and error-prone, the -<filename>make_devices</filename> script has been created. It contains a whole -series of <command>mknod</command> commands, one for each device, complete with -recommended name, permissions and group assignment. It has been set up so that -only a minimal set of commonly used devices is enabled and the other lines are -commented out. You should open <filename>make_devices</filename> in an editor -and customize it to your needs. This takes some time, but is very simple. When -you are satisfied, run the script to create the device files:</para> - -<screen><userinput>cd /dev -./make_devices</userinput></screen> - -<para>If you had success with mounting the devpts file system earlier in -<xref linkend="ch-system-proc"/>, you can continue with the next section. If you were -unable to mount devpts, you will have to create a few static ptyXX and ttyXX -device nodes instead. To do this, open <filename>make_devices</filename> in -your editor, go to the section <quote>Pseudo-TTY masters</quote> and enable a -few ptyXX devices -- a handful are enough to enable the test suites to run, but -if you plan to run a kernel without devpts support you will probably need many -more (every xterm, ssh connection, telnet connection, and the like, uses one of -these pseudo terminals). In the immediately following section <quote>Pseudo-TTY -slaves</quote>, enable the corresponding ttyXX devices. When you are done, rerun -<command>./make_devices</command> from inside <filename>/dev</filename> to -have it create the new devices.</para> - -</sect2> - - -<sect2 id="contents-makedev"><title>Contents of Make_devices</title> - -<para><emphasis>Installed script</emphasis>: make_devices</para> - -</sect2> - -<sect2><title>Short description</title> - -<indexterm zone="ch-system-MAKEDEV make_devices"><primary sortas="d-make_devices">make_devices</primary></indexterm> -<para id="make_devices"><command>make_devices</command> is a script for creating a basic set of -static device nodes, usually residing in the <filename class="directory">/dev</filename> directory.</para> - -</sect2> - - - -</sect1> |