Deshabilitar unidades de systemd en GRUB (o como reviví una PC de 2010 con Sabayon Linux)

Pingüinos Gentoo, los más rapidos de la tierra

Actualmente mi computadora principal es una Macbook Pro 15 luego del fiasco Wayland vs Nvidia y la incapacidad de hacer scaling HiDPI con resoluciones mixtas -i.e. no puedo utilizar pantallas HiDPI y proyectores a la vez-.

Sin embargo, tradicionalmente suelo utilizar una computadora de 2010 para mis labores como docente universitario, específicamente una Dell Mini 1012 la cual se «arrastraba» con Linux Mint Rosa(2016) que llegó al final del camino durante abril de 2019, obligándome a actualizarla con un dist-upgrade y obteniendo como resultado una computadora incapaz de bootear.

Dado que nunca he sido fanático de distribuciones basadas en Debian, decidí aprovechar este fracaso para probar algunas distribuciones y revivir nuevamente al muerto, obteniendo una y otra vez el mismo resultado con todos los pendrive que preparaba, incluyendo:

  • Sabayon
  • Fedora Workstation
  • CentOS 7
  • Manjaro
  • Calculate Linux

Aunque inicialmente daba por muerto el computador, mi viejo corazón de *NIX hacker me decía que no todo estaba perdido; luego, probé instalar una versión muy vieja de Gentoo Linux (Gentoo 2012 «End of World») y fui capaz de iniciar, por lo que el error era probablemente una regresión en versiones actuales del kernel.

Luego de un par de horas en el bugzilla de kernel.org descubrí que existe un error reportado para ciertos modelos Dell desde el año 2015 y que ha sido también reportado en Arch Linux y Red Hat, el cual solo se activa bajo una serie de eventos desafortunados:

  1. La computadora debe ser una Dell antigua sin teclado retroiluminado
  2. systemd intenta restaurar el nivel de iluminación previo (o nivel por defecto en instaladores)
  3. El kernel se congela por una interrupción y una versión especifica de BIOS, básicamente intenta restaurar el nivel de iluminación . . . en un teclado sin iluminación

Mi vieja versión de Linux Mint Rosa no presentaba este problema ya que fue uno de los ultimos Linux Mint en resistir ante systemd. Sin embargo y como sugieren varios workarrounds, el camino más lógico es enmascarar el servicio demoníaco con un simple:

systemctl mask systemd-backlight@leds:dell::kbd_backlight.service

Lo que en mi caso era imposible ya que había arruinado la instalación antigua de Linux Mint y los instaladores de nuevas distros eran incapaces de arrancar.

Afortunadamente una de las capacidades de systemd es recibir parámetros desde el Kernel mediante kernel-command-line. Asi, es posible alterar ligeramente los instaladores ya que la mayoría (si no todos) los instaladores de Linux siempre tienen como primer pantalla un Grub glorificado, por lo que basta con agregar el siguiente parametro a la linea de arranque:

systemd.mask=systemd-backlight@leds:dell::kbd_backlight.service

Como resultado final decidí quedarme con Sabayon Linux, la variante binaria más popular de Gentoo (mi distro de todos los tiempos) luego de Chrome OS, sin embargo para poder iniciar el instalador en computadoras tan viejas es necesario hacer un pequeño hack en el instalador Calamares para que acepte menos de 1GB de memoria RAM.

Para preservar el sentimiento a vejestorio, decidí utilizar Fluxbox con apariencia de HP-UX (Motif/CDE), tal vez en algún momento intente compilar OpenCDE.


One Reply to “Deshabilitar unidades de systemd en GRUB (o como reviví una PC de 2010 con Sabayon Linux)”

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *