Forum Discussion
Altera_Forum
Honored Contributor
20 years agoHi posix6973,
> This method is correct or not? > int fd; > fd = open ("/dev/mtd0", O_RDWR); > etc. Yes. The mtd-utils code has many examples. Take a look the erase utility for example. > Could you explain the -D, --devtable option and how to use? This is only for mkfs.jffs2 ... if you're not using jffs2, you won't need this. Regardless, when using mkfs.jffs2, a devtable file provides two advantages: 1. You don't have to su root. Without a devtable file, you would need to have root privileges on your development host to create device inodes in your jffs2 target tree -- which is a big hassle -- at least if you're concerned with security ;-) 2. The devtable file serves as a form of documentation that can be placed under version control just like any other source file. This is right out of an mtd-utils souce tree: <div class='quotetop'>QUOTE </div> --- Quote Start --- # This is a sample device table file for use with mkfs.jffs2. 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.# # 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 entried apply only to device special# file. # 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".# 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 16# # Have fun# -Erik Andersen <andersen@codepoet.org># # <name> <type> <mode> <uid> <gid> <major> <minor> <start> <inc> <count> # /dev d 755 0 0 - - - - - /dev/mem c 640 0 0 1 1 0 0 - /dev/kmem c 640 0 0 1 2 0 0 - /dev/null c 640 0 0 1 3 0 0 - /dev/zero c 640 0 0 1 5 0 0 - /dev/random c 640 0 0 1 8 0 0 - /dev/urandom c 640 0 0 1 9 0 0 - /dev/tty c 640 0 0 5 0 0 0 - /dev/tty c 640 0 0 4 0 0 1 6 /dev/console c 640 0 0 5 1 0 0 - /dev/ram b 640 0 0 1 1 0 0 - /dev/ram b 640 0 0 1 0 0 1 4 /dev/loop b 640 0 0 7 0 0 1 2 /dev/ttyS c 640 0 0 4 64 0 1 4 [/b] --- Quote End --- Regards, --Scott