Back to: Native Oberon Hardware Compatiblity List

Partitioning considerations

Summary

ETH Oberon is best hosted in a dedicated partition, but if one feels it too risky to partition a hard disk, on a working system hosting other operating systems, the alternative is to place Oberon in a large file in another file system such as FatFS or, if Linux is installed, in a LinuxFS. In any case, the implementation chosen will considerably influence how ETH Oberon is started. A whole palette of ways to start ETH Oberon is documented in Bootstrapping an OS on an x86-based PC, with application to ETH Oberon and further documents linked to it. Many of the themes tackled below are known and dealt with extensively in the context of the many other operating systems. Only the essential part is reminded here in a compact form. The hardware prerequisites are so minimal and so easily met and Oberon has such a small footprint that almost any machine can host it. Oberon fits admirably in an embedded system, such as is encountered in process control for the industry.

Oberon on CD-ROM

Neither partitioning nor installation are needed for running Oberon from the ETH Oberon CD_ROM. The CD edited by vis - Version 11 Nov 2001 - is bootable provided booting from CD-ROM is among the boot sequence options of the system setup on your machine. Oberon is immediately ready for use with its TUI. A RAM disk is available for saving data temporarily (approximately 50% of free RAM is allocated). The fact that the screen operates currently only in VGA mode is bigger handicap. Even so, this system is only apparently of limited capability, as:

Oberon in a file

No partitioning is needed for:

Oberon in a partition

Installing Oberon in a partition requires: File system prefixes are used in place of the conventional drive letters "C", "D", etc. Knowingly, for other operating systems, the letter assignment differs from one OS to another and follows a rather complex pattern of rules for searching primary, secondary, visible/hidden partitions. Oberon sees all the partitions (cfr. Partitions.Show ) and partitions must be mounted to access them.

Partition size considerations

A complete installed system, as built from the downloable material, fits in a 60MB partition, leaving approximately 50% of free space. It is advised to keep the original files separated from user files which should at best be stored in an other partition created specially. How that is done and how the partition is accessed are explained in Multiple Oberon partitions on a machine.

ETH Oberon features file garbage collection (GC) on three levels, returning to the pool of free blocks the blocks of deleted files:

Bluebottle features a similar file garbage collection but on-the-fly GC is not implemented.

File GC, when it takes place, has the side-effect that system start-up last noticeably longer than is usual. If the amount of free disk space is chronically too small, GC could take place at every start-up depending on the value assigned to "DiskGC". When no free space is left, a "Volume full" situation will bring the system to a grinding halt - cfr. ETH Oberon system stability. To recover, restart the system, delete unnecessary files and observe the amount of free space by executing System.Watch . If it happened during a system update , proceed with the installation piece by piece, downloading zip archives one at a time, extracting the files and deleting the archive immediately thereafter.

Bad block problem

The procedure responsible for formatting a file system, such as AosFS, does not handle bad blocks currently. The only workaround is to define a small partition that includes the conspicuous block(s). This partition will not be used.

Proposed homework for a volunteer: What needs to be done is to ensure that the bad blocks are ignored by the file system:

  1. detect bad blocks in Partitions.Format
  2. create a file that contains all these bad blocks. This part is file system specific.
If someone wants to attempt this, it is suggested to take the relevant Format code from Partitions.Mod and to rewrite it in a new module.

How to start Oberon

In practice, the manner in which Oberon is started is determined at installation time, and more precisely, in the last installation step using an Oberon-0 system. Note that, as the options are not exclusive, several may be chosen. Options not considered at installation time, may be still be implemented later on, without the need of repeating the installation or part of it. System administration tasks not involving Oberon are, in most cases, required to complete the chain of actions enabling a system start.

How to start another operating system

In case your machine is set up to startup directly into Oberon (the partition is marked as "active"), do this to start another operating system:

Technical: Boot manager not supporting chaining

If you boot loader does not support "chaining" to boot a partition from the second drive, you can try to "patch" the boot sector of the Oberon partition. The byte at offset 24H in the boot sector should be set to 81H instead of 80H, to boot from the second hard disk. To make sure you are modifying the correct sector, check that the string "OBERON" appears at offset 3 in the sector. The patch can be applied:

[Top]

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