install

3 entradas

brico — instalar cyanogenmod 7.1 en un HTC Hero

Antes de que se me pase, el aviso: ¡Ojo! Aplicar estas instrucciones sobre un teléfono (no necesariamente del modelo que se comenta) puede convertirlo en un precioso e inútil cacho de metal y plástico. Que a mí me funcionase es circunstancial y, bajo ningún concepto voy a aceptar críticas ni lloros porque algo no salió como se esperaba. Es tu móvil, es tu responsabilidad. 🙂

HTC Hero

Como casi todo el que empieza en esto de cambiarle el sistema operativo al teléfono (si, ahora los teléfonos móviles también tienen de eso), me leí toda información relativa al modelo, un HTC Hero y a la ROM, cyanogenmod que calló en mis manos. Y de ahí vino el problema. Porque información hay mucha, muchísima, tanto oficial (foros y wiki) como extraoficial y eso, se quiera o no, termina por saturar y sembrar de dudas. Así que, tras empaparme del proceso, bajarme los ficheros y programas necesarios, me acojoné y lo puse en espera hasta que me volviese el valor.

Un mes y pico después, más calmado y valiente, volví a retomar el tema y seguí buscando información. Al final, deduje que el proceso de instalarle una ROM no es tan laborioso como aparece en la web oficial, si no pretendes modificarla. Como era mi caso, elegí la siguiente versión abreviada:

  1. obtener la última versión de la ROM. Yo me bajé la última de las versiones nocturnas, las Nightly Builds, de Cyanogenmod 7.1. Lo colocaremos en la tarjeta de memoria, en el directorio principal de la misma.
  2. obtener las google apps, para disponer de las herramientas de google, gmail incluído. Sino, sería como volver a tener un nokia :P. También debe colocarse el fichero comprimido en el raíz de la tarjeta de memoria.
  3. apagamos el teléfono y lo iniciamos en modo de recuperación del sistema, es decir, que pulsamos las teclas Home y Encendido a la vez.
  4. en el menú, lo primero que haremos será hacer una copia de seguridad por si hay que volver atrás. Usando la bola como un joystick, nos movemos a Backup/Restore y pulsamos. Ejecutamos Nand Backup y volvemos al menú principal.
  5. lo siguiente es borrar las cachés, porque tiene varias. En la opción Wipe, ejecutamos Wipe data/factory reset, Wipe cache y Wipe Dalvik-cache. Volvemos al menú principal.
  6. ahora ya toca instalar la nueva versión de Android. Para ello, vamos a la opción Flash zip from sdcard y seleccionamos el fichero de cyanogenmod. Pulsamos Home para aceptar la operación y listo.
  7. instalamos, mediante la misma opción, las google-apps.
  8. hecho esto, sólo nos falta reiniciar el teléfono y esperar. Por cierto, el primer inicio tras la instalación del nuevo android tarda mucho. Yo instalé tres veces cyanogenmod por no esperar cinco minutos.
  9. lo primero que nos pedirá será la configuración de las google-apps, es decir, una cuenta de gmail. También se descargará e instalará una versión del market ligeramente diferente a la que estaba acostumbrado y, de ahí, al infinito.

Desde el día que tuve el teléfono en mi mano quise cambiar la versión de android que traía instalado. Los motivos eran varios, como que las actualizaciones del sistema operativo eran escasas (o inexistentes) gracias a HTC, que la capa gráfica que había metido el fabricante, Sense, lastraba el funcionamiento una barbaridad o que muchas aplicaciones no eran compatibles. Hace un año HTC actualizó la versión de android a la 2.1 y solucionó el último punto, pero el resto seguía ahí.

Android 2.3.7 en mi HTC Hero
Android 2.3.7 en mi HTC Hero

Tras dar el paso, las ventajas son muy evidentes. De hecho, han pasado dos semanas y sigo pensando que he cambiado de teléfono. A grandes rasgos, el comportamiento es más fluido y rápido, se nota que Sense no está en medio, pintando todas las esquinas redondeadas y los cambios introducidos en la versión 2.3 de android son tremendos.

Tampoco tengo las aplicaciones que traía instalado de serie y que no se podían desinstalar, a pesar de ocupar un espacio muy valioso porque sólo se utilizaba la memoria interna del teléfono para guardarlas. Ahora puedo elegir dónde instalar las aplicaciones, en la memoria del teléfono o en la tarjeta externa, con lo que se gana espacio y se evita el mensaje de la falta de espacio.

Además, la batería dura considerablemente más, debido en parte al control de las aplicaciones que están funcionando en background y que es impresionante. Me he olvidado del programa aquel para matar procesos, con el vicio que tenía.

También se han resuelto algunos efectos extraños como no recibir llamadas a pesar de estar en cobertura o que tras realizar una llamada estuviese un minuto como desconectado, sin cobertura.

Y ya, en plan tonto, comentar que el programa para gestionar la cámara de fotos es mucho más completo y sencillo de usar y que el de la galería de fotos es una pequeña maravilla, fácil e intuitivo de usar y muy vistoso.

Si bien es cierto que en ocasiones no hay bastante hardware para ciertos procesos, estoy muy contento con el resto de mejoras y ni hecho de menos la anterior versión, ni creo que vuelva a ver Sense en el teléfono.

instalación de debian gnu/linux sid amd64 en un macbook

Nota: Mamá, esta entrada sí que no te la recomiendo. Habla de linux, eso que me da de comer y me llevó al quinto pino que, además, suena a exhabrupto porque son todo siglas y anglicismos y sobre el portátil blanco, ese tan chulo que llevo a todas partes. Describe el proceso de instalación y configuración de Debian en el aparato, así que puede ser muy soporífero y sí, es cierto, es una chuleta para el futuro, para no volver a averiguarlo todo de nuevo. Vago que es uno… ¿qué pasa? 😉

También quiero hacer notar que éstas son mis notas de la instalación y configuración del macbook y que, previsiblemente, pueden no funcionar bien en otras máquinas. A mí, que es lo verdaderamente importante, me funcionó y así sigue.

  1. malum.n1mh.org, la máquina

    malum es un Macbook blanco, de cuarta generación, al que estoy dando caña desde aquel lejano día que llegó.

    A continuación, una vista rápida del hardware que contiene.

    $lscpu
    Architecture: x86_64
    CPU(s): 2
    Thread(s) per core: 1
    Core(s) per socket: 2
    CPU socket(s): 1
    NUMA node(s): 1
    Vendor ID: GenuineIntel
    CPU family: 6
    Model: 15
    Stepping: 11
    CPU MHz: 800.000
    Virtualization: VT-x
    L1d cache: 32K
    L1i cache: 32K
    L2 cache: 4096K

    $lspci
    00:00.0 Host bridge: Intel Corporation Mobile PM965/GM965/GL960 Memory Controller Hub (rev 03)
    00:02.0 VGA compatible controller: Intel Corporation Mobile GM965/GL960 Integrated Graphics Controller (rev 03)
    00:02.1 Display controller: Intel Corporation Mobile GM965/GL960 Integrated Graphics Controller (rev 03)
    00:1a.0 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #4 (rev 03)
    00:1a.1 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #5 (rev 03)
    00:1a.7 USB Controller: Intel Corporation 82801H (ICH8 Family) USB2 EHCI Controller #2 (rev 03)
    00:1b.0 Audio device: Intel Corporation 82801H (ICH8 Family) HD Audio Controller (rev 03)
    00:1c.0 PCI bridge: Intel Corporation 82801H (ICH8 Family) PCI Express Port 1 (rev 03)
    00:1c.4 PCI bridge: Intel Corporation 82801H (ICH8 Family) PCI Express Port 5 (rev 03)
    00:1c.5 PCI bridge: Intel Corporation 82801H (ICH8 Family) PCI Express Port 6 (rev 03)
    00:1d.0 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #1 (rev 03)
    00:1d.1 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #2 (rev 03)
    00:1d.2 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #3 (rev 03)
    00:1d.7 USB Controller: Intel Corporation 82801H (ICH8 Family) USB2 EHCI Controller #1 (rev 03)
    00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev f3)
    00:1f.0 ISA bridge: Intel Corporation 82801HEM (ICH8M) LPC Interface Controller (rev 03)
    00:1f.1 IDE interface: Intel Corporation 82801HBM/HEM (ICH8M/ICH8M-E) IDE Controller (rev 03)
    00:1f.2 IDE interface: Intel Corporation 82801HBM/HEM (ICH8M/ICH8M-E) SATA IDE Controller (rev 03)
    00:1f.3 SMBus: Intel Corporation 82801H (ICH8 Family) SMBus Controller (rev 03)
    02:00.0 Network controller: Broadcom Corporation BCM4328 802.11a/b/g/n (rev 03)
    03:00.0 Ethernet controller: Marvell Technology Group Ltd. Marvell Yukon 88E8058 PCI-E Gigabit Ethernet Controller (rev 13)
    04:03.0 FireWire (IEEE 1394): Agere Systems FW322/323 (rev 61)

    $lsb_release -a
    No LSB modules are available.
    Distributor ID: Debian
    Description: Debian GNU/Linux unstable (sid)
    Release: unstable
    Codename: sid

  2. Preparación de MacOSX

    Es muy recomendable instalar rEFIt para poder elegir el sistema operativo durante el arranque, entre otras opciones. Los motivos se explican muy bien en el wiki de Debian.

  3. Sobre la instalación

    Hay una estupenda guía de la instalación en el wiki de Debian, por lo que no voy a reinventar la rueda. Eso sí, comentar que para la instalación, es bueno emplear la imagen de Debian de la arquitectura amd64, ya que el equipo trabaja a 64 bits. Se puede instalar, sin problemas, la clásica de 32 bits pero gracias a la mezcla de arquitecturas y, sobre todo, de las librerías dependientes de ésta, la tarjeta inalámbrica no funciona, por ejemplo. Sé que hay Macbooks que utilizan otras tarjetas wireless que funcionan perfectamente a 32 bits, pero no ha sido mi caso y no conseguí utilizarla hasta que cambié la arquitectura. Me imagino que habrá más problemas pero, para mí, ese fue el detonante y no seguí mirando.

  4. Tras la instalación

    Suele pasar que el equipo se reinicia directamente con MacOSX, así, sin avisar. En ocasiones basta con apagar completamente el ordenador y, al iniciarse de nuevo, aparece el menú de rEFIt. En otras, la mayoría, y a pesar de haber instalado rEFIt, particionado el disco duro, instalado el sistema operativo y demás, Leopard se resiste a perder su hegemonía. La solución es bastante sencilla y pasa por utilizar una de las herramientas de rEFIt, Partitioning Tools para sincronizar los últimos cambios en el disco duro con EFI, el cargador de MacOSX.

    Si rEFIt no aparece, hay que volver a instalarlo desde MacOSX pero, en las opciones, hay que seleccionar que se instalen los drivers en el disco duro. Si no se selecciona, no sobreescribe al cargador y no aparece el menú de rEFIt.

    Una vez reiniciado el equipo con Debian tras la instalación, hay que pasarlo de la versión estable del repositorio, lenny, a la salvaje y agreste sid, y volver a actualizar. La última vez fueron 700 MB y no sé cuantos paquetes, por lo que es el paso ideal para irse a tomar un café y ver un capítulo de The Big Bang theory.

    Ya en sid, es altamente recomendable instalar el último núcleo disponible para amd64, en mi caso el 2.6.30-1-amd64, que siempre soporta más hardware, e incorpora mejoras.

  5. Reconociendo dispositivos
    • tarjeta de red:

      03:00.0 Ethernet controller: Marvell Technology Group Ltd. Marvell Yukon 88E8058 PCI-E Gigabit Ethernet Controller (rev 13)

      reconocida y utiliza desde el proceso de instalación de Debian.

    • tarjeta de red inalámbrica:

      02:00.0 Network controller: Broadcom Corporation BCM4328 802.11a/b/g/n (rev 03)

      Fue la culpable de que reinstalase Debian después de dos años de feliz servicio. El fabricante de la tarjeta, Broadcom, provee también del driver necesario para que funcione en linux y éste a su vez depende de la arquitectura del equipo (amd64) y de la versión de Debian instalada (i386). Como no casaban ambas, el driver ni tan siquiera compilaba y se dedicaba a emitir un error similar a éste:

      ld: Relocatable linking with relocations from format elf64-x86-64 (/root/hybrid/lib/wlc_hybrid.o_shipped) to format elf32-i386 (/root/hybrid/wl.o) is not supported

      La solución fue bastante drástica: reinstalar Debian, ésta vez con la arquitectura adecuada. Una vez dado este pequeño paso, hay que instalar varios paquetes, entre ellos el del driver para la tarjeta wireless. Es importante utilizar el driver que viene en el paquete de Debian, en vez del comprimido descargado de la web del fabricante porque, curiosamente, éste último no funciona. Imagino que por incompatibilidades entre el núcleo, las librerías y el código.

      Instalar los paquetes broadcom-sta-common y broadcom-sta-source para el driver y linux-headers-2.6.30-1-amd64 y linux-kbuild-2.6.30 para poder compilarlo. Dejan un fichero comprimido en /usr/src/. Si se siguen las instrucciones del README.txt, ese clásico, se obtiene el módulo que hará funcionar la tarjeta inalámbrica, wl.ko. Sólo falta mover el módulo al directorio /lib64/modules/`uname -r`/kernel/drivers/network/wireless/ y ejecutar:

      echo wl >> /etc/modules.

    • bluetooth:

      Este chip, curiosamente, apenas si dio problemas. Durante el arranque, el núcleo Linux lo reconoce a la primera y, para utilizar el ratón bluetooth que tengo, sólo tuve que instalar el paquete gnome-bluetooth y añadir bluetooth al fichero /etc/modules. A través del asistente y en tres pasos, comencé a utilizar el ratón sin problemas.

    • touchpad:

      Basta con instalar los paquetes de synaptic (synaptic y gsynaptics) para que aparezca una opción en la configuración de Gnome donde se podrá configurar el touchpad a voluntad. En ocasiones es recomendable añadir el módulo appletouch al fichero /etc/modules. Por cierto, los toques con dos dedos sobre el touchpad son bastante parecidos a los de MacOSX.

    • tarjeta de video:

      00:02.0 VGA compatible controller: Intel Corporation Mobile GM965/GL960 Integrated Graphics Controller (rev 03)

      No es necesario instalar ningún paquete, ya que X.org reconoce y utiliza correctamente la tarjeta de video. Eso sí, se recomienda una resolución panorámica, de 1280×800, para hacer uso de toda la pantalla. El ajuste del brillo mediante las teclas Fn+F2 o Fn+F3 funciona perfectamente desde que se instala pommed, cosa altamente recomendable.

    • tarjeta de sonido:

      00:1b.0 Audio device: Intel Corporation 82801H (ICH8 Family) HD Audio Controller (rev 03)

      ALSA reconoce y utiliza la tarjeta de sonido desde el primer momento.

    • isight (webcam):

      Es recomendable montar la partición de MacOSX (en caso de que nos la hayamos cargado, claro), antes de instalar el paquete isight-firmware-tools. Durante la instalación, el paquete buscará el firmware de la cámara y deberemos darle una ruta de la partición de MacOSX. Para ello, ejecutar:

      mount -t hfsplus /dev/sda2 /media/macosx/

      y, cuando pregunte, adaptar la ruta al directorio de montaje. Luego, sólo hay que añadir el módulo isight_firmware al fichero /etc/modules. Se puede probar con el programa cheese.

    • mando a distancia:

      pendiente.

    • salida de video mini-dvi:

      pendiente.

  6. Instalando programas puñeteros
    • flash 10 (desarrollo):

      Para la arquitectura amd64 hay una versión de flash 10, de desarrollo, que funciona perfectamente. Eso sí, primero hay que cargarse el programa opensource que emula a flash.

      sudo mv /usr/lib/swfdec-mozilla /usr/lib/swfdec-mozilla.orig
      sudo mv /usr/share/doc/swfdec-mozilla /usr/share/doc/swfdec-mozilla.orig

      Luego, obtenemos la versión de desarrollo de flash:

      wget http://download.macromedia.com/pub/labs/flashplayer10/libflashplayer-10.0.22.87.linux-x86_64.so.tar.gz

      Se descomprime y se copia el fichero en /usr/lib64/iceweasel/plugins. Ni tan siquiera hace falta reiniciar iceweasel, lo reconoce sobre la marcha.

    • skype:

      Hay una versión para la arquitectura amd64 pero, también hay que instalar una serie de librerías para utilizarlo como si fuese un programa de 32 bits y unas cuantas más de QT, que son la interfaz gráfica que utiliza Skype.

      sudo aptitude install ia32-libs ia32-libs-gtk
      sudo aptitude install libqt4-core libqt4-gui

      A continuación, descargamos el programa, en su versión para 64 bits. El hecho de que sea un paquete de Ubuntu no tiene la mayor importancia.

      http://www.skype.com/go/getskype-linux-ubuntu-amd64

      Finalmente, se instala el paquete y, si no hay problemas de dependencias, sid es lo que tiene, estará completamente operativo. En mi caso tengo que añadir que estuve tres días sin usarlo porque daba un error de librerías que, con una actualización se solucionó. En ocasiones es mejor no tocar nada.

Y nada más…

de profesión, sus labores

Hoy ha sido un día atípico en el que, por fin, he podido cambiar las impresoras (esos seres infernales), por los trastos que realmente me gustan: los servidores. A primera hora de la mañana, sin nada sólido en el cuerpo y con una necesidad apremiante de cafeína, me convocaron para ir a instalar SuSE en cuatro servidores como lavadoras.

La mañana ha pasado volando entre lectores de CD-ROM que no funcionaban, necesidades que se van cubriendo a fuerza de asignar mil veces el sistema de ficheros (eso que los mortales llaman formatear), instalaciones rápidas (y chapuceras) y direcciones de red que no aparecen. ¡Por fin realizo labores de lo mío, como diría aquel! ¡Cuanto se pueden hechar en falta!

En fin, mañana más, que faltan tres lavadoras por centrifugar :D.

linux, suse, server, configuration, setup, install, sysadmin, bofh, washing machines