|
Página 4 de 9
Ahora sería el momento de utilizar el WarpBoot para
que el kernel con el que vamos a experimentar muestre siempre los archivos que carga
o intenta cargar. Si no, habrá que pulsar Alt+F2 cada vez que vayamos a arrancar
el sistema, lo que puede resultar bastante engorroso.
Un detalle importante a tener en cuenta es que el primer IFS
que se cargue en el config.sys ha de ser el que corresponda a la partición
que se esté arrancando. P.e. si arrancamos desde una partición HPFS,
la línea IFS=HPFS.IFS debe ser la primera de todos los IFSs o nos encontraremos
con un bonito error. Como el soporte FAT del OS/2 está -desgraciadamente-
dentro del kernel de OS/2 no es necesario ningán IFS para FAT, por lo que
si arrancamos desde una unidad FAT es igual para el proceso de arraque en qué
orden se cargan los IFSs. Incidentalmente, como el arranque desde CD se realiza
emulando un disquete, que en OS/2 sólo admite formato FAT, no es necesario
cargar primero el HPFS.IFS al arrancar el CD. La consecuencia más inmediata
de esto es que una vez que esté todo listo el primer IFS en cargar será
el CDFS para poder leer el resto de programas, etc. del CD de arranque. Pero no
adelantemos acontecimientos...
Tras bastantes arranques viendo de qué archivo se queja
esta vez nuestro sistema (recomiendo encarecidamente hacer todas estas pruebas en
una partición de mantenimiento; es más rápida que un disquete
Esta es la lista de los archivos ***mínimos*** que necesitamos para arrancar
un sistema OS/2, si bien hemos de hacer algunas consideraciones:
Lógicamente, cada uno ha de poner los controladores de su(s) adaptador(es)
SCSI en lugar del mío, eliminar el IBM1S506.ADD si no usa IDE (o quitar el
IBMINT13.I13 si no lo necesita), combinar ambos en el orden adecuado para que no
le cambien las letras de unidad, etc. Tales cosas no entran dentro del propósito
de este artículo, aunque quizá sí del de una posible ampliación.
Se admiten sugerencias. Obviamente, un sistema mínimo es un arranque de indicador
de mandatos. No obstante, todavía no es momento de desesperarse. Ya llegaremos
al PM. O quizá otro día. Pa-cien-cia ;-) Sistema mínimo, pero
no tan mínimo que no podamos ejecutar varias cosas. Ver más adelante
y comentarios del CONFIG.SYS. También se ha incluido
soporte REXX, que no es imprescindible. El CONFIG.SYS del sistema que acabamos de
crear se encuentra aquí. Como la lista
de archivos y el CONFIG.SYS se han construido a la
par, nuestro config.sys ya se halla optimizado de salida, excepto por las sentencias
SET, que aán no tengo claro si se leen al principio o al final ;-).
La idea era obtener un sistema OS/2 lo más pequeño
posible que nos permita acceder a todo nuestro sistema y ejecutar algunos programas
sencillos. El sistema ha de ser lo más pequeño posible porque en principio
no vamos a disponer de más de 2.88 Megabytes de espacio, debido a las dificultades
del arranque desde CD. Pero tampoco sería muy lógico ahorrar espacio
a base de quitar controladores que nos permitan acceder p.e. a la disquetera o los
discos duros, ィno?.
El sistema mínimo que hemos construido cumple estos
dos requisitos: nos permite acceso básico a todos los sistemas de archivos
del sistema y ocupa muy poco espacio. Además podemos ejecutar programas en
modo texto.
Pero a diferencia de p.e. Windows 98, en OS/2 el entorno gráfico
no tiene nada que ver con la multitarea y la protección de memoria, es decir,
que así y todo podemos ejecutar varias cosas a la vez (ュque aprendan
los g?indoseros ;) ), p.e. editar el CONFIG.SYS de C: mientras pasamos un CHKDKS
a D:. Aquí entra el BootOS2, que a un coste de sólo 9604 bytes nos
proporciona un interfaz de modo protegido, BOS2SHL.EXE, que permite conmutar entre
sesiones. Así, podemos elegir especificar PROTSHELL=CMD.EXE en el
config.sys si queremos un sistema mínimo de verdad o PROTSHELL=BOS2SHL.EXE
para algo "un poco" mejor.
Lo que es más, podemos proporcionar a nuestro sistema
mínimo soporte REXX sin más que añadir BOS2REXX.EXE, 3 archivos
DLL y una línea a nuestro config.sys. Todo ello no nos cuesta más
que 320 kilobytes.
E incluso podemos añadir las herramientas más básicas
para trabajar: ATTRIB.EXE, CHKDKS.COM y los otros archivos comentados en la
lista sin pasar del límite de 2.88 Mb.
En teoría, ya tenemos un sistema que arranca, ocupa
poco sitio y nos permite mirar cualquier parte del sistema salvo de momento, puertos
serie, paralelo y otra cosillas, pero todo se andará. Como digo, el sistema
que tenemos en este momento funciona. Al menos el mío lo hace. Si en este
punto tan temprano alguien tiene dificultades lo mejor es que se ponga en contacto
conmigo.
Ha llegado la hora de transferir el sistema a un CD y ver
qué pasa. Yo tuve que realizar montones de pruebas y darle la brasa a un
montón de gente durante la confección y pruebas de mi sistema, por
lo que recomiendo que se utilicen CDs REgrabables y se disponga de un lector capaz
de leerlos, no como yo ;-) Antes de transferir el sistema, huelga decir que la linea
BASEDEV=CD_BOOT.FLT y el archivo correspondiente deben estar en su lugar,
¿o no?.
Si alguien ha logrado generar un sistema arrancable *completo*
en un solo disquete o dividirlo en dos disquetes que lo diga ahora y me deje en
ridículo o que calle para siempre ;). Para que un CD arranque, ha de tener
en su seno una imagen de un disquete de arranque de 1.44 o 2.88 Megabytes, hecha
sector a sector. ィCómo obtenemos esta imagen a partir de nuestro sistema?.
Si el sistema mínimo estaba en un disquete, basta con ejecutar SAVEDSKF
X: IMAGEN.144 /D /A, donde X: es la disquetera que estemos usando e IMAGEN.144
el archivo imagen. Obviamente, este es el procedimiento que hay seguir también
si se está trabajando con un disquete de 2.88 Mb. Si el sistema estaba en
dos disquetes no tengo la menor idea de cómo hacerlo. PROCEDIMIENTO EXPERIMENTAL
NO PROBADO: En principio, habría que modificar el
config.sys para que la línea del filtro de arranque sea BASEDEV=CD_BOOT.FLT
/2, se crean dos imágenes IMAGEN_1.144 e IMAGEN_2.144 que habría
que unir mediante COPY /B IMAGEN_1.144 + IMAGEN_2.144 TODO.288, y tendríamos
el archivo TODO.288 listo para seguir. Si estamos trabajando en una partición
del disco duro, entonces vamos a utilizar el Super Virtual Disk, en cuatro pasos
muy sencillos:
-Una vez instalado,se configura para simular un disquete de 2.88 Mb en la unidad
X:.
-Se pone arranque en ella mediante SYSINSTX X:.
-Se copian a ella todos los archivos del sistema de arranque *SALVO* OS2BOOT.
-Se crea una imagen de ella mediante SAVEDSKF X: IMAGEN.288 /D /A
Una vez que hemos creado el archivo imagen de nuestro sistema,
hay que montarlo en un CD y marcarlo como arrancable. En la plataforma Windows hay
varios programas que permiten hacer esto pero que no vamos a comentar ;-). En OS/2
podemos hacerlo con RSJ, MakeIsoFS y CDRecord o con Unite CD Maker:
La opción de RSJ es la más sencilla: una vez montado un CD en blanco
en la unidad X: no hay más que copiar el archivo imagen a ella y ejecutar
CDBOOT X:\ARRANQUE.288 (o el nombre que hayamos puesto). Al cerrar la sesión
el archivo queda marcado como imagen de arranque y empieza la fiesta... Con MakeISO
hemos de crear una imagen ISO de los archivos que vayamos a incluir en el CD, tal
que así:
MKIsoFS -b imagen.288 -c bootcat.bin /V Prueba -o IMAGEN.ISO c:cosas,asumiendo
que el archivo C:COSASIMAGEN.288 es el archivo imagen que queremos utilizar para
arrancar, C:\COSAS\bootcat.bin NO
EXISTA y queramos que el resto de archivos de C:COSAS acaben en el CD. Cómo
generar un CD a partir de esta imagen ISO queda como ejercicio para el estudiante
aventajado (lo siento, pero es que menuda paliza de escribir me estoy dando). Como
siempre, en caso de duda, no hay ningán problema en contactar conmigo. Podemos
hacerlo con cdrecord o con cdview (de RSJ). Aunque dispongo de una copia de Unite
CD Maker, desgraciadamente este programa no reconoce ninguna de mis grabadoras,
por lo que no tengo idea de cómo manejarlo. Se agradecería que cualquiera
facilitase información sobre cómo añadir a Unite CD Maker soporte
para más grabadoras o una dirección de contacto de los señores
de Cirrus.
|