I see no real difference in this area. It's a lot easier to load your OS image from the file system with UEFI than with BIOS. You can just let UEFI do it with some simple calls, while with BIOS you need to parse the file system in the boot loader itself to find the OS image.bzt wrote:Erm, where did I said that, exactly? Never said you can't do it, I do it like that too. Setting up paging is a lot more difficult than having to do nothing. Your argument that it's "no more difficult" does not stand with VMM either. (And before you ask, yes, setting up paging for long mode is a lot more difficult with UEFI than with BIOS, because with BIOS you can use whatever mapping you want, while with UEFI you must make sure of that the dynamically allocated areas are mapped properly in your new paging table, otherwise your loader will crash.)kzinti wrote:Not sure why bzt keeps insisting you can't do it
Explain, how am I wrong here? Mounting IS needed, file system driver is needed, and it ain't portable, and it is pretty hard if your OS does not support it natively. But my toolchain for example doesn't rely on the OS mount at all, I generate the disk image programmatically for portability reasons, so yes, I know exactly what I'm talking about. (Fact: my image creator works on MacOS, Windows, Linux and BSDs as well. Does your Makefile too?)kzinti wrote:You are completely wrong here on almost every account here. It is not hard to mount a hard drive or partition.
Cheers,
bzt
I have tools to create both GPT and MBR partition schemes in the OS itself, and the complexity is not much different. The GPT solution is probably even simpler since I don't need to add specific boot sectors, rather I only need to put the efi-boot files and the OS image on the EFI system partition, which actually is a standard FAT32 partition.
My problem is more with building the efi boot file itself. It requires a Unix-like environment (I typically use cygwin). Since there are both 32-bit and 64-bit versions, I need to install both 32-bit and 64-bit cygwin. OTOH, I only build them once and then check the binaries into my SVN so it doesn't need to be part of the general build process.