I have a beautiful t400 running libreboot and still working amazing, however... I needed to boot windows 10 on it ;(
I come across some guides on internet to recompile coreboot for this or similar models however the instructions didn't work if you aim to run windows on it.
Obviously re-flashing the stock bios is not a "reasonable" option for me.. and I couldn't find any alternative "ready to go".. so I decided to recompile coreboot and making it capable to boot windows 10 on my t400.
From this personal small "project" I got the benefit to be able to boot any other linux distro and any bsd (I have tried freebsd only so far) without any complicated settings to add on the grub configuration. Also, it doesn't include any Intel ME (the same as libreboot) which is a backdoor (https://www.theregister.com/2017/11/20/intel_flags_firmware_flaws/) and I feel like that coreboot and seabios are immune to the recent grub security issues (not sure if they can be considered a "real" security issue and if they can affect libreboot - make your own research.. it is called GRUB2 BootHole Vulnerability)
My coreboot image uses seabios, libgfxinit, and the VGA rom for the intel graphic card and no secondary payloads are included.
The details have been published on my github together with the rom image and the utilities, including the.config file, that you can use to build your own version according to your needs
https://github.com/m4rc0linux/coreboot-t400-thinkpad
If you are already running libreboot or coreboot it is easy to install my version flashing from internal (assuming that your bios in unlocked) simply following those simple steps:
1) install flashrom on your linux distro (in debian: sudo apt install flashrom) and add iomem=relaxed on your /etc/default/grub - if you are running Trisquel go straight to the step 3.
2) run sudo update-grub and reboot your system
3) download the rom image from the github above and put in your home folder
4) open a terminal and run sudo flashrom -p internal to see your chip name and the size - which is usually MX25L6405D on this model and it is a 8 mb size
5) if it is all good as above you can proceed with flashing your system running:
sudo flashrom -p internal -c MX25L6405D -w m4rc0linuxt400coreboot.rom -V
In both cases just wait the process to end and to get something
like a "VERIFIED" message like the below:
Erase/write done.
Verifying flash... VERIFIED.
Restoring MMIO space at 0x7fb7b14638a0
Restoring MMIO space at 0x7fb7b146389c
Restoring MMIO space at 0x7fb7b1463898
Restoring MMIO space at 0x7fb7b1463896
Restoring MMIO space at 0x7fb7b1463894
If you stop the system or you end the process while the flashing is still pending you will brick the device, and you will need an external flash hardware to fix it. If something goes wrong during the flashing process you will get a black screen when rebooting which means that you probably bricked your device and you will need to completely disassemble it and flash from external.
I have tested it a bit and tried several times on different t400 models and it seems to work correctly.
If all went ok, you will get the "rabbit" logo of coreboot displaying on your reboot.
Final result is visible on this video.
To see the full details about the coreboot and libreboot projects please visit the official websites
https://libreboot.org/
https://coreboot.org/
Comments
Post a Comment