JavGuerra,
Debian 12 es la última versión que se distribuirá para 32 bits. Otras distros antes han dejado de dar soporte a esta arquitectura, prevaleciendo la más actual de 64 bits. Lamentablemente, esta decisión afectará a otras distribuciones que dependen de Debian. Quise ir a la distro de referencia para actualizar mi vieja Asus Eee-PC 901 a la última versión posible, y extender un poco más su vida útil. Estos son los pasos que seguí para hacerlo.
Este artículo complementa al que escribí sobre cómo reviví mi mini-portátil retro para emulación en este blog. Mi objetivo sigue siendo el mismo: tener un sistema manejable para emulación de mis sistemas retro.
El lector debe tener conocimiento de Linux y su shell.
La imagen iso
Después de un rato navegando, conseguí encontrar la imagen debian-12.13.0-i386-netinst.iso para la arquitectura de 32 bits en el repositorio CD image de Debian GNU/Linux. Si lees esta entrada más adelante en el tiempo, navega por su árbol de directorios para encontrar la versión 12 más reciente.
Desde mi Linux Mint grabé en un pendrive la imagen iso con la aplicación “Grabador de imágenes USB”, y la puse en el USB de mi Eee-PC.
Me aseguré de que la BIOS, a la que accedí con F2, estaba bien configurada. y seguidamente inicié el ordenador pulsando ESC para seleccionar el dispositivo de arranque USB donde está la imagen de instalación, y elegí la instalación gráfica.
El particionado
Llega uno de los momentos de mayor interés. Como ya mencioné en el anterior artículo, el mini PC cuenta con dos discos SSD, que he decidido particionar de la siguiente forma:
SSD1: 4GB
- Partición / 4GB
SSD2: 16GB
- Partición /usr 8GB
- Partición /home 7GB
- Swap de disco 1GB
En cada partición he marcado la opción noatime para evitar los continuos accesos a los discos. trim, que instala el sistema, se encargará de mantener los discos limpios por mi.
La idea es aprovechar al máximo el hardware disponible. El sistema raíz / se instalará en el primer SSD, que es más rápido, y /usr tendrá más espacio en el segundo SSD. Esta partición es la que suele crecer más, pues en ella se instala casi todo: ejecutables, librerías, fuentes… Con esta medida, nuestro sistema tendrá un total de 12Gb de espacio en disco, y espacio suficiente para crecer en el futuro.
Pero esto tiene un inconveniente, el espacio para la partición /home se reduce, teniendo disponible sólo 7Gb para el usuario (o sea, yo). Con una microSD de 16Gb tendré lo que necesito: espacio para el almacenamiento de los programas y archivos de emulación y un dispositivo estraible para llevar y traer desde otros ordenadores. Con ello, el espacio de 7Gb se quedará para el almacenamiento general y los ficheros de trabajo, como documentos de texto en edición…
Como amplié la memoria del ordenador, me puedo permitir usar zram para aligerar las lecturas y escrituras al swap de disco. Aún así he dejado 1Gb para esa partición, aunque seguramente no se usará. Mejor prevenir.
zram también tiene un inconveniente. Adios a la hibernación. Como zram está en memoria, y la hibernación funciona apagando el equipo, al arrancar de nuevo la RAM habrá desaparecido, y con ella los datos que se guardaron antes de la hibernación. Un mal menor si lo que se busca es agilizar el cuello de botella de acceso al disco.
Después del particionado, una vez guardados los cambios, se instalará el sistema base.
Terminando la instalación
Al llegar a tasksel, la parte de la instalación donde se seleccionan los programas, dejé sólo Utilidades estándar del sistema marcado, desmarcando todo lo demás. Luego haré la instalación manual, y de esta forma podré controlar qué cosas instalo, optimizando mejor el espacio de disco.
Tras terminar la instalación y reiniciar, acceso a mi cuenta y escalo privilegios con su -. Con su se accede al root, pero se mantiene el PATH del usuario original, pero con su y un guión se cambia a root y se carga el entorno completo de root, incluyendo /sbin y /usr/sbin en el PATH, lo que permitirá usar los comandos del sistema.
Una vez que tengo el sistema instalado y funcionando, voy a comprobar que, efectivamente, trim está funcionando. Esto lo hago como root.
systemctl status fstrim.timer
Si aparece como active (waiting), ya está todo listo. Este servicio ejecutará fstrim semanalmente sin que tú tengas que hacer nada más.
El siguiente paso es instalar zram. Para ello:
apt install zram-tools
y edito el fichero de configuración:
nano /etc/default/zramswap
añadiendo el siguiente contenido:
# Activar el servicio
ENABLED=true
# Usar el 50% de tu RAM (2GB * 0.5 = 1GB de swap comprimido)
PERCENT=50
# Usar el algoritmo de compresión más moderno y eficiente
ALGO=zstd
# Dar prioridad alta (para que se use antes que el swap en disco)
PRIORITY=100
Seguidamente, recargo y reinicio el servicio:
systemctl restart zramswap.service
systemctl enable zramswap.service
cat /proc/swaps
Con enable se activa zram para cada arranque del sistema.
Esto dará 1Gb de ram comprimida que será más rápido que usar el swap, como ya he dicho.
Un tip
Debian instala muchos paquetes recomendados de Xfce por defecto.
Si quisiera evitarlo, una vez instalado eñ sistema base, y antes de instalar Xfce, crearía un fichero de configuración en:
nano /etc/apt/apt.conf.d/99synaptic
Con el contenido:
APT::Install-Recommends "false";
APT::Install-Suggests "false";
En mi caso, decidí no configurarlo de esta manera, pues esto también tiene ventajas e inconvenientes. Usarlo puede traer problemas, debiendo conocer muy bien qué dependencias instalar y cuales no, pero a cambio dará un mayor control a la hora de reducir el espacio de instalación.
Ahora hago el primer reinicio.
Instalar Xfce
Para la instalación manual de Xfce voy a necesitar:
- xorg: El servidor de visualización X.Org, la implementación de código abierto del sistema X Window (X11) que proporciona la base para la interfaz gráfica.
- xserver-xorg-video-intel: El controlador de gráficos 2D para hardware Intel que permite al servidor X comunicarse de manera eficiente con la tarjeta gráfica de tu Asus Eee PC 901.
- xfce4: El núcleo del entorno de escritorio Xfce, un conjunto de aplicaciones básicas que conforman un escritorio funcional y ligero.
- xfce4-goodies: Un paquete que agrupa una colección de plugins, aplicaciones adicionales y temas para Xfce que extienden su funcionalidad más allá de los componentes principales.
- lightdm: Un gestor de pantalla (la interfaz de inicio de sesión) diseñado para ser ligero, rápido y extensible, que permite elegir la sesión de escritorio e iniciarla.
Como administrador, ejecuto:
apt install xorg xserver-xorg-video-intel xfce4 xfce4-goodies lightdm
y así tendré instalados los paquetes en el equipo, debiendo reiniciar tras ello.
Para terminar con la instalación, simplemente:
apt clean
para limpiar la caché de paquetes del sistema.
Tras la instalación
Toca ya instalar los programas que usaré en el sistema, como por ejemplo la selección de un navegador lo suficientemente actualizado y liviano como para que no me de problemas en esta máquina.
En su momento elegí Midori, pero este ha cambiado su base y es un poco más pesado. Decidí probar Falkon, que aunque tiene dependencias de las librerías Qt, su peso y características pueden ser aceptables.
No olvido algunas instalaciones necesarias, como la configuración para Bluetooth, o el Wifi o el firewall.
apt install ufw gufw
apt install bluetooth blueman
systemctl restart bluetooth
apt install network-manager-gnome
systemctl enable --now NetworkManager
Toca reiniciar otra vez.
No olvides entrar en gufw y seleccionar el perfil Casa, que habilitará:
Incoming: Deny
Outgoing: Allow
para parar el acceso desde el exterior pero te permitirá salir a Internet.
Bonus: Instalar OpenJDK 11 JRE
Debian 12 no tiene, entre sus repositorios, la versión 11 de OpenJDK, y por eso no se puede instalar con Apt. Esto es un problema, ya que quiero usar esta versión específica del jre para ejecutar un emulador concreto, SMSQmulator preparado para esa versión.
Pero Java 11 (de 32 bits) si está en los repositorios de Debian 11. Lo que necesito es un procedimiento que, de forma controlada y segura, permita a Debian 12 (Bookworm) instalar el paquete openjdk-11-jre que proviene de Debian 11 (Bullseye).
Este “FrankenDebian”, como se conoce en la comunidad a estos casos, mezcla paquetes de diferentes versiones del sistema, lo cual no es recomendado para uso general, porque puede causar inestabilidad si no se gestiona con mucho cuidado. La clave está en usar el sistema de prioridades de apt para asegurarme de que Debian 12 predomine y sólo recurra a los repositorios de Debian 11 para instalar Java 11 y sus dependencias, sin permitir que actualice nada más.
Pasos para instalar OpenJDK 11 JRE desde Debian 11 en Debian 12
El objetivo es añadir el repositorio de Debian 11 (Bullseye) pero con una prioridad tan baja que solo se use cuando se le indique explícitamente.
Estos comandos deben ejecutarse con permisos de administrador.
-
Crear el archivo de configuración para el repositorio de Debian 11 (Bullseye).
nano /etc/apt/sources.list.d/debian-bullseye.listPego el siguiente contenido en el archivo. Esto añade los repositorios principales de Bullseye, incluyendo el de seguridad.
deb http://deb.debian.org/debian bullseye main deb http://security.debian.org/debian-security bullseye-security main deb http://deb.debian.org/debian bullseye-updates main -
Crear el archivo de preferencias de
aptpara establecer prioridades.Este es el paso más crítico para evitar que el sistema se descontrole. Creo y edito el archivo de preferencias.
nano /etc/apt/preferences.d/debian-bullseyeAñado el siguiente contenido.
Package: * Pin: release n=bookworm Pin-Priority: 900 Package: * Pin: release n=bullseye Pin-Priority: 100Esto establece una jerarquía clara:
- Prioridad 900 para el sistema actual (Debian 12 Bookworm, que ahora es
oldstable). Cualquier paquete disponible aquí tendrá preferencia absoluta. - Prioridad 100 para el repositorio de Debian 11 (Bullseye). Esta prioridad es tan baja que
aptnunca instalará ni actualizará nada desde Bullseye a menos que se lo pida explícitamente y el paquete no exista en absoluto en el sistema base.
Como Debian 12 será la última versión de 32 bits de esta distro, puedo indicar sus nombres de repositorio con la certeza de que las versiones no serán actualizadas. De otra forma debería referirme a ellas como
stableyoldstablerespectivamente. - Prioridad 900 para el sistema actual (Debian 12 Bookworm, que ahora es
-
¡Instalar OpenJDK 11 JRE!
Ahora, actualizo el índice de paquetes para que el sistema reconozca el nuevo repositorio y sus prioridades.
apt updateejecuto el comando de instalación. Gracias a las prioridades configuradas,
aptbuscaráopenjdk-11-jre(que no existe en Bookworm) y lo encontrará en el repositorio de Bullseye, instalándolo desde allí.apt install openjdk-11-jreRevisando la salida del comando se verá que el paquete se instala desde la rama
bullseye.apttambién se encargará de instalar las dependencias necesarias desde el mismo repositorio, si es preciso.Una vez terminado, compruebo que Java se ha instalado correctamente y, lo más importante, que es la versión de 32 bits.
java -versionVeo una salida similar a
openjdk version "11.0.30" ...(el número de versión específico puede variar). En sistemas de 32 bits, la salida no suele mencionar “32-Bit”, pero la ausencia de “64-Bit” es una buena señal.
Notas:
- ¿Problemas con dependencias? Es posible que durante la instalación
aptpida resolver dependencias. Si ocurre, ejecutaríaapt --fix-broken instally luego repetiría el paso 3. - Múltiples versiones de Java: Si en el futuro quisiera instalar otra versión de Java (por ejemplo, desde los repositorios de Debian 12), puedo gestionar cuál es la predeterminada con el comando
update-alternatives --config java.
Y ya está todo. A partir de aquí las preferencias de cada usuario mandan.
Alternativa a Debian 12
El usuario desing, del foro sobre Sinclair QL TheQLForum, me hace la siguiente recomendación: Kanotix, página de descargas.
La principal ventaja de Kanotix es que existe una edición específica eeepc4G para los mini pc de Asus que viene pre-ajustada y optimizada de fábrica para que todo el hardware (WiFi, sonido, cámara, atajos de teclado) funcione sin esfuerzo (“plug and play”). Al estar basada en Debian, es estable y ligera, y su instalador permite además un particionado manual flexible para aprovechar al máximo el limitado espacio de los SSD.
Puede descargarse la iso kanotix32-towelfire-nightly-eeepc4G.iso y probarse en modo Live antes de instalarla.
Enlaces
- Asus Eee PC 901 - Reviviendo un mini-portátil retro para emulación
- Repositorio CD image de Debian GNU/Linux - última versión en el momenrto de escribir esta entrada.
- Xfce Desktop Environment