Instalación de Slackware 7.1 en Portatil con 4MB

(Yo lo hice con un Portátil de 4 MB, pero el proceso es el mismo para uno de sobremesa si quieres hacerlo sin red, ni CD-ROM; solo con disquetes). Problemas: Solución: Pasos:

Hacer los disquetes a mano.

Bueno, tendremos que hacer los disquetes a mano.
El disquete de Boot (Kernel 2.2.18 aprox.) lo hice sin "lilo", con Kernel "seco".
Tendremos que compilar el Kernel con las opciones mínimas de arranque. Hace mucho que lo hice y no tengo el .config, así que deberas investigar por tu cuenta. Creo que la idea es: Cuando lo tengas compilado (mejor hacer un make zImage), lo pones en un disquete:
carles:~# dd if=/usr/src/linux/arch/i386/boot/zImage of=/dev/fd0 bs=1k
Y pon una etiqueta que es el "Boot Disk"
Recomendación: en cada disquete pasale el "badblocks /dev/fd0". Si hay sectores defectuosos no lo uses para eso.

¿Por qué el RAMDISK?
No puedes tener el sistema ROOT montado en /dev/fd0 porque necesitas cambiar los disquetes para instalar la serie A. Asi que lo tendras que poner en memoria con un RAMDISK. Encima, se te complicara un poco la vida porque con 4MB necesitas tener el Kernel, el root, y algo de memoria libre.

¿Cómo usar el RAMDISK?
En la compilación del Kernel le tienes que especificar que quieres RAMDISK y el tamaño. En la serie 2.2.x de Kernels hay un problema "crónico" que es, en situaciones de estrés de memoria (poca libre) envia Warnings haciendo el sistema inusable. Andrea Arcangeli hizo un patch pero no iba al 100%. Así que si te sale este error; tendrás que conseguir más memoria (sistema ROOT más pequeño, ajustar más el RAMDISK, ...).
El tamaño del RAMDISK deberá ser aprox. el del sistema ROOT. El sistema ROOT lo tendrás que hacer tu mismo.
Con el disquete de ROOT necesitas poder hacer:

(puede ser práctico hacer un ROOT para hacer las particiones y otro para instalar todo)

Como hacer el disquete root?
En otra máquina haces:

carles:~# dd if=/dev/zero of=rootdisk.img bs=1k count=1750
carles:~# mke2fs -vm0 rootdisk.img 1750
carles:~# mount -t ext2 -o loop rootdisk.img rootdisk1/
(diria que fue así, porqué ahora no tengo soporte para loop devices en el Kernel y no lo puedo probar)

Lo lógico entonces es coger el contenido del disquete de root de Slackware (text.gz mismo puede valer), y montarlo en otro directorio (p. ej. rootdisk2). E ir copiando los ficheros necesarios y sólo estos, para que sea más pequeño (sinó me faltaba memoria, puedes probar si a ti no te falta).
Notas:

Ok, cuando termines:
carles:~# umount rootdisk1
carles:~# gzip -v9 rootdisk.img
carles:~# dd if=rootdisk.img of=/dev/fd0 bs=1k
Y pones una etiqueta gorda que es el rootdisk.
Se podría poner en un mismo disquete tanto el Kernel como la imagen, pero con dos disquetes cuando cambias el root disk no tienes que tener miedo de sobrescribir el Kernel
Te falta configurar el Boot disk (p. ej. como sabe él si tiene que pedir el rootdisk, si está en el mismo disquete, si tiene que iniciar otra partición, etc.). Eso se hace con "rdev" (man rdev).
carles:~# rdev /dev/fd0 /dev/fd0
carles:~# rdev -r /dev/fd0 49152
En la primera linia le dices que el root disk estará en /dev/fd0. En la segunda le dices que "prompt_ramdisk y load_ramdisk" (ver enlaces al final para más información).

Y una vez dentro...
Bueno, fdisk, mkfs. Sobretodo, cuando puedas, activa la partición swap (swapon /dev/hda2, p. ej.).
Y empieza la instalación. Se supone que habrás copiado la serie "a" en disquetes. Pones disquete 1 y haces algo así (de memoria):

portatil:/# mount -t /dev/fd0 floppy
portatil:/# cp floppy/* .
portatil:/# gunzip base.tgz
portatil:/# gunzip ash.tgz
...
portatil:/# tar -xvf base.tar
portatil:/# ash install/postins.sh
portatil:/# rm install/postins.sh
portatil:/# tar -xvf ash.tar
portatil:/# ash install/postins.sh
portatil:/# rm install/postins.sh
... (para cada disquete)
portatil:/# umount floppy
Algo a tener en cuenta es que cada paquete de la Slackware tiene un fichero de post instalación en /install (creo! no lo sé seguro) que tienes que ejecutar. Si te das cuenta cuando vas por el disquete 12 no hay quien lo solucione.
Sólo hace falta que instales los paquetes que usarás (p. ej. si no tienes pcmcia's no instales el pcmcia.tgz)
Una vez tienes todo el sistema, puedes arrancar con él. Pones en el otro ordenador el disquete boot, y con:
carles:~# rdev /dev/fd0 /dev/hda1
Le dices que el Kernel busque el root en /dev/hda1 (ejecutará el /sbin/init, que en teoria es el de la Slackware 7.1). Y voilá!! ya tienes algo que empieza a funcionar.
Entonces configuras lilo, para que arranque con el Kernel nativo de la Slackware, o mejor, compilas uno en otro ordenador y lo copias (vigila las opciones de la CPU y demás)
Sobretodo pon de shell a los usuarios "ash" que sinó te irá muy lento.
Y más o menos eso es todo. No es que haya hecho una guia precisa, pero más o menos son los conceptos que tuve que usar (instalación por paquete a mano, boot disk, root disk, etc.)
Despues de eso yo instalé Perl (split en varios disquetes, lo junté e instalé) y... Apache! eso sí, el MinSpareServers y el MaxSpareServers de Apache lo puse a 1 (número de servidors simultaenos).

Enlaces

Y mucha suerte :-) Si tienes cualquier duda, comentario, crítica, etc. me puedes enviar un email a is08139@salleURL.edu.
Carles Pina i Estany. 2001