Una de las partes más importantes de un minino es el corazón. Vamos a compilarlo para ver cuánto nos ocupa en memoria el sistema recién arrancado.
- Antes de nada, vamos a comentar la línea del cdrom de debian en el /apt/sources.list para que no nos pida más el CD.
nano /etc/apt/sources.list y ponemos delante de la línea del cdrom un #, guardamos, salimos.
apt-get update
- Instalamos algunos paquetes imprescindibles para movernos por la consola a gusto:
apt-get install mc htop bzip2 zip unzip binutils
(de ahora en adelante nuestro administrador de archivos será mc, nuestro editor mcedit y nuestro administrador de procesos htop)
- Nos bajamos las fuentes del kernel 2.6.21 de los repositorios de Debian. Para ello volvemos a editar el sources.list y cambiamos etch por lenny, y luego apt-get update.
apt-get install –download-only linux-source-2.6.21
Preferimos el kernel de debian porque tiene ya aplicados un montón de parches (se supone que buenos) que no tiene el de www.kernel.org. Usamos download-only para que no nos instale nada, de lo contrario instalará las dependencias de lenny y comenzará a guarrearse el sistema con paquetes de lenny y etch mezclados.
Volvemos a sources.list y volvemos a poner etch donde antes. apt-get update.
- Instalamos las herramientas de compilación
apt-get install build-essential kernel-package libncurses5-dev (apt-get -f install si hiciera falta)
- Instalamos el kernel con dpkg -i /var/cache/apt/archives/linux-sour[tab]
- Descomprimimos el kernel:
cd /usr/src
tar -jxvf linux-source[tab]
ln -s linux-sou[tab] linux
Antes de configurar vamos a aplicar algunos parches:
Nos bajamos estos parches (squashfs y unionfs por si queremos hacer un live algún día, vesafb-tng para tener un framebuffer más avanzado y gobohide, mi capricho, para esconder todos los directorios del raíz menos el home, no se podrán ver, pero seguirán estando ahí :-).
Con mc los descomprimimos en /usr/src y aplicamos los parches:
cd /usr/src/linux
patch -p1 < /usr/src/01-gobo[tab]
patch -p1 < /usr/src/02-union[tab]
…
Ya estamos listos para configurar la compilación.
Tomamos la configuración del kernel antiguo:
cd linux
cp /boot/conf[tab] .config
make menuconfig
Quitamos las características que creemos que no nos van a hacer falta y configuramos para 586. Si alguien se anima a quitar más módulos o a cambiar cosas que sabe por experiencia que no rulan bien en equipos viejos, que avise =:-D.
Así me ha quedado el .config (se puede copiar directamente a cp /usr/src/linux/.config)
Compilamos.
make-kpkg -initrd -revision=mini.0.1 kernel_image
Instalamos el kernel.
cd ..
dpkg -i linux-image[tab]
Y reiniciamos para ver si todo fue bien.
PD. Absténganse la familia primigenia de los pentiums de intentar lo que viene en este post. A menos, claro está, de que se quiera calentar una habitación alrededor de 34 horas continuadas.