Driver for ATA/IDE disk interface and ATAPI CD-ROM interface (QNX Neutrino)
You must be root to start this driver. |
devb-eide [blk option[,option]...] [cam option[,option]...] [cdrom option[,option]...] [disk option[,option]...] [eide option[,option]...] &
Neutrino
Use commas (,) to separate the options. You can put the blk, cam, cdrom, disk, and eide groups of options in any order. |
The blk options control io-blk.so. If specified, they must follow the blk keyword.
The cdrom options control the driver's interface to cam-cdrom.so. If specified, they must follow the cdrom keyword.
The disk options control the driver's interface to cam-disk.so. If specified, they must follow the disk keyword.
The eide options control the driver's interface to the EIDE controller. If you've installed multiple controllers, you can repeat these options for each controller. Remember, however, to specify the eide keyword before each controller's set of options.
The devb-eide driver is for IDE (Integrated Drive Electronics), EIDE (Enhanced IDE) and ATA (AT Attachment) hard disk interface, as well as the ATAPI (ATA Packet Interface) CD-ROM interface. This driver autodetects all interfaces.
If you're installing multiple operating systems on the drive, make sure they all use a compatible mode. For example, if your drive is ≥ 528M and DOS will also be installed on the drive, the driver should be configured to use LBA. |
The devb-eide driver uses DMA by default. If you want to disable DMA, specify the nobmstr command-line option.
By default, the driver uses LBA (Logical Block Addressing) modes if the drive supports them. If you want the device programmed to CHS (Cylinder-Head-Sector) mode, specify the chs option.
The devb-eide driver closes its standard input, standard output, and standard error immediately after completing its initializations. Any error messages produced during the initialization phase are written to standard error.
Detect all IDE controllers, and list all connected devices:
devb-eide &
Detect an IDE controller at a specific I/O port address and IRQ number, and list all connected devices:
devb-eide eide ioport=0x1f0,irq=14
Detect a PCMCIA disk that is configured in contiguous I/O mapped addressing at a specific I/O port address and IRQ number:
devb-eide eide ioport=0x320:0x32c,irq=7,noslave
For PCMCIA devices configured in contiguous I/O mapped addressing, you should always specify the control block address of the interface by adding an offset (usually 12) to the base address of the port. This is not required for legacy addressing (0x1f0 or 0x170), where the driver adds the standard control block offset (0x200) automatically. |
Detect an IDE controller with a specific vendor and device identity, and list all connected devices:
devb-eide eide vid=0x8086,did=0x2411,pci=0,chnl=0
Detect an IDE controller with a specific vendor ID, device ID, and channel number, and disable ultra DMA on the master:
devb-eide eide vid=0x8086,did=0x2411,pci=0,chnl=1,master=udma=off
Pass cache and delwri options to io-blk.so, uid and gid options to fs-cd.so, and vollabel option to fs-dos.so:
devb-eide blk cache=2m,delwri=2s cd uid=234,gid=120 dos \ vollabel=ignore &
The cd and dos options apply to any filesystems of those types that are mounted (either by the automatic mounter or a later explicit mount).
You can also pass generic mount options (as described in io-blk.so) as follows:
devb-eide blk noatime dos hidden=show,noexec qnx4 ro &
This sets the ST_NOATIME mount bit for all filesystems, the ST_RDONLY bit for any QNX 4 filesystem, and the ST_NOEXEC bit for any DOS filesystem. The mount message also has these bits, which apply only to that mountpoint.
The devb-eide driver causes io-blk.so to adopt various block special devices under /dev. These devices are normally named hdn (or cdn for CD-ROMs), where n is the physical unit number of the device.
This driver could also require the following shared objects:
Binary | Required |
---|---|
cam-cdrom.so | For CD-ROM access |
cam-disk.so | For hard-disk access |
libcam.so | Always |
The devb-eide 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.
Unless overridden with the blk automount= option (see io-blk.so), devices are mounted as:
Device | Mountpoint | Filesystem type |
---|---|---|
/dev/hd0t77 | /hd | qnx4 |
/dev/cd0 | /cd | cd |
/dev/hd0t6 | /dos | dos |
/dev/hd0t11 | /dos | dos |
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-*, devb-*, fs-*, io-blk.so
Controlling How Neutrino Starts and Connecting Hardware chapters, and “Filesystems and block I/O (devb-*) drivers” in the Fine-Tuning Your System chapter of the QNX Neutrino User's Guide