Touchpad, Vboxdrv, Secure Boot y HWE en Ubuntu 18.04

Hemos tratado de agrupar dos problemas recientes en Ubuntu 18.04, que si bien no están vinculados entre sí, ambos están relacionados con el kernel.
El primero es una falla del touchpad en las laptops Asus, Dell, entre otras, que hace que deje de funcionar. El segundo es que VirtualBox no inicia y solicita la firma del kernel en aquellos equipos que tienen "Secure Boot".
Para el primer caso, la solución que brindan en algunos foros de modificar el GRUB es incorrecta, ya que el problema (de ambos casos) radica en el kernel, específicamente la versión 4.15.0-72, que trajo incluido el problema del no reconocimiento del touchpad (y de paso solicita la firma en VirtualBox).
No podemos afirmar o negar que existan otras versiones del kernel de linux afectadas por este problema, por tanto, para el primer caso, la solución es cambiar el kernel.
Para esto podemos esperar la liberación de un nuevo kernel oficial de Ubuntu (recomendado) o hacer downgrade/upgrade del kernel con ukuu.
sudo apt-add-repository -y ppa:teejee2008/ppa
sudo apt install ukuu
El segundo caso (la firma) se debe a que Ubuntu ahora verifica la firma del módulo por defecto, en los núcleos 4.4.0-18.34, 4.4.0-21.37, 4.2.0-42.49, 3.19.0-65.73 y 3.13.0-92.139 en adelante, entonces aquellos sistemas que tengan "secure boot" al actualizarse el kernel solicitará la firma, y por tanto Virtualbox dejará de funcionar.
Entonces vamos a matar dos pájaros de un tiro.
Activando Pilas de habilitación de LTS
Las pilas de habilitación Ubuntu LTS (también llamadas HWE o habilitación de hardware) proporcionan un núcleo más nuevo y soporte X para las versiones existentes de Ubuntu LTS. Estas pilas de habilitación se pueden instalar manualmente, pero también están disponibles cuando se instala con los medios de lanzamiento de punto Ubuntu LTS. Estas nuevas pilas de habilitación están destinadas a escritorios y servidores e incluso se recomiendan para imágenes en la nube o virtuales.
Instalación HWE
Ahora procedemos a instalar HWE con el PPA oficial:
sudo add-apt-repository -y ppa:canonical-hwe-team/ppa
sudo apt install --install-recommends linux-generic-hwe-18.04 xserver-xorg-hwe-18.04 
Y reiniciar. Luego de esto trabajaremos con el kernel 5.0.0-37-generic (o superior)
Importante
Implantar un kernel diferente al oficial (General Availability GA), tales como el que ofrece Hardware Enablement HWE o los relacionados en la aplicación ukku, puede que solucione el problema antes descrito, pero eventualmente puede crear otros (por ejemplo el HWE no es compatible con algunos módulos de Iptables y xserver-xorg-hwe genera fallas con el mouse y otros componentes). Entonces si ocurre algún problema, regrese a la anterior configuración. Con ukku es sencillo. Reiniciamos con el kernel anterior, abrimos la aplicación y eliminamos el kernel instalado. Pero con HWE es un poco más complicado.
Instalar linux-generic:
sudo apt install linux-generic
Editar grub:
sudo nano /etc/default/grub
Cambiar las siguientes líneas:
GRUB_TIMEOUT_STYLE=hidden
GRUB_TIMEOUT=0
Por:
#GRUB_TIMEOUT_STYLE=hidden 
GRUB_TIMEOUT=5
Recargar grub y reiniciar:
sudo update-grub
sudo reboot
En el menu de arranque de grub, iniciar con un kernel oficial y cuando pida la contraseña abrir el terminal Ctrl + Alt + T y eliminar HWE:
sudo ppa-purge -y ppa:canonical-hwe-team/ppa
sudo apt purge xserver-xorg-hwe-18.04
sudo apt purge linux-image-unsigned-5*
sudo apt install xserver-xorg-core xserver-xorg
sudo reboot
Después de reiniciar, verificar que el kernel HWE se desinstaló correctamente:
dpkg --list | grep linux-image-hwe
dpkg --list | grep linux-headers-hwe

Ahora tenemos dos alternativas. O desactivamos secure boot o firmamos el kernel (o ambas)
Desactivando Secure Boot
En la wiki de Ubuntu podemos consultar el procedimiento paso a paso
Puede hacerlo a nivel de Bios y en el software con los siguientes comandos:
sudo apt install mokutil # instalando el módulo
sudo mokutil --disable-validation # deshabilitar
sudo mokutil --enable-validation # habilitar
sudo mokutil --sb-state # verificar el estado
En cada paso se nos pedirá una contraseña y debemos reiniciar el equipo, seleccionar Change Secure Boot State y Yes/No en dependencia de lo que vayamos a hacer (habilitar/deshabilitar Secure Boot) para completar el proceso.
Firmando el Kernel
Para esto usaremos los siguientes comandos:
sudo apt-get install mokutil
openssl req -new -x509 -newkey rsa:2048 -keyout MOK.priv -outform DER -out MOK.der -nodes -days 36500 -subj "/CN=VirtualBox/"
sudo /usr/src/linux-headers-$(uname -r)/scripts/sign-file sha256 ./MOK.priv ./MOK.der $(modinfo -n vboxdrv)
sudo mokutil --import MOK.der
Y reiniciamos. Luego seleccionamos Enroll MOK / Continue y nos pedirá la contraseña que hemos introducido anteriormente y nos informará que la operación fue completada con éxito. El post Firmando módulo VirtualBox en SecureBoot UEFI, solución a: Kernel driver not installed (rc=-1908) nos muestra paso a paso el procedimiento de firma del kernel.
Y por último, en el escritorio, solo nos resta ejecutar:
sudo /sbin/vboxconfig
Y con esto ya podemos usar virtualbox y el touchpad.
Con la tecnología de Blogger.