Booting an OS using another OS, with application to ETH Oberon

Summary

An operating system is started first. Then, using a program running in that environment, a further operating system is started. That program is able to start a kernel of the goal OS stored in a file in a DOS directory. The procedures for starting ETH Oberon and Linux in this way are so similar that everything boils down to this simple statement: the DOS-program noboot.exe is to ETH Oberon what loadlin is to Linux. This should become clear when looking at the example CONFIG.SYS and AUTOEXEC.BAT files below.

The correspondance is as follows (the names are indicative, not imperative):

File name       ETH Oberon       Linux 
-------------------------------------------- 
DOS program     noboot.exe       loadlin.exe 
Kernel in file  native.bin       zimage 
Configuration   native.par       linux.par 
Start program   native.bat       startlin.bat
It is not even necessary to have a (minimal) DOS partition on hard disk. A DOS boot diskette is enough.

Advantage: Adding a partition does modify the partition table in the MBR, but apart from that the MBR is not altered. Hence, the danger of malignous side effects due the addition of an OS, like ETH Oberon, to a system is minimized. The partition can be placed anywhere.

How to start ETH Oberon from DOS

The following was tested with MS-DOS only but should also be applicable to IBM DOS, Caldera DOS and IBM DOS 2000. noboot is the DOS program which loads the Oberon kernel stored in a DOS directory in a file usually named "native.bin". The load process is directed by configuration specifications contained in another file (usually "native.par") stored in the same directory. noboot integrates itself seamless in an existing DOS or Windows 95/98 environment and can be used with most of the boot managers.

noboot requires a bare-bone DOS system and no more. 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 debug mode using the option -d mentioned below.

Start Oberon at the DOS prompt by executing the command:

noboot [-dptv] kernel params
-d      debug mode. Trace data is then presented on the console 
-p      don't reset the processor 
-t      trace mode (no boot) 
-v      verbose message output 
kernel  kernel image filename (usually: native.bin) 
params  parameter filename (usually: native.par)

How to start Oberon from Windows 95/98

If the running system is Windows 95/98, MS-DOS 7.0 is be started by restarting Windows in DOS mode or by pressing Shift-F5 when Windows starts. noboot is 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 additional, minimal DOS partition must be started in that case, via a boot manager for example.

Using a DOS/Win9x boot menu

Example files for constructing a DOS/Win9x boot menu

These example texts control the access to three co-resident Oberon systems: MS-DOS, Oberon, Linux.

1 - Example NATIVE\NATIVE.PAR file

# Configuration generated by Oberon-0 
MT="PS2" 
MP="1" 
MB="-3" 
DMASize="14800H" 
Display="S3Trio." 
Init="bb0501b8024fcd10" 
DWidth="1024" 
DHeight="768" 
DDepth="8"
2 - Example CONFIG.SYS
[Menu] 
Menuitem=dos, MS-DOS 6.21 
Menuitem=native, Oberon in own partition (primary or logical drive) 
Menuitem=linux, SuSE Linux 6.1 - using loadlin 
Menudefault=dos, 20 

[common] ... [dos] ... [native] [linux]
3 - Example AUTOEXEC.BAT
@echo off 
rem Editor for noboot (hold Shift-key or activate ScrollLock) 
set editor=c:\dos\edit.com 
goto %config% 

:dos ... goto end
:native cd native native
:linux cd loadlin linux hda6
:end
4 - Example NATIVE\NATIVE.BAT
@echo off 
rem Run this under DOS or in MS-DOS mode under Windows 9x. 
rem Does not work under Windows 3.11 or NT. 
rem 
rem To create an icon for starting Oberon: 
rem 1. Create a shortcut to "native.bat" (the icon native.ico 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 native.par goto usage
rem Show boot status at top left cls echo . - ETH 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 native.par
rem We should never get back here goto end
:usage echo Please change to the directory containing the installed ETH Native Oberon
:end

How to start Oberon from Windows NT/2000

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 /sos 
C:\ = "DOS boot menu" 
C:\bootlinx.bin="LILO menu (SuSE Linux 6.1)"
[Top]

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