Linux - NewbieThis Linux forum is for members that are new to Linux.
Just starting out and have a question?
If it is not in the man pages or the how-to's this is the place!
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
Perhaps the answer to "is UEFI an OS" should be along the lines of: under some technical definitions, yes, but it does not call itself one and is never what people mean when they ask "can you boot an OS?".
It might help if xcom2021 can expand further on what they are trying to figure out - what is prompting these questions to be asked?
Location: Montreal, Quebec and Dartmouth, Nova Scotia CANADA
Distribution: Arch, AntiX, ArtiX
Posts: 1,364
Rep:
Hello xcom2021,
Lots of answers already to this question, but here's how I see it.
BIOS (Basic Input Output System) was software resident in ROM that basically served to initialize different components of the hardware so that other software (operating system and eventually applications ... ) could be launched. It being resident in ROM and delivered already installed on most computers, we call this class of software "firmware".
UEFI (Unified Extended Firmware Interface), as others have said, is the more recent evolution of the firmware most computers are now delivered with. Along with the same functions the old BIOS firmware took care of, it offers an interactive (to a point ...) shell that supports a set of commands. It can also be configured (in most cases) to function as a boot-loader for UEFI-aware operating systems, negating the need for specific 3rd party software for this (e.g. GRUB, Syslinux, Gummiboot, rEFInd, etc. ...).
So, I wouldn't call UEFI an operating system - that would needlessly confuse matters. As others have mentioned, UEFI is more complex than BIOS was and the benefits are hotly debated ... All this said, better get used to it as few, if any, current computers are shipped with anything else.
Hope this and other comments here are useful to you.
I am, as with pan64, curious as to what your desired use of your new computer is ? Are you interested in setting it up with some version of Linux ? If so, we can certainly help you there if you'd like. If you're more interested in Windows or another OS, then we will probably point you in the direction of another set of forums.
The OpenBoot PROM (OBP) is firmware used on Sun SPARC and Apple computers to handle boot and devices (instead of a BIOS). It is very powerful, and contains a Forth interpreter.
When I first encountered computers (1969 1st BSEE class: Fortran; punched-cards on CDC-3300), I found the compiler 'JCL' option to print out the assembly (&machine) code for my programs.
OP could look for source code for EFI. I'd also look in VirtualBox source code! (I've played with Vbox UEFI VM option)
I think that to count as an OS, a system must do more than manage hardware. It must be able to run programs on top of itself without relinquishing control. Neither UEFI nor BIOS can do that.
It is more of a return to what was done a long time ago. The PC world had a burned chip to boot it. Almost every computer larger than pc had code on a device to boot it. They all had more options usually much like efi/uefi. Since it came from HP originally I'd suspect it to be from their commercial boot OS maybe somewhat similar to unix but all a very compressed basic code.
I can still remember booting the BRE Library Prime minicomputer. It had a row of switches along the front, which allowed you to input binary commands. To boot it, you set the switches into a specific pattern and pressed a button to read it in. This instruction caused the cpu to read more code in from somewhere else. Ultimately of course it read in the first sector of the primary disk, but there may have been an intermediate set of instructions on a ROM chip somewhere.
There are actually many layers of "firmware." The original BIOS program has certainly "grown up" and taken on many other responsibilities – particularly including the task of offering a credible defense against industrial spies who had direct access to the hardware: it's no longer just a matter of sticking a memory-stick into a USB port and hitting "reset." UEFI has grown to the point that it actually needs a "shell" to let you control it.
Now, let me digress ...
Even in the very earliest days, there was always the problem of "IPL = Initial Program Load." Very quickly, engineers decided to put programming in ROM which the CPU would then initially execute, so that "initial" ceased to be a special case that otherwise required one-time-use hardware complexity. If necessary, this ROM could then be "permanently switched off" so that the corresponding memory-address area would then be replaced by RAM.
For many years, CPUs and microprocessors have used yet-another layer of software, known as "microcode." This is a layer of "software" which tells the CPU how to execute individual instructions. It also now directs the "parallelization and pipelining" features of all modern CPUs. Yeah, you never dreamed that "an over-glorified grain of sand, smaller than your pinky fingernail," could ever get that smart.
Last edited by sundialsvcs; 10-07-2021 at 08:39 AM.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.