Oberon/ETH Oberon/install

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

Native Oberon Installation: Concepts and Procedures

July 1999 - Revised 2000/01/19 (+ PPP), 1999/10/27 /9/22 /8/31 /8/26 /8/19

Introduction
Discussion of the various installation possibilities
Conclusion
Hardware requirements
Preparation of the installation
Quick install procedure
Stand-alone Native Oberon
Activity 1 - Download the release files
Activity 2 - Create an installation diskette
1. Creating a diskette under DOS
2. Creating a diskette under Unix
Activity 3 - Partition the disk and install a boot manager
Activity 4 - Possibly, create a large file in a FAT16 partition
Activity 5 - Run the installation process
Activity 6 - Organize the access to Oberon for starting it
Installation variant without disk partitioning
Linux-based Native Oberon
Activity 1 - Download the release file
Activity 2 - Install the archive
Activity 3 - Uncompress the archive
Activity 4 - Run the installation process
Activity 5 - Start Oberon
Differences from PC Native Oberon
Known bug
Accessing another Native Oberon system in its own partition
Accessing another Native Oberon system in a file
Starting Oberon from the desktop or a window manager
Summary
Appendices
Appendix A: Sample multiple system configuration
Appendix B: Example files
NATIVEP.PAR, BOOT.INI, CONFIG.SYS, AUTOEXEC.BAT, NATIVEP.BAT
Appendix C: How to determine which Oberon is active
Appendix D: How to change the configuration
D1: To use a different partition type
D2: To handle non-standard disk configurations
D3: To remap the mouse buttons
D4: To configure the display controller
D5: To define Neutralize / ESC
D6: To convert the Syntax fonts during import
Appendix E: How to change the size of the file containing Oberon
Appendix F: How to start another operating system
Appendix G: How to start Oberon with noboot.exe
Appendix H: How to change the display refresh rate
Appendix I: How to exchange files between Oberon and other OSs
Appendix J: How to transfer (big) files between Linux and Oberon
Appendix K: How to inspect the installed hardware components
Appendix L: An improved LILO boot menu
Appendix M: Oberon Partition commands
Troubleshooting
Symptom 1 - Oberon-0 does not boot / Low-level tracing
Symptom 2 - Black screen when booting Oberon
Symptom 3 - Black screen and beeping machine
Symptom 4 - Grey screen when booting Oberon
Symptom 5 - NetSystem configuration problems
Customization of the installed Oberon system
Optionally installable packages
Installation of packages
Connectivity
Direct LAN connection
Connection using an analog modem - PPP
ISDN
Connection using an ISDN Terminal Adapter (TA)
Connection using an ISDN router
Connection flexibility
Mail and News relevant specifications in Oberon.Text
Accessing other OSs with Oberon VNC
Serial connect
Links
Legal information
Contact address
Hardware Configuration Worksheet
Introduction

Native Oberon is a self-contained operating system for Intel-compatible personal computers. It can co-exist with other operating systems, including Native Oberon itself, on a computer system. It may even be installed on a computer in different versions and implementations.

Nowadays, it is not unusual to run a computer that multiboots to Windows NT, Windows 95/98, MS-DOS, Linux, QNX or you-name-it. Hence, the number of combinations is rapidly exploding and the installation, partitioning and booting-related software tools offered in commercial packages or as shareware are quite numerous. This text aims at providing the minimal information required to successfully install Native Oberon in almost any environment. For the sake of simplicity and clarity, exceptional situations are dealt with at the end of the text. In the rest of this text, "Oberon" is used as a shorthand for "Native Oberon", except in a few meaningful cases. We recommend printing this text for reference during the installation.

The software tools required to complete the installation of yet another operating system fall in the following categories:

  • a utility for listing the disk volumes and their partitioning information
  • a hard disk partitioning tool, possibly that of the resident operating system or a third-party software product like PartitionMagic or the freely available FIPS
  • a boot manager, possibly that of the resident operating system or a third-party software product like PartitionMagic
  • finally, the Oberon installation files included in the distribution

The first three categories in the list are by no means specific to Oberon, but would play a role in the installation of any other operating system. Incidentally, they are the more demanding in terms of strategic decisions to take and in terms of guaranteeing system integrity and stability.

To perform some of the installation tasks, users can decide to use the tools they are already familiar with or to use some of the minimal, but not necessarily sufficient, tools that come with Oberon. For instance, the Oberon partition tool can only create primary partitions, not logical drives.

Native Oberon can be installed jointly with MS-DOS, with all varieties of Windows and Linux with X11 and, it can be installed at any time relatively to the other operating systems with few prerequisites. On the contrary, the order in which the other operating systems are installed is frequently a critical factor to take into account. It has been tested successfully with all these operating systems and with the (SuSE and Redhat Linux) LILO, the PartitionMagic, the OS/2 and the Windows NT boot managers. Read the documentation supplied with those products for installation information. An example is given in Appendix A.

The following table summarizes the different installation possibilities among which to choose:

Table: Native Oberon installation possibilities
---------- Native Oberon installed in ------------
Boot process A
own primary
partition
B
own drive
C
file in FAT16
D
file of the
Linux system
1. Boot Manager yes yes yes, via DOS yes, via Linux
2. Direct boot yes yes yes, via DOS yes, via Linux
3. Diskette boot yes yes yes no
4. Via DOS / noboot yes yes yes no
5. LILO boot manager yes yes no yes, via Linux
6. Command in Linux/X11 yes yes yes yes
(Linux-based Native)

The table shows how well Oberon can live in symbiosis in an environment that sometimes can be complex. The installation and the use of Oberon nevertheless remains simple, quick and easy in comparison to what is demanded by other operating systems.

To facilitate the installation, two sets of installation files are offered:

  • Stand-alone Native Oberon
  • Linux-based Native Oberon
Discussion of the various installation possibilities

A1 is best when a boot manager is used.
A2 is recommended when Oberon is the only operating system. If A2 is co-residing with another operating system, refer to Appendix F to learn how to start that other system.
A3 is the easiest, but this alternative to A2 boots a few seconds slower.
B1 and B3 are alternatives to the As, which can be used if no primary partition is available.
For A4, B4, C4 and C1, DOS is used for launching Oberon. Its installation is described later under "Installing without disk partitioning". In these cases, Oberon is started by executing noboot.exe (Native Oberon boot program) in DOS mode.
A5 and B5 are used when Native Oberon co-resides with Linux and LILO is customized to boot it.
A6, B6, C6 and D6 each represent a loose integration of Native Oberon in the Linux X11 environment. These alternatives are not truly "native", because some of Oberon's low-level modules are replaced with versions interfacing to the Linux operating system. In other words, it is an emulation of Native Oberon running on top of Linux.

Conclusion

To get rid of all the complexities of an underlying operating system, install Native Oberon in a dedicated partition. At the limit, install it on a dedicated machine. The hardware prerequisites are so minimal and so easily met, and in addition Oberon is so tiny that almost any machine can host it. Native Oberon fits admirably in an embedded system, such as is encountered in process control for the industry.

  • To try Oberon out without disturbing the existing DOS or Windows operating system, install Native Oberon in a FAT16 file.
  • Otherwise, use the table to guide you in the choice of the implementation that fits your requirements at best.
Hardware requirements

The minimum hardware requirements for the Stand-alone Native Oberon are:

Processor: Intel x86, Pentium and Celeron, or compatible (AMD, Cyrix, IBM)
Bus: ISA, EISA or PCI
Memory: 4 MB - recommended: 8 MB and up
Disk space: 3 MB - recommended: 30 MB plus space for private files
Disk controller: IDE, EIDE, or SCSI Adaptec 1520, Adaptec AIC 7xxx or NCR 810
Display controller: VGA (SVGA recommended)
Diskette: Drive supporting 720 KB/1.44 MB media
Mouse: PS/2 or serial mouse (a 3-button mouse is recommended)
Keyboard: US, UK, Swiss German, Belgian, Canadian, French, German, Norwegian, Polish, Turkish, Dvorak

The following optional hardware are supported:
Sound: Soundblaster or compatible - Not implemented in Linux-based Native Oberon
Audio CD: Atapi or Mitsumi
Network controller: 3Com Etherlink III for ISA/EISA (3C509 or 3C509B) or 3Com FastEtherLink (3C905B). Not implemented in Linux-based Native Oberon.
Dialup: Standard serial modem (not WinModem) with SLIP or PPP internet service provider

Preparation of the installation

Collect information on your own hardware. Appendix K explains how this can be done with existing software and a Hardware Configuration Worksheet is appended at the end of this text to systematize the task.

Note the keyboard type, the mouse type and the disk controller characteristics. Verify that the IDE resource properties are: IRQ 14, I/O base 1F0H and 3F6H or alternatively, those of the AHA1520 SCSI driver are: IRQ 11, I/O base 340H, host ID 7. If your hard disk controller is not located at one of those standard addresses, you will have the possibility to configure the hard disk driver at the OBL> prompt in Activity 5.

Note the brand and the type of the graphic card and the display resolutions available. As a fallback, the Standard VGA driver can always be used. If your graphic card supports the VESA BIOS (VBE) Standard 2.0 [VESA], you may plan to favour that.

Note the exact 3Com adapter type.

Consult the breaking news appearing in http://www.ethoberon.ethz.ch/faq#Install [expired].

Quick install procedure

If you already have some Oberon experience, the following instructions will help you to install Stand-alone Native Oberon in a matter of minutes.

  1. Prepare an Oberon-0 boot diskette with the distribution material obtained by ftp: place a formatted 1.44 MB diskette in a diskette drive, then, execute the DOS command rawrite.exe and enter oberon0.dsk when prompted for a source file name. Enter 'a' or 'b' when prompted for a destination drive.
  2. Load the Oberon-0 diskette in drive A: and boot your system.
  3. Reply 'c' to the OBL> prompt.
  4. Wait for approximately 30 seconds for Oberon-0 to boot, then interactively select a mouse driver for your mouse.
  5. Follow the instructions in Install.Tool. Only the first page is relevant when installing the system the first time.
  1. Execute one of the Config.Disk commands to install the appropriate disk driver.
  2. Open the InstallFiles.Tool and install the Oberon system files on your hard disk.
  3. Open the Configuration.Tool, select the appropriate display driver (Config.Display) and keyboard driver (Config.Keyboard) and, if required, modify the other customization options. Then write the configuration using at least one of the options presented.
  4. Reboot your system and proceed to the customization of the installed system.
Stand-alone Native Oberon

The installation is a succession of, at most, six activities:

  1. Download the release files by ftp or get the CD-ROM handy.
  2. Create an installation diskette.
  3. Re-organize the disk partitioning, i.e. allocate a partition to Oberon, and optionally, install a boot manager.
  4. Possibly, create a large file in a FAT16 partition.
  5. Run the Oberon-0 installation process.
  6. Organize the access to Oberon for starting it.
Activity 1 - Download the release files (Time: 10 min. at 28,800 bps)

The minimal list of files (1.25 MB in all) to download from

ftp://ftp.ethoberon.ethz.ch/Oberon/System3/Native/StdAlone/ [expired] includes:

- install.txt this text or its equivalent install.ps
- oberon0.dsk, the installation diskette image file
- rawrite.exe (not always required, since alternatives may exist - see below) [RAW]
- extend.exe (only if Oberon will be installed in a file)

We suggest that you download these files under control of your prefered operating system and that you save them in a directory of your choice. Note that the diskette image file, filled to the brim, exceeds the capacity of a high capacity diskette. Make sure that your FTP client is set to "Binary" mode for receiving the last three files.

Activity 2 - Create an installation diskette (Time: 2 min.)

The objective is to create a bootable diskette for Oberon-0, from the installation diskette image file oberon0.dsk, under control of your prefered operating system. Later on (Activity 5), booting your computer from this diskette will establish a small ramdisk-based Oberon system capable of installing, updating and configuring the basic Oberon system on your computer. Such a diskette can be created using various operating systems. They will all produce an identical diskette, but none of them can read it, because of its proprietory file system. Hence, label the diskette explicitely as "Native Oberon install diskette - Release x.y". The entire diskette will be overwritten. Assuming that you have placed a formatted 1.44 MB diskette in a floppy drive, destination of the output file, select the procedure appropriate to your operating system:

  1. DOS, Windows, OS/2
    Run the DOS-based program rawrite.exe and enter the name of the diskette image file (oberon0.dsk by default) when prompted for it. When asked for a destination, enter the floppy drive's letter ("a" or "b"). The diskette is written and verified.
  2. OS/2 - Execute the command: "loaddskf oberon0.dsk a:" or rawrite as above
  3. Linux, Unix - Execute the command: "dd bs=512 if=oberon0.dsk of=/dev/fd0" assuming that /dev/fd0 is the diskette drive
  4. BeOS - Execute the command: "dd bs=512 if=oberon0.dsk of=/dev/disk/floppy/raw"

Technical detail: The Native Oberon system that you are about to install, features a module FDInstall which exports the following commands for processing diskette image files.

FDInstall.DisketteToFile file ~

Creates a diskette image file of the diskette inserted in drive "a".

FDInstall.FileToDiskette file ~

Creates a diskette using the specified diskette image file.
Activity 3 - Partition the disk and install a boot manager (No time)

This activity may be skipped if disk partitioning is either suitable as-is or re-partitioning is not desirable at this time. In the latter case, one can decide to install Oberon in a FAT16 file.

What matters here, is to collect information on the current disk partitioning allowing to decide where Oberon should be installed (choose among the A, B or C cases in the table) and to set-up a plan for a new organization. As you can see, Oberon may be installed in a primary partition or in a logical drive. In any case, the partition must be contained in the first 1,024 cylinders of your hard disk. This limitation might be removed in later release. Partitioning may also be avoided by installing Oberon in a file. In that case proceed to Activity 4.

The new partitioning will greatly depend on the already resident operating system(s) and to some extent on how Oberon will be started (choose among the boot processes in the table). The partitioning operation may be performed with the built-in Oberon commands (see Appendix M), as will be done in Activity 5.6, or with classical utilities such as FDISK or BootPart, for example. The installation of a boot manager, to be selected among a large offering, is to be seriously considered, if not already installed. The Windows NT boot manager or Linux LILO, for instance, may already be on hand without further ado.

For instance, with Windows NT, one can install the freely available BootPart [BP] utility and follow the tips and suggestions supplied with it.

PartitionMagic from PowerQuest [PQ], which includes BootMagic, is also highly recommendable. With that tool, one can easily shrink an existing partition to obtain free space for creating a new partition, subjected to the limits imposed on the total number of partitions. Similar tools are also available from QuarterDeck, from Windows NT's Disk Administrator, etc.

Activity 4 - Possibly, create a large file in a FAT16 partition (Time: 1 min.)

If you intend to install Oberon in a file, prepare to add a large file in a special sub-directory, then excute the DOS command extend.exe <path\filename> (e.g. native.dsk). Then interactively, specify the file size in KB. Allocate sufficient space, that is, a minimum of 3,000 KB for the basic system or 14,000 KB for the full system including Gadgets, documentation and applications. The same extend.exe program can be used again at any time to enlarge the file size (see Appendix E). Further files will be placed in the same sub-directory in the next installation activity.

Activity 5 - Run the installation process (Time: 5-7 min.)
1. Boot the installation diskette
After a few seconds, a screen of text will appear:
      OBERON System 3 v2.3.7
      Welcome to the Native Oberon installer
      To continue booting, enter 'c'. The screen will go blank, and after
      about a minute, the mouse configuration program will appear.
      See install.txt for more information.
      Current settings:
       Init=b81200cd10bb003fb80110cd10
       DiskCache=800,p
       OBL>
The last line prompts the user for submitting new configuration specifications replacing the current settings adopted by default by the Oberon Boot Loader (OBL). In general, no such specifications are needed but the two settings listed must be left unchanged, since they refer to Oberon-0 only. As said, enter 'c' or if the settings are not suitable, configuration strings can be entered at the OBL prompt. There is no need to provide more information on this matter here. Exceptionally, you might have to use a different partition identifier (Appendix D1) or to configure a disk driver (Appendix D2). The technical section of the Native Oberon web site documents provides all the details on the configuration options.
Reference: h ttp:ss aaa.ethoberon.ethz.ch/native/Tech.html#defs
Warning: A configuration string must be typed exactly as documented: the case matters!
2. Interactively select a mouse driver
A suitable mouse driver may be selected by exploring a ring of mouse drivers. When the mouse is operational, enter a 'c' to continue with booting. The System.Log will appear in the system track together with the Install.Tool. The latter contains the instructions for the subsequent installation steps. Oberon-0 is now active. If you have never used Oberon before, you will have to get used to its novel user interface. A small tutorial is included in the Oberon-0 system. To open the tutorial text, move the mouse cursor to the first blue-colored Edit.Open command in the Install.Tool text, and press the middle mouse button on a three-button mouse. If you only have a two-button mouse, the keyboard Ctrl key is used instead of the middle mouse button. Oberon uses all combinations of the three mouse buttons heavily, so a three-button mouse is highly recommended.
3. Middle click on Edit.Open Introduction.Text
Read the Welcome to Oberon-0 text, which introduces the concepts of the Oberon user interface necessary to continue the installation process.
4. Select a disk driver by executing one of the Config.Disk commands listed
When an IDE disk is installed, the standard ATA/EIDE driver is the preferred choice since it supports up to 4 attached disks, and also modern large disks. The standard IDE driver is recommended for older disks, e.g. < 100 MB.
5. Open the InstallFiles.Tool and follow the instructions. You may install Oberon in a partition (options 1, 2 or 3) or to a file:
1. Create a new Oberon partition
2. Update an existing Oberon partition
3. Overwrite a partition or logical drive
4. Install to a file on a FAT16 partition. The file must already exist! (Activity 4).
Oberon may be installed only in a DOS FAT16 partition (primary or logical). It can not be installed in a DOS FAT32 partition or a compressed partition.
Close the InstallFiles.Tool and return to the Install.Tool.
6. Open the Configuration.Tool and follow the instructions for specifying the device drivers and the configuration options (Part 1) and for storing the configuration and for making Oberon bootable (Part 2).
A. Oberon installed in a primary partition, select among the 4 options offered in Configuration.Tool (several options may be selected):
1. Boot Oberon via third-party boot manager - A1 and B1
execute the command Config.BootPartition menu ~
The system action depends on the boot manager installed. When the Windows NT boot manager is used, nothing happens. Instead, we recommend to use BootPart to add Oberon to the boot menu.
2. Boot Oberon directly - A2
execute the command Config.BootPartition direct ~. The partition will be marked as bootable and the computer will boot Oberon directly.
3. Boot Oberon via diskette - A3, B3 and C3
Insert a formatted* 1.44 MB diskette in the boot drive and execute the command Config.BootDiskette. An Oberon boot diskette is created. Label the diskette explicitly! It can not be read by DOS afterwards. Appendix C explains how to recover from a possible omission.
(*) If the diskette is not already formatted, execute the command Backup.Format\H first.
4. Boot Oberon via DOS or MS-DOS mode in Windows - A4, B4, C4 and C1
execute the command DOS.CopyTo "c:/native/" noboot.exe native.bin native.par ~
Adjust the path to fit your installation.
B. Oberon installed in a logical drive, select the option 1 or 3, corresponding to B1 and B3.
C. Oberon installed in a file, the options 3 and 4 above are the only valid ones (C3 and C4).
Close the Configuration.Tool and return to the Install.Tool to execute a System.Reboot command. The rest of the tool text deals with error situation handling. After rebooting, a basic Oberon system is operational.
Activity 6 - Organize the access to Oberon for starting it (No time)

If the boot manager was requested, use the boot manager tool to edit the menu item texts or options such as the timing, if at all needed (A1, B1).

No further action is needed when direct boot was requested (A2).

No further action is needed when a boot diskette is created (A3, B3, C3).

To boot any Oberon installation from DOS (A4, B4, C4), you will have to execute the command noboot native.bin native.par. The three files required for this have already been stored in the user specified directory during the Activity 5, step 6. For that purpose, edit a new file native.bat with a single line text "noboot native.bin oberon.par". A larger example NATIVE\NATIVEP.BAT is also given.

To boot an Oberon installed in a file (C1), you have to construct a DOS/Win configuration menu inspired from the examples given in Appendix B.

You may now proceed to install the optional packages.

LILO boot manager: To configure the Linux LILO boot manager to boot Oberon in its own partition (A5 and B5), boot Linux, log-in as 'root' and run "fdisk -l". Look for an Oberon partition, normally of Id 79 (4f), and determine its Linux Device name, say /dev/hda3. Edit /etc/lilo.conf, adding a section like:

# Oberon in its own partition      other=/dev/hda3      label=Oberon      loader=/boot/chain.b

Execute "lilo" to initialize the boot manager. It will say "Adding Oberon" (among other things). Oberon will appear in the LILO boot manager when the system is booted. More in Appendix L.

Installation variant without disk partitioning

To circumvent the difficulty of partitioning a hard disk, Native Oberon can also be installed in a FAT16 file in an existing operating system environment (column C in the table).

The instructions given above include this possibility already. The interlacing of two implementation descriptions is however confusing for those wishing to concentrate exclusively on the FAT16 file issue. In the following, the relevant activities are only enumerated and the details are obtained from the previous section.

This Oberon system is started under DOS or under Windows in DOS mode, or with a boot diskette and takes over the entire machine (C1, C4 and C3). It is therefore not possible to run it concurrently with other applications. It can also be launched from a Terminal window in Linux (C6).

Activity 1 - Download the release files (Time: 10 min. at 28,800 bps)

Activity 2 - Create an installation diskette (Time: 2 min.)

Activity 3 - N/A

Activity 4 - Create a large file in a FAT16 partition (Time: 1 min.)

Must be done unconditionally in this context.
Note: retain the path and the file name that you have used. They will be used again.

Activity 5 - Run the installation process (Time: 5-7 min.)

1. Boot the installation diskette
2. Interactively select a mouse driver
3. Middle click on Edit.Open Introduction.Text
4. Select a disk driver by executing one of the Config.Disk commands listed
5. Open the InstallFiles.Tool and follow the instructions ... (skip to point 4.)
1.
2.
3.
4. Install to the file created in Activity 4.

Execute the command Config.FAT "c:/native/native.dsk"
Use the path and file name adopted in Activity 4.

6. Open the Configuration.Tool and follow the instructions ...
A. (ignore the reference to "partition" and skip to point 3. which is OPTIONAL)
1.
2.
3. Boot Oberon via diskette - C3
Insert a formatted* 1.44 MB diskette in the boot drive and execute the command Config.BootDiskette. An Oberon boot diskette is created. Label the diskette explicitly! It can not be read by DOS afterwards. Appendix C explains how to recover from a possible omission.
(*) If the diskette is not already formatted, execute the command Backup.Format\H first.
Execute the command Config.Generate Native.Par ~
Execute the command DOS.CopyTo "c:/native/" noboot.exe native.bin Native.Par ~
Use the path adopted in Activity 4.

Activity 6 - Organize the access to Oberon for starting it (No time)

To start Oberon from DOS (C4 and C1), you have to execute the command noboot native.bin native.par. The three files required for this have already been stored in the user specified directory during the Activity 5, step 6.C. To round this up and make it more comfortable, edit a new file native.bat with a single line text "noboot native.bin native.par". A larger example NATIVE\NATIVEP.BAT is also given. You may now proceed to install the optional packages.

Linux-based Native Oberon

Linux-based Native Oberon is an emulation of Native Oberon for Linux. The goal is not a tight integration in the Linux environment but binary compatibility with Native Oberon. This implementation does not change the module interfaces. All Linux-specific driver modules are statically linked in oberon.lno. You will need:

- Linux with X11
- 10 MB disk space for the basic system
- or 40 MB disk space if all the application packages must be installed
- or a running Native Oberon in its own partitition or in a file
Activity 1 - Download the release file (Time: 10 min. at 28,800 bps)
Download the archive
ftp://ftp.ethoberon.ethz.ch/Oberon/System3/Native/LinuxBased/lno236.tgz [expired]

to a formatted 1.44 MB diskette (the file name will vary with the release).

Activity 2 - Install the archive (Time: 2 min.)
In Linux, make a new directory, make it the current directory and copy the archive to it by executing these commands in succession:
      mkdir native
      cd native
      mcopy a:lno236.tgz
      lno236.tgz

The third line is based on the assumption that the archive is copied from a diskette (the file name will vary with the release).

Activity 3 - Uncompress the archive (Time: 1 min.)

Uncompress the archive with tar xzf lno232a.tgz. It will expand to: operating systems. To see pages specific to a variant, click on the hyperlink in the identifier (3rd) column. Order of rows is approximately chronological.

File Description
oberon0.dsk the Oberon installation file
oberon the command for libc6
oberon.libc5 the command for libc5
oberon.c the boot loader source code
oberon.cnf the configuration file
oberon.lno the Oberon inner core & the LNO drivers statically linked
oberon.xpm an icon for Oberon
readme.lno this readme text file
Activity 4 - Run the installation process (Time: 5 min.)

Execute ./oberon -d oberon0.dsk in the X11 environment. If in doubt or if something goes wrong, get the help information on this command by executing ./oberon -help. The options are:

      -d diskfile        default is oberon.dsk
      -h heapsize in MB  default is 12 MB
      -c corefile        default is oberon.lno

If you have never used Oberon before, you will have to get used to its novel user interface. A small tutorial is included in the system. To open the tutorial text, move the mouse cursor to the first blue-colored Edit.Open command in the System.Tool text, and press the middle mouse button on a three-button mouse. If you only have a two-button mouse, the keyboard Ctrl key is used instead of the middle mouse button. Oberon uses all combinations of the three mouse buttons heavily, so a three-button mouse is highly recommended. Follow the instructions appearing in the system track, and quit Oberon.

Activity 5 - Start Oberon

To start Oberon proper, execute the command ./oberon -d diskfile (leave out the parameters if the default name oberon.dsk is suitable). If something goes wrong, examine the information collected in oberon.log located in the current directory.

You may now proceed to install the optional packages. These must be obtained from the Stand-alone implementation.

Differences from PC Native Oberon
  • A hard break is produced with Ctrl-c from the terminal window
  • Quit is Ctrl-z from the terminal window
  • System.Reboot is the same as System.Quit
  • Special tool Linux.Tool (documents a few installation commands)
  • Sound and Linux NetSystem are not implemented, however Oberon NetSystem is implemented and SLIP and PPP are supported (using a serial port and a modem)
Known bug

Oberon terminates when the stack overflows (e.g. unbounded recursion).

Accessing another Native Oberon system in its own partition

From Linux you can also start another Native Oberon in its own partition. To this effect, conduct the installation (Activities 1 to 3) and in Linux, make a symbolic link to that partition with (trim the example to fit your installation):

      ln -s /dev/hda3 oberonp.dsk

where /dev/hda3 is your Oberon partition. Use the fdisk of Linux to determine it. oberonp.dsk is a symbolic link name to assign to the partition. Make sure it does not conflict with the already existing oberon.dsk name. Then, execute ./oberon -d oberon0.dsk in the X11 environment. Execute the two last Oberon commands in the System.Tool viewer (trim the file name parameter in LNOInstall.ExpandDisk to fit your installation). Then, quit Oberon and start it for good as explained in Activity 5.

Accessing another Native Oberon system in a file

From Linux you can also start another Native Oberon in a file (in a FAT16 partition). To this effect, conduct the installation (Activities 1 to 3) and in Linux, make a symbolic link to that file with (trim the example to fit your installation):

      ln -s /dos/system3/native.dsk oberonf.dsk

oberonf.dsk is a symbolic link name to assign to the file. Make sure it does not conflict with the already existing oberon.dsk name. Then, execute ./oberon -d oberon0.dsk in the X11 environment. Execute the two last Oberon commands in the System.Tool viewer (trim the file name parameter in LNOInstall.ExpandDisk to fit your installation). Then, quit Oberon and start it for good as explained in Activity 5.

Starting Oberon from the desktop or a window manager

To include oberon in the menu of your desktop or window manager, edit this small script:

      #!/bin/shcd /home/userdir/native/
      # the directory of Linux Native Oberon
      xterm -e ./oberoncd -

Name this script "oberon", give it the execute permissions (chmod +x oberon) and save it in /usr/local/bin/. You can then include this command in a menu as is described in the documentation supplied with Linux.

Summary

If one recalls the table at the beginning of the text, Native Oberon can be installed in five different environments:

  • in a primary partition
  • in a logical drive in an extended partition
  • in a file in a FAT16 primary partition
  • in a file in a FAT16 logical drive
  • in a file in the Linux file system

Several Oberon systems may of course co-exist in all these environments. Appendix C explains how you can determine which Oberon is active. The exact version is displayed in the system log.

Appendices
Appendix A: Sample multiple system configuration

The following configuration was installed successfully on an 8.4 GB EIDE hard disk and used in the examples given.

Device Id
/dev/
Part Type
hex
Part Type
dec
Size Description
hda1 6 6 400MB C:DOS FAT16 - DOS 6.21
hda2 6 6 2,040 MB E:DOS FAT16 - Win NT & Oberon for Windows
hda3 4f 79 196 MB Native Oberon or QNX Posix
hda4 5 5 Extended part
hda5 50 80 196 MB Native Oberon (alt) or Lynx RTOS / DM
hda6 83 131 1,004 MB Linux fs - SuSE 6.1 & Linux-based Oberon
hda7 82 130 119 MB Linux swap
hda8 6 6 1,004 MB D:DOS FAT16 - Native Oberon in a file

This configuration uses up the maximum of three primary partitions plus one extended partition. It is thus not possible to use a boot manager requiring a primary partition for itself, such as the one included in PartitionMagic. The Windows NT boot manager is used instead. The third boot menu position directs to a DOS boot menu, the last boot menu position directs to a LILO boot menu. The LILO boot sector is stored in the Linux native partition. All the systems, except Linux-based Native Oberon, can be booted from diskettes.

The two first columns convey Linux information and the following column, Native Oberon information. Linux starts the partition numbering with 1, Oberon starts with 0.

Many useful informations are found in "Multiple OS Booting Using Windows NT Loader" [MOS]

Appendix B: Example files
Example NATIVE\NATIVEP.PAR file
  1. Configuration generated by Oberon-0
      MT="PS2"
      MP="1"
      MB="-3"
      DMASize="14800H"
      Display="S3Trio."
      Init="bb0501b8024fcd10"
      DWidth="1024"
      DHeight="768"
      DDepth="8"

Example Windows NT boot manager file BOOT.INI

      [boot loader]
      timeout=30
      default=multi(0)disk(0)rdisk(0)partition(2)\WINNT
      [operating systems]
      multi(0)disk(0)rdisk(0)partition(2)\
      WINNT="Windows NT Workstation Version 4.00"
      multi(0)disk(0)rdisk(0)partition(2)\
      WINNT="Windows NT Workstation Version 4.00 [VGA mode]"
      /basevideo /sosC:\ = "DOS boot menu"C:\boot
      linx.bin="LILO menu (SuSE Linux 6.1)"

Example files for DOS/Win boot menu These texts control the access to three co-resident Oberon systems.

CONFIG.SYS

      [Menu]
      Menuitem=dos, 
      MS-DOS 6.21
      Menuitem=nativep, Oberon in own primary partitionMenuitem=nativel, Oberon in logical drive
      Menuitem=nativef, Oberon in a fileMenuitem=linux, SuSE Linux 6.1 - using loadlinMenudefault=dos, 20
      [common]...
      [dos]...
      [nativep]
      [nativel]
      [nativef]
      [linux]

AUTOEXEC.BAT

      @echo off
      rem Editor for noboot (hold Shift-key or activate ScrollLock)
      set editor=c:\dos\edit.comgoto %config%:dos...
      goto end:nativep
      rem The display refresh rate can be adjusted now before starting Oberon.
      rem The DOS command is usually provided by the video card manufacturer.
      rem s3refrsh applies to the S3 Trio64V+ chip set.
      rem The x and y values are obtained by executing: s3refrsh 
      /?c:\dos\s3refrsh x y >nul
      cd native
      native
      p:nativel
      cd native
      nativel:nativefcd nativenative
      f:linux
      cd loadlin
      linux hda6
      :end

NATIVE\NATIVEP.BAT

      @echo off
      rem Run this under DOS or in MS-DOS mode under Windows 95/98.
      rem Does not work under Windows 3.11 or NT, rather install Stand-alone.
      rem
      rem To create an icon for starting Oberon:
      rem 1. Create a shortcut to "nativep.bat" (an icon is provided).
      rem 2. Right-click on the shortcut and select "Properties" from the menu.
      rem 3. Click "Program" tab, then "Advanced..." and select "MS-DOS mode".
      rem 4. Confirm the setting by clicking on "OK".
      if not exist nativep.par goto usage
      rem Show boot status at top leftcls
      echo . - Native Oberon booting ...
      rem DOS commands may be inserted here before Oberon starts.
      rem E.g. a command to set the correct display refresh rate.
      noboot native.bin nativep.par
      rem We should never get back here
      goto end
      :usage
      echo Please change to the directory containing the installed Native Oberon
      :end
Appendix C: How to determine which Oberon is active

When several Oberon systems co-reside on the same system, you can determine which system is active by executing this sequence of three commands Partition.Verbose on, Partition.Show and System.State Disk and by interpreting the current values of a few global variables listed. If native=FALSE, the active system is a FAT16 file-based system and file= shows the full path name. If native=TRUE, the system is installed in a dedicated partition. The exact partition can be determined with these informations: parttype= the partition type, ddrive= the drive number and partitionoffset= the first sector of the partition.

Appendix D: How to change the configuration

The configuration of a starting Oberon system can be changed by holding down the Shift-key or by activating ScrollLock during the boot process. If the Oberon system is installed in its own partition or on a boot diskette, the boot process is interrupted and the configuration strings applying to that system are displayed. The list ends with an OBL> prompt. Now, commands may be entered according to these rules:

      name=val - set config string
      name=    - delete config string
      c        - continue booting   
      w        - write config to boot device

If noboot.exe is used to start Oberon, the boot process is also interrupted but the editor of choice determined by a SET Editor= command is called to edit the configuration stored in the oberon.par file. When the editor is exited, booting is resumed. If no editor is defined, booting proceeds normally without giving an opportunity to modify oberon.par.

Obviously, configuration strings can also be changed by editing oberon.par whenever required. An Oberon installed in a file can be reconfigured in that way. Only the size of the file containing Oberon (in the Linux file system) can be changed in Linux-based Native Oberon.

Of the numerous configuration strings described in detail in a technical HTML document http://www.ethoberon.ethz.ch/native/Tech.html [expired], a few of the frequently used ones are described below.

D1: To use a different partition type

The default Oberon partition type is 79. To install another Oberon system in a second partition, the partition type must be set to 80 (or another free value) to avoid a conflict with the already installed one. Also, when the QNX operating system is installed, the Oberon partition type must be changed to avoid a conflict.

To this effect, enter "PartType=80" at the OBL> prompt. Otherwise, an attempt to prepare a new partition (by creating a new one or overwriting another) will result in a warning message:

      Warning: More than one Oberon partition. First one will be used.

More generally, several Oberon partition may co-exist provided each of them is associated with a different, free partition type identifier.

Warning to System Commander users:

Do NOT use 79 < PartType < 96 ! The internal control mechanism of the System Commander uses the bit 2^4 and when that bit is reset, the partition type is damaged. Symptom: when Oberon is launched, the computer starts to beep wildly.

D2: To handle non-standard disk configurations

The ATA disk driver supports up to four controllers: IDE1, IDE2, IDE3 and IDE4. If your IDE hard disk controller is not located at the standard primary addresses (IRQ 14, I/O base 1F0H and 3F6H), or if your hard disk for Oberon is on the secondary IDE controller, you can configure the correct values at the OBL> prompt. For example, if the secondary controller is at IRQ 15, I/O base 170H and 376H, enter: "IDE=15,170H,376H". If you do not know what the second I/O base address is, try 3X6H, where X is the middle digit of the first I/O base address. If you use the IDE config string, you also have to specify the disk size manually using a string like "Disk0=1200Mb" (example for 1.2 GB disk). It is safe to specify a value smaller than the actual disk size.

Similarly, the AHA1520 driver parameters can be configured at the OBL> prompt. For example, if the controller is at IRQ 12, port 140H and host id 5, enter: "AHA1520=12,140H,5".

D3: To remap the mouse buttons

At the OBL> prompt, enter "MM=digits" to rearrange the mouse buttons. digits is exactly 3 digits, with each digit from 0-2 representing a mouse button. The buttons are numbered from the right to the left 0, 1, 2. The default value of digits is "012". "210" is the mapping required for a left-hand mouse. For a Logitech cordless mouse use "021".

D4: To configure the display controller driver

A Stand-alone Native Oberon system is reconfigured like it is installed, booting Oberon-0 first Activity 5). Go through steps 1, 2 and 4 first, then move to step 6 to specify the display device driver and store the configuration.

D5: To define Neutralize / ESC

By default "EscCompat=1", meaning that the ESC key will be interpreted as Neutralize key. The Neutralize key is used to remove all marks on the display, including the caret, the marker and text selections. The F2 key is defined as Neutralize key for all of the Oberon system implementations. It has also been a common practice to assign the same function to the ESC key, with the negative consequence that the ESC character cannot be generated in certain applications needing it. Instead, the ESC character CHR(27) is generated with F3, Shift-ESC or Alt-027. By entering "EscCompat=0" at the OBL> prompt, the ESC will recover its original meaning.

D6: To convert the Syntax fonts during import

By default "FontConv=1", meaning that when a text document using Syntax fonts is imported, these fonts are automatically mapped to Oberon fonts. If "FontConv=0", no such mapping takes place.

Appendix E: How to change the size of the file containing Oberon

The size of the file containing Oberon can be enlarged as follows:

- Oberon in a FAT16 file: by executing the DOS command extend.exe
- Linux-based Oberon (file in Linux file system): by executing the Oberon command LNOInstall.Expand Disk size

Appendix F: How to start another operating system

When Oberon is installed for direct boot (A2), another operating system is started:
- from within the active Oberon system by activating the other system's partition with the command Partition.Activate num. The num value is obtained by executing Partition.Show. It must correspond to a primary partition on the first disk. After that, the computer must be rebooted.

- otherwise, by one of the following methods:

  • booting it from a diskette
  • using the fdisk tool of that other operating system
  • executing PQBoot in DOS mode (PartitionMagic program)
  • executing PQMagic in DOS mode (PartitionMagic program)
Appendix G: How to start Oberon with noboot.exe

noboot is a DOS program which loads the Oberon kernel and starts Oberon. The kernel is stored in a DOS directory in a file usually named "native.bin". The load process is directed by configuration specifications contained in another file stored in the same directory (usually "native.par"). noboot integrates itself seamless in an existing DOS or Windows 95/98 environment and can be used with most of the boot managers discussed to start Oberon.

Since Oberon does not use or alter the Master Boot Record (MBR), the danger of malignous side effects due the addition of Oberon on your system is minimized.

In summary, and for Linux users: noboot is to Oberon what loadlin is to Linux. This should become clear when looking at the example CONFIG.SYS and AUTOEXEC.BAT files in Appendix B.

Keep in mind that the noboot boot loader requires a bare-bone DOS system. If Oberon fails to start, e.g. hangs in the middle of the boot process, analyze the CONFIG.SYS and AUTOEXEC.BAT files and REM the lines related to memory management. In particular, those mentioning HIGH, or those involving the use of EMS or XMS. Alternatively, force Oberon to enter a debug mode as explained below.

Oberon can be started with noboot in two ways:

1. By executing noboot from a running system to switch directly to Oberon.
If the running system is DOS*, it is easy to start Oberon at the DOS prompt by executing the command:
noboot [-dptv] kernel params
(*) May be MS-DOS, IBM DOS, Caldera DOS, IBM DOS 2000
The latter two OS are Y2K conformant. Oberon was tested with Caldera DOS.
If Windows 95/98 is used, MS-DOS 7.0 is be started by restarting Windows in
DOS mode or by pressing Shift-F5 when Windows starts.
-d debug mode. Trace data is then presented on the console
-p don't reset processor
-t trace mode (no boot)
-v verbose message output
kernel kernel image file name (normally: native.bin)
params parameter file name (normally: native.par)
If the running system is Windows 95/98, noboot must be started in DOS-mode from the user interface. A special icon native.ico is provided for that purpose.
It is not possible to switch directly from Windows NT to Oberon. A DOS boot diskette or an extra DOS partition must be started in that case, via a boot manager for example.
2. By selecting among different configurations offered in a DOS boot menu at system start.

An Oberon in a file is normally started using this boot loader, but the same mechanism can be used to start an Oberon in its own partition. A different specification in "native.par" makes all the difference.

Appendix H: How to change the display refresh rate

The display refresh rate can be changed by executing a DOS refresh command immediately before starting Oberon. The most immediate solution is to insert the refresh command in the AUTOEXEC.BAT file used to start Oberon. The example AUTOEXEC.BAT file gives all the details.

Appendix I: How to exchange files between Native Oberon and other OSs

You should know that of all the operating systems discussed in this text use their own file system, and sometimes offer a choice of several 'incompatible' file systems. Currently, the only file system that can be used as common denominator to Native Oberon, MS-DOS, Windows 95/98, Windows NT and Linux is the older FAT16. Consequently, we suggest creating a FAT16 partition to exchange files between Native Oberon and the other operating systems. The files in the FAT16 partition(s) can be accessed with the DOS file system access commands documented in the Backup.Tool. The drive letters to use are found by executing the command Partition.Show (see Appendix M). On Linux, you can mount the FAT partition directly or use an even easier solution described in the next Appendix.

Appendix J: How to transfer (big) files between Linux and Native Oberon
1. If you have Linux on the same machine, you can copy Linux files to Linux-based Oberon by executing the command LNOTools.cp2o {filename} ~ . Read Linux.Tool.
To transfer a whole directory structure, build a "command script" using Unix.
In Linux:
      # list all files into Temp.Script
      find /some/dir -type f > Temp.Script
      # edit script
      vi Temp.Script
      # append " => to every line
      :%s/$/" => /
      # prepend " to every line
      :%s/^/"/
      # append ~ at end of file
      Go~<ESC>
      # go to first line
      :1
      # prepend DOS.Copy command
      ODOS.Copy<ESC>
      # save and exit
      ZZ
In Oberon:
      DOS.Copy "/some/dir/Temp.Script" => Temp.Script ~
      Desktops.OpenDoc Temp.Script
and add the Oberon file name at the end of every line. Execute the command. That's it!
2. Use Linux Oberon or Linux-based Native Oberon to compress the files first, using the Oberon Compress.Tool. Then transfer these compressed files via diskette.
3. If you have a LAN, transfer the files with FTP.
Appendix K: How to inspect the installed hardware components

Do the following depending on which operating system is installed on your system:

  • Windows NT: follow "Start -> Programs -> Administrative Tools -> Diagnostics"
  • Windows 95/98: follow "Start -> Settings -> Control Panel -> System"
  • Linux: view or print /var/log/boot.msg
  • DOS:

When the manufacturer's documentation is not available or for a noname computer, seek help from a program such as PC Analyser [PCA] for instance.

Use the program vesainfo.exe to find out which VESA version is supported by your graphic card. Obtain that program by ftp from: ftp://ftp.ethoberon.ethz.ch/Oberon/System3/Contrib/Native/ [expired]

Use the 3Com utility 3link-id.exe in DOS mode, to precisely identify your 3Com Ethernet adapter.

  • DOS with an access to a CD-ROM drive:

If you can get hold of a Windows NT 4.0 CD-ROM, you can use the DOS utility programs \SUPPORT\HQTOOL\Makedisk.bat (Hardware Query Tool) to obtain the desired information. Insert a formatted 1.44 MB diskette in the diskette drive and call the program. A boot diskette is then written together with a few utility programs. After booting your system from that diskette, these programs will inspect the installed hardware and present the results on the screen. The information may also be stored in a file.
Another utility \SUPPORT\SCSITOOL\Makedisk.bat can be used in the same manner.

  • Native Oberon:

You may investigate the installed PCI and AGP devices by executing PCITool.Scan. This command might be particularly useful if you can only just operate in VGA mode (default) when your graphic card is presumably better. Obtain the program PCITool.Mod and its companion vendors.txt by ftp from:
ftp://ftp.ethoberon.ethz.ch/Oberon/System3/Contrib/PCI/ [expired]

Appendix L: An improved LILO boot menu

By making use of the configuration parameter "alias" in the /etc/lilo.conf file and by editing an ASCII /etc/lilo.msg file, considerably more comfort can be achieved with little work. After having modified these files, execute "lilo" again.

Example /etc/lilo.msg file:

      Operating system list
      [1] SuSE Linux 6.1
      [2] Native Oberon in primary partition - PartType = 79
      [3] Native Oberon in logical drive - PartType = 80
      Enter 1, 2 or 3 and press Enter

Example /etc/lilo.conf file extract:

Warning: This file may contain a multitude of options that make the LILO boot manager very flexible. Consult the documentation that comes with Linux, to take sure steps. The following example does not reveal the rules of the game.

      # LILO Configuration data
      # Start LILO global section
      boot=/dev/hda6
      vga=normal
      read-only
      prompt
      timeout=100
      message=/etc/lilo.msg
      # End LILO global section
      # Linux partition
      image=/boot/vmlinuz
      root=/dev/hda6
      label=Linux
      alias=1
      # Oberon in primary partition - PartType = 79
      other=/dev/hda3
      label=OberonP
      loader=/boot/chain.b
      alias=2
      # Oberon in logical drive -
      PartType = 80
      other=/dev/hda5
      label=OberonL
      loader=/boot/chain.b
      alias=3
Appendix M: Oberon Partition commands

The built-in Oberon Partition commands allow the creation, the deletion and the inspection of partitions subject to limitations described hereafter. Unlike DOS and Windows (e.g. FDISK), Oberon can display information on all the partitions.

Partition.Show
displays the partition information. New partitions may be created using free space appearing in partition table. Free primary partition space appears in special table entries. Free space is also assigned a number to use in a Partition.Create command.

Partition.Create num size
creates a primary partition of the specified size in the free space having the specified number. The size is adjusted to the next cylinder boundary and the balance of space appears in table. The partition will be of the type specified in PartType= after the OBL> prompt at the beginning of the installation. This command can not create logical drives, inside an extended partition.

Partition.Check
checks that the partition in which Oberon will be or is already installed is useable in its entirety by the Oberon file system (surface scan).

Partition.Delete num type
deletes the primary partition with the specified sequence number. A logical drive can not be deleted with this command. To reduce the danger of losing vital data, the partition type (in decimal notation) must also be specified. Freed space also appears in the partition table.

Partition.ChangeType num from to changes the current partition type value to a new value. It can be used to change any partition (also a logical drive) to type 79 for Oberon. After having executed this command, the Oberon file system must be established with Install.InitFileSystem.

Partition.Activate num
activates the specified primary partition, which will be started at the next system boot.

Partition.Verbose [on | off]
controls the amount of information displayed by a Partition.Show command.

A few commands are put to work in Appendix C.

Appendix N: Adding Oberon to a boot manager

This section is under construction.

PowerQuest BootMagic

System Commander In the System Commander boot screen:

  1. Press Alt-S to access the Setup Options menu
  2. Press Alt-O to access the Order, Add, and Removal menu
  3. Press Alt-A to access the Add Selection to OS menu
  4. Select Partition and press Enter
  5. ...
  6. Press ESC repeatedly until you are back in the boot screen

You may now select Native Oberon to launch it.

Windows NT boot manager It cannot be done. A DOS or Windows 95/98 boot menu must be contructed instead.

Be Bootman

Troubleshooting

Symptom 1 - Oberon-0 does not boot / Low-level tracing

If the "OBERON System 3" message does not appear, or only the first few characters appear, it is very likely that the install diskette contains bad sectors. Use another diskette, or reformat it (not quick-format) and try again.

If the screen goes blank, and the Oberon display does not appear, there might be compatibility problems between the Oberon drivers and your PC. To help us track down these problems, please do the following:

- Boot with the install diskette.
- At the "OBL>" prompt, enter the following command in addition to the normal ones: "Init=9090" Carefully spell it exactly as indicated here, without the quotes. - Enter "c" to continue booting.

Some trace information will appear in red on the screen. If a run-time error occurs, TRAP xx will be displayed and at the end will be a list of module names with PC = nnn values. It might be possible to infer from this what is causing the problem. If not, please send the first few lines of the module name information, as well as the number of the TRAP to us. This will help us to pinpoint the error in the source code.

If no trace messages appear, it could mean that the CPU type detection is not functioning on your processor. Override the detection by entering a command of the form "CPU=n" at the "OBL>" prompt, where n is 3 for a 386, 4 for a 486 and 5 for a Pentium or compatible processor.

Symptom 1 - Oberon-0 does not boot; Low-level tracing

Low-level tracing of Oberon can be performed by connecting two PCs with the following set-up:

  1. Connect COM1 on the Oberon test PC with COM1 on the other PC via a null-modem cable (e.g. "Laplink" cable).
  2. On the Oberon test PC, set the configuration strings TraceBPS=19200 and TracePort=1. This enables tracing to COM1 at 19200 bps, 8 bits data, 1 stop bit, no parity.
  3. On the other PC, configure a serial terminal program with the same parameters: e.g. V24.Panel in Oberon, or HyperTerm in Windows, or Miniterm in Linux, or Telix in DOS.

The trace output of the Oberon test PC will be sent over the serial cable for display on the other PC's terminal program.

Symptom 2 - Black screen when booting Oberon

If the screen stays black when booting a successfully installed system for the first time, there could be device driver conflicts. Boot Oberon-0 again and try with some other display device drivers (e.g. the standard VGA driver). You may skip step 2 (installing the files).

If this still does not work, try the following:

- While booting the installed Oberon system (from boot diskette or partition), hold down a Shift key or activate ScrollLock. The OBL> prompt will appear, allowing you to edit the configuration.
- Continue as described in the previous section (Oberon-0 does not boot). Some trace information will appear on the screen, which will help to locate the problem.

If the "black screen" symptom occurs after the system has functioned correctly for some time, the file system might have been corrupted, or a system module may have been overwritten or deleted. Boot the Oberon-0 install diskette and execute Install.Directory to see if the directory is accessible. If no trap occurs, the file system is probably intact, and you can re-install the basic system modules using the "update" option in "Step 2". If Install.Directory causes a trap, the file directory is corrupt. Reboot Oberon-0 and use the Scavenger commands in Appendix B of Install.Tool to rebuild the directory, as explained below.

Execute Scavenger.Scan to scan through the whole file system for file headers and build a new directory in memory (this takes long). Scavenger.Display can optionally be used to display the list of files found. Then use Scavenger.WriteDirectory to write the new directory. In case where multiple versions of a file is found, the Scavenger recovers the file with the latest time and date. It should therefore only be used as a last resort, and only if the real-time clock of the PC functions correctly.

Symptom 3 - Black screen and beeping machine

When Oberon is installed in a partition: Oberon does not find the partition having the PartType hidden in the configuration information.
When Oberon is installed in a file: Oberon does not find the file specified in DiskFile= hidden in the configuration information.

Symptom 4 - Grey screen when booting Oberon

If the installed system seems to boot correctly, but displays a grey screen instead of the default viewers, there is probably something wrong in Oberon.Text. Press Ctrl-Break to get a trap viewer to type commands. Type the command Edit.Open Oberon.Text (or ET.Open) and middle click on it to open the configuration text. Check if the braces and quotes in recently edited parts of the text occur in matching pairs.

Symptom 5- NetSystem configuration problems

To help trace network configuration problems, the NetSystem modules contain some global counter variables that can be viewed with System.State ^. The most useful counters are in the Net3Com509 or Net3Com905B modules. Nsent counts the number of EtherNet packets sent and Nreceived counts the number of packets received. There are also Nsent and Nreceived counters in modules NetIP, NetUDP, NetTCP and NetDNS.

Customization of the installed Native Oberon system (Time: 10 min.)

You now have a working, basic Native Oberon system with its classical textual interface. It offers a fully functional Oberon programming environment containing text and documentation editors, networking (Telnet, FTP and Mail) and an Oberon compiler. Optional packages may be installed now or any time later, amo ng which Gadgets (gadgets.arc) providing a GUI and aaa tools. Use the information in System.Text to guide you through the customization of your new Oberon system. Read the UserGuide.Text linked on the first page of the System.Text. Configuring the network is required for connected systems.

Optionally installable packages

The following optional packages can be installed. They must be installed from within Oberon (not Oberon-0).

Gadgets        Graphical user interface
Applications
Additional applications (requires Gadgets)
Documentation  Guides, examples & book (requires Gadgets)
Pr3Fonts       300 dpi Oberon Fonts for printing
Pr6Fonts       600 dpi Oberon Fonts (for PostScript printer only)
Source code    Full sources of the system, excluding the Kernel and
               some beta code
Tutorials      Old hypertext tutorials for Gadgets

The Gadgets package contains the Gadgets graphical user interface framework and some standard Gadgets-based applications. Rembrandt is used to edit bitmaps and Leonardo is used for complex line-based illustrations. All standard applications are reachable via hyperlinks from the System3.Tool text. The Gadgets framework supports window tiling (useful for programming or text editing) and a desktop interface with arbitrary window overlapping. The package also contains additional Internet tools: a simple aaa browser, a Mail tool with Oberon document support, an FTP tool and Gopher, News and Finger clients. All the additional tools are reachable from the Network.Tool text.

The Applications package has several additional applications and games contributed by ETH students and other Oberon users. The Applications.Tool has links to all the applications. Most of the applications require the Gadgets package, and some require networking support.

The Documentation package contains extensive documentation and examples about Oberon System 3 and the Gadgets framework and applications, as well as an electronic copy of the Oberon Companion book. The SamplePrograms.Tool lists the examples and the Documentation.Tool contains links to all the documentation.

The Pr3Fonts (300dpi) and Pr6Fonts (600dpi) printer font packages are only necessary when a printer driver is configured. Currently only the PostScript and LPR printer drivers support 600dpi printing.

The sources are only required if you want to study or modify the system.

The Tutorials package contains hypertext-based tuturials for the Oberon system. The Gadgets package is required.

Installation of packages

The packages are distributed as Oberon-compressed .arc files. These files must reside on a DOS-format hard disk or diskette drive during package installation. This means they have to be copied from the Internet or distribution CD-ROM to a local hard disk or to DOS-formatted diskettes. The following table lists the package file names and approximate installed size and shows how the files could be distributed on 6 diskettes (plus one for Oberon-0) for further installation.

PACKAGE FILENAME SIZE DISK
Applications apps1.arc 1.45 MB 1
Applications apps2.arc 1.45 MB 2
Documentation docu.arc 1.31 MB 3
Gadgets gadgets.arc 1.08 MB 4
Pr3Fonts pr3fonts.arc 0.28 MB 5
Pr6Fonts pr6fonts.arc 0.56 MB 6
Source1 source1.arc 1.08 MB 8
Source2 source2.arc 0.96 MB 9
Source3 source3.arc 0.62 MB 10
Tutorials tutorial.arc 0.34 MB 11

During installation, some temporary disk space is required. Therefore you will need about 30% more disk space than indicated above (30 MB is enough for all packages).

To install one or more packages from within Oberon, open the System.Text with the Script.Open command provided at the top of the System.Tool and follow the instructions in the section "Installing the optional packages".

Connectivity

This section describes the network configuration process, also presented in System.Text, for an Ethernet LAN connection and various other configurations. The objective is to enable the reader to set up the communication hardware and to edit the NetSystem section of Oberon.Text in confidence. To facilitate the interpretation of the examples, we list the information that you should obtain from your network administrator first, and show where the various pieces must be inserted in either the hardware configuration menus or in the NetSystem specifications of Oberon.Text.

My Login=               Assigned account name (Konto)
My Password=            (Self-)assigned password
Pri Phone=              the ISP telephone number to dial
Domain =                Domain name
Primary DNS Server =    DNS0 IP number
Secondary DNS Server =  DNS1 - not always supplied
Tertiary DNS Server =   DNS2 - not always supplied
Gateway =               gateway IP number (only for LAN set up)
Netmask =               netmask IP number (only for LAN set up)
Host =                  your PC's name & IP number

The first three lines are for dial-up networking (DUN) only. The real examples were constructed for a direct LAN connection at the ETH and for the following ISPs:

ETH Dialup - http://n.ethz.ch/zugang/

My Login=               p.muster
My Password=            ********
Pri Phone=              01 261 20 80
Domain =                inf.ethz.ch
Primary DNS Server =    129.132.x.y
Secondary DNS Server =  129.132.u.v

ETH Dialup800 - h ttp:ss aaa.kom.id.ethz.ch/dialup800

My Login=               p.muster
My Password=            ********
Pri Phone=              0800 867 666
Domain =                inf.ethz.ch
Primary DNS Server =    129.132.x.y
Secondary DNS Server =  129.132.u.v

Swisscom - http://aaa.bluewin.ch (1) (2)

My Login=               p.muster
My Password=            ********
Pri Phone=              0840 840 111   (Highway)
Pri Phone=              0840 840 222   (FreeWay)
Domain =                               (leave empty)
Primary DNS Server =    195.186.1.110  (dns1.bluewin.ch)
Secondary DNS Server =  195.186.1.111  (dns2.bluewin.ch)

(1) you must have registered on the registration server using another telephone number (2) the BlueDisk of the Internet Starter Kit is absolutely not required

and for the following hardware:

3Com Etherlink III for ISA/EISA and the 3Com FastEtherLink 3C905B

Planet 10/100Mbps Dual Speed Hub

Zyxel Prestige 100 (ISDN router)

Gateway =               192.168.0.1 (the IP address of the router)
Netmask =               255.255.255.0
Host =                  <your-pc>, 192.168.0.2

Zyxel Omni TA128 (ISDN Terminal Adapter)

USRobotics Courier V.Everything analog modem

Keep in mind that Native Oberon does not support so-called WinModems (they are not attached to a real serial port).

Direct LAN connection

The entire information is to be edited in Oberon.Text. Ignore however the first three lines which are to be used for a switched network.

Leave the Oberon.Text lines which are not shown here unchanged!

NetSystem = {
    Hosts = {
        Domain = { "<your-domain>", "" }
        DNS0 = { "dns0", "<ip number>" }
        DNS1 = { "dns1", "<ip number>" }
        DNS2 = { "dns2", "<ip number>" }
        Device0 = { "Net3Com509.InstallDevice", "" } (or "Net3Com905B.InstallDevice")
      
        Route0 = {
            Device = "device0"
            Mode = "arp"    {* "arp" for LAN, "" for PPP or SLIP *}
            Host = { "<your-pc>", "<ip number>" }    {* your PC's name & IP address *}
            Gateway = { "gateway", "<ip number>" }    {* gateway IP address *}
            Netmask = { "netmask", "<ip number>" }
        }
    }
Connection using an analog modem - PPP

The USRobotics Courier V.Everything modem (HST, V32bis, Terbo, VFC, V34+, x2, V90) has been used successfully using the PPP communication protocol with Oberon and other OSs installed on the same machine (BeOS, Linux, QNX and Windows NT). The modem was used "out-of-the-box" in its factory configuration (also restored with AT&F0). Any modem can easily be custom-configured using the Oberon V24.Panel, an equivalent of a serial terminal program commonly supplied with other OSs. With it, you can issue all the desirable AT commands for controlling a modem. The information presented here was inspired by the PPP.Tool text supplied by Edgar Schwarz.

Some ISPs, like the ETH, accept a terminal authentication from a Dial script. This becomes visible when you receive "Login" and "Password" strings. Other ISPs, like Bluewindow, use an authentication protocol such as PAP [PAP] or CHAP [CHAP]. The latter is not yet supported by NetSystem.

If the ISP supports neither PAP nor CHAP, the essential NetSystem and DIAL section lines for connecting your machine to your ISP via PPP are as follows (leave the Oberon.Text lines which are not shown here unchanged!):

NetSystem = {
    Hosts = {
        Domain = { "<your-domain>", "" }
        Device0 = { "PPPMain.InstPPP", "COM1"}    {* specify the correct COM port *}
        Route0 = {
            ...
            Mode = ""    {* "arp" for LAN, "" for PPP or SLIP *}
            ...
        }
    }
DIAL = {
    Init = { COM1 115200 }    {* modem port and speed in BPS *}
    Dial = {
        10 "OK"
        "ATDT <dialup>"
        60 "CONNECT"
        10 "Login:"
        "<user>"
        20 "Password:"
        "<password>"
        CALL PPPMain.StartInst
    }
}

The Dial script must be copied as shown, but <dialup>, <user> and <password> must be replaced respectively by the telephone number of the ISP, the user id and the assigned password. The AT command line may contain a chain of AT commands. No comment is allowed inside the script and it must end with CALL PPPMain.StartInst.

If the ISP supports PAP, the DIAL script should look as follows:

DIAL = {
    Init = { COM1 115200 }    {* modem port and speed in BPS *}
    PAPName = { "<user>" }    {* if using PAP only *}
    PAPPassword = { "<password>" }    {* if using PAP only *}
    Dial = {
        "ATZ"
        10 "OK"
        "ATDT <dialup>"
        60 "CONNECT"
        CALL PPPMain.StartInst
    }

Dial-up networking startup To establish communication, execute the following command sequence (you will find it ready for use in NetSystem.Tool):

(1) - NetSystem.Start (2) - NetSystem.SetUser <dialup>:<username>@DIAL ~

       Note: enter the password in the System.Log

(3) - Dialer.Dial DIAL device0 ~

An excerpt of the protocol appearing in the System.Log whilst establishing a connection with the ETH is reproduced here (the parenthesized numbers relate the log lines with the commands):

(1)

   PPP device installed on COM1
   NetSystem started

(2)

   Password: ********

(3)

   Dial script started
   Sending [ATZ]
   Waiting 10s for [OK] {ATZ||OK}
   Sending [ATD <dialup>]
   Waiting 60s for [CONNECT] {|ATD <dialup>||CONNECT}
   Waiting 10s for [Login:] { 28800/ARQ/VFC/LAPM/V42BIS|Welcome to the ETHZ-DialUp Service||ETHZ-DialUp login:}
   Sending [<user>]
   Waiting 20s for [Password:] { <user>|Password:}
   Sending [<password>]
   Calling [PPPMain.StartInst]
   End of script
   PPP timeout
   IPCP is finally ready. Device opened.

You may now open any desired remote document, such as h ttp:ss aaa.ethoberon.ethz.ch/faq.html for example. To check the status of the connection, execute Dialer.State DIAL device0 ~

An excerpt of the protocol appearing in the System.Log whilst establishing a connection with Swisscom Bluewindow is reproduced here:

(1)

   PAPName: <user>
   PPP device installed on COM1
   NetSystem started

(2)

   Password: ********

(3)

   Dial script started
   Sending [ATZ]
   Waiting 10s for [OK] {ATZ||OK}
   Sending [ATD <dialup>]
   Waiting 60s for [CONNECT] {|ATD <dialup>||CONNECT}
   Calling [PPPMain.StartInst]
   End of script
   PPP timeout
   PPP timeout
   IPCP is finally ready. Device opened.

Dial-up networking hangup To end the communication, execute the following command sequence (you will find it ready for use in NetSystem.Tool):

NetSystem.Stop
Dialer.Hangup DIAL ~
PPPMain.StopInst
NetSystem.ClearUser

The System.Log will display:

   NetSystem stopped

Troubleshooting

If you are experiencing difficulties establishing a connection, activate a logging function by executing PPPTest.LogOn and, later on, execute PPPTest.ShowLog to display the information collected. Try to understand that information by comparing it with the information supplied by Edgar Schwarz (Edgar.Schwarz@z.zgs.de) in PPP.Tool or ask him for help as is suggested in that document.

ISDN

The ISDN connection possibilities, described below, have been tested using a Swisscom ISDN light connection to the ETH, which acts as ISP with two different offerings: Dialup and Dialup800. Dialup800 requires that the caller presents a pre-declared telephone number, chosen from the three MSN numbers assigned by Swisscom (one of them is the so-called base number, the two others may remain unpublished). There are two B channels in ISDN light. This offers the possibility of opening multiple simultaneous channels giving additional bandwidth on demand (BOD). Consult the handbooks for putting this facility to work, but beware of the possible extra cost incurred, for yourself or for the ISP! And read more on this subject under "Connection flexibility".

Keep in mind that the examples given have been constructed for specific hardware. If you happen to possess a different hardware configuration, say using a CISCO router, things may look a bit different: an example does not stand for a rule.

Connection using an ISDN Terminal Adapter (TA)

With the widespread availability of ISDN at low cost, you can establish a high speed connection to the Internet by means of an ISDN TA attached to a serial port.

The Zyxel Omni TA128 is an ISDN TA that has been used successfully with Oberon and other OSs installed on the same machine (Linux, QNX and Windows NT). It is easily set up using the Oberon V24.Panel. In fact, the factory settings are quite suitable: load them by executing ATZ4, verify them with AT&V0. When calling an ISP which verifies the caller's number (e. g. Dialup800), the TA must present the correct caller's number as declared to the ISP: set it by executing AT&ZOI=nnnnnnn, verify it with AT&ZO?.

The essential NetSystem and DIAL section lines for your machine, matching the TA setup given above are as follows (leave the Oberon.Text lines which are not shown here unchanged!):

NetSystem = {

   Hosts = {
       Domain = { "<your-domain>", "" }
       DNS0 = { "dns0", "<ip number>" }
       DNS1 = { "dns1", "<ip number>" }
       DNS2 = { "dns2", "<ip number>" }
       Device0 = { "PPPMain.InstPPP", "COM1"}    {* specify the correct COM port *}
       Route0 = {
           ...
           Mode = ""    {* "arp" for LAN, "" for PPP or SLIP *}
           ...
       }
   }

DIAL = {

   Init = { COM1 115200 }    {* modem port and speed in BPS *}
   PAPName = { "<username>" }
   PAPPassword = { "<password>" }
   Dial = {
       "ATZ"
       10 "OK"
       "ATD <dialup>"
       60 "CONNECT"
       CALL PPPMain.StartInst
   }

}

The Dial script must be copied as shown, except for the <dialup> which must be replaced by the telephone number of the ISP. The AT command line may contain a chain of AT commands. No comment is allowed inside the script and it must end with CALL PPPMain.StartInst.

Dial-up networking startup To establish communication, execute the following command sequence (you will find it ready for use in NetSystem.Tool):

NetSystem.Start Dialer.Dial DIAL device0 ~

An excerpt of the System.Log is reproduced here:

   PAPName: <username>
   PPP device installed on COM1
   NetSystem started
   Password: ********
   Dial script started
   Sending [ATZ]
   Waiting 10s for [OK] {ATZ||OK}
   Sending [ATD <dialup>]
   Waiting 60s for [CONNECT] {|ATD <dialup>||CONNECT}
   Calling [PPPMain.StartInst]
   End of script
   PPP timeout
   IPCP is finally ready. Device opened.

You may now open any desired remote document, such as h ttp:ss aaa.ethoberon.ethz.ch/faq.html for example. To check the status of the connection, execute Dialer.State DIAL device0 ~

Dial-up networking hangup To end the communication, execute the following command sequence (you will find it ready for use in NetSystem.Tool):

NetSystem.Stop
Dialer.Hangup DIAL ~
PPPMain.StopInst
NetSystem.ClearUser

The System.Log will display:

   NetSystem stopped

Troubleshooting

If you are experiencing difficulties establishing a connection, check the proper communication protocol with your ISP. The command ATBnn is useful to change the ISDN B channel protocol. Executing NetSystem.Show in this context is of little help:

   Host: 0.0.0.0 ss inf.ethz.ch
   Device0: pending 00:00:00:00:00:00 / 00:00:00:00:00:00
   Route0: 0.0.0.0 / 0.0.0.0 / 0.0.0.0 -> 0 noarp
   DNS: 129.132.x.y*
Connection using an ISDN router

or Routing ethernet LAN to Internet via ISDN

With the widespread availability of ISDN at low cost, you can let multiple machines at your home share a single Internet connection. A convenient arrangement is the addition of an ISDN router that directs all of the machines' TCP/IP requests to the Internet. Your local network does not need official IP addresses. The machines are given private network addresses according to RFC 1918, Address Allocation for Private Internets, from reserved address ranges which are not recognized on Internet. In this case, we are referring to the address range 192.168.0.0 to 192.168.255.255. The first address 192.168.0.0 represents the entire network and is thus reserved. Also the address 192.168.0.255 which is used as broadcast address may not be used. It is good practice to assign the address 192.168.0.1 to the router itself, and the subsequent addresses to the machines in the network.

The Zyxel Prestige 100 - h ttp:ss aaa.zyxel.com - is a hardware router that has been successfully used with Oberon and other OSs installed on the same machine (Linux, QNX and Windows NT). A concrete example of how to set it up is given. This setup is easily performed using the Oberon V24.Panel, using the serial interface with the cable supplied. The transmission speed must be set to 9'600 bps. To facilitate the interpretation of this example, we list the information that you should receive from your ISP first, and follow with a list of the essential setup specifications. Clearly, a complete router setup is far more complex, consult the supplied handbook. The same setup can also be performed directly with telnet on the local ethernet. Use either the command Desktops.OpenDoc "telnet:ss192.168.0.1" or the Telnet.Panel. In both cases, use the router's correct IP address. In conclusion, the Router setup can be performed entirely under Oberon, except that the first setup must be performed using the serial interface, in order to assign an IP address. The Zyxel Web configurator supplied on CD-ROM is not needed.

Together with this router, you will need an ethernet hub (a vast choice of hubs is offered, some of them for a very low price). We do not recommend to acquire a router with a built-in hub, such as the Zyxel Prestige 100IH. With a separate hub, the local network can be used while the router is powered off, whereas a built-in hub might cause the ISDN connection to be established even if a service request should not be forwarded to the Internet. This can however be controlled with a suitable filter configuration.

My Login=              Menu 4
My Password=           Menu 4
Pri Phone=             Menu 4 - the ISP telephone no. to dial
Primary DNS Server=    Menu 3.2 - DNS IP number
Secondary DNS Server=  Menu 3.2 - optional
Gateway=               Menu 3.2 - the router's IP address
Netmask=               Menu 3.2
Domain=                destined for Oberon.Text
Host=                  destined for Oberon.Text


1. General Setup

       System Name= zyxel
       Location= at-home
       Contact Person's Name= andre

2. ISDN Setup

       Switch Type= DSS-1
       B Channel Usage= Switch/Switch
       ISDN Data= (the MSN of the caller)
       A/B Adapter 1= (the telephone no. of this adapter, e.g. for a fax terminal)
       A/B Adapter 2= (the telephone no. of this adapter)
       Note: these adapters offer more flexibility than the A/B adapters on the Swisscom
       Network Terminator, but they are not operational when the router is powered off.

3. Ethernet Setup

1. General Setup
       Ethernet Interface= 10BaseT
2. TCP/IP and DHCP Setup
       DHCP Setup:
       DHCP= Server
       Client IP Pool Starting Address= 192.168.0.2
       Size of Client IP Pool= 252
       Primary DNS Server=
       Secondary DNS Server=
       TCP/IP Setup:
       IP Address= 192.168.0.1
       IP Subnet Mask= 255.255.255.0
       RIP Direction= None
4. Internet Access Setup
       ISP's Name= ETHDial
       Pri Phone #=
       Sec Phone #=
       My Login=
       My Password= ********
       Single User Account= Yes
       IP Addr= 0.0.0.0
       Telco Options:
       Transfer Type= 64K
       Multilink= Off (the choices are: Off / BOD / Always)
       Idle Timeout= 60

Do not forget to specify a non-zero Timeout. Otherwise, the connection will never be broken.

11. Remote Mode Setup

After having configured your ISP in Menu 4, the ISP will also appear in position 1 of this menu to accept further specifications, if needed.

23. System Password

For security reasons, you should definitely change the factory supplied password and affix a label with the new password directly to the router's case. Do not lose it!!!!

The DHCP Setup is the best choice from a practical point of view in conjunction with other OSs (Oberon will also support DHCP soon). Oberon, however, requires that a valid IP address is assigned to each machine. With Windows, OS/2 and Macintosh your workstation must be configured as a DHCP client. The essential NetSystem section lines for the first machine, matching the router specifications given above are (leave the Oberon.Text lines which are not shown here unchanged!):

NetSystem = {
    Hosts = {
        Domain = { "<your-domain>", "" }
        {* The information concerning DNSs is placed in the router *}

        Device0 = { "Net3Com509.InstallDevice", "" } (or "Net3Com905B.InstallDevice")
        Route0 = {
            Device = "device0"
            Mode = "arp"    {* "arp" for LAN, "" for PPP or SLIP *}
            Host = { "<your-pc>", "192.168.0.2" }    {* your PC's name & IP address *}
            Gateway = { "gateway", "192.168.0.1" }    {* your router IP address *}
            Netmask = { "netmask", "255.255.255.0" }
        }
    }

How this all fits together

When a service request, which cannot be obtained from the private network, originates at your PC, it is forwarded to the router. The router dials the ISP automatically and when contact is established, the router is assigned a unique valid Internet IP address. Though it is always the same address (true at least for the ETH Dialup800 service), the user should not make use of any particular value, since the ISP may change it at time. The router then forwards the service request with this IP address. The resulting structure appears as a normal Internet message, is processed and the reply is returned to the router which reverses the process and forwards it to the local machine. this mechanism is known as "NAT" (Network Address Translation). ETH members and students will find a short description of it in h ttp:ss aaa.kom.id.ethz.ch/dialup800/natinfo_EN.html

How to monitor the router

Whilst the router is operational, its activity and internal status can be monitored using the Oberon Telnet client mentioned earlier. To this effect, open the connection with the router, enter the password, and select 24 in the main menu. Now, in the System Maintenance menu, select 1 to display a complete overview of the router's activity. Among others, you will find out:

- which B channel is active with which remote node
- the current and the average line utilization of each channel
- the total outcall time for both channels (reset when powered off)

The information is updated every second and does not interfere with the other Internet activity. In particular, the router will effectively break the connection after the specified time-out, thereby saving communications costs. The same holds true when using a browser under Windows and the Telnet Application.

Troubleshooting

If you are experiencing difficulties establishing a connection, check the proper communication protocol with your ISP. The command ATBnn is useful to change the ISDN B channel protocol. To check the state of NetSystem, execute NetSystem.Show:

Host: 192.168.0.2 / xyz.inf.ethz.ch / inf.ethz.ch
Device0: open 00:C0:4F:D2:FD:70 / FF:FF:FF:FF:FF:FF
Route0: 192.168.0.2 / 255.255.255.0 / 192.168.0.1 -> 0 arp
DNS: 129.132.x.y*
Connection flexibility

All the connections described can be tested on the same machine using Native Oberon, simply editing Oberon.Text and eventually the ISDN router configuration. Little will go wrong after gaining some practice. In particular, users enjoying the privilege of a line service paid by the employer (such as Dialup800), should, if they are being honest, change the ISP dial number when using Internet for private purposes. The Telnet.Panel is the ideal tool for reconfiguring the router quickly: only the ISP dial number must be changed.

Concerning the multilink capability of the ISDN router, you should know that the Multilink parameter (in Menu 4) can be changed at any time during a session using the Telnet.Panel (provided the channels are idle). The B1 or/and B2 channels can also be dropped using the Menu 24.1. Experience shows that the ETH ISP supports Multilink and BOD, Swisscom does not.

Mail and News relevant specifications in Oberon.Text

ETH Dialup and Dialup800 (adjust the values to your situation)

SMTP = "xyz.ethz.ch" {* outgoing mail server *}
POP = "xyz.ethz.ch" {* incoming mail server *}
NNTP = "news.ethz.ch" {* news server *}
POPMode = "POP3" {* POP3 or APOP *}
EMail = "p.muster@xyz.ethz.ch" {* your return address *}
MailSignature = "Mail.Sig.Text" {* text appended to every outgoing mail *}
NewsSignature = "News.Sig.Text" {* text appended to every outgoing news posting *}
LeaveOnServer = Yes {* Mail.Panel leaves email on POP server when downloading *}
TraceMail = No {* display mail protocol information in System.Log *}
NewsThreading = Yes {* Newsreader keeps message threads together? *}
NewsFont = Courier10.Scn.Fnt {* Font for news articles *}

Swisscom specific values:

SMTP = "mail.bluewin.ch" {* outgoing mail server *}
POP = "pop.bluewin.ch" {* incoming mail server *}
NNTP = "news.bluewin.ch" {* news server *}
POPMode = "POP3" {* POP3 or APOP *}
EMail = "p.muster@bluewin.ch" {* your return address *}

These values are used by default and some of them can be overwritten in the Mail.Panel.

Accessing other OSs with Oberon VNC

Oberon VNC is an implementation of the VNC (Virtual Network Computing) protocol developed by ORL (Olivetti Research Laboratory) - h ttp:ss aaa.uk.research.att.com/vnc/ (a copy is at h ttp:ss aaa.cam-orl.co.uk/vnc/) for PC Native Oberon System 3. The current version of Oberon VNC supports VNC 3.3.1 and 3.3.2 and has been tested with Sun Solaris and Linux-based servers at the ETH in Zürich. It emerged from an ETH Summer Semester project conducted by Jörg Krienbühl - VNC-Viewer for Oberon -

http://www.cs.inf.ethz.ch/group/gutknecht/stud_work/1999SS_jkreienb/

Any machine running the VNC server, which is nothing but a small daemon lurking in the background, can make its desktop and all running applications available to anyone with an Internet (or Intranet) connection and the VNC viewer software, which itself runs on a number of platforms. The Oberon VNC client (25 KB) allows you to access a remote MacOS, Windows 95, 98, NT, Solaris or Linux desktop computer, that is, to view and control all applications, to collaborate with a person currently working at his desktop.

Oberon VNC is available at no cost, like the entire Oberon System itself..

On the server, do this:

:> cd /export/project/oberon/system3/vnc/
:> ./startvnc
(the second line causes the execution of: vncserver -geometry 620x730 -depth 24) and note the display number (:nn) that is assigned automatically.

On Oberon, do this:

:NetSystem.SetUser vnc:yourname@server ~
:Enter your password in the System.Log
:Desktops.OpenDoc "server:59nn" (VNCViewerDocs.NewDoc) ~

using the number recorded earlier - prefix a single digit value with a zero!

This procedure must be executed once only, otherwise several VNC processes will be started on the server. You will have to kill them manually.

When the Oberon VNC client is activated, a background task is installed in the Oberon loop. To remove the task, execute a VNCTask.UnInstall command.

There is one known bug, where the viewer sometimes pauses for a long time before continuing an update. When the mouse cursor is moved, the update continues immediately. The reason has not been found yet, but a problem on the server side is suspected.

You can cut-and-paste text between Oberon and X Windows. From Oberon to X Windows: select text in Oberon, place the mouse focus at the insertion point in X Windows and press MM to copy. From X Windows to Oberon: select text, for example in an xterm, by dragging ML over it, place the mouse focus at the insertion point in Oberon and then interclick ML+MM. X Windows buffers the copied text and you can use Neutralize (F2) to clear the buffer. Unfortunately, Netscape's cut-and-paste does not seem to be integrated with X Windows (at least in the default configuration), so it is not possible to transfer data to or from Netscape.

Contact
Send your suggestions, ideas, bug reports to Jörg Kreienbühl - mailto:jkreienb@iiic.ethz.ch. Please write "Oberon VNC" in the subject of your e-mail.

Serial connect

In addition to using an external modem connected to a serial port, it is also possible to establish direct communication to another computer by connecting the serial ports through a crossed serial cable (also known as a null-modem cable) and using a generic communications program (in Oberon use the V24.Panel). The most likely use you will have for this technique is trapping debug output from a problematic machine to another faultless machine for analyzing the debug information and diagnosing the problem. This technique is described under the heading "Low-level tracing" in the Troubleshooting section.

Links

To find the definition of some of the terms and acronyms (e.g. PPP, SLIP) used in this text, we recommend to consult the ZD Webopaedia - h ttp:ss aaa.zdwebopedia.com

[BP] BootPart - h ttp:ssourworld.compuserve.com/homepages/gvollant/bootpart.htm

[CDOS] Caldera DOS - h ttp:ss aaa.calderathin.com

[CHAP] - Challenge Handshake Authentication Protocol -

       http://www.freesoft.org/CIE/RFC/1334/9.htm [expired]

[MOS] Multiple OS Booting -

http://winplanet.com/features/howtos/ntdirectboot/index.html [expired]
http://mail.bcpl.lib.md.us/~dbryan/directboot.html [expired]

[PAP} Password Authentication Protocol - h ttp:ss aaa.helpdesk.demon.net/faq/pap.html

[PCA] PC Analyser - http://www.pcanalyser.de

[PQ] PowerQuest - http://www.powerquest.com

       includes Partition Magic, BootMagic and PQBoot.

[RAW] Slackware - ftp://cdrom.com/pub/linux/slackware/install/

[VESA] Video Electronics Standards Association - http://www.vesa.org

Legal information

ETH Native Oberon System 3 Release 2.3.7 Copyright (C) 1990-1999 by Institute for Computer Systems, ETH Zürich

Permission to use, copy, modify or distribute this software and its documentation for any purpose is hereby granted without fee, provided that the above copyright notice appear in all copies and that both that copyright notice and this permission notice appear in supporting documentation, and that the name of ETH not be used in advertising or publicity pertaining to distribution of the software without specific, written prior permission.

ETH disclaims all warranties with regard to this software, including all implied special, indirect or consequential damages or any damages whatsoever resulting from loss of use, data or profits, whether in an action of contract, negligence or other tortious action, arising out of or in connection with the use or performance of this software.

Oberon, Native Oberon and Oberon System 3 are trademarks of the Swiss Federal Institute of Technology Zürich.
PartitionMagic is a trademark of PowerQuest Corporation.
Linux is a trademark of Linus Torvalds.
Microsoft, MS, Windows and MS-DOS are trademarks of Microsoft Corporation.
IBM and OS/2 are trademarks of IBM Corporation.
Intel and Pentium are trademarks of Intel Corporation.
SuSE and YaST are trademarks of SuSE GmbH.
Be, BeOS, and the Be and BeOS logos are registered trademarks of Be Incorporated.
All trademarks are used without warranty of their free use. Some of them might be registered trademarks.

Contact address

The frequently updated Native Oberon web site at h ttp:ss aaa.ethoberon.ethz.ch/native/ contains information about projects, releases, technical aspects, and general news about Native Oberon. It also provides a module name registry to avoid naming conflicts when you distribute your Oberon software.

For timely information on updates, and moderated discussion, join the Native Oberon electronic mailing list by sending a message "subscribe native-oberon FirstName LastName" to listproc@inf.ethz.ch. Replace FirstName and LastName with your name. Your e-mail address is taken from the reply address of your mail.

For technical correspondence, please contact:

Oberon System 3 Team
Institute for Computer Systems
ETH Zentrum
CH-8092 Zürich
SWITZERLAND
e-mail: oberon@inf.ethz.ch
fax: +41 (0) 1 632 1307

Send comments on Linux-based Oberon to Peter Matthias (matthias@ngi.de).

Pieter Muller, Peter Matthias, André Fischer Release 2.3.7 - January 2000

Hardware Configuration Worksheet

Prior to installing Native Oberon, you should record configuration information on peripheral devices and adapters (on card or on-board) composing your computer. You should verify that the observed information matches the values listed below. If not, new configuration strings must be defined or the data appearing in Oberon.Text must be edited. Configuration strings can be entered at the OBL> prompt in Activity 5.

The following data is fed to the system as configuration strings during booting:

Keyboard

- Type US 101-key

Mouse

- Type

The correct mouse can be selected interactively among a PS/2 mouse and several serial mice.

IDE controller

- IRQ 14 IDE=- I/O base 1F0H- I/O base 3F6H

Adaptec 1520 SCSI controller

- IRQ 11 AHA1520=- I/O base 340H- Host ID 7

PCI SCSI controller

The NCR 810 and the Adaptec AIC 7xxx are Plug and Play adapters.

Video controller

- Type- Chip type- Memory size- Display mode(s)- Refresh rate

The following data is stored in Oberon.Text:

Audio card

- IRQ 7- I/O address 220H- Low DMA 1- High DMA 7

IDE CD-ROM Atapi

- IRQ 15- I/O address 170H- RegPort 376H

IDE CD-ROM Mitsumi

- IRQ 10- I/O address 340H

Network adapter You should assign either of these two values to Device0=

{ "N3Com509.InstallDevice", "" } - 3Com Etherlink III for ISA/EISA (3C509 or 3C509B)
{ "N3Com905B.InstallDevice", "" } - 3Com FastEtherLink 3C905B

The two adapters (3C509 and 3C509B) are similar in their basic functionality, though the "B" adapter is newer and supports more advanced features. These adapters exist on cards and on-board as Plug-and-Play devices.

Communication hardware Refer to the section entitled "Connectivity".

[Top]

12 Jul 2000 - Copyright © 2000 ETH Zürich. All rights reserved.
E-Mail: oberon at lists.inf.ethz.ch
Homepage: http://www.ethoberon.ethz.ch