diff options
author | Thomas Petazzoni <thomas.petazzoni@free-electrons.com> | 2011-03-02 14:52:54 +0100 |
---|---|---|
committer | Peter Korsgaard <jacmet@sunsite.dk> | 2011-05-09 16:52:22 +0200 |
commit | 4e005c47e535fcde9bff04699774bde36f358b38 (patch) | |
tree | 0b68179106f9f123b0a3598709eb2c2da6249845 /package/makedevs | |
parent | ca520507fc15a8213334a76339a3e6d567e91ea0 (diff) | |
download | buildroot-novena-4e005c47e535fcde9bff04699774bde36f358b38.tar.gz buildroot-novena-4e005c47e535fcde9bff04699774bde36f358b38.zip |
Allow several device tables and split in two parts our device table
This allows to have a device table for all directories/files and
another device table for the device files themselves. Both are needed
for static /dev, but only the first one is needed when
devtmpfs/mdev/udev are used.
We take this opportunity to move the documentation of the device table
format in a common location, package/makedevs/README.
[Peter: simplify code slightly, fix indentation]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Diffstat (limited to 'package/makedevs')
-rw-r--r-- | package/makedevs/README | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/package/makedevs/README b/package/makedevs/README new file mode 100644 index 000000000..6c54052ee --- /dev/null +++ b/package/makedevs/README @@ -0,0 +1,35 @@ +When building a target filesystem, it is desirable to not have to +become root and then run 'mknod' a thousand times. Using a device +table you can create device nodes and directories "on the fly". + +You can do all sorts of interesting things with a device table file. +For example, if you want to adjust the permissions on a particular +file you can just add an entry like: + + /sbin/foobar f 2755 0 0 - - - - - + +and (assuming the file /sbin/foobar exists) it will be made setuid +root (regardless of what its permissions are on the host filesystem. + +Furthermore, you can use a single table entry to create a many device +minors. For example, if I wanted to create /dev/hda and +/dev/hda[0-15] I could just use the following two table entries: + + /dev/hda b 640 0 0 3 0 0 0 - + /dev/hda b 640 0 0 3 1 1 1 15 + +Device table entries take the form of: + +<name> <type> <mode> <uid> <gid> <major> <minor> <start> <inc> <count> + +where name is the file name, type can be one of: + + f A regular file + d Directory + c Character special device file + b Block special device file + p Fifo (named pipe) + +uid is the user id for the target file, gid is the group id for the +target file. The rest of the entries (major, minor, etc) apply only +to device special files. |