[Toc][Index]

FAT Boot Procedure

  
The following figure represents the major stages of the OS/2 Version 2.0 
FAT boot procedure. 

-----------------------------------------------------------------------> time
    POST       BOOT      OS2BOOT    OS2LDR     stage1     stage2     stage3
              SECTOR     (OS2LDR               OS2KRNL
                          loader)


Figure 4-1. OS/2 Version 2.0 FAT boot procedure   
Powering-on the machine or pressing CTRL-ALT-DEL causes control to get 
transferred to the power-on-self-test (POST) code. This code initializes 
the interrupt vectors to get to the BIOS routines. It then scans the I/O 
adapters looking for and linking in any code which exists on them. It then 
executes an interrupt 19h (INT 19 ) which causes control to be transferred 
to the disk or diskette boot code. 
The INT 19h code reads the boot sector from disk or diskette into memory 
at 7C00H. Along with code, the boot sector contains a structure called the 
BIOS Parameter Block(BPB). The BPB contains information which describes 
how the disk is formatted. The boot code uses this information to load in 
the root directory and the FAT micro-IFS, which is kept inside the OS2BOOT 
file. After the micro-IFS is loaded the boot sector transfer control it 
via a far jump. 
OS2BOOT receives pointers to the RAM copies of the root directory and the 
BPB . Using the BPB information, OS2BOOT loads in the FAT table from the 
disk. Then using the root directory and the FAT table, the OS2LDR file is 
loaded into memory from disk. The inclusion of this micro-IFS in the FAT 
boot process has removed the requirement that the OS2LDR file be logically 
contiguous on the FAT drive . 
OS2LDR contains the OS/2 loader. It relocates itself to the top of low 
memory, then scans the root directory for OS2KRNL and reads it into 
memory. After the required fixups are applied, control is transferred to 
OS2KRNL, along with a pointer to the BPB and the drive number. 
OS2KRNL contains the OS/2 kernel and initialization code. It switches to 
protected mode, relocates parts of itself to high memory, then scans the 
root directory for and reads in the base device drivers (stage 1). Once 
again, the BIOS interrupt 13h is used to read the disk, but mode switching 
must be done. 
OS2KRNL then switches to protection level 3 and loads some of the required 
dynamic link libraries (stage 2) followed by the device drivers and FSDs 
specified in CONFIG.SYS (stage 3). This is done with standard DOS calls 
and, therefore, goes through the regular file system and device drivers. 

Created using Inf-PHP v.2 (c) 2003 Yuri Prokushev
Created using Inf-HTML v.0.9b (c) 1995 Peter Childs