Galculator: RPN (decente) en GNOME

Me ha costado, pero por fin he encontrado una calculadora para que soporta la (RPN). Sí, podía compilarme una x48 (y cada cierto tiempo lo hago), pero desde hace tiempo echaba en falta una calculadora sencilla y con una interfaz agradablemente integrada con el resto del escritorio. ¡Y la encontré! Galculator está en los repositorios de Ubuntu, así que basta buscarla en el Centro de Software o, desde una línea de comandos, teclear

sudo apt-get install galculator

Tiene un pequeño fallo, pero nada grave: si se selecciona el modo de pila infinita (infinite stack), la tecla roll (para rotar la pila) no funciona. Puede seleccionarse una pila de cuatro elementos (x, y, z, t), como en las calculadoras HP más antiguas, pero cualquiera que haya echado las muelas del juicio con una (C o S) o superior agradecerá disponer de una pila indefinida.

Galculator tiene muchas otras funciones interesantes, además de las típicas de las calculadoras científicas: puede definir constantes o funciones nuevas a partir de otras ya existentes. Dispone, además, de un “modo papel” en el que la interfaz es extremadamente simple: se teclean las operaciones deseadas en un campo de texto, y los resultados van apareciendo encima, como en las antiguas calculadoras de rollo. Además, ofrece la posibilidad de usarla también en un modo más “amigable” (algebraico), lo que agradará a los no iluminados en el camino del RPN.

Celestia: guía de compilación en Ubuntu 10.04

En mis últimos ordenadores siempre ha estado un programa esencial para todo amante de la astronomía, la astronáutica y el espacio en general: Celestia. Un “simulador de Universo”, como suena, capaz de llevarte a velocidad absurda a cualquier lugar cartografiado en un radio de muchos miles de años luz a la redonda. Además, es ampliable y su entusiasta comunidad (dirigida por Chris Laurel, actualmente en la ) aporta mejoras y ampliaciones con regularidad.

Los únicos requisitos para ejecutar son disponer de un PC moderno con una tarjeta gráfica con soporte más o menos potente: si puedes jugar a algo en 3D con relativa fluidez, podrás disfrutar de Celestia. Para que conste, la mía es una GT 220 funcionando con el driver propietario. Lamentablemente, mientras que para Windows se ofrece un instalador simple, los linuxeros tenemos que vérnoslas con un archivo .tar.gz de fuentes, en plan some assembly required antes de jugar. Algunas distribuciones disponen de paquetes precompilados, pero normalmente no están muy bien mantenidos: son de versiones antiguas de la distribución o del propio Celestia, no soportan arquitecturas de 64 bits, o las tres cosas a la vez.

Compilar Celestia se ha convertido para mí en una especie de ritual, que se repite cada vez que adquiero un nuevo equipo o instalo desde cero un sistema operativo. Ahora le ha llegado el turno a mi workstation con (64 bits) y , y esta vez he documentado los pasos que seguí para poder contarlos aquí y que puedan servir a alguien más. Así que, sin más preámbulo… un disclaimer:

Atención: no soy responsable de nada que puedas hacerle a tu ordenador siguiendo estas instrucciones. De nada. Mi distribución no estaba “limpia” antes de comenzar este proceso: por tanto, es posible que aún instalando todo lo que aquí se dice, te falten algunas dependencias. Haz como yo: lee con cuidado los mensajes de error y mira los foros o el wikilibro. No soy ningún experto en esto, pero a mí me ha funcionado. Para evitar errores tontos, marcaré cada fin de línea con este dibujillo: “↵”. Sería recomendable tener un nivel intermedio de manejo de Linux para poder seguir esta guía: si no lo tienes, échale el lazo a tu geek local. Yo no tengo todo el tiempo que querría.

Venga, ahora sí que sí. Lo primero: suele ser más fácil compilar las fuentes conforme salen del repositorio de control de versiones de SourceForge. Más fácil que el paquete con la última versión (a día de hoy, la 1.6.0). No preguntéis por qué, e instalad el soporte de si no lo tenéis ya para poder bajarlas. Abrid una consola y teclead:

sudo apt-get install subversion↵

Siempre que os pida la contraseña de root, la ponéis. Es el momento de bajar las fuentes en sí. Desde vuestro directorio de usuario:

svn co https://celestia.svn.sourceforge.net/svnroot/celestia/trunk celestia↵

Cuando termine, tendréis un directorio celestia con todo el pastel. Ahora, a instalar dependencias, que son paquetes necesarios para que lo que acabamos de bajar compile y funcione. Nota: igual que a alguien le puede faltar alguna dependiendo de cómo haya instalado su Ubuntu, también es posible que algún paquete de los que doy aquí sea redundante. En fin.

sudo apt-get install build-essential automake gettext libgconf2-dev libtool zlib1g zlib1g-dev libgtkglext1 libgtkglext1-dev libgnomeui-dev lua5.1 liblua5.1 liblua5.1-dev↵

Hasta aquí no creo que haya problemas. Ahora empezamos a compilar:

cd celestia↵
autoreconf -iv↵

Eso crea el script de configuración de la compilación. Ahora, configuraremos la compilación, incluyendo soporte para GNOME y . El primero se pueda cambiar por KDE, pero entonces alguna de las dependencias anteriores estará mal. Incluir soporte de Lua (un lenguaje de scripting que Celestia puede llevar embebido) es interesante: muchas mejoras (add-ons) lo requieren:

./configure --with-gnome --with-lua↵

¡Llega el momento de compilar! Tecleamos

make↵

Estamos a un paso de poder disfrutar de las mejores vistas que se pueden tener en un monitor sin estar de verdad en el espacio (o sin un fondo de pantalla de Megan Fox en plan interesante). Instalamos el resultado de la compilación:

sudo make install↵

Por defecto, Celestia queda instalado en /usr/local/bin, y sus archivos de apoyo en /usr/local/share/celestia. Si el primer directorio está en nuestro $PATH de ejecución (y si no has hecho nada raro, debería estar), basta teclear

celestia↵

para empezar a navegar a lo grande. Aquí teneis una pequeña guía en español para dar los primeros pasos: Proyecto Celestia: Guía de Usuario (útil a partir del capítulo 5).

Desgraciadamente, todo esto no fue lo último que tuve que hacer para que Celestia funcionara correctamente en mi equipo. Me encontré con una ventana en la que no se mostraba nada en absoluto, aunque la navegación parecía funcionar. Quizá esto no te ocurra, o quizá sí… La solución: seleccionar la opción del menú Options/View options… y marcar para visualizar las cajas de selección de Planets y Stars como poco, poner el filtro de estrellas por distancia (Filter Stars) a su valor máximo, seleccionar el máximo detalle en textureas (Texture Detail) y pulsar Aceptar. Quizá se trate de un error menor en el programa, y quizá ya esté corregido (recordemos que estamos compilando a partir de la última versión disponible del código, así que incluso sería posible que existieran errores que no permitieran la compilación en absoluto —algo raro, pero…) Curiosamente, si ejecutaba Celestia como root (haciendo sudo celestia en una consola) todo funcionaba a la primera.

Una última advertencia: Celestia engancha. Hay quien ha cambiado de tarjeta gráfica, quien ha gastado auténticos caudales en sus equipos para poder ver las míticas texturas “32k” de la Tierra o Marte con todos los efectos de iluminación, quien ha perdido el apetito o abandonado a su mascota a su suerte para estar días seguidos pegado a la pantalla. Ni que decir tiene que tampoco me hago responsable. Disfruta.

VNC y Compiz en Gnome

¿Quién no ha usado ? (Vale, no me abruméis con tanto silencio, que ahora los geeks estamos “casi” bien vistos.) Es una forma muy sencilla de acceder al escritorio de otro equipo remotamente; aunque no es un protocolo muy eficaz, su sencillez de manejo y la posibilidad de conectar entre sí sistemas extremadamente distintos lo hacen atractivo frente a otras opciones de escritorio remoto. Por ejemplo: mi teléfono me permite ver el escritorio del equipo principal de mi oficina () con Remote VNC Pro.

Ubuntu ofrece por defecto la compartición del escritorio por VNC a través de un servidor que se activa en Sistema/Preferencias/Escritorio remoto. Algunas cajas de selección —francamente simples— marcadas y voilà! Escritorio compartido en tu segmento de red. Para una pequeña oficina como la mía, que utiliza la misma red WiFi que mi casa, es una buena solución para comprobar qué está ocurriendo en el ordenador grande desde el sofá, con el portátil (o incluso con el teléfono).

El problema

. No sólo es “azúcar para los ojos” (eye-candy es la encantadora expresión anglosajona): estoy convencido que las animaciones que muestran los cambios de estado de las ventanas son esenciales para mejorar la usabilidad del sistema. En consecuencia, gasté una cantidad de dinero extra para asegurarme de que Compiz funcionaría correctamente, poniéndole una buena tarjeta aceleradora 3D. Pero resulta que con Compiz activado en un servidor Vino (el servidor VNC que viene de serie con , el escritorio por defecto de Ubuntu), ¡los clientes sólo reciben una pantalla negra! En cuando se desactiva Compiz, VNC vuelve a funcionar de forma normal. Esta sería una opción aceptable en un ordenador en el que no trabajara habitualmente, pero cuando uno se acostumbra a “lo bueno”, dar un paso atrás se pone muy cuesta arriba. ¿Hay solución?

La solución

Sí. Desde un terminal, basta invocar gconf-editor. Aparecerá una especie de editor de configuraciones de Gnome similar al editor de registro de nuestros amigos de Windows (el backend de datos que se están modificando son ficheros de texto en formato XML, así que no me vengáis con que “tanto quejarse del registro de Windows y mirad ahora”). Navegad por la estructura de carpetas siguiendo la ruta /desktop/gnome/remote_access y marcad el ajuste disable_xdamage. En la documentación de esta clave se dice que la extensión XDamage de X.org no funciona bien en algunos drivers de vídeo si se usan efectos 3D, lo que evidentemente es el caso de Vino. También dice que VNC renderizará un poco más lentamente. Como si fuera preferible ver una pantalla negra —a toda velocidad, eso sí— a que las cosas funcionen como deben.

¿Problemas con el lector de tarjetas SD?

Recientemente estoy atravesando por una de esas fases de sequía bloguera. No es que no haya temas de los que escribir, al contrario. El problema es que la mitad de ellos me hinchan la vena del cuello como si fuera una cámara de bicicleta, y la otra mitad ya son muy competentemente comentados por blogueros-alfa a los que sigo. Hay días en los que Google Reader es como un pequeño ángel de la guarda cabrón que te susurra al oído “¿para qué? Si ellos ya lo han dicho mejor que tú…” De modo que acudiré al viejo truco: contar alguna frikada técnica que me haya ocurrido recientemente, de la que haya aprendido algo y con la que —espero— alguien pueda ahorrarse quebraderos de cabeza. Hala, al lío.

El problema

"Expulsar unidad de forma segura" en Ubuntu 9.10
“Expulsar unidad de forma segura” en Ubuntu 9.10

Uso Ubuntu 9.10 Karmic Koala (¿no son encantadores los nombres?), aunque tal vez desde la versión anterior he notado la inclusión de un elemento adicional en el menú contextual de los medios extraíbles, Expulsar unidad de forma segura, que acompaña a los más tradicionales Desmontar y Expulsar. Desmontar es un viejo concepto unixero asociado a la gestión de volúmenes de datos; los linuxeros de hoy montamos poco desde que existe automount, pero para los medios extraíbles es recomendable indicarle de algún modo al sistema operativo que tenemos intención de tirar de la manta, o de la tarjeta en este caso. De otro modo podríamos interrumpir alguna operación de escritura en curso (en todos los S.O. multitarea son asíncronas, lo que significa que ocurren cuando al planificador del núcleo le parece) y corromper —como poco— algún fichero. Expulsar implica desmontar, y tiene sentido en una unidad de CD o DVD, donde hay una bandeja motorizada que extrae físicamente el medio.

Como la idea de hacer algo “con seguridad” me atrae, al menos en principio, comencé a utilizar esta opción antes de extraer mis tarjetas SD de su ranura. Sin embargo, un día, al insertar una tarjeta llena de fotos de las últimas vacaciones, observé que automount estaba pasando de mí. Pánico creciendo. Pronto me di cuenta de que el lector no funcionaba en absoluto. Ni siquiera aparecía al hacer un lsusb en una consola. Pánico disminuyendo, pero extrañeza creciendo. Como no apago el equipo todos los días, tardé en darme cuenta de que era precisamente tras expulsar “de forma segura” una tarjeta cuando ya no podía leer más ¡y el dispositivo lector dejaba de existir! El único remedio: reiniciar. Después del reinicio todo volvía a la normalidad. Hasta que mi mente, ansiosa de seguridad, volvía a pulsar en esa opción y, días más tarde, vuelta a empezar.

La solución

Resulta que Expulsar unidad de forma segura hace algo más que desmontar la tarjeta: también apaga el dispositivo lector. Eso es estupendo: añade un plus de seguridad con un lector de tarjetas portátil. Lo desenchufas del puerto USB y listo; la próxima vez que lo enchufes se encenderá. Pero… los lectores internos suelen estar conectados también por una interfaz USB a la placa —para ahorrar en interfaces PCI. El chipset que llevan reacciona a los mismos comandos que los lectores externos, y en particular pueden apagarse de la misma manera. Así, si apagamos un lector interno de tarjetas, tenemos dos opciones: abrir el ordenador en vivo, localizar su conexión a la placa, desenchufarla y volverla a enchufar; o —más cómodamente— apagar y encender. Vaya. No me pillaréis más expulsando de forma segura. Seguro.

Compatible, pero ¿a qué precio?

Como padre, me preocupa que el material que utilizan mis hijos en el colegio sea de la máxima calidad posible. Como defensor del software libre, me preocupan los intentos por perpetuar la estandarización de un sistema operativo determinado, aun contra los intereses colectivos de la sociedad —¿por qué pagar una tasa Microsoft, cuando existen alternativas, tanto de pago como gratuitas y de calidad más que satisfactoria? Por eso, comprobar que los soportes digitales asociados a dos de los libros de mi hijo este año declaran su compatibilidad explícita con Linux (los demás no sorprenden a estas alturas) me llena de gozo y satisfacción. También me llena la boca de patatas cocidas, para poder pronunciar esa frase con el tonillo real que se merece. Leo las instrucciones:

Windows
Introduzca el CD-ROM en el lector de su ordenador. Si tiene activada la opción de autoarranque, el programa se ejecutará automáticamente. Si esta opción no estuviese activada, ejecute el fichero ExeWin.exe situado en el directorio raíz de su unidad de CD-ROM.
Mac
Introduzca el CD-ROM en el lector y haga doble click en el fichero ExeMac situado en el directorio raíz de su unidad de CD-ROM.
Linux (las notas son mías)
Después de introducir el CD-ROM en el lector y montarlo correctamente1, ejecute el fichero ExeLinux.sh2 situado en el directorio raíz de su unidad de CD-ROM. Si el administrador del sistema no permite ejecutar programas desde el CD-ROM3, puede cambiar esta autorización editando como usuario ROOT4 el fichero /etc/fstab5, añadiendo la opción exec6 a la línea /dev/cdrom, de forma que quede de la siguiente manera:

/dev/cdrom /cdrom iso9660 defaults,ro,user,noauto,exec 0 07

(Nota: alguno de los valores puede ser diferente, dependiendo de su configuración personal8.)

Acabáis de oir el sonido de mi mandíbula cayendo al suelo. Disculpadme mientras la recojo. Ahora, las notas, o ¿qué puede ir mal en todo esto si no tienes unos años de experiencia con Linux?:

  1. ¿Montarlo correctamente? Si sólo tiene una pieza.
  2. La ejecución podría ser excesiva. Tal vez un correctivo sería suficiente.
  3. ¿Por qué puede puede no estar permitido que se ejecuten programas desde un CD? Y ¿quién es ese administrador que dicen?
  4. Sí, con vi, no me digas más.
  5. Naturalmente, todo el mundo sabe dónde está ese archivo y cómo llegar a él.
  6. ¿Ein?
  7. ¿Ein (al cuadrado)?
  8. No es por molestar, pero esto es añadir la humillación al insulto.

No, la verdad es que no es un buen día para tener fe en que Linux se convierta alguna vez en un sistema operativo popular en el escritorio.

Cuando un desconocido te regala flores…

… Eso es impulso. Por si no eres lo suficientemente viejuno como para saber a qué me refiero, traduciré el ripio a un lenguaje más actual:

Si un día te da el venazo y te compras una , teniendo en casa sólo un ordenador con … Eso es impulso.

Ya hace unos meses que me la compré. Los suficientes para que no martirizarme —mucho— por el reciente anuncio de la versión 2 del Touch. No importa. El aparatito es cool, usarlo es un placer y las chicas me miran con deseo en el metro (ejem). Pero un día de estos tendré que ponerle algo de música dentro —me han dicho que es la caña lo de hojear las cubiertas de los discos con el dedito. Seguramente tendré que bajarme el ese. Una vez lo vi en el ordenador de mi hermana: si tratan de hacer propaganda de lo fácil que es usar un con esa cosa, creo que prefiero comprarme un de segunda mano.

La primera, en la frente

¡Anda, no hay iTunes para Linux (y también me he dejado los donuts en casa)! ¿A quién podría ocurrírsele semejante perversidad? Pero si es un disfrazado, ¡qué les cuesta? Naturalmente que no me voy a comprar un Mac sólo para cargar de canciones mi gadget, así que Apple me está forzando la mano para que me pase, de entre todos los sistemas operativos posibles, a . Ni de blas.

El geek que hay en mí decide actuar: pruebo a montar una máquina virtual con Windows, usando . Duele, y no por VirtualBox, del que soy feliz usuario desde hace ya tiempo, sino por Windows. No puedo usar la licencia (legitimísima) que venía con mi ordenador en la máquina virtualizada; eso me obliga a algunas manipulaciones creativas que no detallaré aquí. Hecho lo cual instalo iTunes, conecto el bicho y… FAIL! La implementación de de VirtualBox funciona del derecho y del revés con todo, menos con el Touch. Argh.

La ingeniería inversa, al rescate

Una librería (sí, sé que se dice biblioteca, denunciadme) de Linux es capaz de acceder al contenido de los iPods: libgpod. Siempre y cuando, claro está, que el sistema de archivos del bicho esté desencriptado. Los Touch vienen cerraditos cerraditos de serie, así que va a haber que abrirlo un poco. Vamos, lo que viene siendo un jailbreak de toda la vida. Vamos allá.

Después de varios días desmadejando esta madeja de tutorial parece que medio funciona y todo, pero sólo por (= más lento que un caracol con artritis). Igual si me paso al firmware 2.0 del Touch mejoro las cosas. ¿Sólo lo puedo pillar con iTunes? Después de las desventuras habidas, creo que lo tomaré prestado para probarlo un rato. Luego lo devuelvo.

Enésimoprimer acto: la ocurrencia fatal

¡Ja, ja y ja! Tuve que pedir prestado un PC infectado con Windows y borrar mis seis gigas de música, pero merecerá la pena. A ver qué hace… Es raro, he pasado una canción con Amarok y no sale en el Touch. A ver qué dicen los internets. (Sonido de una mandíbula cayéndose al suelo.) El firmware 2.x cambia el formato de encriptación de la base de datos de canciones. Parece que voy a tener que hacer un downgrade a la 1.1.4, que es la última que funciona. No parece difícil. Sólo hay que teclear en morse el primer párrafo de Beowulf usando la tecla redonda para los puntos y la de arriba para las rayas. Ya estoy en ello: Hwæt! Wé Gárdena in géardagum / þéodcyninga þrym gefrúnon

Tardo siete horas y cuarto en conseguirlo.

¿Fin?

Me he enterado de que con sí se puede crear una máquina virtual con Windows dentro de Linux que se pueda conectar al Touch. A partir de la versión 6.0.3 de Workstation (y las paralelas en otros productos). Pero sigo teniendo dos problemas:

  1. es freeware, pero he visto ordenadores mucho más capaces que el mío caer de rodillas frente a su sed de ciclos. También he visto brillar rayos C sobre el hombro de Orión, pero qué más da.
  2. puede crear máquinas virtuales, pero no me compensa la relación coste-beneficio. Lo siento. 189 $ son muchos sólo para usar el zarrio de iTunes.

Así que, tirando de imaginación, me bajo el para Linux (2.0.5) y consigo una máquina virtual en formato VMX.

Funciona, pero ya es hora de irse a la cama.

Mal día para dejar el pegamento

Con mi Touch funcionando con su iTunes (puaj), me puedo sacar una cuenta de la Tienda iTunes y actualizar —por fin— mi cacharrito a la ultimísima y mejorcísima versión de firmware. Como ha pasado más de diez minutos desde que empezara el proceso (memorias, sin duda implantadas, de recorren mis neuronas), la versión ya no es la 2.0.2, sino la 2.1.

Sólo un último consejo:

Nunca, jamás, bajo ninguna circunstancia intentéis actualizar el firmware de un Touch en un Windows virtualizado.

Quien avisa no es traidor.

El día del pingüino (3)

O cómo actualizar la BIOS de un portátil sin disquetera (ni siquiera disquetera USB) y sin Windows instalado

Tras horas de pruebas con , percibí que en (pocas) ocasiones el rendimiento del sistema se reducía palpablemente, a la vez que el ventilador comenzaba a soplar con fuerza. Un rápido vistazo a top me mostró que había dos procesos, kacpid y kacpid_notify consumiendo un gran porcentaje de ciclos. Una búsqueda aún más rápida me llevó al blog de José Medina, que ofrece la pista fundamental: la BIOS podía estar relacionada con el problema, y con su solución.

Pocas cosas hielan la sangre arterial y venosa con mayor eficacia que una actualización de . Probablemente se trate de un miedo irracional, pero hay que reconocer que la posibilidad de dejar la máquina lista para su “enajenación” es un buen acicate para el pensamiento cuidadoso y ordenado. Dicho sea de paso, en mi actual trabajo llamamos enajenación al procedimiento consistente en levantar cuidadosamente un ordenador del suelo y arrojarlo con fuerza a la caja de un camión, contratado cada vez que se llena el almacén de trastos.

Volviendo al tema, resulta que kacpid es un demonio (proceso de sistema que se ejecuta en segundo plano) encargado de varias características propias de los portátiles, como control de la temperatura y gestión de los voltajes de la CPU. Por tanto, no podía aplicar la sugerencia de José, ya que perder el control sobre la tensión/frecuencia de la CPU supondría automáticamente reducir la duración de la batería entre cargas. Actualizar la BIOS parecía el único camino válido, así que me lancé a ello con la mirada acerada, la cabeza fría, los pies de plomo y unos cuantos tópicos más que pude reunir.

La web del fabricante

Para empezar, la web de Hewlett-Packard ofrece información detallada acerca de las diferentes versiones de controladores disponibles para cada uno de sus modelos. Mientras que la instalación de hace irrelevante el problema de los controladores (sobre todo, cuando hay versiones de código abierto disponibles), la BIOS sigue estando sujeta a las especificaciones del fabricante, debido a que es el primer código que se ejecuta en un PC y es, por tanto, anterior al sistema operativo e incluso al cargador (GRUB, o LILO, anteriormente).

La última versión de la BIOS disponible para mi tc4200 es la F.0E. Un rearranque, pulsando F10, reveló que la versión de mi máquina era la F.06. La historia de revisiones revela que la versión F.09 incluyó una mejora en las tablas de valores térmicos, así que probablemente esta sea la primera corrección válida para el problema de kacpid. Me decido, no obstante, a instalar la última versión disponible. Pero, ¿como?

Perdido sin disquetera

Se nos ofrecen tres modos de actualizar la BIOS:

  1. HPQFlash es un reprogramador de BIOS sencillo de usar, y sólo disponible en entorno Windows. Ya no tengo ganas de reinstalar XP para lo que debería ser un procedimiento elemental, así que veamos más opciones.
  2. Algo llamado Remote ROM Flash – SSM Compliant parece lo suficientemente amenazador. ¿Actualizaciones de la BIOS por la red? Actualizar la BIOS de una máquina ya es un procedimiento lo bastante infrecuente. No, no tenemos de eso. Nada que ver por aquí, por favor, circulen.
  3. ROMPaq, un programita que crea un disquete arrancable. No tengo disquetera en el portátil, pero vi de pequeño, así que saldré de esta.

Tengo un pinganillo (USB)

Antes de nada, para ejecutar ROMPaq hace falta un ordenador con Windows y (más difícil todavía) un disquete. Ordenadores con Windows, casi diría que por desgracia, hay muchos aquí. Con ayuda de un compañero localizo una caja de disquetes cubierta de polvo en el almacén. El primero no funciona, haciéndome recordar viejos sonidos traqueteantes. Con el segundo sí soy capaz de crear un disco de arranque adecuado (o eso dice ROMPaq). ¿Y ahora?

Una memoria USB puede formatearse y particionarse como un disco, y la mayor parte de las BIOS actuales incluyen la posibilidad de arrancar desde un dispositivo USB. Un vistazo a la configuración de arranque de la BIOS de mi portátil me muestra que es el caso, y aprovecho para cambiar el orden de arranque de dispositivos, poniendo el disco duro al final de la lista (para poder hacer eso tengo que activar la característica Multiboot, que ofrece un menú de medios de arranque temporizado; no tendría que ser necesario, pero…)

La misma HP ofrece (tras buscar un poco) una herramienta apropiada para formatear mi memoria USB como un disco arrancable: HP Drive Key Boot Utility. Funciona, a pesar de lo que dice en la página, con memorias USB sin marca. La instalo en el mismo ordenador en el que creé el disco de arranque; enchufo la memoria (aparece con la letra E:) y ejecuto el programa, que resulta ser un wizard.

Selecciono la unidad E:, y en la siguiente pantalla, Create New or Replace Existing Configuration, sin marcar la caja de selección que permite salvaguardar lo que tenga ahora la memoria. Eso ya lo he hecho antes, “manualmente”.

Más adelante, escojo formatear la memoria como un disco duro y no como un disquete. No parece lo lógico, pero lo cierto es que ya lo he probado y no ha funcionado: los blogs no son en directo, afortunadamente. En la siguiente pantalla marco Create New Filesystem. Esto formatea la memoria y crea un cargador de arranque. En la siguiente pantalla se ofrece configurar los contenidos del disco de arranque. Escojo la opción Floppy Image, que permite añadir una imagen del disquete de arranque con el programa de actualización de la BIOS que hice al principio. Marco A: como la unidad de origen, y relleno los dos campos de texto llamados Menu Text con “BIOS” y “Actualización de la BIOS, tc4200”, respectivamente.

La hora de la verdad

Con esto ya debería tener una memoria USB lista para arrancar. La desenchufo y la conecto en mi portátil. Reinicio, y selecciono el dispositivo de arranque como USB Disk (eso que sale es el menú Multiboot que cité antes). Tras varios mensajes informativos, arranca la utilidad de actualización de la BIOS. Selecciono Update, cruzo hasta los dedos de los pies, confirmo la selección y…

Ya está. Reinicio de nuevo cuando lo pide el programita. Aparece un inesperado rectángulo de texto rojo en la pantalla, y cuando consigo que mi corazón baje de las 170 pulsaciones por el susto, veo que está actualizando el controlador del teclado, y que no toque nada por lo que más quiera. Unas instrucciones fáciles de seguir. Unos segundos después tengo un ordenador con una flamante BIOS versión F.0E, y sin problemas de kacpid.

¿Linux, listo para el escritorio?

Sí, lo mantengo. Para empezar, este problema es lo suficientemente oscuro (e infrecuente) como para que no le afecte a mucha gente. La solución puede ser complicada, pero está muy condicionada por mi plataforma particular: en el caso —más normal, creo— de un portátil con una partición Windows habría podido resolverse sin mayores aspavientos; lo mismo, para un ordenador con disquetera.

Pero todo esto no es lo más importante. Lo fundamental es que una pequeña excursión por Google dio las pistas necesarias y toda la documentación para completar la tarea. ¿Cuántas veces me habré perdido en el laberinto de MSDN buscando la solución a un problema elemental? (Como cuando instalé IE7 en este mismo portátil; un día entero de buceo por la Knowledge Base y la aplicación de oscuros parches, conjuros binarios. Como Cervantes, no quiero acordarme.) Así que si Linux no está listo para el escritorio, Windows tampoco. Después de todo, no tanta gente sabe lo que es instalar Windows desde cero en un ordenador.