Instalando linux en un portátil sin unidad CD-ROM

Información
Este artículo proviene principalmente de mis chapuzas con un portátil que compré por un buen precio – $800 USA hace algunos años- que no tenía CD-ROM. Justo lo que necesitaba para ver cómo poner un sistema linux usando los discos de rranque de red que traen la mayoría de las distribuciones. Tengo experiencia de algunos años con los 486
que he reciclado como terminales (también sin unidad CD-ROM).

Hay diferentes formas de exportar las distribuciones desde CD a los portátiles: NFS, FTP y HTTP. Hablaré un poco de ellas antes de introducirnos en algunos de los interesantes problemas con los que me encontré. Intentaré mantenerme en un nivel accesible para todos – y las técnicas son fáciles de realizar- aunque con NFS pueden ser algo más complejas.

Usaré la distribución del proyecto RedHat. La mayor parte de
las cosas se aplicarán directamente a las distribuciones derivadas como
Mandrake o Hispalinux. El las ideas básicas también se aplican
a las otras distribuciones Linux, aunque los detalles de implementación
serán diferentes.

Los discos

Las distribuciones modernas generalmente pueden arrancar directamente desde CD. Pero también suelen venir con algunas imágenes que puedan ser escritas a disquete (generalmente en el directorio /images). Hay diferencias entre un portátil con tarjetas ISA o PCI y un portátil con tarjeta PCMCIA. En este último, necesitarás cargar el módulo para soportar pcmcia antes de los drivers ethernet.

Por ejemplo:

– La distribución RedHat 5.2 viene con boot.img (para CD y red) aunque
podrias necesitar supp.img para soporte de tarjetas PCMCIA. (y sí, aún
lo uso para convertir los 486 y los primeros pentiums en terminales y routers
– ¡no en servidores!).

– La distribución RedHat 6.0 trae boot.img (solo para CD), bootnet.img
(red) y pcmcia.img.

– Mandrake 7.0 trae cdrom.img, network.img y pcmcia.img
como Mandrake Corporate Server.

En cada caso, para iniciar desde red necesitarás:

distribucción

sin PCMCIA

con PCMCIA

RedHat 5.2

boot.img

boot.img + supp.img

RedHat 6.0

bootnet.img

bootnet.img + pcmcia.img

Mandrake 7.0 y CS

network.img

pcmcia.img

Desde luego, puedes escribir en los disquetes estos ficheros img usando la instrucción dd. Por ejemplo:

dd if=/mnt/cdrom/images/network.img
of=/dev/fd0

Activando tu red

Todos los disquetes de arranque para la red tienen un mecanismo para activarla, aunque el orden de los pasos que debemos de dar puede ser ligeramente diferente. Por ejemplo, el arranque en un Mandrake 6.1 es:

  1. selección del tipo de protocolo de red (nfs, ftp o http);

  2. selección de la tarjeta de red – este disco de arranque en particular no detecta tu tarjeta automáticamente – después más;

  3. introducir tu IP y configuración del host, que en la mayoría de los casos será la configuración definitiva;

  4. informarle sobre tu servidor (dirección IP o nombre, directorio que almacena la distribución).

Instalación a través de NFS

Podemos ver NFS como la forma que tiene Linux de compartir directorios en una red de área local o amplia. Una vez exportado, puedes montar estos directorios como si se tratara de una unidad de disco local.

En el servidor, generalmete monto el CD y entoces lo exporto /mnt/cdrom. Esto se realiza en los siguientes pasos:

1. Tenemos el servidor NFS ejecutándose (nfsd), por ejemplo usando setup.

2. Montamos el CD normalmente:

mount /dev/cdrom /mnt/cdrom

3. Incluimos este directorio en la lista de directorios exportables del servidor. En
/etc/exports, introduciendo esta línea:

/mnt/cdrom *(ro,no_root_squash)

Se entiende que quiero exportar /mnt/cdrom a todos los usuarios (*), con derechos de solo lectura (ro). no_root_squash proporciona a los administradores (root) remotos privilegios de administrador sobre tus ficheros NFS; generalmente los administadores remotos tienen permisos de usuarios
nobody — es una medida de seguridad para el caso de que los usuarios remotos no sean de confianza.

5. Hago la exportación efectiva con:

exportfs

Debería de haber una respuesta con un mensaje como:

/mnt/cdrom localhost

/mnt/cdrom *

Ahora puedes probarlo desde cualquier ordenador de la red con (por ejemplo,
siendo 192.168.0.1 la dirección IP del servidor):

mount 192.168.0.1:/mnt/cdrom /mnt

En el cliente, necesitarás indicarle al programa de instalación:

– el nombre del servidor NFS (o la dirección IP en la mayoria de pequeñas redes que no tienen DNS)

– el directorio de RedHat, /mnt/cdrom en mi ejemplo.

Esto funciona, pero no es la mejor manera de instalar linux. Yo lo uso en redes donde el servidor exporta /home y NFS está activado.

Instalación a través de FTP

En el servidor, exportar una unidad de CD a través de ftp es un proceso
simple. En mi configuración yo tengo funcionando el wuftp. Al
instalarse el paquete crea el directorio /home/ftp, desde el cual se
despachan las peticiones ftp. La manera más clara de ofrecer la unidad
de CD es:

1) Crear un subdirectorio, como /home/ftp/cdrom

mkdir /home/ftp/cdrom

2) Montar el CD directamente en este directorio en vez de en
/mnt/cdrom:

mount /dev/cdrom /home/ftp/cdrom

Para asegurarnos, comprueba que puedes acceder a este directorio desde una sesión de ftp anónima.

En el cliente, selecciono la opción de FTP y realizo los pasos normales
para activar la red. Cuando me pregunte, responderé

– el nombre del sitio FTP (o la dirección IP en la mayoria de redes pequeñas que no tienen DNS)

– el directorio de RedHat, en el ejemplo simplemente cdrom.

Como ves, también puedes usar conexiones ftp no anónimas, pero no lo he probado porque en nuestro caso no me parece demasiado interesante.

Instalación a través de HTTP

El proceso es muy similar al de FTP.

En el servidor, he usado la instalación estándar de con la raiz
de documentos (DocumentRoot) puesta en /home/httpd/html. Luego

1) He creado un subdirectorio, /home/httpd/html/cdrom

mkdir /home/httpd/html/cdrom

2) he montado el cd directamente en este directorio:

mount /dev/cdrom
/home/httpd/html/cdrom

He comprobado que el cd es accesible antes de continuar. Puedes hacer esto en el mismo servidor solicitando http://localhost/cdrom/. Deberás obtener una lista de los ficheros del CD.

En el cliente, necesitas darle al programa de instalación:

– El nombre del sitio web ( o la dirección IP en la mayoria de redes pequeñas)

– El directorio de RedHat, en mi ejemplo simplemente cdrom.

Problemillas

Con mi portátil, mi problema principal fue la confianza en mi tarjeta
PCMCIA ethernet que en la caja aparecía la indicación «completamente
compatible NE2000»- pero no era cierto (¿ porqué daban sus propios drivers
para windows 95 ?).

Estuve atascado con esto en algunas distribuciones como Mandrake 6.1: me preguntaba
que le diera el tipo de tarjeta. Evidentemente el módulo ne no
funcionaba.

Entonces probé la distribución RedHat 6.0. Esta autodetectaba
el tipo de tarjeta – y funcionaba bien usando el módulo pcnet_cs.
Este tipo de tarjeta más bien extraño no suele estar en las listas
normales, pero está incorporado en la mayoria de los núcleos.
El truco consiste en obtener un disco que autodetecte o bien te deje escribir
el nombre en vez de tener que seleccionarlo de una lista. Observa que el disco
network.img de RedHat 6.0 también funciona en Mandrake 6.1.

Tuve un par de problemas con la resolución de pantalla en X. Una pantalla
de portátil con 800×600 pixels de resolución funcionará
bien con su propia resolución – pero con 640×480 los pixels se distorsionan.
También estuve jugando con los valores de sincronismo horizontal en /etc/X11/XF86Config:
el rango estándar de VGA 30-40 kHz funcionaba mejor que otros valores
comunicados por el programa de instalación para mi pantalla de 800×600
LCD. Como siempre, cuidado con X.

Otro problema es olvidar algunos paquetes durante la instalación. Necesitarás
acceder otra vez a los paquetes localmente: montando el CD en el servidor con
NFS, o descargando los paquetes a través de FTP o HTTP. Entonces usa
rpm, kpackage or cualquiera.

Más allá

Un punto que me gustaría comprobar es la comparación de la velocidad
de los tres sistemas. Por lo que yo pude ver mientras preparaba este artículo
no había diferencias importantes. Así que supongo que dependerá
de que servicio tengas ya instalado en el servidor.

En la mayoría de los casos tendremos FTP y HTTP, ya que su configuración es automática en la mayoría de las distribuciones modernas. Parece poco probable elegir NFS ya que no se utiliza diariamente en linux.

Finalmente, la última pregunta que me gustaría tratar es ¿»Porqué un portátil bajo Linux»?

Además las razones habituales para usar linux, he encontrado útil como profesor:

  • para usar StarOffice (mi favorito para exposiciones);

  • para demostar técnicas del sistema operativo en directo (también con el proyector);

  • como un servidor para el laboratorio: los estudiantes ven qué ocurre
    tanto en la proyección del servidor sobre la pantalla como en las
    pantallas de sus propios clientes y pueden experimentar;

  • como un terminal X portable;

  • para convencer a los que toman decisiones y los que invierten el dinero,
    que linux utiliza mejor el hardware que otros sistemas. Transpórtalo,
    conéctalo a una red local y ponlo a funcionar. Mi última línea
    es : «imagina poner un sistema Windows NT, sirviendo HTTP, FTP y correo
    en mi portátil P-133 CPU, 48 Mb Ram…» por no hablar de Windows
    2000 – para qué ser crueles 🙂

Autor: Alan Ward
Traducción al Español por: Carmen Usero
el día 8 de Enero 2001,
para La Gaceta de Linux.

Deja un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.