This version of this document is no longer maintained. For the latest documentation, see http://www.qnx.com/developers/docs. |
Driver for RAM disk interface (QNX Neutrino)
You must be root to start this driver. |
devb-ram [cam option[,option]...] [disk option[,option]...] [ram option[,option]...] [blk option[,option]...] &
Use commas (,) to separate the options. You can put the cam, disk, ram, and blk groups of options in any order. |
The disk options control the driver's interface to cam-disk.so. If specified, they must follow the disk keyword. For more information, see cam-disk.so.
The ram options control the driver's interface to RAM:
The blk options control io-blk.so. These options must follow the blk keyword and must be specified after any general or disk options. For more information, see io-blk.so.
The devb-ram driver creates a RAM disk interface. When the capacity option isn't specified, devb-ram creates a 2 MB RAM disk.
By default, devb-ram partitions the RAM disk, leaving one block for the partition table itself, and making the remainder of the RAM disk (capacity minus 1) a t77 partition, which it then initializes (internally, not by spawning dinit) to have a blank fs-qnx4.so filesystem on it. If you specify the nodinit option, you can later manually format it, optionally partition the RAM disk with fdisk (but you can make the whole thing a filesystem), and then mount it.
Create a 4 MB RAM drive:
devb-ram ram capacity=8192 &
The devb-ram driver causes io-blk.so to adopt various block special devices under /dev. These devices are normally named hdn, where n is the physical unit number of the device.
This driver could also require the following shared objects:
Binary | Required |
---|---|
cam-disk.so | For RAM disk access. |
libcam.so | Always |
The devb-ram driver terminates only if an error occurs during startup, or if it has successfully forked itself upon startup because it hadn't been initially started in the background.
While there's no limit to the size of a disk or partition, I/O (i.e. the lseek(), read() and write() functions) is currently limited to 2 gigabytes per partition (or disk). This I/O limit has no effect on the partition size for mounted filesystems.
Known supported functions include:
chmod(), chown(), close(), closedir(), creat(), devctl(), dup(), dup2(), fcntl(), fpathconf(), fstat(), lseek(), mkdir(), mkfifo(), mknod(), open(), opendir(), pathconf(), read(), readdir(), readlink(), rewinddir(), rmdir(), stat(), symlink(), unlink() (not supported for directories), utime(), write()
Note that certain calls (such as pipe(), as well as read() and write() on FIFOs) may require the pipe manager.
cam-disk.so, devb-aha2, devb-aha4, devb-aha7, devb-aha8, devb-amd, devb-btmm, devb-ncr8, dinit, fdisk, fs-dos.so, fs-qnx4.so, io-blk.so
"Block-oriented drivers (devb-*)," "Common access method (cam-*)," and "Filesystem drivers (fs-*)" in the Utilities Summary