Siguiente Arriba Anterior Contenido Indice

E.5 Como cargar MILO

Como cargar MILO

El metodo mas comunmente soportado de cargar MILO es desde el firmware de Windows NT ARC dado que la mayoria de los sistemas lo soportan. Sin embargo, hay una gran variedad de formas de cargar MILO. Puede ser cargado desde:

E.5.1 Cargando MILO desde el firmware de Windows NT ARC

Cargando MILO desde el firmware de Windows NT ARC

La mayoria, si no todos, los sistemas basados en Alpha AXP incluyen el firmware de Windows NT ARC y este es el metodo preferible para arrancar MILO y asi Linux. Una vez que el firmware de Windows NT esta corriendo y tienes la imagen correcta de MILO para tu sistema, este metodo es completamente genérico.

El firmware de Windoes NT ARC es un entorno en el que los programas pueden ejecutarse y hacer llamadas al firmware para realizar acciones. El cargador del sistema operativo de
Windows NT es un programa que hace exactamente esto. Linload.exe es un programa mucho mas simple que hace lo suficiente para cargar y ejecutar MILO. Carga la imagen apropiada en memoria en la posicion 0x00000000 y despues hace una llamada al codigo de la PAL para al swap-PAL a esta imagen. MILO, como Linux, usa un codigo de PAL diferente al de Windows NT por lo que ha de realizarse este cambio. MILO se reubica el mismo en la posición 0x200000 y continua en el punto de entrada del reset del PALcode como antes.

Antes de añadir una opcion de arranque de Linux, necesitaras copiar linload.exe y el MILO apropiado que quieras cargar en algun sitio donde lo pueda leer el firmware de WINDOWS NT ARC. En el siguiente ejemplo, asumo que estas arrancando desde un disquette formateado en DOS:

  1. En el menu de arranque, seleccinar"Supplementary menu..."
  2. En el "Supplementary menu", seleccionar "Set up the system..."
  3. En el "Setup menu", seleccionar "Manage boot selection menu..."
  4. En el "Boot selections menu", elegir "Add a boot selection"
  5. Elegir "Floppy Disk 0"
  6. Introduce "linload.exe" como directorio y nombre del cargador del sistema operativo
  7. Di "yes" a que el sistema operativo se encuentre en la misma particion que el cargador del sistema operativo
  8. Introduce "\" como el directorio raiz del sistema operativo
  9. Usualmente introduzco "Linux" como nombre para esta selección de arranqueas the name for this boot selection
  10. Di "No" si no quieres inicializar el debugger en el arranque
  11. Debes volver ahora al "Boot selections menu", elegir la opción "Change a boot selection option" y seleccionar la opción que acabas de crear como la que vas a editar
  12. Usa la flecha abajo para obtener "OSLOADFILENAME" y luego teclea el nombre de la imagen MILO que deseas utilizar, por ejemplo "noname.arc" segido de retorno.
  13. Presiona ESC para volver al "Boot Selections menu"
  14. Selecciona "Setup Menu" (o presiona ESC de nuevo) y elige la opción "Supplementary menu, and save changes"
  15. ESC te devolvera al "Boot menu" y podras intentar arrancar MILO. Si no quieres que MILO sea la primera opción de arranque, puedes alterar el orde de las opciones de arranque en "Boot selections menu".

Al finalizar todo esto, deberias tener una opción de arranque que debe parecerse a algo como esto:

LOADIDENTIFIER=Linux
SYSTEMPARTITION=multi(0)disk(0)fdisk(0)
OSLOADER=multi(0)disk(0)fdisk(0)\linload.exe
OSLOADPARTITION=multi(0)disk(0)fdisk(0)
OSLOADFILENAME=\noname.arc
OSLOADOPTIONS=

Ahora puedes arrancar MILO (y luego Linux). Puedes cargar linload.exe y MILO directamente de un sistema de ficheros que Windows NT entienda como NTFS o DOS en un disco duro.

El contenido de OSLOADOPTIONS se pasa a MILO el cual lo interpreta como un comando. Por eso, para arrancar directamente Linux desde Windows NT sin parar en MILO, debes pasar los siguiente en OSLOADOPTIONS:

boot sda2:vmlinux.gz root=/dev/sda2

Consulta E.6 para mas información de los comandos disponibles.

Otra forma (más sibilina) de cargar MILO a través del firmware WNT ARC es poner MILO en un disquette MS-DOS y llamarlo fwupdate.exe y luego elegir la opción "Upgrade Firmware".

E.5.2 Cargando MILO desde el Windows NT AlphaBIOS

Cargando MILO desde el Windows NT AlphaBIOS

Con la introducción de las series XLT, Digital cambio el interfaz de la consola de sistema para sus sistemas NT desde el ARC al Alphabios. Alphabios es un interfaz orientado a pantalla lo que debe ser mas familiar a los usuarios de PC. Este cambio en el interfaz de consola necesita un cambio en el procediminto de configuración para aquellos que deseen ejecutar Linux/Alpha en los sistemas basados en Alphabios.

La primera cosa que debes hacer es instalar la última versión de Alphabios en tu sistema. Esta se puede obtener de la página Web de Digital "System Software and Driver Updates",
http://www.windows.digital.com/support/sysoft.htp. Traete el fichero ZIP, descomprimelo, e instalalo como sigue:

Una vez que tu AlphaBIOS esta actualizada a la última versión, puedes iniciar el proceseo de arranque de tu sistema como sigue:

En este punto, AlphaBIOS presentara probablemente una gran y poco amigable ventana de dialogo con el siguiente mensaje "Warning: Operating System Selection not valid!". Ignorar este error (esto solo es un problema para NT) y presionar ENTER para continuar.

Si dedicaste la primera partición de tu primer disco a una pequeña particion FAT para arranque (como el procedimiento de instalacion te aconseja), entonces una vez que Linux esta instalado deberias copiar loadlin.exe y MILO a esta partición. Una vez lo apages, puedes modificar la opción Linux del menu para cargar MILO de esta partición como sigue:

Una vez hecho esto, arrancar y correr Linux en un sistema basado en AlphaBIOS deberia ser muy similiar a hacerlo en un sistema ARC.

E.5.3 Cargando MILO desde el Debug Monitor de la Evaluation Board

Cargando MILO desde el Debug Monitor de la Evaluation Board

Las placas de evaluación (y a menudo diseños clonicos de ellas) incluyen soporte para el Debug Monitor de la Alpha Evaluation Board. Consulta la documentación de tu sistema antes de considerar este metodo de arrancar MILO.Son conocidos los siguientes sistemas que incluyen soporte para el Debug Monitor:

Antes de considerar este metodo, debes tener en cuentar que en las primeras versiones del Debug Monitor de la Evaluation Board no incluain manejadores de video o teclado por lo que debes estar preparado para conectar otro sistema a traves del puerto seria pudiendo usar así el Debug Monitor. Su interfaz es muy simple y tecleando help muestra un monton de comando. Los que son más interesantes incluyen la palabra boot o load en ellos.

El Debug Monitor de la Evaluation Board puede cargar una imagen bien a traves de la red (netboot) o a traves de disquette (flboot). En ambos casos, configurar la direccion de 0x200000 (> bootadr 200000) antes de arrancar la imagen.

Si la imagen esta en un disquette (y tengase en cuenta que solo los disquettes formateados en DOS estan soportados), entonces necesitaras teclear el siguiente comando:

     AlphaPC64> flboot <MILO-image-name>

E.5.4 Cargando MILO desde un Failsafe Boot Block Floppy

Cargando MILO desde un disquete de arranque contra fallos

Solo el AxpPCI33 se sabe que incluye el soporte para un disquette de arranque contra fallos (Sección E.5.7.1).

Si no tienes una imagen estandard de MILO pre-generada con extensión .dd, entonces necesitaras generar un disquette de arranque para SRM. Una vez has generado el MILO, necesitas hacer lo siguiente en una máquinacon Unix de Digital:

     fddisk -fmt /dev/rfd0a
     cat mboot bootm > /dev/rfd0a
     disklabel -rw rfd0a 'rx23' mboot bootm

O en una máquina con Linux:

     cat mboot bootm > /dev/fd0 

Si tienes disponible una imagen estandard de MILO (digamos MILO.dd) entonces podras generar un disquette de arranque usando el siguiente comando:

     dd if=MILO.dd of=/dev/fd0 

E.5.5 Cargando MILO desde la Flash

Cargando MILO desde la Flash

Existen ciertos sistemas donde MILO puede ser movido a la flash y arrancado directamente (en vez de a traves del firmware Windows NT ARC):

E.5.6 Cargando MILO desde la Consola de SRM

Cargando MILO desde la Consola de SRM

La consola de SRM (abreviatura de System Reference Manual) no sabe nada acerca de sistemas de ficheros o particiones de disco, simplemente espera que el cargador secundario ocupe un rango consecutivo de sectores del disco físico comenzando desde un offset dado. La informació que describe el cargador secundario (su tamaño y offset) se da en el primer bloque de 512 bytes. Para cargar MILO a traves del SRM debes generar esa estructura en un dispositivo al que pueda acceder el SRM (como un disquette). Esto es por lo que mboot y bootm, mboot es el primer bloque (o descripción de arranque) y mboot es la imagen de MILO image ROUNDED UP a un elemente de 512 bytes.

Para cargar MILO desde un dispositivo de bloque de arranque, generar ambos mboot y bootm y ponerlas en el dispositivo de arranque usando el siguiente comando:

        $ cat mboot bootm > /dev/fd0

O, Coge el MILO.dd apropiado de un web SITE y escribelo en el dispositivo de arranque usando RAWRITE.EXE o dd.

Una vez hecho esto puedes arrancar la consola de SRM y usar uno de sus numerosos comandos para arrancar MILO. Por ejemplo, para arrancar MILO desde un disquette de arranque de bloque podrias usar el siguiente comando:

        >>>boot dva0
        (boot dva0.0.0.0.1 -flags 0)
        block 0 of dva0.0.0.0.1 is a valid boot block
        reading 621 blocks from dva0.0.0.0.1
        bootstrap code read in
        base = 112000, image_start = 0, image_bytes = 4da00
        initializing HWRPB at 2000
        initializing page table at 104000
        initializing machine state
        setting affinity to the primary CPU
        jumping to bootstrap code
        MILO Stub: V1.1
        Unzipping MILO into position
        Allocating memory for unzip
        ####...

Los siguientes sistemas se sabe que tienen la consola SRM soportada:

E.5.7 Información específica de sistema

Información específica de sistema

E.5.7.1 AxpPCI33 (Noname)

AxpPCI33 (Noname)

La placa Noname puede cargar MILO desde el firmware de Windows NT ARC (Section E.5.1), desde la consola SRM (Section E.5.6). y desde un disquette de arranque contra fallos (Section E.5.4). Una utilidad de gestión de flash, ejecutable desde MILO esta disponible una vez que MILO esta corriendo, puede ser movido a la flash (Section E.7). Sin embargo, hay que tener cuidado ya que una vez que has hecho esto podrís perder la imagen mantenida alli ya que solo hay sitio para una sola imagen.

La forma en la que la placa Noname arranca se controla por un conjunto de jumpers en la placa, J29 y J28. Estos son asi:

                    4
        J29     2 x x x 6
                1 x x x 5

        J28     2 x x x 6
                1 x x x 5
                    3

Las dos opciones en las que estamos interesados son J28, pines 1-3 los cuales arrancan la consola/cargador desde la flash y J29, pines 1-3 los cuales arrancan la consola/cargador desde un disquette de arranque. La segunda opción es la necesaria para arrancar MILO por primera vez en una placa Noname.

Una vez has seleccionado la opción de arranque desde disquette a traves de los jumpers, pon el disquette de arranque de SRM en la disquetera que contenga MILO y rearranca. En unos pocos segundos (despues de que la luz de la disquetera se apague) deberias ver pasar la pantalla de negro a blanco y MILO indicandote que esta sucediendo.

Si estas realmente interesado en el STUFF técnico, la placa Noname carga la imagen desde el disquette a la dirección física 0x104000 y las imagenes de la flash en la 0x100000. Por esta razón, MILO esta generado con su PALcode comenzando en la dirección 0x200000. Cuando se carga la primera vez, se mueve el mismo a la localización correcta (ver relocate.S).

E.5.7.2 AlphaPC64 (Cabriolet)

AlphaPC64 (Cabriolet)

El AlphaPC64 incluye el firmware Windows NT ARC (Sección E.5.1), la consola SRM (Sección E.5.6) y el Debug Monitor de evaluación (Sección E.5.3). Estas imagenes estas en la flash y hay sitio para añadir el MILO por lo que se puede arrancar MILO directamente desde la flash. Una utilidad de gestión de la flash, ejecutable desde MILO esta disponible por lo que una vez MILO se esta ejecutando, puede ser movida a la flash (Sección E.7). Este sistema soporta las variables de entorno de MILO.

Puedes seleccionar entre las opciones de arranque (y MILO cuando ha sido puesto en la flash) usando una combinación de jumpers y una opción de arranque la cual esta salvada en la NVRAM del reloj TOY.

El jumper es J2, SP bits 6 y 7 tienen el siguiente significado:

Asín, con el bit 7 quitado, el Debug Monitor podria arrancarse siempre que sea la primera imagen en la flash. Con el bit 7 puesto, la imagen seleccinada por la opción de arranque en el reloj TOY sera seleccionada. El Debug Monitor, el firmware Windows NT ARC y MILO soportan configurar este byte de opción de arranque pero debes ser muy cuidadoso usandolo. En particular, no puedes configurar la opción de arranque para que la proxima vez que el sistema arranque MILO cuando estas ejecutando el firmware de Windows NT, solo permite configurar como opciones de arranque el Debug Monitor o Windows NT ARC.

Para tener el MILO en la flash a través del Debug Monitor de la Evaluation Board, necesitaras una imagen que pueda cargarse en la flash. Los procedimientos de generación preparan la MILO.rom, pero también puedes preparar una imagen rom usando la herramienta makerom en el software Debug Monitor que viene con la tarjeta:

    > makerom -v -i7 -l200000 MILO -o mini.flash

(teclea makerom para encontrar que significan los argumentos, pero 7 es una identificación de la imagen flash usada por el srom y -l200000 da la dirección de carga para la imagen en 0x200000).

Cargar la imagen en memoria (a través de los comandos del Debug Monitor fiload, netload, y SO ON) en la dirección 0x200000 y luego mover la imagen a la flash:

     AlphaPC64> flash 200000 8

(200000 es donde la imagen a ser movida esta en memoria y 8 es el número de segmento donde pondrás la imagen. Hay 16 segmentos de 1024*64 bytes en la flash y el Debug Monitor esta en el segmento 0 mientras que el firmware Windows NT ARC esta en el segmento 4).

Configurar la imagen que el srom arrancara escribiendo el numero de la imagen en el reloj TOY.

     AlphaPC64> bootopt 131

(131 significa arrancar la tercera imagen, 129 = primera, 130 = segunda y asi sucesivamente).

Apagar, poner el jumper 7 y arrancar, deberias ver el intensa actividad de MILO arrancando. Si no, quitar de nuevo el jumper 7 y rearrancar el Debug Monitor.

E.5.7.3 EB66+

EB66+

La EB66+, como todas las Evaluation Boards de Alpha fabricadas por Digital contiene el Debug Monitor de la Evaluation Board, por esto esta disponible el cargar MILO (Sección E.5.3). Muy a menudo (aunque no siempre) aquellas tarjetas cuyo diseño esta derivado deestas incluyen el Debug Monitor también. Usualmente, estas placas incluyen el firmware Windows NT ARC (Sección E.5.1). Una utilidad de gestión de la flash, ejecutable desde MILO esta disponible por lo que una vez MILO se esta corriendo, se puede mover a la flash (Sección E.7). Este sistema soporta las variables de entorno de MILO.

Estos sistemas tienen varias imagenes de arranque en la flash controladas por jumpers. Los dos bancos de jumpers son J18 y J16 y estan localizados por debajo de la placa en el medio (si el chip Alpha esta arriba). Seleccionas entre las opciones de arranque (y MILO cuando ha sido puesto en la flash) usando una combinación de jumpers y una opción de arranque la cual esta salvada en la NVRAM del reloj TOY.

Los jumper 7-8 de J18 puestos significa arrancar de la imagen descrita por la opción de arranque. Los jumpers 7-8 de J18 quitados significan arrancar el Debug Monitor de la Evaluation Board.

Para mover una imagen a la flash a través del Debug Monitor de la Evaluation Board es exactamente el mismo procedimiento que para el AlphaPC64 (Sección E.5.7.2).

E.5.7.4 EB64+/Aspen Alpine

EB64+/Aspen Alpine

Este sistema es bastante parecido al AlphaPC64 excepto que no contiene una flash desde la cual pueda cargarse MILO. El EB64+ tiene dos ROMs, una de las cuales contiene el firmware Windows NT ARC (Sección E.5.1), y la otra contiene el Debug Monitor de la Evaluation Board (Sección E.5.3).

La Aspen Alpine es un poco diferente en esto ya que solo tiene una ROM; esta contiene el firmware Windows NT ARC.

E.5.7.5 Caja universal de sobremesa (Multia)

Caja universal de sobremesa (Multia)

Este es un sistema muy compacto pre-empaquetado basado en 21066 que incluye un dispositivo gráfico TGA (21030). Aunque puedes poner una tarjeta gráfica PCI de media altura en la caja haras mejor en esperar un soporte completo de TGA en el XFree86. Incluye el firmware Windows NT ARC por lo que arrancar de este es el metodo preferido (Sección E.5.1).

E.5.7.6 EB164

EB164

La EB164, como todas las placas de evaluación fabricadas por Digital contienen el Debug Monitor de la Evaluation Board y es por lo que es posible cargar MILO (Sección E.5.3). Muy a menudo (aunque no siempre) las placas cuyo diseño esta derivado de estas incluyen también el Debug Monitor. Usualmente, estas placas incluyen el firmware Windows NT ARC (Sección E.5.1). La consola SRM console esta también disponible (Sección E.5.6). Una utilidad de gestión de flash, ejecutable desde MILO esta disponible por lo que una vez MILO este corriendo, puede ser movido a la flash (Sección E.7). Este systema soporta las variables de entorno de MILO.

Estos sistemas tienen varias imagenes de arranque en la flash controladas por jumpers. Los dos bancos de jumpers son J1 y estan localizados en la parte inferior de la placa a la izquierda (si el chip Alpha esta en la parte superior). Seleccionas entre las opciones de arranque (y MILO cuando ha sido puesto en la flash) usando una combinación de jumpers y una opción de arranque la cual esta salvada en la NVRAM del reloj TOY.

El jumper SP-11 de J1 puesto significa arrancar la imagen descrita por la opción de arranque. El jumper SP-11 quitado significa arrancar el Debug Monitor de la Evaluation Board.

Para mover una imagen a la flash a través del Debug Monitor de la Evaluation Board es exactamente el mismo procedimiento que para el AlphaPC64 (Sección E.5.7.2).

E.5.7.7 PC164

PC164

El PC164, como todas las placas de evaluación de Alpha fabricadas por Digital contiene el Debug Monitor de la Evaluation Board y por eso es posible cargar MILO (Sección E.5.3). Muy a menudo (aunque no siempre) aquellas placas cuyo diseño esta derivado de estas incluyen también el Debug Monitor. Usualmente, estas placas incluyen el firmware Windows NT ARC (Sección E.5.1). La consola SRM esta también disponible (Sección E.5.6). Una utilidad de gestión de la flash, ejecutable desde MILO esta disponible por lo que una vez MILO esta corriendo, puede ser movido a la flash (Sección E.7). Este sistema soporta las variables de entorno de MILO.

Estos sistemas tienen varias imagenes de arranque en la flash controladas por jumpers. El bloque principal de jumpers, J30, contiene los jumpers de configuración del sistema y el jumper CF6 puesto significa que el sistema arrancará del Debug Monitor, por defecto esta quitado.

Mover una imagen a la flash a través del Debug Monitor de la Evaluation Board es exactamente el mismo procedimiento que para el AlphaPC64 (Sección E.5.7.2).

E.5.7.8 XL266

XL266

El XL266 es uno de una familia de sistemas que se conocen como Avanti. Tiene una tarjeta vertical que contiene el chip Alpha y la cache que se inserta en la placa madre en angulo recto. Esta placa puede reemplazar a la placa equivalente de Pentium.

Algunos de estos sistemas vienen con la consola SRM pero otros, notablemente el XL266 viene solo con el firmware Windows NT ARC. (Sección E.5.1).

Aqui esta mi lista de sistemas compatibles:

Nota El sistema que he utilizado para desarrollar y probar el MILO es un XL266 y por esto es el único que puedo garantizar que funcionara. Sin embargo, tecnicamente, todos los sistemas anteriores son equivalentes; tienen los mismos chipsets y los mismos mecanismos de tratamiento de interrupciones.

E.5.7.9 Platform2000

Platform2000

Este es un sistema basado en el 21066 a 233MHz.


Siguiente Arriba Anterior Contenido Indice