Creando una segunda partición
No cuenta con mucha capacidad de almacenamiento, pero aún así decidí crear una segunda partición para Ubuntu. Me encontré con que no podía modificar la partición original debido a que la unidad venía pre-cifrada con BitLocker. Por lo que, lo que hay que hacer es desactivar dicho cifrado, en el Panel de Control de Windows.
Accediendo a la UEFI
Uno de los problemas era la UEFI de este dispositivo, se puede acceder a ella durante el arranque con la combinación de teclas Fn+F2, acceder al menú de arranque con Fn+F12, y también dispone de un pequeño botón al lado del de arranque, y con aspecto de reset, que permite acceder a su configuración UEFI.
En dicha configuración lo principal que nos permite hacer es desactivar el Secure Boot. También desde ahí, particularmente desactivé las teclas rápidas para no tener que hacer combinaciones y poder marcar directamente las teclas de función.
Tras todo ello mis USB's de arranque habituales no me los reconocía, ello es porque en este caso, ¡sólo reconoce el arranque desde 32-bit UEFI! Así que antes de nada, hay que implementar en el USB de Ubuntu este sistema que no trae por defecto.
Comentario: Tanto el sistema de arranque que tiene este Lenovo, como el sistema Windows instalados de fábrica son de 32 bits, pero su procesador es compatible con 64 bits, por lo que se puede instalar un Ubuntu de 64 bits; sin embargo hay que instalarle el Grub que nos permita arrancar con 32-bit UEFI.
Los comandos para instalarlo en el sistema de 64 bits son los siguientes:
sudo apt-get update sudo apt-get install grub-efi-ia32 sudo update-grub
Lo complicado, y antes de hacer el paso anterior, es arrancar el sistema la primera vez, cuando el Grub no se ha instalado. Lo podemos hacer con el mismo USB de arranque que se explica más adelante, al arrancar desde él y cuando nos sale el menú, hay que pulsar 'c' y escribir los siguientes comandos:
linux (hd1,gpt2)/boot/vmlinuz-4.4.0-22-generic root=/dev/mmcblk1p2 initrd (hd1,gpt2)/boot/initrd.img-4.4.0-22-generic boot
Para poner bien estos comandos y arrancar correctamente, hay que hacer buen uso del autocompletar (TAB) y de conocer dónde hemos hecho las particiones. En el ejemplo concreto hay tres particiones, la primera para EFI la segunda para ext4 (gpt2 y mmcblk1p2) y la tercera para swap.
Implementando 32-bit UEFI
Como en este caso partimos de un USB Live de Ubuntu de 32 bits, hay que añadir los arranques UEFI de 32 y 64 bits. Ello lo conseguimos obteniéndolo de la ISO de otra distribución que lo trae. En mi caso concreto usé debian-8.6.0-amd64-i386-netinst.iso para el arranque de 32 bits, y el de Ubuntu de 64 bits para el arranque UEFI de 64 bits.
Una vez descargamos los archivos, lo podemos abrir con el Gestor de archivadores. Ya que el formato .iso se trata de un tipo archivo sin compresión para empaquetar otros archivos. De todos sus archivos nos interesa extraer las carpetas boot y efi respectivamente.
Partimos entonces de tres ISO's: Ubuntu de 32 bits, Ubuntu de 64 bits y Debian de 32 bits. El Ubuntu de 32 bits lo usaremos para crear el USB de arranque con UNetbootin, en un USB formateado con FAT32.
De la ISO del Ubuntu de 64 bits deberemos extraer las carpetas boot y EFI combinando y sobreescribiendo en el USB de arranque.
De la carpeta de Debian /efi/boot/ tomamos el archivo bootia32.efi y lo copiamos en nuestro USB de arranque en la carpeta /EFI/BOOT/ correspondiente.
Y de la carpeta /boot/grub/ de Debian copiamos la carpeta entera i386-efi y la pegamos en el USB de arranque en su propia carpeta /boot/grub/
Por último debemos cambiar el nombre del fichero que está en el USB de arranque /casper/vmlinuz añadiéndole la extensión para que se quede con el nombre de vmlinuz.efi
Hecho esto, nos reconocerá el nuevo arranque UEFI y se podrá instalar.
Arreglando el WiFi
Hay otro problema añadido y es que el WiFi interno del sistema no se reconoce ni instala. Para solventarlo, hay que hacer uso de algún USB WiFi que nos dé conexión a Internet temporalmente para instalar los drivers.
Los pasos para instalar los drivers son los siguientes:
sudo apt install build-essential linux-headers-generic git
git clone https://github.com/hadess/rtl8723bs.git
cd rtl8723bs
make
sudo make install
sudo depmod -a
sudo modprobe r8723bs
Por último reiniciamos, y ya no necesitaremos un USB WiFi porque funcionará el interno. Eso sí, si en alguna actualización deja de funcionar, hay que aplicar de nuevo el driver.
Cuelgues del equipo
Los cuelgues de este equipo, parece que son debidos a que la gestión de energía no está bien implementada, se pueden solucionar actualizando el kernel de un modo u otro, aunque quizás podamos simplemente retrasar los cuelgues con la siguiente solución que no afecta tanto, aunque hará que consuma algo más de batería.
Edita el archivo /etc/default/grub modificando la línea en la que pone
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
por
GRUB_CMDLINE_LINUX_DEFAULT="intel_idle.max_cstate=1 quiet splash"
luego aplicas los cambios
sudo update-grub
y reinicias.
Corregir el sonido
Otro hardware problemático en este Bay Trail es el sonido. Para la versión 17.04 parece que existe un parche que al menos consigue que podamos escuchar a través de auriculares. Los pasos son los siguientes:
- Dirigirse a la siguiente web: https://github.com/plbossart/UCM
- Hacer click en la flecha derecha del botón verde "Clone or download" y luego descargar haciendo click en el enlace "Download Zip".
- En el terminal dirigirnos a la carpeta de descargas y poner el comando "unzip UCM-master.zip"
- Instalar con el comando "sudo cp -rf UCM-master/bytcr-rt5640 /usr/share/alsa/ucm"
- Reiniciar, conectar los auriculares y en "Configuración de sonido" establecer la salida por auriculares.
ACTUALIZACIÓN (1): Por lo que he podido averiguar el kernel 4.8 soluciona el problema de los cuelgues, y el kernel 4.9 soluciona además el problema del sonido y el WiFi. Además hay un blog que se está dedicando a este tema con más profundidad y desde el que aparecen parches y distribuciones enteras listas para instalar:
http://linuxiumcomau.blogspot.com/
ACTUALIZACIÓN (2): Recientemente me he vuelto a enredar en la instalación de GNU/Linux en equipos con sistemas UEFI complicados. Afortunadamente ahora es más sencillo y para facilitaros las cosas os pongo a continuación el ISO de Ubuntu 17.10 de 64bits para equipos tipo Atom, como el del presente artículo:
linuxium-atom-ubuntu-17.10-desktop-amd64.iso