El corazón del minino
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.
Hola Antonio, soy Enrique.
aprovechando que mañana no trabajo, me he puesto al tema.
Estoy casi en el último paso y se me ha quedado ¿pillao? el ordenador.
Concretamente, después de la orden
make-kpkg -initrd -revision=mini.0.1 kernel_image
le doy al intro y lleva un cuarto de hora que no hace casi nada. Cada 5 segundos (aprox) la lucecita del disco duro parpadea una sola vez y ya está. ¿Es esto normal?
Ah, se me olvidaba.
He seguido tus pasos al pie de la letra, excepto dos cosillas:
-apt-get install –download-only linux-source-2.6.21
he puesto la versión 2.6.22, porque la 21 ya no está
-no me he fijado en los de los parches squashfs y no lo he puesto.
Pues no es normal, aunque ahora que lo veo escrito, creo que delante de initrd y de revision van dos guiones y no uno, o sea:
make-kpkg –initrd –revision=loquesea
En realidad, el kernel va a parte del sistema, teniendo internet, puedes armar todo el entorno de escritorio con todos sus programas y luego poner el kernel que más te convenga.
Ese kernel lo montamos por tener algo con lo que empezar. Concretamente, en el ordenador nuevo, no podía iniciar el sistema sin compilar el kernel porque el que trae por defecto Debian Etch me daba problemas con ACPI y con la Nvidia y no podía usar la consola una vez iniciado el escritorio.
Llevo compilados 7 kernels, pero no consigo que baje de 11 Mb, quitando las tonterías de los ordenadores nuevos como soporte para doble núcleo, anticipatory, etc… Ahora mismo estoy probando el que trae Sidux, 2.6.23, pero con tantos parches como trae, no sé cuánto ocupará cuando acabe.
Recuerdo que el 2.6.22 traía un bug que no me permitía usar la webcam microdia uvl. Lo probé porque era el de Kanotix, que me habían hablado muy bien de él, pero con ese bug lo he descartado.
No he probado aún a usar ningún kernel de ubuntu, lo mismo dan menos quebraderos de cabeza.