Subversion Repositories HelenOS-doc

Compare Revisions

Ignore whitespace Rev 152 → Rev 153

/usrman/trunk/boot/boot.tex
1,7 → 1,7
\chapter{Boot Loading Process}
 
The startup of HelenOS happens in several steps.
Depending on the platform these steps can be either
Depending on the platform, these steps can be either
described as \textit{piggybacker loading}:
 
\begin{enumerate}
17,7 → 17,7
\end{enumerate}
 
If the platform supports a more sophisticated native boot loader,
a \textit{multiboot loading} contains following steps:
the \textit{multiboot loading} consists of the following steps:
 
\begin{enumerate}
\item Platform boot loader loads the kernel image and initial
24,12 → 24,12
user space tasks, creates a boot information structure
and jumps to the entry point of the kernel.
\item The kernel initializes and runs the initial tasks
according the boot information structure from the
according the the boot information structure from the
boot loader.
\end{enumerate}
 
A third kind of boot loading occurs on platforms with no support
of boot loader. It is called \textit{image loading} and is
from boot loader. It is called \textit{image loading} and is
used mostly on simulated architectures.
 
\begin{enumerate}
37,11 → 37,11
on well-known physical memory locations (usually
by a simulator configuration file). The execution
starts directly on the kernel entry point.
\item The kernel initializes and runs a previously hardwired
\item The kernel initializes and spawns compiled-in
number of initial user space tasks.
\end{enumerate}
 
The following sections describe the particual features of the
The following sections describe the particular features of the
boot loading process on the supported platforms. Sample
configuration files for all simulators are in the directory
{\em kernel/contrib/conf}.
48,9 → 48,9
 
\section{IA-32 and AMD64}
 
On both platforms HelenOS depends on a boot loader which
supports the Multiboot Specification (i.e. GRUB). The kernel
image (usually called \texttt{image.bin}) is loaded by the
On both platforms, HelenOS depends on a boot loader which
supports the Multiboot Specification (e.g. GRUB). The kernel
image (usually called \texttt{image.iso}) is loaded by the
boot loader just above the 1st megabyte of the physical
memory (the exact location is 1081344 bytes). Modules loaded by
GRUB are automatically detected by the kernel and after initialization
75,7 → 75,7
 
\section{32-bit MIPS}
The MIPS port is fully supported in the {\em msim} and {\em gxemul} simulators.
These simulators allow specifying a memory contents of the simulated
These simulators allow to specify a memory contents of the simulated
computer. Unfortunately, the autodetection of loaded modules does
not work. In order to change number of loaded modules, the file
kernel/arch/mips32/src/mips32.c must be modified.
107,13 → 107,13
is created which can be later loaded directly with ARC boot loader
e.g. using BOOTP protocol.
 
\section{IA64}
The IA64 port is supported on the ski simulator. The situation is very similar
\section{IA-64}
The IA-64 port is supported on the Ski simulator. The situation is very similar
to the MIPS loader - the loaded modules must be loaded on correct addresses in
the ski configuration file and specified in the file
the Ski configuration file and specified in the file
kernel/arch/ia64/src/ia64.c.
 
Sample IA64 configuration file:
Sample IA-64 configuration file:
\begin{verbatim}
load kernel.bin
romload ../uspace/ns/ns 0x400000