BALUG (5724 B)

MILIN - Mini GNU/Linux

El día 17 de septiembre del 2000 se llevó a cabo otra de las ya tradicionales (?) reuniones del BALUG. En esta reunión el tema a tratar fue: "Booteando" desde cualquier lado con GNU/Linux APACHURRADO (<8Mb) a cargo de Federico Bareilles.

El resultado de la misma fue la instalación de GNU/Linux en una PC que conforma el standard PC-104. Estas son PCs que miden 9,5 por 9,5 cm. En nuestro caso usamos una de Nucleus NE6060 que es una 486 de 75 MHz con bus interno de 64 bits basada en el chip STPC Client que usa un core de Cyrix (adquirida por ST). La NE6060 tiene 8 Mb de memoria y la que usamos estaba equipada con 8 Mb de DOM (Disk On Module). La instalación, que Federico bautizó como milin, solo ocupa 5.6 Mb. Esto es lo que devuelve df:

milin:~# df
Filesystem         1024-blocks  Used Available Capacity Mounted on
/dev/hda1               7582    5674     1908     75%   /

Nota: El texto anterior y otros usados fueron obtenidos logeandose a la PC-104 que corre milin a través del /dev/ttyS1 (en el ttyS0 está el mouse [Guiño] (139 B) desde otro GNU/Linux usando minicom.

También queda RAM como para correr algunas aplicaciones:

milin:~# free
             total       used       free     shared    buffers     cached
Mem:          6560       3568       2992       3320        196       1852
-/+ buffers:             1520       5040
Swap:            0          0          0

En el momento en que se tomó esta medición corría:

milin:~# ps ax
  PID TTY STAT  TIME COMMAND
    1  ?  S    0:02 init [3]
    2  ?  SW   0:00 (kflushd)
    3  ?  SW<  0:00 (kswapd)
   39  ?  S    0:00 /usr/sbin/syslogd
   40  ?  S    0:00 /usr/sbin/klogd
   42  ?  S    0:00 /usr/sbin/inetd
   44  ?  S    0:00 /usr/sbin/crond -l10
   50  ?  S    0:00 gpm -t ms
   51   1 S    0:00 -bash
   52   2 S    0:00 /sbin/agetty 38400 tty2 linux
   53   3 S    0:00 /sbin/agetty 38400 tty3 linux
   66  S1 S    0:00 -bash
   78  S1 R    0:00 ps ax

Milin está basado en una Slackware 3.x y el kernel es:

milin:~# uname -a
Linux milin 2.0.36 #1 Fri Sep 8 11:02:32 ART 2000 i486

Que fue recompilado para eliminar cosas innecesarias. La instalación es bastante completa e incluye servidor y clientes de telnet así como soporte para PPP. Durante la reunión hicimos telnet desde una PC corriendo Win95 a la PC-104 utilizando como link dos celulares (usando packet data). Federico también se dió el lujo de leer su correo desde la mini PC haciendo telnet a La Plata, nuevamente usando PPP sobre el celular.

Como lujo incluimos gpm y conectamos un mouse.

Milin está disponible en este servidor: milin.tar.gz.

A continuación se explica como se instaló milin en la PC-104:

1) Se usó una PC que ya tenía GNU/Linux instalado. Esto es necesario para crear el disco de booteo.

2) Se descomprimió el .tar.gz que proveemos en un directorio temporal, en este ejemplo: /test.

Creación del disco de booteo:

3) Se copió el kernel al disquete de booteo:

cp /test/boot/zImage /dev/fd0

también se podría haber usado:

dd if=/test/boot/zImage of=/dev/fd0 bs=1k

4) Se le indicó a este kernel que montara el raíz en /dev/hda1:

rdev /dev/fd0 /dev/hda1

Con esto se obtuvo un disquete de GNU/Linux booteable que al levantar montaba su file system en /dev/hda1.


Preparación del disco de destino:

5) Usando fdisk se particionó el disco de 8 Mb con una partición nativa GNU/Linux.

6) Se formateó el disco con ext2:

mke2fs -m 0 -s 0 -r 0

Notar que se tuvo cuidado en no reservar espacio para el root y en hacer el disco compatible con el kernel 2.0.x que se usaría.

7) Se montó el disco.

8) Se descomprimió el .tar.gz en el disco.

9) Un paso, que no es necesario realizar con el .tar.gz que proveemos, pero que podría ser necesario si nosotros armamos nuestra propia distribución y no lo hicimos antes, es armar el archivo /etc/ld.so.cache. En el mismo se guarda una tabla que dice la versión de cada una de las librerías dinámicas que tenemos instaladas y es usado por el código que carga las librerías dinámicas. En nuestro ejemplo sería:

cd /test
chroot /test /sbin/ldconfig


Primer booteo:

10) Se instaló el disco en la PC-104 y se le conectó una disquetera.

11) Se booteó del disquete armado.

12) Se corrió lilo para hacer booteable al disco.

Con esto obtuvimos un GNU/Linux completamente funcional.


Copywrong (w) 2000 - webmaster.

Comentarios by: SET
Handmade HTML using SETEDIT

Hosted by:
SourceForge.net Logo
Valid HTML 4.01!
Valid CSS!
GIMP Any browser!
Open Content!

Generated using CAL v0.2.0 and ARENA v0.1.0 on mié abr 30 12:55:43 ART 2014