TOSBootmanager 
Nutzerdokumentation   
Inhalt
1. Aufgabe
2. Installation
3. Bedienung
4. Fehlermeldungen
5. Aufbau 6. Probleme

1. Aufgabe
Nachdem die Entscheidung gefallen war, da das TOS-Betriebssystem als eigenstndiges System gestartet werden soll, traten mehrere Probleme auf die nicht direkt mit TOS abhngen. Die eine liegt in der Architektur eines PC. Standardmig kann nur ein System von einer Festplatte gestartet werden. Mehrere Betriebssysteme auf einem Rechner sind nicht vorgesehen. Dieses Problem kann auf grundstzlich zwei Wegen gelt werden

- 1. Mit dem Programm FDISK, welches unter den meisen Betriebssystemen existiert, kann das Bootable-Flag in der Partitionstabelle gesetzt bzw. gelscht werden. Eine fr Laien undurchsichtige und fr erfahrene PC-Nutzer umstndliche Prozedur.

- 2. Eine kompfortablere Lsung bieten Bootmanager, wie sie von OS/2 oder Linux bekannt sind. Der Linux-Bootmanager "LILO" arbeitet nur in Verbindung mit dem Linux-System. Seine Bedieung lt auerdem viele Wnsche offen. Der grte Nachteil liegt jedoch im Unvermgen OS/2 und DOS nebeneinander zu verwalten. Beim Start von OS/2 ist immer die DOS Partition mit aktiv, liegt diese vor dem OS/2 Bereich kommt es zum Abbruch des Systemstarts. Der OS/2 Bootmanager hat diese Steuerung im Griff. Auerdem wartet er mit einem Pulldown-Men und Zeitsteuerung im Auswahlbildschirm auf. Das Betriebssystem OS/2 ist fr seinen Betrieb nicht unbedingt erforderlich (aber eine Lizens!). Dafr bentigt er aber eine eigene Partition mit 1 MB Plattenspeicher. Das 1 MB ist meist kein Problem, nicht aber der Partitionseintrag.
Fr TOS mute also ein eigenstndiger Bootmanager entwickelt werden.

Anforderungen:
 
- keine Partition belegen
- alle Systeme starten knnen (OS/2, DOS, TOS)
- gut bedienbar und 
- leicht konfigurierbar sein 
- auf allen 80x86ern laufen 

Im Weiteren wird der aus diesen Betrachtungen entwickelte Bootmanager betrachtet.

2. Installation 
Zur Installation des Bootmanagers sind folgende Dateien auf eine Systemdiskette zu kopieren: 
	bootm   .bin  Image des Bootmanagers 
	bootman .ini  Konfigurationsdatei 
	bootman .txt  dieser Text 
	botm_ini.exe  Installationsprogramm 
	gpart   .exe  Anzeigen der Patitionstabelle(n) 
	s_mbr   .exe  Sicherung des alten MBR 
	w_mbr   .exe  Wiederherstellen des alten MBR 

Tabelle 1: bentigte Dateien 


Nun wird das Programm s_mbr.exe aufgerufen. Dieses rettet den alten Masterbootrecord (MBR) in die Datei "mbr_c.sav". Anschlieend mu die Datei "bootman.ini" mit einem ASCII-Editor (z.B. Norton Editor o..) editiert werden. Neben den Farben und Zeiteinstellungen (optional) sind die Partitionsnummer und der Menstring anzugeben. Die Zuordnung der Partitionsnummern zu den Eintrgen ist entweder von FDISK oder von dem Programm "gpart.exe" zu erfahren. Der Menstring sollte 18 Zeichen nicht bersteigen und von der Partitionsnummer nur durch ein Leerzeichen getrennt sein. Im folgenden ein Beispiel:

Datei: bootm.ini (Beispiel)
Ŀ ; Parameter:                                                   
 ; "b" setzt die Zeit ab der ein Beep ertnen soll              
 ;     bei 0 erfolgt keine Tonausgebe                           
 ; ";" an der 1. Position charakterisiert einen Kommentar       
 ; "c" steht fr Colormonitor Normalfarbe                       
 ; "C" steht fr Colormonitor Inversfarbe (Balken)              
 ; "m" steht fr Mono-Monitor Normalfarbe                       
 ; "M" steht fr Mono-Monitor Inversfarbe                       
 ; "s" die Farbe fr den Hintergrundschatten                    
 ; "S" das Zeichen fr den Hintergrundschatten                  
 ; "h" legt die Farbe des Hintergrundes fest                    
 ; "H" legt das Hintergrundfllzeichen fest                     
 ; "T" beinhaltet die Autostartzeit in Sekunden (1-255)         
 ; "t" legt die Grundtonlnge bei Tonausgabe fest               
 ; "Ziffer" ist die Partitionsnummer von der geladen werden soll
 ;          Platte 1 = 1 - 4  Platte 2 = 5 - 8                  
 c 0x9e                                                         
 C 0xF0                                                         
 m 0x0f                                                         
 M 0x70                                                         
 s 0x06                                                         
 S 0xb0                                                         
 h 0x01                                                         
 H 0xb2                                                         
 T 15                                                           
 1 Microsoft DOS 6.0                                            
 2 IBM OS/2 2.1                                                 
 3 Linux Yggdrasil                                              


Die Farbwerte werden hexadezimal angegeben. Die erste Tetrade kennzeichnet die Hintergrund- und die niederwertige Tetrade die Vordergrundfarbe. Die Farben werden entsprechend den EGA-Farbtabellen angegeben z.B. 0x9e := 9 = hellblauer Hintergrund / 0e = gelber Vordergrund.

Nachdem diese Datei editiert wurde, kann das Programm "botm_ini.exe" aufgerufen werden. Die Sicherheitsabfrage kann mit "J" beantwortet werden; wenn alle Mitteilungen positiven Charakter haben ist die Installation abgeschlossen.

3. Bedienung

Den Effekt des Programms merkt man natrlich erst nach einem Neustart des Rechners - also: Ctrl+Alt+Del drcken!
Gewhnlich wrde jetzt eines der auf der Platte befindlichen Systeme gestartet werden - jetzt erscheint der Bootmanager. Mit den oben angegebenen Einstellungen sieht dieser ungefhr so aus (natrlich farbig!):

͸
   Startsysteme               Tasten           
͵
   Microsoft DOS 6.0    Zeitlimit: 15 Sekunden 
 IBMOS/22.1                         
   Linux Yggdrasil      Zeit inaktiv > ESC   
                        Auswahl mit > ^ / v 
                        Starten > Enter 
                       Ĵ
                        <c> 1994 Ulf Beckmann  
                        Tel./Fax 0351/4420722  
ٰ
    
    

Mit den Tasten hoch und runter ( ^ / v ) wird der Balken bewegt. Durch Bettigen der Eingabetaste wird das ausgewhlte System gestartet. Automatisch erfolgt der Start nach Ablauf des Zeitlimits. Fnf Sekunden vor dem Autostart wird im Sekundentakt ein Piepton als Warnung ausgegeben. Die Zeitsteuerung kann durch drcken der Escape-Taste inaktiviert werden. Nach nochmaliger Bettigung luft die Zeit weiter.  

4. Fehlermeldungen
Das Programm kennt vier Fehlermeldungen. 

1. 'Bootsektorfehler'
 Jedes gltige und bootfhige System hat am Ende des Urladers eine Kennung. Wird diese nicht gefunden, gibt der Bootmanager diese Fehlermeldung aus und wartet auf einen Tastendruck. Anschlieend wird ein erneuter Bootvorgang ausgelt. 

2. 'Fehler beim Plattenzugriff'
 Genauso wie bei nicht erkanntem Systemkennzeichen wird bei Zugriffsfehlern reagiert. Da diese nicht unbedingt auf fehlerhafte Platten zurckzufhren sind wird eine Korrektur dem Nutzer berlassen. So kann z.B. eine Partition auf der 2. Platte im Men angegeben werden ohne das eine 2. Platte existiert. 

3.- 'falscher Systemindikator'
 Ist im Men ein Eintrag der auf eine nicht belegte Partition zeigt wird diese Fehlermeldung ausgegeben. Gltige Systemindikatoren liegen im Bereich von 1 bis 255. Nur der Wert 0 ist unzulssig.

4. 'Cs-fehler!!'
 Der Bootmanager fhrt bei jedem Start einen Eigentest durch. Sollten Fehler erkannt werden wird diese Meldung am oberen linken Bildschirmrand angezeigt. Der Bootmanager versucht jedoch normal weiterzuarbeiten. In den meisten Fllen wird es sich nicht um einen wirklichen Fehler handeln. Wenn mit FDISK oder einem hnlichen Programm die Partitionstabelle gendert wurde erscheint diese Meldung auf jeden Fall. Mglicherweise war aber auch ein Virus am Werk...

5. Aufbau
Der Bootmanager besteht aus drei Hauptbestandteilen. Nach dem Einschalten des Rechners ldt das BIOS den MBR, also den Sektor 1, Kopf 0, Spur 0 von der Platte. Dieser erste Teil des Bootmanagers ldt den Rest nach (Sektorn 2,3 und 4) Das Hauptprogramm bringt nun das Men auf den Bildschirm und nachdem feststeht von wo geladen werden soll sind nur noch einige Ladeoperationen notwendig und der gewnschte Bootsektor wird gelesen und gestartet. Damit beim nchsten Start die alten Werte noch vorhanden sind wird der 1. Sektor zurck auf die Platte geschrieben.
	Ŀ
	 laden des Restes des Bootmanagers   Sektor 1
	 Datenbereich (MBR + Einstellungen) 
	Ĵ
	 Checksumme bilden                   ca. Sektor 2/3
	 Anzeige und Abfrage des Mens      
	Ĵ
	 lesen & aktivieren eines Urladers   ca. Sektor 4
	


6. Probleme
Beim Test des Programms traten Unterschiede zwischen dem AMI und einem Siemens-BIOS zum Vorschein. Vermutlich knnen bei anderen Rechnerkonfigurationen strende Effekte auftreten. In der LINUX-Dokumentation wird darauf hingewiesen, da einige Disketteninterrupts das lesen von nur einem Sektor zulassen. Sollte der Bootmanager auf einem solchen Rechner installiert werden sind Probleme vorprogrammiert.
