public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: Rod Smith <rodsmith@rodsbooks.com>
To: edk2-devel@lists.01.org
Subject: Re: What Bios data is sent to the Bootloader/OS ?
Date: Fri, 11 Aug 2017 23:22:58 -0400	[thread overview]
Message-ID: <3b578f09-8c29-4168-2524-49c8a2d5e210@rodsbooks.com> (raw)
In-Reply-To: <42CE0497-A269-4D40-9E65-31A3CE27F197@apple.com>

On Aug 11, 2017, at 6:00 AM, Rafael Machado
<rafaelrodrigues.machado@gmail.com> wrote:
>>
>> Hi everyone
>>
>> I have a question that probably some guys here can help.
>> The scenario I have, is that I need to create a OS image that must be able
>> to boot at a UEFI system (with no csm module), and at a legacy bios system.
>> My fist thought is that this is not possible.

If I understand you correctly, it most definitely IS possible. Most
major Linux distributions provide installation media that can boot in
either BIOS/CSM/legacy mode or in EFI/UEFI mode. Replicating what those
media do might not be the best way to go, though, since they are also
typically designed to boot when written to optical media or when written
to USB flash drives. To do this, they use a sort of "Frankenstein's
Monster" disk format, so unless you need this cross-media compatibility,
too, using the tools and procedures used to create these installation
media would be overkill and would create something that's overly
complex. These media do illustrate the practicality of what you're
suggesting -- or at least, what I *BELIEVE* you're suggesting. If I've
misinterpreted, please clarify your needs.

>> The OS in this case is Linux, and the bootloader is Grub or Syslinux.

A single GRUB (or SYSLINUX) binary will not do the job; however, there
are both BIOS and EFI builds of both GRUB and SYSLINUX. The details of
what you'd do would depend on the boot medium (hard disk, USB flash
drive, optical disc, etc.); however, broadly speaking you need to write
both BIOS-mode and EFI-mode versions of your chosen boot loader to the
boot medium, with suitable configuration files in appropriate locations.

Both GRUB and SYSLINUX are boot loaders that can load a Linux kernel
into memory. The Linux kernel, in turn, does not need to be built for
either BIOS or EFI environments; the same kernel binary will work in
either environment. (One partial exception is that there's a feature
known as the EFI stub loader that turns the Linux kernel into its own
EFI boot loader. If you wanted to use this feature, it would obviously
need to be compiled into the kernel. GRUB does not require this feature,
though, and its presence will not interfere with the kernel being booted
on a BIOS-based computer. Thus, you probably don't need to worry about
it for your purposes. I mention it simply so you don't think it's an
issue if you read something about it elsewhere.)

-- 
Rod Smith
rodsmith@rodsbooks.com
http://www.rodsbooks.com


  reply	other threads:[~2017-08-12  3:20 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-08-11 13:00 What Bios data is sent to the Bootloader/OS ? Rafael Machado
2017-08-11 22:21 ` Andrew Fish
2017-08-12  3:22   ` Rod Smith [this message]
2017-08-13 13:07     ` Rafael Machado
2017-08-13 18:08       ` Andrew Fish
2017-08-14 17:43         ` Rafael Machado
2017-08-14 20:49 ` Igor Skochinsky
2017-08-16  9:56   ` Rafael Machado

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-list from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=3b578f09-8c29-4168-2524-49c8a2d5e210@rodsbooks.com \
    --to=devel@edk2.groups.io \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox