IntuitionBase Banner

Utilizando las configuraciones de arranque

Ficheros 'Kickstart' en disco.

En un Amiga clásico teníamos una ROM que contenía las librerías básicas: Exec, Dos, Intuition... La ROM hacía posible arrancar desde un disco en el que no hubiera un sistema instalado, cargando sin Startup-Sequence, permitiéndole utilizar una consola básica desde la que realizar unos 'primeros auxilios' a su sistema.

Uboot, la ROM del AmigaOne, inicializa el hardware y carga un sistema operativo, pero no incorpora las librerías necesarias para cargar AmigaOS (no le permite arrancar sin Startup-Sequence como en el Clásico). Sin embargo, dispone de los componentes clave (ExecSG, FFS2...) almacenados en disco, como cualquier otro fichero, y deben estar situados en el directorio SYS:Kickstart. Las ventajas de este sistema es que ahora es posible actualizar el SO con tan sólo actualizar uno de esos módulos. El inconveniente es que es fácil inutilizar su partición de arranque, dando como resultado un SO que no cargará: una librería de una version errónea, un módulo que falta, etc.

Las configuraciones de módulos Kickstart.

¿Ha intentado actualizar su OS4 y dio un paso en falso? ¿Su sistema ya no carga? ¡No hay problema!
Como buen Amiguero, Ud. dispone de configuraciones de seguridad. Sí, es posible definir tantas configuraciones de módulos Kickstart como sea necesario.

Para entender como funciona es necesario echar un vistazo al fichero Kicklayout en SYS:Kickstart, un fichero de texto que puede editar fácilmente con su editor de textos preferido y que contiene las configuraciones que el SLB (Second Level Booter, o Cargador de Segundo Nivel) cargará. Su composición es sencilla: una línea que comienza con la palabra "LABEL" define el nombre de la configuración que sigue, la líneas que empiezan con la palabra "MODULE"  le permiten declarar cada uno de los módulos que deberán ser cargados por esa configuración. Hay también una línea "EXEC Kickstart/loader" que Ud. probablemente no cambiará nunca: es el programa que sitúa los módulos en memoria antes de ser ejecutados.

Ejemplo:
          LABEL Default
          EXEC Kickstart/loader

          MODULE Kickstart/kernel
          MODULE Kickstart/a1ide.device.kmod
          ....etc.

Para poder crear diferentes configuraciones, sólo tiene que editar el fichero Kicklayout. Por ejemplo, será capaz de crear una configuración por omisión que será cargada cada vez que arranque el sistema, una confiración de respaldo que podrá cargar siempre, otra para probar un módulo que acaba de desarrollar (si es Ud. programador), etc.

Puede elegir la configuración que desea cargar modificando el campo "Configuration" del menú de selección de arranque de UBoot. Por supuesto, se cargará por omisión la configuración llamada "Default" en su fichero Kicklayout si no cambia ese valor en Uboot.

¿Cómo puedo crear diferentes configuraciones?

Tan solo tiene que definir diferentes configuraciones en su fichero Kicklayout junto con la lista de módulos a cargar en cada una de ellas. Como ejemplo: ha descargado una actualización del kernel del OS4 y quiere instalarla, pero, para estar seguro, prefiere mantener la configuración "Default" que usa siempre. Entonces sólo tiene que copiar todas las líneas de la configuración "Default", pegarlas a continuación al final del fichero Kicklayout, darle un nuevo nombre y definir el nombre de fichero del kernel que quiere utilizar:

          LABEL Default
          EXEC Kickstart/loader
          MODULE Kickstart/kernel
          ....etc.

          LABEL update
          EXEC Kickstart/loader
          MODULE Kickstart/updated-kernel
          ....etc.

Puede entonces arrancar su A1 entrando en UBoot para decirle al SLB que desea cargar la configuración "update".

Administración sencilla de las configuraciones.

Si crea varias configuraciones, verá que tener diferentes versiones de varios módulos pueden sobrecargar su directorio Kickstart.

          kernel
          kernelv2
          kernel-51.0
          kernel-01-01-2004
          ....etc.

Eso hará más difícil leer el contenido del directorio, lo que le puede llevar fácilmente a cometer errores, por lo que le recomiendo que cree un direcorio por configuración, haciendo más fácil la creación de nuevas configuraciones o comparar dos de ellas para identificar qué modulos son más recientes.

Mi directorio Kickstart se parece a esto:

          Kickstart (dir)
              ConfigOK (dir)
                  module1.kmod
                  module2.kmod
              ...
              Default (dir)
                  module1.kmod
                  module2.kmod
              ...
              Debug (dir)
                  module1.kmod
              ...


Conclusión

Este sistema permite corregir con facilidad una configuración errónea. Por supuesto, si tiene problemas más serios, como un fallo del disco duro, el SLB será incapaz de leer los módulos Kickstart. En ese caso, no le será posible llegar hasta el Early Startup Menu (o Menú de Carga Temprano) para poder arrancar sin Startup-Sequence, necesitará arrancar desde su CDROM de OS4 y solucionar el problema. Esperemos que un día, con un mercado más grande, podamos disponer de nuevo de una ROM real...


Escrito por:
Philippe 'Elwood' Ferrucci

Traducido al castellano por:
Ferrán García, alias 'Ferry'
©2004-2011 IntuitionBase