Arxius

Uso de la Catux-USB 0.1 (Versión Sólo Linux, castellano)

Escrit al 2004-11-13 00:00:00 per cpina

Tal com es va comentar al mes de Setembre es va publicar a la Sólo Linux un article sobre Catux-USB.

El vem posar en català fa poc i ara el posem en castellà.

Així que qui no entengui el català pot llegir-lo en castellà.
--------------------------------------------------------

Tal como se comento en el mes de setiembre se publicó en la Sólo Linux un artículo sobre Catux-USB.

Lo pusimos en catalan hace poco y ahora lo publicamos en castellano.

Así que quien no entienda el catalán lo puede leer en castellano.

CATUX-USB: UNA DISTRIBUCIÓN EJECUTADA DESDE USB


Nota: hay un artículo más breve sobre Catux-USB que quizás te interese también.
Nota2: este artículo fue publicado en la Sólo Linux en Setiembre pasado. También lo tenemos disponible en catalán.



Índice



  • Introducción

  • Utilidades de Catux-USB

  • Desaventajas de un dispositivo USB

  • "Instalando" Catux-USB

  • Configurando la BIOS

  • Posibles problemas con el arranque desde USB

  • Arranque mediante CD-ROM

  • Arrancando por primera vez

  • Haciendo login

  • Unidades montadas

  • Repaso de los ficheros

  • Cambiando el tamaño del sistema de ficheros

  • Proceso de arranque

  • Como cambiar el Kernel

  • Generer un nuevo CD

  • Como preparar la instalación desde Microsoft Windows

  • Agradecimientos

  • Conclusiones




  • Introducción


    Catux es una asociación de usuarios de GNU/Linux de Cataluña Central (http://www.catux.org) que existe desde hace más o menos un año.

    A lo largo de este año hemos realizado diversas actividades como la configuración de nuestro propio servidor, la realización en PHP de un gestor de contenido para nuestra Web o la distribución de GNU/Linux que aquí explicaremos.

    En este artículo intentaremos explicaros por qué usar esta distribución, qué ventajas tiene, como instalarla (en un Pendrive, no en un disco), trucos, etc.
    Catux-USB es una distribución de GNU/Linux basada inicialmente en los paquetes de Damn Small Linux, pero con el sistema de ficheros ext2 y el parche e2compr.

    Eso significa que nos encontramos ante la primera distribución que permite arrancar y ejecutarse desde un Pendrive de forma comprimida que tiene un uso convencional, es decir, podemos instalar, desinstalar, actualizar cuantos paquetes queramos o nos sean necesarios,... todo ello sólo con la intervención del conocido apt-get, tal y como si se tratara de una Debian convencional.

    Además Catux-USB tiene la detección de hardware automática que usa Knoppix, y unos scripts que hemos realizado o modificado (de Knoppix, Damn Small Linux,...) sobre la configuración de X-Window. De esta manera es muy fácil llevarnos la distribución a cualquier ordenador y que se adapte de forma fácil.

    La idea es facilitar un sistema base, totalmente usable, de unos 100 MB (usable en Pendrives de 128 MB, o mejor aún de 256 MB) con el cual el usuario de Catux-USB sin realizar más trabajo que el uso de apt-get actualice los paquetes que desee, o haga personalizaciones a medida de algunas necesidades. En ningún caso es necesario ser un experto en Debian para usar la distribución. El sistema que ofrecemos, aún siendo un sistema base para posteriormente añadir los paquetes que deseemos, es por defecto totalmente funcional, con XFree, un cliente Web (dillo), un cliente FTP (Xftp), otro de correo (sylpheed), un gestor de ventanas (Fluxbox), etc.

    Catux-USB no intenta ser una distribución completa y que tenga todo. Sino que nace con vocación de ser una distribución base que cubra la mayor parte de las necesidades. Aportamos en pocos MB un sistema que arranca y que tiene X-Window, un cliente de Web, FTP y correo.


    Índice


    Utilidades de Catux-USB


    ¿Es útil tener una distribución en un Pendrive? seguramente más de un lector estará pensando eso.

    A continuación describimos unas cuantas situaciones en las que sí será útil tener un sistema como éste a nuestra disposición:

    Por ejemplo, tendremos en nuestro bolsillo un dispositivo de 256 MB (por un precio bastante económico), o de 512 MB con nuestra distribución y configuraciones personales. Eso significa que podremos usar cualquier ordenador con arquitectura i386 que disponga de puerto USB como si se tratara de nuestro ordenador, entendiendo como nuestro un ordenador aquel en el que se ejecutan nuestras aplicaciones favoritas, con nuestra configuración personalizada, etc. y todo ello sin tener que hacer nada “raro” (no tenemos que remasterizar la distribución, ya que podemos escribir en ella, etc.). De este modo podemos desplazarnos con nuestro “kit” de herramientas y trabajar del modo en el que estamos acostumbrados sin tener que llevarnos un ordenador portátil.

    Otro caso sería, si necesitamos un ordenador muy silencioso. Uno de los componentes que generan ruido en un ordenador es el disco duro, y mediante Catux-USB podemos conseguir un ordenador funcional sin disco duro. Como curiosidad, hay fuentes de alimentación sin ventilador y también configuraciones de procesadores y disipadores sin necesidad de ventiladores, por tanto podríamos conseguir un ordenador sin partes móviles.

    Algunas veces es muy importante el peso (más que la capacidad) o bien el consumo eléctrico. En ambos casos, un dispositivo USB pesa mucho menos que un disco duro y también consume del orden de 10 veces menos que un disco duro.

    O bien, en un entorno con muchas vibraciones o golpes, un dispositivo USB es mucho más resistente que un disco duro típico. Un dispositivo USB puede recibir un choque de 1000G, en cambio un disco duro típico operando puede soportar un choque de 60G (según las especificaciones del fabricante).


    Índice


    Desventajas de un dispositivo USB


    Las desventajas, son las típicas de un dispositivo USB frente un dispositivo IDE como es el disco duro.

    Una de las desventajas es el coste que tiene un dispositivo USB (de momento mucho más caro que un disco duro, al menos la relación €/MB). Esta desventaja con el tiempo se irá reduciendo, al ir apareciendo cada vez dispositivos de mayor capacidad y más económicos.

    Otra desventaja es la velocidad, con USB 1.0 es unas 22 veces más lento que un disco duro. En todo caso, actualmente los procesadores tienen una capacidad de procesamiento muy alta, y al usar el parche e2compr podemos suponer que cada MB leído son 2 MB descomprimidos, ayudándos así a reducir algo esta desventaja. Con USB 2.0, cada vez más habitual, se nota algo menos la diferencia.

    Sin embargo, y salvando las diferencias existentes, en el uso habitual de una distribución (abrir y cerrar programas, modificar ficheros, etc.) nos sorprenderá agradablemente el uso de la distribución, ya que en la práctica no notaremos diferencias significativas. Sería en usos más intensivos de entrada/salida del dispositivo donde sí notaríamos bastante dicha disminución de velocidad.

    Una característica de los pendrive que podría parecer una desventaja, pero mirada con atención no lo es, es el número limitado de veces que podemos escribir en un dispositivo tipo Pendrive. Los fabricantes dan una estimación de 1.000.000 escrituras en una zona determinada. Esto es, que si escribimos 2 veces al día en el mismo sitio, resultan unas 300 sobreescrituras al año, es decir, el Pendrive nos durará más de 1.000 años, bastante más que suficiente. Pero por si fuera poco, GNU/Linux aporta un sistema de buffers/caché para acelerar el acceso a disco, que evita, como efecto colateral, las escrituras innecesarias sobre una misma zona. Además, los logs están configurados para que syslog-ng los tenga en buffers y no vaya añadiendo línea a línea. También diponemos de una opción adicional, con la que podríamos montar el sistema con la opción noatime (modificando el /etc/fstab) para evitar que escriba el tiempo de acceso a los inodos cada vez que se acceda a un fichero.


    Índice


    “Instalando” Catux-USB


    Catux-USB está pensada para ser usada en Pendrives de 128 MB , 256 MB o incluso de mayor capacidad, por lo que en ningún caso su uso modificará el disco duro.
    En los servidores, para descargarla encontraremos dos ficheros: el fichero para 128MB y el fichero para el pendrive de 256MB (llamados respectivamente catuxusb-0.1a-128.tar.bz y catuxusb-0.1a-256.tar). Hacer notar que una vez la tengamos siempre podremos adaptarla de forma fácil al tamaño que deseemos mediante unos scripts ya preparados.

    Entre las versiones de un tamaño o del otro tan sólo cambia el dimensionamiento del sistema, los paquetes son los mismos. Así si usamos el de 256 MB tendremos más espacio para poder añadir nuestros paquetes.

    En primer lugar lo descargamos de:

    ftp://ftp.salleurl.edu/pub/Linux/Distributions/Catux-USB o bien de ftp://ftp.caliu.info/pub/distribucions/catux/

    Una vez lo tengamos en el disco podremos hacer:

    bunzip2 catuxusb-0.1a-256.tar.gz
    tar -xvf catuxusb-0.1a-256.tar

    De esa forma ya tendremos en el directorio catuxusb-0.1a-256 la distribución lista para copiarla en el Pendrive. Más adelante veremos en qué consisten los ficheros que hay en ella.

    En el Pendrive tendríamos que tener una partición del tipo FAT, por ejemplo tipo 6. Podemos hacer, como root, eso:

    pinux:~# fdisk -l /dev/sda


    Y veremos algo parecido a:

    pinux:~# fdisk -l /dev/sda

    Disk /dev/sda: 255 MB, 255590400 bytes
    8 heads, 61 sectors/track, 1022 cylinders
    Units = cylinders of 488 * 512 = 249856 bytes

    Device Boot Start End Blocks Id System
    /dev/sda1 * 1 1022 249337+ 6 FAT16
    pinux:~#


    (suponiendo que el dispositivo para el Pendrive sea /dev/sda)
    Este tipo de configuración (una sola partición tipo FAT16) es la configuración que suele venir por defecto en los dispositivos Pendrives, así que seguramente no tendremos que modificar la tabla de particiones. Si por algún motivo hubiéramos modificado esta configuración con anterioridad deberemos dejarla en FAT16 de nuevo, al menos la primera partición.

    Fijémonos que tenga el asterisco en la columna Boot. Esto indica que esta partición es la activa. En caso que no lo tengamos marcado así haremos:
    fdisk /dev/sda

    Entonces presionaremos “a” y la partición número 1 para marcarla como activa.
    Comentar que Catux-USB no se ejecuta sobre la partición FAT, sinó que crea un fichero tipo ext2 compressed en la partición y se ejecuta desde allí (es transparante al usuario). También crea otro fichero tipo ext2 para el HOME (este sin comprimir).

    Una vez tengamos la partición de tipo FAT16 se ha de montar en un punto del sistema. Para montar el contenido del pendrive en el directorio /mnt/pendrive(este directorio ha de existir) ejecutaremos lo siguiente:

    mount -t vfat /dev/sda1 /mnt/pendrive

    A continuación copiamos el contenido de Catux-USB aquí dentro:

    cp catuxusb-0.1a-256/* /mnt/pendrive

    Y desmontar el dispositivo:

    umount /mnt/pendrive

    Este umount puede tardar bastante, ya que Linux tendrá que escribir realmente datos que aún están en la caché.


    Una vez hayamos hecho eso, si queremos que arranque desde el mismo USB ejecutaremos:

    syslinux /dev/sda1

    De esa forma se está escribiendo el inicio de la partición para que sea arrancable mediante un gestor de arranque llamado syslinux.
    Si no dispusiéramos del programa syslinux, se puede encontrar seguramente en nuestra distribución en un paquete llamado syslinux, o bien en esta misma dirección: http://syslinux.zytor.com/.


    Índice


    Configurando la BIOS


    Si nuestra BIOS es relativamente reciente y puede arrancar por USB los pasos a seguir serán poner el Pendrive, entrar en la BIOS. Algunas BIOS si no detectan el Pendrive mientras la estamos configurando no nos lo muestran como opción de arranque, así que mejor lo pondremos para poder configurar correctamente la BIOS.

    En la sección normalmente de “Boot Options”, en la “Boot Sequence” pondremos antes que el disco duro el USB-FDD (o bien USB-Floppy) y saldremos guardando las opciones.

    Así, cuando tengamos insertado el Pendrive nos aparecerá la carátula de la distribución (una mano) lista para arrancar.


    Índice


    Posibles problemas del arranque de USB


    Ante todo no nos tenemos que desesperar. El arranque por dispositivos USB es muy reciente y es posible que nuestra BIOS no lo soporte (en este caso no encontraremos la opción USB-FDD en el menú de la secuencia de arranque).
    También es posible que la BIOS lo soporte pero no correctamente, o bien que tenga algún tipo de incompatibilidad con nuestro dispositivo Pendrive.
    Siempre estamos a tiempo de arrancar mediante el CD-ROM, aunque tenemos algunas últimas configuraciones que verificar.

    Algo que hemos de verificar es que la opción en la BIOS de como manejar dispositivos USB esté en modo "BIOS" i no modo "legacy”. Este cambio hace que si tenemos dispositivos USB que se necesitan en el arranque (sin ningún sistema operativo) estén disponible (por ejemplo, un teclado USB, que tiene que estar disponible antes que haya algun sistema operativo para poder escribir opciones en el arranque) o en el nuestro caso: un dispositivo USB necesario para arrancar el sistema operativo.

    Si no tenemos la opción para arrancar desde USB-FDD o bien la tenemos pero no nos funciona correctamente, podemos ejecutar el syslinux con la opción -s:

    syslinux -s /dev/sda1


    Y volverlo a intentar.

    Otra opción seria buscar una actualización de la BIOS en la página Web del fabricante. Hay algunos casos que arreglan errores en el arranque relacionados con los dispositivos USB.

    De todas formas, las placas y BIOS que van saliendo actualmente cada vez son más claras en este aspecto. En el inicio de los CD-ROMs arrancables también había problemas e incompatibilidades, como toda tecnología nueva.


    Arrancando mediante CD-ROM


    Si sigue sin arrancar podemos arrancar la distribución desde un CD-ROM. Veremos que no se pierde casi ninguna de las ventajas de Catux-USB, sólo que:
    tendremos que trastear con el CD-ROM el ordenador necesitará de CD-ROM para arrancar.

    Una vez arrancado el sistema, el CD-ROM quedará libre para insertar nuevos CDs, gravar CDs, etc.

    Si arrancamos mediante CD-ROM evidentemente en la secuencia de arranque de la BIOS seleccionaremos CD-ROM como seguramente ya teníamos o hemos usado para instalar sistemas operativos.

    Comentar que si arrancamos mediante CD-ROM la parte inicial del proceso de arranque es bastante más rápida que haciéndolo mediante el mismo dispositivo USB.

    La imagen del ISO necesaria para el arranque está en /mnt/pendrive o donde hayamos descomprimido la Catux-USB. Se llama disk.iso y lo podemos grabar con el programa que usemos para grabar CD's, o si estamos en la línea de comandos mediante:

    cdrecord -v dev=0,3,0 -eject -data disk.iso

    (donde dev es el que tengamos en cada ordenador)
    Arrancando por primera vez

    Ya sea mediante el CD-ROM de arranque o mediante el dispositivo USB tendremos el logo del gestor de arranque en pantalla.

    Podemos presionar F3 para ver las opciones de arranque en castellano.
    Catux-USB es totalmente trilingüe (catalán, castellano, ingles), así que podemos arrancar mediante:

    knoppix lang=es


    Para tenerla en castellano, desde los mensajes de reconocimiento iniciales a los programas, menús, scripts.

    Si es la primera vez que arranca y le pasamos un parámetro de lenguaje Catux-USB lo guardará en el USB para las siguientes veces; siempre los mensajes a partir de donde haya accedido al USB (hay algunos mensajes anteriores que si no se especifica nada en el parámetro de arranque lang serán en inglés).

    Las otras dos opciones son lang=ca para catalán o bien lang=en para inglés.
    Al usar los scripts de autodetección de Knoppix podemos pasarle otros parámetros que veremos en pantalla como puede ser noscsi, nopcmcia, etc.
    Al ser la primera vez que arranca, cuando intente montar el directorio HOME no podrá ya que no existirá el fichero que lo representa (el HOME es un fichero en el USB en formato ext2).

    Será entonces cuando nos pedirá el tamaño del fichero HOME que deseemos. El sistema, si estamos en un Pendrive de 256 MB ocupa por defecto 170 MB así que tenemos unos 85 MB disponibles para el HOME. Haremos un HOME de más de 1 o 2 MB y menos de 85, para que no nos falte pero que no nos quedemos cortos, eso depende de lo que pensamos que guardaremos en el HOME.

    Lo que no sea ni sistema ni HOME quedará disponible como un Pendrive de forma habitual, así que tiene sentido ajustar un poco el HOME.

    Una vez le hayamos indicado el tamaño del HOME nos pedirá de forma manual que lo va a formatear y que no es un dispositivo de bloques donde le indicaremos “y” para que lo haga.

    Después continuará con el arranque normal del sistema. Veremos que el arranque, después de la ejecución del script de Knoppix de autodetección de hardware es el de una Debian normal.


    Índice


    Haciendo login


    Nos dejará entonces en la pantalla de login. Por defecto Catux-USB tiene el usuario catux con contraseña catux y el usuario root con contraseña catux, tal como nos indicará desde la misma pantalla.

    Podemos cambiar de forma habitual la contraseña de estos usuarios (mediante el comando passwd) o hasta eliminar estos usuarios, añadir otros, etc.
    En caso que queramos que Catux-USB sea una distribución segura de forma local deberíamos modificar la configuración de sudo ya que este en la práctica da permisos de root al usuario catux.

    Una vez estemos en la línea de comandos podemos trabajar como si de una Debian normal se tratara. Por tanto, y a nivel de referencia para quien no use Debian o apt-get de forma habitual podemos hacer:


    apt-get update

    Y así podríamos actualizar la lista de paquetes.
    O bien:

    apt-get install mozilla-firefox

    Si deseamos instalar el mozilla-firefox o cualquiera de los más de 10.000 programas que Debian tiene disponibles.
    Para buscar un paquete podríamos hacer:

    apt-cache search “descripción”

    Para ver el listado de paquetes:

    dpkg -l


    Y para eliminar un paquete en concreto

    dpkg --purge nombre_paquete

    Hemos realizado un script que facilita la configuración de varios aspectos de la distribución. Este se llama configurar.sh y nos permitirá configurar:

  • X-Window
  • Red
  • Idioma
  • Módem

    Veremos que los scripts son intuitivos, realizados con dialog. Son scripts de Knoppix, Damn Small Linux, del mismo sistema o propios pero adaptados para que sea trilingües en función del idioma seleccionado en el sistema.

    Podremos configurar las X-Window. Normalmente usa el driver vesa que es compatible con casi todo tipo de tarjeta gráfica, aunque podemos usar el que deseemos, para tener un rendimiento superior, aceleración 3D, etc.

    Mediante startx podremos arrancar el sistema gráfico, el cual se basa en XFree 4.3 y como gestor de ventanas hemos usado fluxbox, aunque se puede cambiar fácilmente.

    En fluxbox tenemos un fondo que presionando con el botón derecho del ratón nos aparecerá un menú con algunos de los programas que están instalados en el sistema.

    Como comentario rápido, hay disponible dillo como navegador Web (ya que ocupaba poco), sylpheed como cliente de correo, axftp como cliente FTP. Podemos añadir o quitar programas como hemos visto anteriormente.

    También tenemos el cliente ssh para conectarnos a otras máquinas, un cliente VNC, y un largo etcétera de aplicaciones aparte de las que podemos instalar.


    Índice


    Unidades montadas


    Una vez dentro de Catux-USB tendremos varias unidades montadas o preconfiguradas para montar.

    En /mnt tendremos hda1, hda2, hdb1, etc. que serán las particiones de nuestro sistema que podemos montar mediante mount /mnt/hda1. Si hay un CD-ROM lo deja también listo para montar.

    Desde el dock en el fluxbox, podemos montar o desmontar las unidades de forma gráfica.

    Además tendremos en /mnt/pendrive nuestro dispositivo USB para acceder a él si queremos.

    En /mnt/catux-usb está montado el fichero que contiene el HOME (por tanto, /home es un enlace a /mnt/catux-usb/home)

    El sistema / (root) es el mismo que miniroot.gz (un sistema en RAM) pero todos los directorios son enlaces a /KNOPPIX, el cual es el punto de montaje del fichero (tipo ext2 compressed) /mnt/pendrive/knoppix/knoppix.


    Índice


    Repaso de los ficheros


    Desde nuestra distribución habitual, si miramos el contenido de /mnt/pendrive veremos:

  • /mnt/pendrive/knoppix/knoppix. Aquí hay el sistema, es un fichero con formato comprimido mediante el parche e2compr. Así podemos tener más capacidad para programas con un sistema de ficheros totalmente escribible (hay otros como cloop que están orientados a sólo lectura). Esto tiene un problema: si no tenemos en nuestra distribución un Kernel con el parche e2compr (y de momento sólo está disponible para los Kernels 2.4.x) no podemos acceder a este fichero, por eso tenemos el HOME aparte:
    /mnt/pendrive/catux-usb.ext2. Aquí tenemos el directorio HOME de la distribución. Así que si hemos trabajado con Catux-USB y guardamos algún fichero en el HOME de ella está en este fichero. Si lo queremos montar desde nuestra distribución haremos:

    mount -t ext2 -o loop /mnt/pendrive/catux-usb.ext2 /mnt/home_catux

    (siempre y cuando exista el directorio /mnt/home_catux)
  • miniroot.gz. Contiene el sistema de ficheros inicial, lo comentaremos más adelante explicando la secuencia de arranque.
    boot.msg, f2, f3, f4. Ficheros con los textos que se usan en el syslinux (el gestor de arranque)
  • logo.16. Fichero gráfico que contienen el logo de arranque
  • syslinux.cfg. Es la configuración de syslinux
  • ldlinux.sys. Fichero auxiliar para syslinux
  • utils/ . Directorio con unos ficheros auxiliares y un script para modificar el tamaño del fichero knoppix/knoppix



    Índice


    Cambiando el tamaño del sistema de ficheros


    La versión de 256 viene con el sistema base unos 100 MB ocupados y dimensionado a 170 MB (por tanto tenemos unos 70 MB de espacio, más lo que ganamos en la compresión, para instalar programas).

    La versión de 128 MB tiene unos 20 MB libres (más compresión) para nuestros paquetes.

    Es posible que el tamaño dimensionado no se adapte a nuestras necesidades y deseemos cambiarlo. Lo haremos con el programa resize2fs, pero este tiene que estar compilado para tener soporte para compresión.
    Hemos hecho un script que nos pedirá el incremento de tamaño o el nuevo tamaño si es más reducido y además incluimos una versión del resize2ffs y del fsck.ext2 compilados en modo estático y con el parche de e2compr para no tener problemas.

    El modo de uso sería:
    mount -t vfat -o exec /dev/sda1 /mnt/pendrive
    Y entonces:

    cd /mnt/pendrive/utils
    ./modify_size.sh


    Es necesario montarlo con la opción exec ya que por defecto muchas distribuciones montan los sistemas vfat sin capacidad para ejecutar los ficheros de su interior.

    Este script nos pedirá el idioma y los tamaños para cambiarlo. El proceso no dura más de 5 minutos, y nos permite dimensionar el sistema a nuestro gusto.


    Índice


    Proceso de arranque


    Aquí describiremos el proceso de arranque de Catux-USB, para saber qué pasa si hay algún problema o bien para los curiosos.
    Una vez tenemos el logo del arranque de Catux-USB en pantalla estamos en syslinux, un gestor de arranque bastante curioso, ya que sabe acceder a ficheros que están en la partición FAT que se le indica. Por tanto, cuando hacemos F2, F3, F4 (para ver las ayudas en los diferentes idiomas) accede al dispositivo y lee el fichero a mostrar.

    Cuando presionamos “Enter” y pasa a arrancar el Kernel, sabe en qué fichero está porqué lo hemos configurado en el fichero syslinux.cfg. También se ha configurado para que use el fichero miniroot.gz como fichero de initrd.

    Por tanto entonces se ejecuta el Kernel y este accede al fichero minroot.gz. El fichero miniroot.gz es un fichero comprimido con gzip, que a su vez es un fichero tipo ext2 que contiene lo imprescindible para poder detectar el dispositivo USB. Hasta que se detecta el dispositivo USB a nivel de módulos del Kernel es la BIOS quien se está encargando de gestionar la entrada/salida.

    En el caso que estuvieramos arrancando desde CD-ROM, el proceso es el mismo pero se lee el Kernel y el miniroot.gz desde el mismo CD.
    Una vez ha cargado miniroot.gz en RAM, pasa a ejecutarse el fichero linuxrc que es un script compatible con Bourne Shell, aunque se ejecuta con ash.
    Ash es un intérprete, como podría ser Bash, pero tiene la característica que es muy pequeño. Este ash está compilado de forma estática para que no se necesiten librerías (el miniroot tiene una capacidad limitada) y un bash compilado estático sería excesivo (2.3 MB) en contra de los XXX KB de ash (como es evidente, ash no tiene todas las capacidades que tiene Bash).

    El script linuxrc se encarga de varias tareas, aunque una y seguramente la más importante es cargar los módulos USB necesarios.

    En /static/modules tenemos los módulos USB, por ejemplo usb-uhci, usb-ohci, usb-ehcd. Dependiendo de la placa que tenga el usuario se cargará un módulo u otro módulo. También carga el módulo usb-storage para poder acceder al dispositivo. Cuando carga un módulo aparece su nombre al lado.

    A continuación linuxrc monta en /KNOPPIX el fichero que contiene el sistema, pasa el control a /sbin/init y se elimina a él mismo (para no ver un fichero llamado linuxrc en el /)

    Todo el conjunto de directorios de GNU/Linux (por ejemplo /bin, /sbin, /lib, /usr, etc.) son enlaces simbólicos hacia /KNOPPIX. Podríamos haber evitado estos enlaces “pivotando” con chroot por ejemplo a /KNOPPIX pero no ha hecho falta.

    Si linuxrc no puede pasar el control a /sbin/init porqué no ha podido montar la Catux-USB lo que hará es dejar una shell muy limitada para intentar saber qué ha pasado. Si no lo ha podido montar se puede deber a que el USB no está enchufado (y estábamos arrancando desde CD-ROM), a que la imagen del sistema ha tenido algún problema (y por tanto no se ha podido montar), o no ha podido cargar ningún controlador para gestionar nuestro USB, ...

    En el caso que nos deje en la shell limitada, comentar que no tendremos ni ls pero para ver los directorios y ficheros del directorio actual podemos hacer echo *, sí que tenemos cd y insmod para intentar cargar los módulos y ver qué error dan exactamente.
    A continuación, si ha ido bien, init entrará en el runlevel 2 habitual en Debian ejecutando los scripts de iniciación de System V (los /etc/rc2.d). A partir de este momento estamos en una Debian normal para el uso que deseemos.


    Índice


    Cómo cambiar el Kernel


    Cambiar el Kernel en esta distribución es un poco diferente y más laborioso que otras distribuciones.

    De todas formas es posible que necesitemos cambiarlo por algún motivo (actualización urgente, necesidad de un parche no incluido, etc.) así que intentaremos resumir aquí el proceso.

    El Kernel (típico fichero bzImage) reside en /mnt/pendrive bajo el nombre de vmlinuz. Este Kernel tiene que concordar con la versión de los módulos necesarios para la detección del dispositivo USB que hay en miniroot.gz.

    A su vez, en el fichero que contiene el sistema (/mnt/pendrive/knoppix/knoppix), en el directorio /lib/modules/version_kernel hay los módulos del resto de dispositivos.

    Además, y muy importante, el Kernel que instalemos tiene que tener el parche de e2compr, ya que sinó no se podrá montar el sistema. Este parche se encuentra en http://e2compr.sourceforge.net y se tiene que aplicar en un Kernel antes de compilarlo.

    Para las opciones, tenemos que intentar que sea lo más modular posible para tener soporte para todo tipo de dispositivos bajo demanda.
    Para cambiar el vmlinuz es suficiente sobrescribirlo con el nuevo, o bien modificar el fichero de configuración de syslinux (syslinux.cfg) e intentar tener los dos disponibles.

    Para cambiar el /lib/modules/version_kernel, podemos hacerlo arrancando la Catux-USB y copiando los nuevos módulos allá dentro, debería ser suficiente. Copiamos toda la estructura del /lib/modules/version_kernel del Kernel que hayamos arrancado, incluido el modules.dep.

    Por último, para cambiar los módulos que están contenidos en el fichero miniroot.gz, desde Catux-USB o nuestra distribución deberíamos hacer algo como:

    gunzip miniroot.gz
    mkdir m
    mount -t ext2 -o loop miniroot m
    cd m
    cd static/modules

    Y los veremos allá dentro, podemos sobrescribirlos.


    Índice


    Generar un nuevo CD


    Si por algún motivo hemos cambiado el Kernel, quizás necesitamos hacer de nuevo el CD-ROM para poder arrancar, en caso que no podamos arrancar desde USB.
    Para hacerlo, primero haremos un fichero de 2880 KB:


    dd if=/dev/zero of=disk.vfat bs=1k count=2880

    A continuación formatearemos el fichero con format VFAT, útil para poder usar syslinux:

    mkfs -t vfat disk.vfat

    Y haremos un directorio llamado, por ejemplo, d:

    mkdir d

    Y en él montaremos el nuevo fichero:

    mount -t disk.vfat d

    Y finalmente copiaremos los ficheros necesarios para esta parte del arranque:
    cp boot.msg f2 f3 f4 ldlinux.sys logo.16 miniroot.gz syslinux.cfg vmlinuz d
    Desmontamos el fichero:

    umount d

    Le instalamos syslinux:

    syslinux disk.vfat

    Ponemos el fichero dentro del mismo directorio d:

    mv disk.vfat d

    Y finalmente generamos la ISO nueva:

    mkisofs -l -J -o disk.iso -v -b disk.vfat -V catux-usb d/

    De esa forma ya tenemos una ISO para grabar como vimos anteriormente con el nuevo Kernel.


    Índice


    Cómo preparar la instalación desde Microsoft Windows


    Hasta ahora hemos visto como instalarlo desde una distribución de GNU/Linux. Ahora veremos como podemos hacerlo desde un Microsoft Windows, útil en el caso que no tuviéramos una distribución instalada.

    En todo caso, siempre podríamos instalarla desde una Knoppix (un CD arrancable que nos dejaría en las condiciones parecidas a la instalación ya vista en el artículo).

    Deberemos descargar igualmente uno de los ficheros, ya sea catuxusb-0.1-128a.tar.bz2 o bien catuxusb-0.1a-256.tar.bz2. A continuación utilizaremos algun programa como 7-zip (http://www.7-zip.org) o bien Winzip (http://www.winzip.com, comercial)p ara descomprimir y desempaquetar los ficheros contenidos con él. Los podemos extraer directamente en la unidad que tengamos el Pendrive (por ejemplo, e:) siempre que esa sea tipo FAT (tipo por defecto).

    Una vez copiados en el Pendrive, tendremos que prepararlo para que arranque automáticamente al iniciar el ordenador. Para ello utilizaremos un pequeño programa llamado syslinux.

    Este programa modificará el inicio del Pendrive y creará unos ficheros en él para que se pueda arrancar.

    Lo podemos encontrar aquí:
    http://syslinux.zytor.com/download.php

    En esta página encontramos un enlace al ftp de kernel.org. Descargamos el syslinux-2.10.zip.
    Dentro de este fichero encontraremos syslinux.exe, el cual extraeremos a c:\ o cualquier directorio conocido.
    Iremos al botón Inicio, y a continuació Ejecutar. Teclearemos en la cajetilla cmd.
    En la pantalla Símbolo de sistema que nos aparacerá teclearemos:
    c:\
    syslinux e:
    Siempre suponiendo que en e: se encuentra nuestro Pendrive. Tendremos que ver en qué unidad está, por ejemplo mediante Mi Pc.
    Ahora el pendrive ya está preparado para arrancar la Catux-USB.
    A partir de aquí deberíamos comprobar las opciones de la BIOS, ver más detalles en la sección del artículo llamado “Configurando la BIOS”.


    Índice


    Agradecimientos


    Desde Catux hemos hecho un trabajo fuerte para conseguir esta distribución, desde gente testeándola durante meses (usándola como distribución habitual durante meses) a gente traduciendo textos, corrigiendo textos, aportando ideas, material, etc.

    De todas formas no hubiéramos podido hacer la distribución si no fuera por las miles de personas que han trabajado durante años en proyectos como el Kernel de Linux, como GNU, Debian, Knoppix, y un largo etc.

    Gente que además ha hecho su trabajo con licencias libres (sean GPL, LGPL o similares) y hemos podido aprovechar sus trabajos. Si no fuera por todo ello ahora no estaríamos escribiendo esto, sino que estaríamos aún reinventando el sistema completo de nuevo.

    Índice


    Conclusiones


    La distribución funciona correctamente, aunque al ser la primera versión siempre tendrá algunos errores que tendrán que ser corregidos.

    En los próximos meses haremos una segunda versión de la distribución con esos errores solucionados y con más ideas y aportaciones generales.
    Quien tenga problemas, recomendaciones, ideas, etc. le invitamos a nuestra página Web donde hay una lista de correo para solucionarle problemas, dudas, etc.
  • Categories: Articles, Catux


    Comentaris

    • Sense comentaris
    Arxius