buildrootschalter/docs/manual/makedev-syntax.txt
Angelo Compagnucci 68cb6a88c1 docs/manual: documentation for recursive makedevs syntax
This patch adds the documentation for the new makedevs
recursive syntax.

[Thomas: s/folder/directory/ as suggested by Yann.]

Signed-off-by: Angelo Compagnucci <angelo.compagnucci@gmail.com>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-04-11 18:03:25 +02:00

67 lines
1.9 KiB
Plaintext

// -*- mode:doc; -*-
// vim: set syntax=asciidoc:
[[makedev-syntax]]
== Makedev syntax documentation
The makedev syntax is used in several places in Buildroot to
define changes to be made for permissions, or which device files to
create and how to create them, in order to avoid calls to mknod.
This syntax is derived from the makedev utility, and more complete
documentation can be found in the +package/makedevs/README+ file.
It takes the form of a space separated list of fields, one file per
line; the fields are:
|===========================================================
|name |type |mode |uid |gid |major |minor |start |inc |count
|===========================================================
There are a few non-trivial blocks:
- +name+ is the path to the file you want to create/modify
- +type+ is the type of the file, being one of:
* f: a regular file
* d: a directory
* r: a directory recursively
* c: a character device file
* b: a block device file
* p: a named pipe
- +mode+, +uid+ and +gid+ are the usual permissions settings
- +major+ and +minor+ are here for device files - set to - for other
files
- +start+, +inc+ and +count+ are for when you want to create a batch
of files, and can be reduced to a loop, beginning at +start+,
incrementing its counter by +inc+ until it reaches +count+
Let's say you want to change the permissions of a given file; using
this syntax, you will need to put:
----
/usr/bin/foobar f 644 0 0 - - - - -
----
Alternatively, if you want to change owner/permission of a directory
recursively, you can put:
----
/usr/share/myapp r 750 myuser myuser - - - - -
----
On the other hand, if you want to create the device file +/dev/hda+
and the corresponding 15 files for the partitions, you will need for
+/dev/hda+:
----
/dev/hda b 640 0 0 3 0 0 0 -
----
and then for device files corresponding to the partitions of
+/dev/hda+, +/dev/hdaX+, +X+ ranging from 1 to 15:
----
/dev/hda b 640 0 0 3 1 1 1 15
----