Add documentation for makedev
authorMaxime Ripard <maxime.ripard@free-electrons.com>
Fri, 17 Feb 2012 23:30:58 +0000 (15:30 -0800)
committerPeter Korsgaard <jacmet@sunsite.dk>
Sun, 19 Feb 2012 21:56:30 +0000 (22:56 +0100)
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
docs/manual/adding-packages-gentargets.txt
docs/manual/appendix.txt [new file with mode: 0644]
docs/manual/makedev-syntax.txt [new file with mode: 0644]
docs/manual/manual.txt

index 3656a530dbd551aacb01921de962814b03200f46..cfcee8c8df78f72b7dbf0064431d987f0c507eb0 100644 (file)
@@ -210,10 +210,13 @@ information is (assuming the package name is +libfoo+) :
 
 * +LIBFOO_DEVICES+ lists the device files to be created by Buildroot
   when using the static device table. The syntax to use is the
-  makedevs one.
+  makedevs one. You can find some documentation for this syntax in the
+  xref:makedev-syntax[]. This variable is optional.
 
 * +LIBFOO_PERMISSIONS+ lists the changes of permissions to be done at
   the end of the build process. The syntax is once again the makedevs one.
+  You can find some documentation for this syntax in the xref:makedev-syntax[].
+  This variable is optional.
 
 The recommended way to define these variables is to use the following
 syntax:
diff --git a/docs/manual/appendix.txt b/docs/manual/appendix.txt
new file mode 100644 (file)
index 0000000..f41c82c
--- /dev/null
@@ -0,0 +1,4 @@
+Appendix
+========
+
+include::makedev-syntax.txt[]
diff --git a/docs/manual/makedev-syntax.txt b/docs/manual/makedev-syntax.txt
new file mode 100644 (file)
index 0000000..4728c4b
--- /dev/null
@@ -0,0 +1,54 @@
+[[makedev-syntax]]
+Makedev syntax documentation
+----------------------------
+
+The makedev syntax is used across 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 to call mkdnod every
+now and then.
+
+This syntax is derived from the makedev utility, and a more complete
+documentation can be found in the +package/makedevs/README+ file.
+
+It takes the form of a line for each file, with the following layout:
+
+|===========================================================
+|name |type |mode |uid |gid |major |minor |start |inc |count
+|===========================================================
+
+There is a few non-trivial blocks here:
+
+- +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
+  * c: a character device file
+  * b: a block device file
+  * p: a named pipe
+- +mode+, +uid+ and +gid+ are the usual permissions stuff
+- +major+ and +minor+ are here for device files
+- +start+, +inc+ and +count+ are when you want to create a whole 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       -       -       -       -       -
+-------------------------------------------------------------------
+
+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
+-------------------------------------------------------------------
+
index 10ce69508fe77ec24a86df29e146a831cb289264..732b50cbcdb0a7528596181b921208bb18e26af3 100644 (file)
@@ -30,3 +30,5 @@ include::ccache-support.txt[]
 include::download-location.txt[]
 
 include::adding-packages.txt[]
+
+include::appendix.txt[]