Back to: Native Oberon Hardware Compatiblity List

BIOS support

Summary

How to set up the BIOS on a machine

If the BIOS setup offers a "Plug-and-Play OS Installed" setting, set it "No", to let the BIOS configure the PCI bus slots. If a USB controller is present, enable it and arrange to execute UsbSystem.Start in Oberon to start the USB driver (check the InitCommands section in Oberon.Text). Disable it if no USB device will be attached, but in that case do not start the USB driver. Later on, during the installation of Oberon and after, detailed information on the PCI and AGP slots equipment can be obtained by executing PCITools.Scan .

8.4GB hard disk capacity barrier for Oberon

Modern hard disks offer an impressive amount of space, but the 8.4GB capacity barrier (see Limit 4 below) means that not all of the drive will be accessible. This limit forces one to install a bootable Oberon partition (primary or logical) in such a way that the first 1MB lies within the first 8.4GB of a disk. The partition itself may extend well beyond this limit, as the maximum partition size is 282GB. The same is true when an Oberon partition is started by means of a boot manager.

No such limit is imposed on an Oberon partition which will be started with a boot diskette or from DOS with noboot.exe. In that case, the partition may be located anywhere on a large disk. One may also consider starting such a partition with the assistance of a very small primary, bootable Oberon partition located below the 8.4GB limit or a diskette as just mentioned. The BootVol= value in the config data (Partitions.SetConfig) in the partition must then point to the effective Oberon partition which is mounted in cascade.

Hard disk capacity barriers in general

The combination of BIOS and IDE/ATA hard disk restrictions result in hard disk size barriers known since the 90s. Disk size barriers have dogged the ATA interface since its inception and they are still of importance to those willing to install Native Oberon on older machines. SCSI disks are not generally subject to such limitations. As time passed, the capacity limit has increased.
Limit Capacity   Comment 
        up to 
   1     504MB   BIOS dated prior to July 1994 
   2     2.0GB   DOS file system partition limit - BIOS dated after July 1994 
   3     4.2GB   CMOS extended CHS addressing limit (not widely experienced) 
   4     8.4GB   BIOS INT 13H 24-bit addressing limit - OBL limit 
   5    32.0GB   BIOS limit
Limit 1: BIOS dated prior to July 1994, access a hard disk in CHS mode with limits of 1'024 cylinders, 16 heads, 63 sectors or 504MB of disk capacity. To go beyond this boundary, the BIOS INT 13H routines introduce a different way to address sectors: the Logical Block Addressing (LBA) feature needed for proper translation of sector address. Most manufacturers' BIOS did not provide the Logical Block Address (LBA) feature, while some BIOS had LBA mode in the setup, but the feature did not work properly.

Limit 2: The introduction of the LBA looked like a panacea, but it failed on several counts. Some BIOS manufacturers limited the LBA cylinder addressing to 4'096 cylinders in order to save address space. When the cylinder limitation threshold is reached, the system hangs during initial loading, either from floppy disk or hard drive.

Limit 3: For a similar reason, the LBA addressing is limited to 8'192 cylinders. When the cylinder limitation threshold is reached, the system hangs during initial loading, either from floppy disk or hard drive. For example cfr. Issues With Hard Drives Over 4GB.

Limit 4: This barrier is due to the INT 13H handling in BIOS. In the 24-bit address scheme, 10 bits are allocated for the cylinder number, 8 bits for the head number and 6 bits for the sector number, i.e. 1'024*256*63 sectors = 8.4GB. To go beyond this boundary, a new extended INT 13H function is needed from the BIOS. The Oberon boot loader (OBL) uses the BIOS to load the inner core of the system and does not support the extended BIOS calls needed to access the disk beyond 8.4GB. If an Oberon is already installed, you can inspect the disk(s) partitioning with Partitions.Show detail ~ . The second column shows the sector number of the start of the partition, and it should be less than 16'514'048 = 1024 x 256 x 63 (cyls x hds x sectors).

To break this barrier, the Oberon boot loader needs to be adapted to support the extended INT 13H. Does any one volunteer to contribute to this?

Limit 5: Some PCs cannot access more than 32GB due to a bug in the new implementation, although fixes are available - mainly Award BIOS chips dated 1998/99. The majority, though, are capable of supporting drives up to 137GB.

The future beyond: The 137GB limit is now itself looking rather restrictive. The next version of the E-IDE protocol (ATA-6), currently being reviewed by the ANSI committee, allows for 48 bits of address space giving a maximum addressable limit of 144PB (Petabytes).

Read Andries Brouwer's Large Disk HOWTO to learn more about the technicalities (from a Linux perspective) and Wim's BIOS pages to learn more about BIOS.

How to collect information about the installed disks

The primary source of information on the installed disks is Partitions.Show detail ~. But even more details are obtained by executing System.OpenKernelLog which shows information written by the driver as it starts up. There, you will find if LBA or DMA is used.

[Top]

11 Apr 2003 - Copyright © 2003 ETH Zürich. All rights reserved.
E-Mail: oberon-web at inf.ethz.ch
Homepage: http://www.ethoberon.ethz.ch/