La Gaceta de Linux ...¡ haciendo a Linux un poco más divertido !

Knoppix con núcleo 2.6.7 desde un CD-ROM no arrancable

Por Anónimo

Traducción al español por Viktor Salazar
el día 13 de Enero de 2005, para La Gaceta de Linux

Introducción

Quieres iniciar Knoppix y no puedes arrancar desde CD-ROM ya sea por razones técnicas o administrativas. Puedes intentar iniciar el CD de Knoppix desde la unidad de diskette. Para eso necesitarás un diskette de arranque de knoppix.

La versión reciente de Knoppix 3.4 de Mayo de 2004 se basa en el núcleo (kernel) 2.4.x pero tiene el núcleo 2.6.6 como opción. De igual forma, Knoppix 3.7 del 20 de Agosto tiene el núcleo 2.6.7 como opción. Esta última versión está -por razones de tiempo- disponible sólo en Alemania, como un CD de una revista de cómputo. Sin embargo, una versión general, posiblemente con núcleo 2.6.8 está por llegar, y por tanto es sensato atribuír al nuevo núcleo el porqué su tamaño va creciendo y creciendo y sobrecargando los diskettes.

Nos referiremos al nuevo núcleo de Knoppix como knoppix26 usando el mismo nombre que en el CD de configuración de arranque. Desafortunadamente, knoppix26 no arranca desde un diskette, necesita dos.

Cuando está corriendo, knoppix26 tiene un script en

    /KNOPPPIX/usr/sbin/mkbootfloppy

que hace éstos dos diskettes - pese al singular nombre. Sin embargo, los diskettes así generados dependen del núcleo en uso. Si los quieres para poder arrancar 2.6.x, tienes que escribirlos mientras está corriendo 2.6.x - lo cual es un poco paradójico. Modificar el script es paradójico de nuevo, puesto que el script no es accesible directamente desde el CD de la distribución de Knoppix, y se vuelve de sólo lectura cuando Knoppix está corriendo. Puede ser encontrado en la red en forma editable pero hacer uso sensato de él será más laborioso que el consejo encontrado en este artículo, especialmente con respecto al núcleo 2.6.7 que no cabe en absoluto en un diskette de 1.4M

Entonces si tu CD-ROM no arrancará, cómo vas a hacer para arrancar knoppix26 desde la unidad de diskette?

Requisitos previos

Necesitas tener cierta familiaridad con sistemas linux. Afortunadamente puede ser adquirida sobre la marcha, ver http://syslinux.zytor.com.

Opción 1

Considera los siguientes cargadores de arranque (de cadena):

    http://bootcd.narod.ru/bcdw150z_en.zip
    http://btmgr.sourceforge.net/download.html

Ambos pueden crear un diskette de arranque que inicie un CD (arrancable), aún si el CD-ROM no es capaz de arrancar. En el caso particular del CD de Knoppix, la buena noticia es que ambos lo arrancarán desde un CD-ROM no-arrancable.

Esto será de ayuda si quieres minimizar el trabajo preliminar. Desafortunadamente, si no estás instalando Knoppix al disco duro, puedes terminar tecleando bastante en la línea de comandos cada vez que lo inicies.

[Por favor no se malinterprete el comentario previo como una crítica a los dos cargadores de arranque. Son muy prácticos en otras situaciones también.]

Opción 2

El mayor obstáculo es el tamaño del núcleo iniciado con la versión 2.6.7. En la versión 2.6.6 de Knoppix, el núcleo podría caber en un diskette de 1.4M. Ahora necesitarás formatear el diskette a 1.68 - el mismo tamaño que Microsoft usa ocasionalmente para sus diskettes. Para ese propósito, puedes usar winimage bajo windows, fdformat bajo DOS o superformat/fdformat bajo Linux. Buena suerte, porque los diskettes vendidos para 1.4M de capacidad no necesariamente aceptan un formateo sin defectos a mayor capacidad. Mi experiencia es que necesitas una caja de diez para obtener un diskette tolerante. Si quieres una verificación estricta, usa winimage y verás la masacre.

Cuando hayas formateado el diskette, hazlo un diskette de arranque syslinux. Esto puede ser hecho desde DOS, Windows, Linux - depende de tí. No se ofrece futura ayuda aquí para ello. Este diskette de arranque contendrá sólo un pequeño fichero, ldlinux.sys.

En el CD de Knoppix 3.7, hay un directorio /boot/isolinux donde encontrarás los siguientes ficheros, entre otros:

    boot.msg              141
    f2                  1,561
    f3                  1,688
    isolinux.cfg        2,642
    linux26         1,458,194
    minirt26.gz       791,321

Copia todos los archivos, excepto el último al diskette syslinux mencionado antes. Renombra isolinux.cfg a syslinux.cfg y editalo como sigue:

DEFAULT knoppix26
TIMEOUT 300
PROMPT 1
DISPLAY boot.msg
F2 f2
F3 f3
LABEL knoppix26
KERNEL linux26
APPEND load_ramdisk=1 prompt_ramdisk=1 root=/dev/fd0 rw init=/etc/init lang=us apm=power-off nomce BOOT_IMAGE=knoppix
LABEL expert26
KERNEL linux26
APPEND load_ramdisk=1 prompt_ramdisk=1 root=/dev/fd0 rw init=/etc/init lang=us apm=power-off nomce BOOT_IMAGE=expert

Este es ahora un diskette de arranque para el núcleo 2.6.x, el disco ram inicial que es leído desde un segundo diskette. Teclea knopix26 en el prompt de inicio. Rápidamente te pedirá que insertes el segundo diskette, entonces debes tenerlo listo.

El segundo diskette debe ser una copia "raw" (a bajo nivel) de minirt26.gz. Es decir, no puedes formatearlo con un sistema de archivos y poner minirt26.gz en el sistema de archivos. Cuando el syslinux lee el diskette, espera el contenido binario de minirt26.gz y nada más. No asumirá un sistema de archivos ni buscará un fichero en él.

La pregunta es: cómo copias el fichero raw al floppy? Aquí está el comando (corre bajo Linux, desde el CD de Knoppix, en el directorio /boot/isolinux):

    dd if=minirt26.gz of=/dev/fd0 bs=18k

El valor de bs no es indispensable, sólo determina el tamaño de las porciones leídas y escritas. (Un diskette de 3.5" de alta densidad tiene una pista de 18k.) El diskette puede o no ser montado. Si no es montado, incluso no necesita ser formateado ya que el formato será destruído de todos modos.

A propósito, la copia raw se puede hacer también bajo DOS/Windows con una utilidad que pueda escribir a un sector físico haciendo caso omiso del sistema de archivos. Una de tales utilidades es el Editor de Disco de Norton.

Después de insertado el segundo disco de arranque, knoppix26 iniciará.

Lo que se espera

Evidentemente, la opción 2 no puede ser recomendada para cualquiera, es demasiado lío. los cargadores de arranque de cadena mencionados arriba son la forma de hacerlo. Note que Microsoft ha cambiado a un cargador de arranque de cadena para sus CDs de XP para manejar CROMs no-arrancables.

No obstante, tenemos aquí algunos progresos que ver. Con el núcleo de Linux demasiado grande para un diskette normal de 1.4M, syslinux será relegado a diskettes de rescate, no dará más soporte para las presentes versiones de Linux.

E incluso lilo alienta a la salida. Con el núcleo 2.4.x, un diskette de lilo puede puede incluso arrancar un Knoppix instalado a una partición no arrancable: tienes windows para arranque directo normal desde disco duro, Knoppix también en el disco duro, pero iniciado desde diskette, sin conflictos. Esto puede aún ser factible para el núcleo 2.6.x si el hardware no requiere de algún driver especial al momento del arranque y el disco ram inicial puede ser provisto con él. Si necesitas un disco ram inicial, espera que su tamaño sea del orden de los 4M: tendrás que modificarlo para que quepa en un diskette, en cuyo caso tienes de nuevo un acercamiento a la opción 2. Si no es posible entonces el disco ram inicial tendría que estar en el disco duro y lilo simplemente no es capaz de encontrarle.

Salir de sylinux, salir de lilo, todo apunta a grub. Y puede ser que lo lancen en un CD de arranque como valor adicional?

Copyright © 2004, Anónimo. Publicado bajo Open Publication license

Publicado en el Número 107 de La Gaceta de Linux, Octubre de 2004.