On Aug 11, 2017, at 6:00 AM, Rafael Machado
<rafaelrodrigues.mach...@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
rodsm...@rodsbooks.com
http://www.rodsbooks.com
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel

Reply via email to