Upgrade BIOS ?

Liam Proven lproven at gmail.com
Tue Aug 25 11:16:51 UTC 2020


On Tue, 25 Aug 2020 at 02:59, Robert Heller <heller at deepsoft.com> wrote:
>
> Generally with the BIOS it is often a case of "If it ain't broke, don't fix
> it."

I disagree and urge people to do it whenever there is a new release.

> Linux actually makes very little use of the BIOS, once the kernel starts up.

This is no longer true. It was a decade or so ago but not for modern hardware.

Firstly, the term BIOS is misleading. Most computers since about the
Windows 8 era do not have a BIOS any more. Now they have UEFI. This is
a very different beast indeed. Its only resemblance to a BIOS is the
kind of memory chip it's stored on.

Secondly, UEFI and indeed later-generation BIOSes do a lot more than
they did in the 1990s.

Roughly, 1980s x86 PC firmware just configured the time, date, and
disk drives, then kicked off loading the OS.

1990s firmware also managed functionality like power management (APM),
detecting and configuring EIDE hard disks, triggering add-on firmware,
initialising and checking PCMCIA/CardBus slots, etc.

>From 1995 on, firmware also configured the IO settings of all the
hardware in the machine before boot, to allow what was marketed as
"plug and play". It also provided APIs to the OS to allow that h/w to
be _re_configured.

In 1996, ACPI replaced APM. ACPI merges hardware config and power
management into one more capable subsystem, which interacts with the
OS  all the time the machine is running.
https://en.wikipedia.org/wiki/Advanced_Configuration_and_Power_Interface

ACPI BIOSes were replaced with UEFI from 2006/2007 onwards.
https://en.wikipedia.org/wiki/Unified_Extensible_Firmware_Interface

UEFI supports things like cryptographic signing of binary files,
includes and subsumes much of the functionality of the OS bootloader,
and is an OS in itself.

With some (but not all) UEFI machines, there are 2 ways to install Linux:
[1] using a BIOS compatibility module, if present, in legacy BIOS
mode, in which case it boots like an old PC.
[2] UEFI mode, in which case, the firmware reads info from a hidden
system partition on the hard disk, builds and optionally displays a
boot menu, and then on command loads and initialises the OS from that
menu. Then and only then does Linux code take over.

To make it more complicated, in UEFI mode (#2 above), there is the
choice of enabling or disabling cryptographically-signed binaries,
which MS markets as "SecureBoot".

If you wish to dual-boot with Windows, and Windows was installed in
UEFI mode -- the default since Win8 --  then the Linux install media
must be booted in UEFI mode and a UEFI loader stub installed into the
EFI system partition.

In such machines, UEFI controls power management, sleep and wake,
hibernate and resume, wake-on-LAN, network booting (now called PXE,
Preboot eXecution Environment, but pronounced "pixie" because PEEing
your computer on doesn't sound great), device detection and
enumeration and initialisation, and more.

So, for instance, I have seen Linux machines that cannot drive
displays on a docking station without the correct UEFI version, or
which can on a cold boot but can't hot-plug.

In other words, UEFI has a lot of interaction with Linux, even when
Linux is running, including things like configuring X.org and Wayland
and getting screens working.

The comment that "Linux doesn't interact with it after booting" has
not been true since about 1995 or 1996.

The other sad thing is that PC makers only test with Windows and make
sure their kit works with Windows, often only the current version of
Windows. So bugs with Linux are missed and are only fixed in
subsequent firmware versions. But they do not want to admit this, so
you will not see any mention of it in firmware update README files.

So, sorry, but I must strenuously disagree, Robert. Your answer is not
only incorrect but contains misinformation.

-- 
Liam Proven – Profile: https://about.me/liamproven
Email: lproven at cix.co.uk – gMail/gTalk/gHangouts: lproven at gmail.com
Twitter/Facebook/LinkedIn/Flickr: lproven – Skype: liamproven
UK: +44 7939-087884 – ČR (+ WhatsApp/Telegram/Signal): +420 702 829 053




More information about the ubuntu-users mailing list