QNX Technical Articles
QNX® 4.25 RTOS Fsys.atapi Block Driver Release Notes
QNX® 4.25 RTOS
Fsys.atapi Block Driver
Release Notes
Date of this edition: May 03, 2005
Host OS: QNX 4.25 base or any patch level
Contents
Archive contents
The Fsys.atapi driver archive for QNX 4 contains:
- /bin/Fsys.atapi
IDE, EIDE and SATA chipsets supported by the Fsys.atapi driver are as follows:
Manufacturer | Chip | Vendor ID | Device ID | Revision | Transfer Mode |
---|---|---|---|---|---|
ACER Labs | M5229 | 0x10b9 | 0x5229 | 0x19-0xc1 | UDMA 2 |
ACER Labs | M5229 | 0x10b9 | 0x5229 | 0xc2-0xc3 | UDMA 4 |
ACER Labs | M5229 | 0x10b9 | 0x5229 | 0xc4 | UDMA 5 |
AMD | PCB-756 | 0x1022 | 0x7409 | ------ | UDMA 4 (untested) |
AMD | PCB-766 | 0x1022 | 0x7411 | ------ | UDMA 5 (untested) |
AMD | PCB-768 | 0x1022 | 0x7441 | ------ | UDMA 5 |
HighPoint Tech | HPT-366 | 0x1103 | 0x0004 | 0x01 | UDMA 4 (untested) |
HighPoint Tech | HPT-370 | 0x1103 | 0x0004 | 0x03+ | UDMA 5 |
HighPoint Tech | HPT-372 | 0x1103 | 0x0005 | ------ | UDMA 6 |
HighPoint Tech | HPT-374 | 0x1103 | 0x0008 | ------ | UDMA 6 |
Intel | 82371FB | 0x8086 | 0x1230 | ------ | BIOS |
Intel | 82371SB | 0x8086 | 0x7010 | ------ | MDMA 2 |
Intel | 82371AB | 0x8086 | 0x7111 | ------ | UDMA 2 |
Intel | 82801AA | 0x8086 | 0x2411 | ------ | UDMA 4 |
Intel | 82801AB | 0x8086 | 0x2421 | ------ | UDMA 4 |
Intel | 82801BAM | 0x8086 | 0x244A | ------ | UDMA 5 |
Intel | 82801BA | 0x8086 | 0x244B | ------ | UDMA 5 |
Intel | 82801CA | 0x8086 | 0x248B | ------ | UDMA 5 |
Intel | 82801CAM | 0x8086 | 0x248A | ------ | UDMA 5 |
Intel | 82801DB | 0x8086 | 0x24CB | ------ | UDMA 5 |
Intel | 82801DBM | 0x8086 | 0x24CA | ------ | UDMA 5 |
Intel | 82801DB | 0x8086 | 0x24CB | ------ | UDMA 5 |
Intel | 82801EB | 0x8086 | 0x24DB | ------ | UDMA 5 |
Intel | 82801ESB | 0x8086 | 0x25A2 | ------ | UDMA 5 |
Intel | 82801FB | 0x8086 | 0x266F | ------ | UDMA 5 |
Intel | 82801EB | 0x8086 | 0x24D1 | ------ | SATA |
Intel | 82801ER | 0x8086 | 0x24DF | ------ | SATA |
Intel | 82801FB | 0x8086 | 0x2651 | ------ | SATA |
Intel | 82801FR | 0x8086 | 0x2652 | ------ | SATA |
Intel | 82801FBM | 0x8086 | 0x2653 | ------ | SATA |
Intel | 82801ESB | 0x8086 | 0x25a3 | ------ | SATA |
Promise | PDC-20265 | 0x105a | 0x0d30 | ------ | UDMA 5 |
Promise | PDC-20269 | 0x105a | 0x4d69 | ------ | UDMA 5 |
ServerWorks | OSB4 | 0x1166 | 0x0211 | ------ | UDMA 2 |
ServerWorks | CSB5 | 0x1166 | 0x0212 | ------ | UDMA 4 (untested) |
ServerWorks | CSB5 | 0x1166 | 0x0212 | 0x92+ | UDMA 5 |
SiS | SiS-5513 | 0x1039 | 0x5513 | 0xd0 | UDMA 2/4 |
SiS | SiS-5518 | 0x1039 | 0x5518 | ------ | UDMA 6 |
SiS | SiS-180 | 0x1039 | 0x0180 | ------ | SATA |
VIA Tech | 82C586B | 0x1106 | 0x0571 | 82686B PCI-ISA bridge 0x40+ | UDMA 5 |
VIA Tech | 82C586B | 0x1106 | 0x0571 | 8231 bridge | UDMA 5 (untested) |
VIA Tech | 82C586B | 0x1106 | 0x0571 | 8233 bridge | UDMA 5 (untested) |
VIA Tech | 82C586B | 0x1106 | 0x0571 | 8233C bridge | UDMA 5 (untested) |
VIA Tech | 82C586B | 0x1106 | 0x0571 | 8233A bridge | UDMA 6 |
VIA Tech | 82C586B | 0x1106 | 0x0571 | 8235A bridge | UDMA 6 (untested) |
VIA Tech | 82C586B | 0x1106 | 0x0571 | 8237 bridge | UDMA 6 (untested) |
VIA Tech | 8237 | 0x1106 | 0x3149 | ------ | SATA |
VIA Tech | 82C586B | 0x1106 | 0x0571 | 0x6+ | UDMA 2 |
Winbond | W83C553F | 0x10ad | 0x0105 | ------ | MDMA 2 |
PCMCIA | Any | ------ | ------ | ------ | PIO 0 |
PCI IDE | Any | ------ | ------ | ------ | BIOS |
Known issues
- The QNX 4 chkfsys utility is incompatible with partitions
formatted using QNX 6.3.0 or later. All data may be lost. The new
QNX4-format can be identified by the .longfilenames file in its root directory.
Workaround: Either avoid using the chkfsys utility or copy your data off to a safe location and reformat the partition using the original QNX 4 dinit.
- The original QNX 4 dinit utility shipped with QNX 4.25G when used to
initialize a partition which is larger than 1024 cylinders may create a partition
which is mountable, but unbootable.
Workaround: Create a tiny QNX4-formatted partition (a few megabytes is adequate) to contain a .boot image which then mounts the larger QNX 4 OS partition.
- QNX 4 can not be installed directly onto a SATA drive because the Fsys.atapi
block driver is not included in the install CD-ROM.
Workaround:
- Install a basic QNX 4 installation on an EIDE hard disk.
- Install the Fsys.atapi driver.
- Create a partition on the SATA drive using fdisk and format it using dinit. As mentioned in the previous known issue, you may have to make a bootstrap partition as well if the drive is larger than 1024 cylinders.
- Mount the new partition into your filesystem.
- Copy the QNX 4 OS installation from / into the SATA mountpoint.
- Update and rebuild the .boot file for the SATA drive so that it uses the correct device file names.
- Update the BIOS to boot from the SATA drive.
There is a log of an example session which demonstrates how to configure a SATA drive with a bootable QNX 4 installation included as an appendix to this release note.
Online documentation
This patch doesn't update the online documentation for the Fsys.atapi driver. However, you'll find their latest options in its use message. You'll also find the list of supported chipsets in these release notes.
use Fsys.atapi
Technical support
To obtain technical support for any QNX product, visit the Technical Support section in the Services area on our website www.qnx.com.
Appendix
A log of an example session which demonstrates how to configure a SATA drive with a bootable QNX 4 installation. It also illustrates how a small bootstrap partition can be used to overcome the 1024 cylinder limitation, if your drive has trouble booting.
When you use the small bootstrap partition technique, don't forget when you edit the build file to mount the "other" partition, not the tiny one which contains the .boot file. In the following example, the OS data is on the t78 partition so it should be mounted as /.
Path=0 - VIA 8237 SATA target=0 lun=0 Direct-Access(0) - Maxtor 6Y160M0 Rev: Path=1 - VIA 82C586A/B target=0 lun=0 CD-ROM(5) - MATSHITA DVD-ROM SR-8589 Rev: 8Z14 target=1 lun=0 Direct-Access(0) - ST32532A Rev: QNX path '/dev/cd0.0' adopted as CDROM drive '/cd0.0' Welcome to QNX 4.25 Copyright (c) QNX Software Systems Ltd. 1982,1998 login: root Last login: Fri Apr 29 10:13:07 2005 on //247/dev/con1 Fri Apr 29 10:18:10 2005 # # sin ar | grep Fsys 4 System /bin/Fsys 5 System /bin/Fsys.atapi fsys -Ndsk0 -n0=hd0. -n5=cd0. atapi # # fdisk /dev/hd0.0 show _____OS_____ Start End ______Number_____ Size Boot name type Cylinder Cylinder Cylinders Blocks 1. QNX ( 77) 0 2 3 24129 11 MB * 2. HPFS ( 7) ***** ***** 5080 40960000 20000 MB NO 3. QNZ ( 79) 5079 ***** 5079 40960000 20000 MB NO 4. QNY ( 78) 3 5078 5076 40932864 19986 MB warning # # ls /dev/hd* /dev/hd0.0 /dev/hd0.1 /dev/hd0.1t77 # # mount -p /dev/hd0.0 # # ls /dev/hd* /dev/hd0.0 /dev/hd0.0t77 /dev/hd0.0t79 /dev/hd0.1t77 /dev/hd0.0t7 /dev/hd0.0t78 /dev/hd0.1 # # dinit -h /dev/hd0.0t77 '/dev/hd0.0t77' is not a floppy or ramdisk Disk '/dev/hd0.0t77' contains 24129 blocks (12064K). # # dinit -h /dev/hd0.0t78 '/dev/hd0.0t78' is not a floppy or ramdisk Disk '/dev/hd0.0t78' contains 40932864 blocks (20466432K). # # mount -t qnx4 /dev/hd0.0t77 /hd-boot # # mount -t qnx4 /dev/hd0.0t78 /hd-data # # ls /hd-boot . .altboot .boot .. .bitmap .inodes # # ls /hd-data . .altboot .boot .. .bitmap .inodes # # cd / # # ls . .licenses dev registry .. .licenses.bak etc tmp .altboot .photon hd-boot usr .bitmap bin hd-data vedit .boot boot home windows .inodes cd pipe .lastlogin cd0.0 qnx4 # # echo .licenses* .photon bin boot etc home qnx4 registry usr vedit windows | xargs -i cp -Rc {} /hd-data/{} # # ls /hd-data . .inodes boot usr .. .licenses etc vedit .altboot .licenses.bak home windows .bitmap .photon qnx4 .boot bin registry # # mkdir /hd-data/tmp # # cd /hd-data/boot/build # # vi install.atapi.247 # # buildqnx -v ./install.atapi.247 ../images/install.atapi.247 /boot/sys/boot 01000 for 04000 (16384 bytes) Start 00000 05000 for 02000 ( 8192 bytes) /boot/sys/Proc32 07000 for 1D000 (118784 bytes) Start 00008 24000 for 06000 (24576 bytes) /boot/sys/Slib32 2A000 for 0D000 (53248 bytes) Start 01052 37000 for 01000 ( 4096 bytes) /boot/sys/Slib16 38000 for 07000 (28672 bytes) Start 05632 3F000 for 02000 ( 8192 bytes) /bin/Fsys 41000 for 13000 (77824 bytes) Start 124DC 54000 for 06000 (24576 bytes) /bin/Fsys.atapi 5A000 for 14000 (81920 bytes) Start 118EC 6E000 for 06000 (24576 bytes) /bin/mount 74000 for 03000 (12288 bytes) Start 01384 77000 for 01000 ( 4096 bytes) 78000 for 01000 ( 4096 bytes) /bin/sinit 79000 for 05000 (20480 bytes) Start 0219C 7E000 for 01000 ( 4096 bytes) 7F000 for 01000 ( 4096 bytes) TOTAL OS SIZE = 409600 code + 110592 data = 520192 bytes # # cp -V ../images/install.atapi.247 /hd-boot/.boot cp: Copying ../images/install.atapi.247 to /hd-boot/.boot 100.00% (508/508 kbytes, 50827 kb/s) # # sync # sync # # shutdown