Boot process

Articles

Bootloader

FreeVMS uses a fork of Grub as bootloader. This bootloader is FreeVMS specific as it support ODS2 disk. Unlike regular OpenVMS, FreeVMS supports disk partitioning.
Bootloader is a part of FreeVMS system. Read more »

Boot process

FreeVMS uses special bootloader that follows multiboot specifications as FreeVMS server does not contain any driver to access to its root device.
In a first time, bootloader load in memory: L4/X2 microkernel; Sigma0; FreeVMS server (L4/X2 root task) followed by some options (root device, debug options...); minimal drivers that allow FreeVMS server to mount its root device.
When root device is mounted, kernel tries to read SYS$ROOT:[SYSMGR]VMSKERNEL.CNF and directly loads all other (...) Read more »

Initial modules

FreeVMS server does not contain any driver. Initial drivers are loaded in memory by bootloader and launched by INIT.EXE task.
In a regular PC, FreeVMS needs: dq$pxii.sys (IDE interface); dp$pc99.sys (bios partitioning); fs$ext2.sys or fs$ods2.sys (filesystem driver). Read more »

Init task

When FreeVMS server is booting, it uses sigma0. Sigma0 is the idempotent L4 memory pager and is replaced by PAGER.SYS. PAGER.SYS runs in the same address space than FreeVMS kernel. When memory subsystem is initialized, FreeVMS server starts a process named INIT.EXE. This new thread loads all initial modules, mounts SYS$ROOT device, initializes devices tree and logical names and runs scripts in SYS$ROOT:[SYSMGR].
SYS$INIT does not run in same address space than FreeVMS server. Unlike (...) Read more »