This document was originally hosted at the ETHZ. It remains in the WayBack archive under the ETH license.

Disk support

Summary

ETH Native Oberon supports mass storage devices attached to controllers of the types ATA/EIDE, Adaptec SCSI, NCR SCSI and USB, in a number conditioned by the machine hardware and the controller characteristics. A suitable driver must be installed first, as explained below. The attached devices may be hard disks or disk drives with removable media, such as CD-ROM, iomega ZIP (100 or 250MB) and Jaz disk drives. Use the System Setup program of your machine to configure the disk drives. Native Oberon can reside in a primary partition or in a logical drive of any EIDE disk attached to the first or the second controller as master or slave disk. Limitations are described in BIOS support.

Slim is in: Slimline 2.5in. drives fitted into the vast majority of notebooks can also be considered for installation on a conventional PC, as they use the same ATA/EIDE interface but have a 44-pin interface connector IDC44. A cheap adapter connector is enough for matching it with the 40-pin flat cable connector.

Any number of RAM disks can be defined for storing temporary data which is purged when Oberon is terminated.

Apart from conventional disks, Oberon can be installed on other miniaturized next-generation mass storage devices, eminently suitable for use in embedded systems:

  • CompactFlash. The ATADisks.Mod has been adapted in accordance to the "CF+ and CompactFlash Specification Version 1.4" of the CompactFlash Association.
  • Disk On Module - DOM, also called DOF or "flash disk"/"flash drive", currently featuring a capacity of 4MB to approx. 1.2GB, in a form factor of 3.5in. and 2.5in. They too have an ATA/EIDE interface using a 44-pin IDC44 interface connector. The specifications of some of the manufacturers assert "100% IDE compatible", hence there a good chance that a DOM can host Oberon as-is. Oberon could fit in 8 MB. DOMs are rather expensive and are about 300% faster than DOC (not supported - see below). Examples:

Not supported

  • CD-ROM with SCSI interface. Currently, only ATAPI CD-ROMs are supported and only the audio commands. We hope that someone will write drivers for different CD-ROMs. Some work has already been done in this direction.
  • recordable CD drive.
  • ZIP drive with a parallel interface.
  • Disk On Chip - DOC needs a driver, something equivalent to what is done in TrueFFS (True Flash File System) technology. Writing a driver should not be too difficult due to the presence of the generic Oberon File System (OFS) component. (Re-)Writing the Oberon Boot Loader (OBL) to support this HW is somewhat trickier. Currently, DOCs feature a capacity of 2 to approx. 288MB.
How to install a disk driver during the installation

The installation is initiated by booting the machine from an Oberon-0 boot diskette. Little later, Oberon-0, a small ramdisk-based system, takes control of the machine and presents the Install.Tool on the display. The user is prompted to install a suitable driver by executing a single one of the following commands:

  • Config.Disk Standard ATA/EIDE
    The ATA/EIDE driver supports up to four disks on standard address values:
    • primary controller - master + slave disk
      IRQ 14H, control port = 1F0H, register port = 3F6H
    • secondary controller - master + slave disk
      IRQ 15H, control port = 170H, register port = 376H
  • Config.Disk Adaptec AIC7xxx SCSI
  • Config.Disk NCR 810 SCSI
  • Config.Disk Standard USB

From now on, the installion of a complete disk-based system can proceed. Launch a Partitions.Show command to let the system display information on the disk drives recognized. The driver's identification is recorded in a configuration file which will be used each time the system is started.

How to install a disk driver in a running Oberon system

An additional driver is dynamically loaded (no reboot required) by executing the command corresponding to the hardware to control:

  • for an ATA/EIDE controller, execute ATADisks.Install (takes about 5 sec)
  • for an Adaptec 7xxx SCSI controller, execute Adaptec7.Install (takes about 15 sec)
  • for an NCR 810 SCSI controller, execute NCR810Disks.Install (takes about 15 sec)
  • for an Usb controller, execute UsbStorage.Install (takes about ?? sec)
Disk partitioning

Partitioning considerations explains the purpose of dedicating a partition to ETH Oberon on any of the installed hard disk(s) and how it can even be avoided altogether. In addition, ways to start an ETH Oberon are presented in Bootstrapping an OS on an x86-based PC, with application to ETH Oberon and further documents linked to it.

If disk partitioning is deemed necessary, it is performed using:

Further activities, such as formatting a partition (i.e. creating an empty file system), are dealt with in File system concept.

Technical 1: Disk driver and file system config strings

The config string IDE=irq, control port, register port must be specified if:

  • the disk controller is not located at the standard address or
  • if the disk hosting Oberon is attached to the secondary controller.

More config strings in Configuration strings.

Technical 2: Disks and controllers characteristics incl. jumper settings and utilities

Consult: pc-disk. [expired]

For developers: How to write a disk driver

If all attempts to use one of offered drivers fail, you could volunteer to write a suitable one, using the Guidelines for writing a disk driver.

The FatFS driver (FAT16 / FAT32) was written using Microsoft documentation.

[Top]

22 Jul 2002 - Copyright © 2002 ETH Zürich. All rights reserved.
E-Mail: oberon-web at inf.ethz.ch
Homepage: www.ethoberon.ethz.ch [expired]