Friday, October 7, 2016
BIOS Problems and Solutions
When Lenovo released the Yoga 900-13ISK2 it became apparent that Linux and BSD users could not rely on closed source BIOSes. Of course while it is rather naive to think that a Microsoft Signature Edition PC would be Linux friendly, one could hope that at least it would not be Linux or BSD hostile. On further analysis one can see that this is not the case, and any would-be Linux user is in for a very difficult time trying to load any operating system other than Windows 10.
The exact reasons for this problem boil down to the inability of the BIOS to set Advanced Host Controller Interface (AHCI) mode for the SSD. Now I knew long ago that closed source BIOSes could become a problem back in the mid-1990s. I've spent considerable time researching the ways one can obtain a computer with FOSS firmware.
Before I go into the specifics of which computers actually have a BIOS with freely available source code allow me to recap some computer history. When we look at the original IBM PC BIOS we can see that it's been well analyzed and that no other operating systems have been locked out. In addition to this there was no way to alter the BIOS save for swapping out the BIOS chip and putting in a different one. So for several years people didn't give much thought to the BIOS, as long as their computer booted they could load whatever operating system they wanted, be it Unix, Minix, MS-DOS, CP/M, etc.
As the years went by we could see computer users have less and less control over their own machines. In the later part of 2011 users started to see "Secure Boot" appear in the BIOS. In January 2012, Microsoft confirmed it would require hardware manufacturers to enable secure boot on Windows 8 devices, and that x86/64 devices must provide the option to turn it off while ARM-based devices must not provide the option to turn it off. Thus Linux and BSD users had to be extra careful when selecting which computer to buy.
There are three BIOS alternatives known to me at this time, all three are available with source code although in the case of Openboot the source is in the forth language:
- Lemote computers have PMON, available via "git clone https://github.com/kisom/pmon"
- Sun Microsystem computers have Openboot, available via "svn co svn://openbios.org/openboot"
- Google Chromebooks currently use Coreboot, available via "git clone http://review.coreboot.org/p/coreboot"
I would caution any Linux or BSD user to at least do an online search to see if other people have had problems of this type. Even if you don't buy a chromebook one should make certain that the BIOS will not prevent them from loading the operating system of their choice. To my mind the ideal solution is to have a computer with FOSS firmware.
UPDATE Oct 28th, 2016
Lenovo releases a BIOS update for the Yoga 900-13ISK2. No official support is provided for this BIOS. Better than nothing I suppose, but I still wouldn't recommend buying one.
Subscribe to Posts [Atom]