My Libreboot T480
Aviso
Esta guia no es oficial, esta hecha para facilitar la instalación y ayudar a las personas de habla hispana, soy humano y no estoy falto de errores, cualquier error que vean avisenme. La fuente más confiable es la pagina oficial:
Exito en la instalación. Bienvenido a la comunidad.
Indice
Recursos
- Guia no Oficial de Mission_Catanloupe23 fue una de las guias en las que me base.
- Guia Oficial T480
- Guia Oficial Programador
- Build
- Vendor
- Devmem
- Grub Hardening
- Link Descargas
- Descarga Flashprog
- Descarga BIOS
- Guia no Oficial de Ezntek
- Flash BIOS
- Geteltorito
Materiales Necesarios
- Computador externo o algo que pueda correr un terminal Linux/Bsd/Mac
- Pendrive
- Programador. En mi caso, Raspberry Pi Pico
- Clip SOIC-8
- Jumpers wires
- Internet
- Destornillador
- Suerte y paciencia
Downgrade/Upgrade BIOS de fabrica
wget https://download.lenovo.com/pccbbs/mobiles/n24ur39w.iso
git clone https://github.com/rainer042/geteltorito
chmod +x geteltorito/geteltorito.pl
geteltorito/geteltorito.pl -o t480_bios_update.img /path/to/your/downloaded.iso
sudo dd if=t480_bios_update.img of=/dev/sdX bs=4M conv=fsync status=progress
En BIOS:
- Desactivar Secure Rollback Prevention bajo UEFI BIOS Update Option.
- Activar Flash BIOS Updating by End Users.
- Desactivar SecureBoot.
Tener bien cargado el PC o conectado a corriente
Luego conectar el pendrive y seleccionarlo desde el menu de Boot. (F12 antes de que incie o durante el logo de LENOVO) Seguir instrucciones.
Antes de Flashear LIBREBOOT
Ademas de las opciones de arriba agregar esta y tener cuidado con los siguientes puntos en el T480:
- Activar Legacy Bios
- Sacar bateria externa
- Desconectar bateria interna. (Si tiene)
- Desconectar pila cmos.
Preparar Firmware/Flash Vendor Blobs
Luego en otro PC:
Descargar Libreboot imagen para el T480/T480s. Descargar en esta pagina baja un poco y selecciona cualquier link en HTTPS Mirror o otras opciones pero esos son los recomendados.
Debes descargar el siguiente archivo dependiento de tu modelo T480/T480s. En este caso T480:
stable/ -> 2025.06/ o 202X.0X/ -> roms/ -> libreboot-25.06_t480_vfsp_16mb.tar.xz
También descargar el sha512 (OPCIONAL):
stable/ -> 2025.06/ -> roms/ -> libreboot-25.06_t480_vfsp_16mb.tar.xz.sha512
Si ves esto en el futuro, probablemente vayan en una revsion mayor por lo tanto dira rev11 o mayor, no hay problema
sha512sum -c libreboot-XX.XX_t480_vfsp_16mb.tar.xz.sha512
Si son iguales todo esta bien.
Configurar usuario de git
sudo dnf install git
git config --global user.name "John Doe"
git config --global user.email "johnDoe123@email.com"
Para Flashear los vendor blobs necesitamos lbmk:
git clone https://codeberg.org/libreboot/lbmk.git
Luego:
cd lbmk
sudo ./mk dependencies fedora41
O cualquiera que sea tu distribucion (Revisar: config/dependencies/ para ver distros soportadas.):
sudo ./mk dependencies arch
sudo ./mk dependencies ubuntu
sudo ./mk dependencies debian
#...
Preparar Roms
Usualmente se mueve el libreboot-XX.XX_t480_vfsp_16mb.tar.xz adentro de lbmk en este caso es asi. Sin embargo, puede estar donde quieras solo tienes que poner la ruta correcta.
Ahora desde la rev8 el MAC address se configura automaticamente cuando hagamos el siguiente comando:
cd lbmk
./mk inject libreboot-XX.XX_t480_vfsp_16mb.tar.xz
Raspberry Pi Pico
Aqui descargar igual que antes.
stable -> 2025.06 or 202X.0X -> roms -> libreboot-XX.XX_serprog_pico.tar.xz
tar -xf libreboot-XX.XX_serprog_pico.tar.xz
cd bin/serprog_pico/
- Conectar el Raspberry Pi Pico aprentando el BOOTSEL luego montarlo en /mnt.
- Ahora copiar serprog_pico.uf2 al Raspberry Pi Pico es decir a /mnt.
- Con eso deberia estar listo. umount /mnt y sync y listo.
Para comprobar volver a montar deberia desaparecer el .uf2. Luego:
sudo dmesg | grep -i "tty"
Deberia aparecer algo similar a:
[ 1196.211884] cdc_acm 1-2:1.0: ttyACM0: USB ACM device
Recordar ttyACM0 o el te aparezca.
Flash
Instalar Flashprog
Esto deberia funcionar pero a mi no me funciono asi que lo tuve que hacer manual en la Forma 2.
FORMA 1:
cd lbmk
./mk -b flashprog
FORMA 2:
Clonar repositorio:
git clone https://review.sourcearcade.org/flashprog.git
Luego instalar dependencias correspondientes. Para Fedora:
sudo dnf install -y gcc meson ninja pkg-config pciutils libusb libftdi libgpiod libjaylink
Para saber que paquetes instalar en otra distribucion puedes:
Ir a flashprog/Documentation y revisar archivo building_meson.md ahi estan las dependencias de algunas distribuciones.
De no ser buscar en tu distribución el nombre de las dependencias que aparecen en la Pagina oficial. Luego para instalar flashprog:
cd flashprog
make
sudo make install
Conectar SOIC-8
Conectar Raspberry Pi Pico al SOIC-8 como se observa en esta imagen.
Imagen sacada de Mission_Catanloupe23
Es importante el orden de los jumpers y para colocar bien. Ver la endidura fisicamente y cuadrarla con la que sale en la imagen de arriba
Estas imagenes son mias:
En esta ultima aparece verde porque se esta usando el comando flashprog
BIOS Backup
Ahora necesitaremos. ttyACM0 (poner el que anotamos antes) y el nombre del chip (aparece fisicamente).
En mi caso son los siguientes y realizaremos copias del BIOS y verificaremos la conexión del clip:
sudo flashprog -p serprog:dev=/dev/ttyACM0 -c "W25Q128.V" -r t480_stockbios_1.bin
sudo flashprog -p serprog:dev=/dev/ttyACM0 -c "W25Q128.V" -r t480_stockbios_2.bin
sudo flashprog -p serprog:dev=/dev/ttyACM0 -c "W25Q128.V" -r t480_stockbios_3.bin
sha256sum t480_stockbios*.bin
Si no salen iguales desconectar PRIMERO DESDE EL PC y luego desconectar el clip y volverlo a poner. Cuando salgan todos los sha256 iguales podremos continuar.
Seleccionar Rom y luego Flashear
Descomprimimos libreboot-XX.XX_t480_vfsp_16mb.tar.xz
tar -xf libreboot-XX.XX_t480_vfsp_16mb.tar.xz
cd /bin/t480_vfsp_16mb
Seleccionamos el que deseamos y corremos
sudo flashprog -p serprog:dev=/dev/ttyACM0 -c "W25Q128.V" -w seagrub_t480_vfsp_16mb_libgfxinit_corebootfb_usqwerty.rom
¡¡Felicitaciones!! Disfruta de tu nuevo libreboot.
Internal Flashing
Esto funciona para actualizar. Si ya instalaste libreboot de la forma de arriba puedes hacerlo de forma interna ahora sin problemas.
sudo vim /etc/default/grub
Buscar GRUB_CMDLINE_LINUX y agregar iomem si tiene otro parametro ponerlo al lado:
GRUB_CMDLINE_LINUX="iomem=relaxed otros parametros "
En Fedora:
sudo grub2-mkconfig -o /boot/grub2/grub.cfg
En Debian:
sudo update-grub
En otras distribuciones buscar.
Luego hacer un reboot.
Son necesarios estos pasos:
- Preparar Firmware/Flash Vendor Blobs
- Preparar Roms
- Flashprog
- Rom y Flashear (Aquí hacer todo menos el ultimo comando de flashprog, ya que, cambia al que mostrare a continuación)
Repaso rapido
Descargar aqui (cualquier link)
stable/ -> 2025.06/ -> roms/ -> libreboot-25.06_t480_vfsp_16mb.tar.xz
Link directo RECORDAR: Esto puede estar desactualizado revisar siempre si hay una versión mas actualizada.
git clone https://codeberg.org/libreboot/lbmk.git
cd lbmk
sudo ./mk dependencies fedora41
cd lbmk
./mk inject libreboot-XX.XX_t480_vfsp_16mb.tar.xz
./mk -b flashprog # O revisar metodo 2 en Flashprog
tar -xf libreboot-XX.XX_t480_vfsp_16mb.tar.xz
cd /bin/t480_vfsp_16mb
Opcional:
sudo flashprog -p internal -r bios-backup.bin
Flasheo interno:
sudo flashprog -p internal -w XXXX.rom # .rom a eleccion
# Por ejemplo
sudo flashprog -p internal -w seagrub_t480_vfsp_16mb_libgfxinit_corebootfb_usqwerty.rom
Problemas
Fedora No Arranca
Es un problema sencillo de resolver esta explicado. Aqui. Basicamente para versiones modernas se soluciona modificando la siguiente linea en /etc/default/grub:
GRUB_ENABLE_BLSCFG=false
Luego:
sudo grub2-mkconfig -o /boot/grub2/grub.cfg
Problema Sincronización de Hora
Si tienes problemas con la hora por sacar la pila cmos.
sudo timedatectl set-ntp false
sudo date -s -u "HH:MM:SS" # Ver hora UTC en alguna pagina confiable
sudo timedatectl set-timezone UTC # Revisar este comando. Aqui se puede poner tu zona horaria
sudo hwclock --systohc
sudo timedatectl set-ntp true
Si no funciona debe ser algo muy similar. Con timedatectl revisar horas.
Problema Sonido
Problema mencionado por Mission_Catanloupe23. El jack si funciona pero con Pulseaudio. Al conectar unos audifonos hay cambiarlos manualmente en Pulseaudio Volume Control o pavucontrol, ya que, no seran detectados automaticamente.
ThunderBolt Flash
No lo pude lograr pero no he tenido ningun problema.
No Prende
Un error que me pasó a mí fue el siguiente: el PC de repente se apagó y no prende. Lo único que hace es, al conectarlo a un cargador, parpadear la luz del botón de encendido, pero no enciende ni hace nada.
La solución es abrirlo, desconectar la batería CMOS (también la batería interna, si tiene), y, para asegurarse, presionar durante 30 segundos el botón de encendido (con todo desconectado) para descargar al 100% el computador. Luego, conectar todo y listo.
Mi teoría es que puede ser un error por el Thunderbolt, pero no tengo idea de la razón. Aun así, esta es una solución sencilla y rápida, para que no se asusten si les llega a pasar.
Otros
Para más dudas o problemas revisar estos recursos oficiales: