Vytvoření BOOTovací diskety TUOXu

Autoři: Petr Šmidák, Roman Hrdý, Tomáš Gajec


Předpoklady

Před zavedením systému je třeba disketu naformátovat a vytvořit programem MKFS File system (disk image).
Stávající kód předpokládá, že jsou na disketě správně vyplněny parametry disku (resp. diskety). Jedná se o tyto hodnoty v Boot recordu:

Všechny tyto parametry by měl vyplňovat MKFS, nebo nějaký formátovač.
V současné době MKFS neumí vytvořit díru pro image. Teda možná umí, ale:
  1. Nezjišťuje fyzické parametry disku a nezapisuje je do Boot recordu. Když se to vezme kolem a kolem, MKFS by to ani dělat neměl, ale jsou potřeba! Doposud je nutno používat Diskedit (apod.).
  2. Nevyplňuje StartImageSecs. Což by měl.
  3. Zatimní pokusy s existujícím MKFS dopadají blbě. Pokud jím vytvořím TUOXovou (resp. MINIXovou) disketu, Linux ji nepřečte. Takže je tam něco blbě. Nebo si to představuju moc jednoduše?


Postup

Pokud tedy máte správně vyplněný Boot record:

  1. Spustíte Boot.com, který zapíše na disk Boot record TUOXu.
  2. Spustíte Make_sys.exe, který na disk zapíše ostatní. Loader + moduly (kernel, fs, mm, init)
  3. Eventuelně lze místo Boot.com spustit Empty.com, který vytváří defaultní Boot record a nezavádí systém. Pak se vynechá Make_sys.
Program BOOT.COM (zdrojový kód zde) zavede na disketu BOOT RECORD systému TUOX. Dále je třeba programem MAKE_SYS.EXE (zdrojový kód zde) nahrát na disketu zavaděč (Loader - zdrojový kód zde) a jednotlivé moduly (KRN+MM+FS+INIT). Tyto moduly se musí nacházet v aktuálním adresáři a musí obsahovat platnou hlavičku viz.Tuox Header. K zápisu a čtení je použita služba BIOSu 13h čtení/zápis sektoru. Parametry programů viz. jejich kód a help.

Pro jednotnost uvedeme názvy jednotlivých modulů deklarovaných ZDE :

  • LOAD.SYS = Zavaděč
  • KRN.TUX = Kernel
  • MM.TUX = Memory Manager
  • FS.TUX = File System
  • INIT.TUX = Proces INIT

  • Upozornění

    Stáhnout utility pro vytvoření boot disku můžete zde. Modul KRN.TUX je pouze testovací a vypisuje obsah zásobníku. Jedná se o parametry, které se předávají mainu kernelu.