On Sat, 2020-07-04 at 09:44 -0400, Solomon Peachy wrote:
On Sat, Jul 04, 2020 at 01:24:46PM -0000, ziba wrote:
> Fedora should absolutely CONTINUE supporting BIOS boot (sometimes
> labeled "legacy BIOS").
Yep, Fedora should continue supporting BIOS boot at least for the
few years. This question will surely be revisited after the
x86 CPU makers join Intel in formally droping BIOS support (and
possibly the 16-bit CPU modes needed to boot via BIOS!)
While the former will probably happen, I consider the latter to be
quite unlikely, considering the fact that the CPU can execute 16-bit
instructions even in long mode, so they can never be dropped
completely. Yes, even in x86_64 code (although, a subset of them has
been removed from there). But here's an example of some gcc generated
short a = 5;
short b = 7;
short c = a + b;
compiled with: gcc gcc_16bit_example.c
happily produces 16-bit instructions, such as:
40110a: 66 c7 45 fe 05 00 movw $0x5,-0x2(%rbp)
401110: 66 c7 45 fc 07 00 movw $0x7,-0x4(%rbp)
401120: 66 89 45 fa mov %ax,-0x6(%rbp)
(disassembly produced by 'objdump -d a.out')
And for 32-bit code, the CPU needs to support the entire 16-bit
instruction set anyway, because it's a proper subset.
The CPU could probably safely drop real mode if BIOS support is
completely dropped, but since it still needs to maintain support for
the entire 16-bit instruction set, in order to run 32-bit and 64-bit
code, it's unlikely this will save a lot of transistors. And it will
mess up with virtualization hosts, because AFAIK modern Intel CPUs have
hardware virtualization support for real mode as well.
And yes, "legacy BIOS" is an accurate term. It is an obelete, long
deprecated, and soon-to-be-retired system with insurmountable
limitations including a hard 2TB upper limit on drive sizes that
been running into for more than a decade.
(2TB SATA drives have been available since at least mid-2009.
Meanwhile, folks with hardware RAID controllers have been running
this problem even longer)
Yes, it's one of the reasons I didn't use legacy mode on my server. But
currently, it's a tradeoff - laptops and desktops, for example, rarely
have hard drives larger than 2TB, and quite often UEFI mode is less
stable, due to firmware bugs, etc. Also, there are programs such as
memtest86+ which don't support UEFI yet, so even smart users may
sometimes prefer to use legacy mode, because it simply and objectively
works better for them.
> BIOS will be cherished for decades to come!
Both are emotional words, that shouldn't be part of an objective and
rational discussion. Despise it how much you want, it hasn't gone away,
and still needs to be supported. Cherish it as much as you want, one
day it will no longer need to be supported. I love old 8-bit and 16-bit
computers, but don't expect Fedora to be able to work on them. :)
Fortunately, decades from now, BIOS systems will only exist in
Nobody knows what would happen decades from now. x86 might be obsolete
by them. Or it might still be alive. Let's not worry about that far in
the future. To put things into perspective, I remember when in 1998 my
friends were telling me x86 would be dead in a couple of years, because
Intel's next gen ISA (I think it had the code name Merced at the time,
which later became Itanium) was significantly different. 22 years
later, we're discussing in how many years it's going to be safe to drop
legacy BIOS support, and my 2019 laptop can still boot MS-DOS 6.22, if
I'm crazy enough to try it (and yes, I have tried it, just for fun, it
works, as long as you allocate a primary partition for it in the first
8 GB of the hard drive! :) )
> Fedora does not want to lose out in the huge BIOS based market.
BIOS-based systems make up a miniscule minority of the current
Pretending otherwise is delusional, and delusions are no basis for
I think the discussion is swaying too much in the direction of a
religious war, with increasingly polarizing opinions on both sides.
Yes, BIOS is legacy, but I find UEFI users to be living in a bubble as
well. Dropping BIOS support entirely is not realistic in the next 5-10
years and the number of users using legacy mode on UEFI is probably
surprisingly high. Behind these are probably a huge number of bugs,
hidden in the current UEFI implementations in computers, that aren't
considered "obsolete". Microsoft's alleged dropping of BIOS support is
also extremely exaggerated - it only applies to the OEM version for new
systems, for existing systems they even support a fully 32-bit version
of Windows 10 and the 64-bit version supports BIOS without any
I think, if we have to be objective, the maintainenance burden of
supporting BIOS is relatively small, compared to e.g. i686 support, the
number of users that use it is quite high, compared to the i686 users.
And it's perfectly testable even on new computers that don't have
legacy mode, thanks to virtual machines and SeaBIOS. And operating
system installers and bootloaders should be tested in virtual machines
first, anyway :)