Instalando Debian en un Asus Transformer T200TA

Vamos a hacer una parada antes de terminar de montar nuestro blog para comentar un tema que me parece interesante, mis aventuras instalando nuestra querida Debian en este pequeño gran portátil. Tiene muy buenas caracterísitcas sobre el papel, pero cuando te pones manos a la obra para eliminar todo ese software supérfluo que sirve para bastante poco, versión 8.1, para más indicaciones, empieza la diversión.

Tengo que decir que esta máquina ha sido un regalo de compromiso y desde el principio me está suponiendo unos ratos bastante interesantes de investigación.

Lo primero que llama nuestra atención es que el sistema operativo es de 32 bits, aunque en realidad la cpu soporta la arquitectura de 64 bits, de hecho el sistema UEFI que lleva instalado es de 32 bits por lo que las dificultades están servidas.

En Debian siguen trabajando para que estas situaciones no sean un obstáculo en el proceso de instalación, según el desarrollador encargado de esta parte la combinación que tenemos entre manos es epecialmente 'interesante'.

Afortunadamente siempre hay buena gente en este mundillo y encontramos un proyecto en github que nos da bastantes claves.

Como pretendo hacer siempre, relataremos aquí los pasos por si en el futuro el enlace desaparece, tenemos que ser previsores.

Lo primero que haremos será crearnos un medio de arranque, para ello crearemos el archivo bootia32.efi, en un ordenador con debian o ubuntu instalado. Ejecutaremos los siguientes pasos:

# apt-get install git bison libopts25 libselinux1-dev autogen m4 autoconf help2man libopts25-dev flex libfont-freetype-perl automake autotools-dev libfreetype6-dev texinfo
[...]
# git clone git://git.savannah.gnu.org/grub.git
[...]
# cd grub
[...]
# ./autogen.sh
[...]
# ./configure --with-platform=efi --target=i386 --program-prefix=''
[...]
# make
[...]
# cd grub-core
[...]
# ../grub-mkimage -d . -o bootia32.efi -O i386-efi -p /boot/grub ntfs hfs appleldr boot cat efi_gop efi_uga elf fat hfsplus iso9660 linux keylayouts memdisk minicmd part_apple ext2 extcmd xfs xnu part_bsd part_gpt search search_fs_file chain btrfs loadbios loadenv lvm minix minix2 reiserfs memrw mmap msdospart scsi loopback normal configfile gzio all_video efi_gop efi_uga gfxterm gettext echo boot chain eval
[...]

Con esto ya tendremos el archivo necesario para crear nuestro usb de instalación. Debemos elegir uno con la suficiente capacidad para albergar la iso elegida. Para alimentar nuestro querido transformer escogeremos el instalador de red de debian, por lo que el tamaño es mínimo. También debemos tener en cuenta que las llaves usb antiguas eran más lentas y algunas no eran detectadas por la bios para lanzar la instalación.

Suponiendo que la llave usb está detectada en sdb realizaremos los siguientes pasos:

# apt-get install p7zip-full
[...]
# sgdisk --zap-all /dev/sdb
# sgdisk --new=1:0:0 --typecode=1:ef00 /dev/sdb
# mkfs.vfat -F32 /dev/sdb1

En esta página podremos descargar la iso necesaria para la instalación. Suponiendo que el directorio /mnt esté vacío, con los siguientes comandos podremos introducir el instalador en el usb:

# mount -t vfat /dev/sdb1 /mnt
# 7z x debian-jessie-DI-b2-amd64-netinst.iso -o/mnt/
# cp bootia32.efi /mnt/efi/boot/
# umount /mnt

Con esto ya podremos lanzar nuestra instalación y a partir de ahí el proceso es el que siempre hemos seguido para instalar cualquier debian normal. Recordad que antes de reiniciar debéis iros a una terminal auxiliar para sustituir un archivo por otro:

cd /boot/efi/EFI  
cp grub/grubia32.efi ubuntu/grubx64.efi  

Por qué hacemos esto? La explicación es muy simple, resulta que el grub que se instala con la versión amd64 no contiene el archivo que nos permite arrancar mediante una UEFI de 32 bits. Mientras el equipo de desarrollo de debian no consiga arreglar este problema impuesto desde redmond, en connivencia con los fabricantes, tendremos que engañar un poco al sistema.

La mayor parte de las incidencias las hemos encontrado en este post. Si por un casual reiniciamos antes de copiar este archivo tendremos que arrancar con una live cargada en un usb para poder decirle al grub que se inicie desde el disco duro.

De este mismo artículo podremos sacar más información para tunear nuestro sistema. Yo personalmente hace tiempo que no compilo kernels a mano y por ahora prefiero esperar a que el desarrollo normal del kernel avance y se soporte todo el hardware de nuestro transformer. En otro artículo explicaré cómo utilizar una llave usb wifi concreta mientras no se activa la interna de forma natural.

En el plano musical, hoy os voy a aconsejar que revisitéis al gran Dave Grohl que con sus Foo Fighters consiguió reponerse a la tragedia que nos golpeó a todos allá por el año 94. Os recomiendo Big Me, del disco homónimo, tranquilita pero corta y muy certera, por no hablar del vídeo, hay que verlo.

Y recordad, si organizáis una install party no dudéis en llamarme, siempre que haya cervezas como dicen nuestro amigos de la revista Linux Voice.