<html><head>
<title>Probando el micronúcleo L4</title>
</head><body>
<h2>Probando el micronúcleo L4 :</h2>
<p>
Este documento pretende ser una pequeña receta de como
compilar el micronúcleo L4 y arrancarlo luego desde un
disquette. Está centrado en una de las varias implementaciones
existentes de L4, Hazelnut. Hazelnut por desgracia sólo
podemos ejecutarlo desde la familia de procesadores Pentium si tenemos
un x86, debido a que usa superpáginas de 4MB. También
decir que lo único que veremos de L4 es el depurador del
núcleo ( kernel debugger o KD ). Tras esto comencemos con
los pasos a seguir.
</p><ol>
<li><h4>Obtengamos las fuentes de L4 :</h4><p>
Para ello usaremos el CVS de l4ka :
</p><pre>
$ cvs -d:pserver:anonymous@cvs.l4ka.sourceforge.net:/cvsroot/l4ka login
$ cvs -z3 -d:pserver:anonymous@cvs.l4ka.sourceforge.net:/cvsroot/l4ka co l4-ka
</pre><p>
( cuando se nos pregunte por el login, tan sólo será
necesario pulsar <samp>enter</samp> ).
</p></li>
<li><h4>Compilemos los distintos modulos de L4 :</h4><p>
Una vez bajadas las fuentes del CVS, nos metemos en el directorio
principal de éstas, <samp>l4-ka</samp>, y acto seguido nos
metemos en el subdirectorio <samp>kernel</samp> :
</p><pre>
$ cd l4-ka
$ ls
COPYING CVS README apps doc kernel tools
$ cd kernel
</pre><p>
En este directorio es donde la compilación comenzará. En
primer lugar, configuraremos el núcleo L4 :
</p><pre>
$ make xconfig
</pre><p>
De entre las muchas opciones que apareceran en el menú de
opciones nos centraremos en las relacionadas con depuración.
Así que pinchamos en <samp>Debug Configuration</samp>,
y una vez allí cambiamos las opciones <samp>debugger input
device</samp> por <samp>kdb</samp> ( para no tener que depurar
desde otro ordenador por un cable de serie ), y <samp>debugger
output device</samp> por <samp>screen</samp> ( para que el
depurador saque sus mensajes en pantalla ). Otra cosa que se
puede cambiar es el <samp>debugger output screen type</samp>,
en donde podemos elegir entre <samp>vga</samp> y <samp>hercules</samp>.
Ahora que hemos configurado el núcleo, tecleamos en la
línea de comandos :
</p><pre>
$ make
</pre><p>
con lo cual habremos terminado la primera parte de la compilación.
Ahora nos deberemos salir del directorio <samp>l4-ka/kernel</samp>
e ir a <samp>l4-ka/apps</samp>.
Allí de nuevo teclearemos :
</p><pre>
$ make xconfig
$ make
</pre><p>
Aunque en este caso no será necesario tocar mucho la
configuración. Cuando termine la compilación,
nos iremos a <samp>l4-ka/apps/root_task</samp> y escribiremos :
</p><pre>
$ make
</pre><p>
comando con el cual habremos terminado de compilar l4ka.
</p></li>
<li><h4>Preparemos un disquette de arranque :</h4><p>
Para tal fin necesitamos en primer lugar una serie de ficheros
que nuestra compilación de L4/Hazelnut ha generado.
Esto son :
</p><pre>
l4-ka/kernel/x86-kernel
l4-ka/apps/rmgr/src/rmgr
l4-ka/apps/sigma0/sigma0
l4-ka/apps/root_task/root_task
</pre><p>
Copiaremos estos ficheros a un disquette. Es este disquette instalaremos
grub ( si no sabes como, busca un manual de grub ), y
escribiremos en el <samp>menu.lst</samp> de grub las siguiente
líneas :
</p><pre>
# l4ka :
title L4Ka
root=(fd0)
kernel=/rmgr -sigma0 -roottask
module=/x86-kernel
module=/sigma0
module=/root_task
</pre><p>
( en el caso, claro está, de que hayas copiado todos los
ficheros en el directorio raíz del disquette. Si no es así,
pon los caminos adecuados ). Tras haber echo esto, reinicia tu
máquina con el disquette dentro, y prueba a ver si arranca.
En teoría, debería aparecer una especie de prompt
en donde pone :
</p><pre>
KD :
</pre><p>
Se trata del depurador del núcleo ( KD o Kernel Debugger ).
Pulsando h, aparecerá una pequeña
ayuda para el uso del depurador. Pulsando g, continuará
la ejecución del núcleo, que como es natural, no hará
nada.
</p></li>
</ol>
</body></html>