Linux From Scratch: Version 5.0-pre3
Prev | Chapter 6. Installing basic system software | Next

# Creating devices (Makedev-1.7)

    Estimated build time:           0.1 SBU
    Estimated required disk space:  50 KB

## Contents of MAKEDEV

(Last checked against version 1.7.)

The MAKEDEV script creates the static device nodes which usually reside in the `/dev` directory. Detailed information about device nodes may be found in the `Documentation/devices.txt` file under the Linux kernel source tree.

Installed script: MAKEDEV

##

## MAKEDEV Installation Dependencies

(Last checked against version 1.7.)

Bash: bash
Coreutils: chmod, chown, expr, id, ln, mknod, mv, rm

##

## Creating devices

Please note that unpacking the MAKEDEV-1.7.bz2 file doesn't create a directory for you to `cd` into, as the file only contains a single shell script.

Install the MAKEDEV script:

    bzcat MAKEDEV-1.7.bz2 > /dev/MAKEDEV
    chmod 754 /dev/MAKEDEV

Run the script to create the device files:

    cd /dev
    ./MAKEDEV -v generic-nopty

The meaning of the option:

- `-v generic-nopty`: The `-v` parameter tells the MAKEDEV script to run in verbose mode. The `generic-nopty` 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 devpts file system.

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

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:

    mount -t devfs devfs /dev

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

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 `/dev` directory then run `./MAKEDEV -v pty`. 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.

Prev | Home | Next
Creating the passwd and group files | Up | Installing Linux-2.4.22 headers