Slice
The Clover EFI boot project is just Duet but with follow corrections:
Note! Efildr20 is restricted in size to 483kb (or 452kb?) so I have to erase unnecessary codes from the project to be able to add new features, new drivers and just update existing drivers.
I am not a member of EDK2 team and can't influence on the sources so I copy some sources into my project and correct them. Hope some day Tiano will look into my corrections and apply them.
- My computer has no Serial Port so I need no DEBUG to Serial. To reduce a space I delete all DEBUG codes from BdsDxe, BdsLib, BdsPlatform, DxeIpl, DxeCore, EfiLdr.
- To start from ReadOnly volume I have to exclude any FS writing operations, mostly related to Efivar.bin.
- Some quirky BIOSes needs to be patched in Smbios and Acpi tables that performed by SmbiosGenDxe and AcpiPlatformDxe. But also I need to correct SmbiosProtocol and AcpiProtocol because EDK2 prevented these tables to be patched.
- Modules PciBusNoEnumerationDxe, RuntimeDxe, SataControllerDxe, VideoBios, VgaClass are corrected because of non-compilability of originals.
- Oracle's project VirtualBox contains some necessary patches to IdeController, IdeBus, PeCoffLib, ConsoleControlProtocol, UefiCpuDxe and PartitionDxe. It also contains more FileSystem's drivers, not only FAT32. It's a pity VBoxHFS is not perfect and NTFS driver is absent.
- I also added features that will be accounted as improvement so they are not interesting for EDK2. For example more resolutions in BiosVideo. And more.
- Some not used modules in the project will remain here as a code examples.
Second step I can launch rEFIt.efi and boot into real OS that impossible with original Duet. But I still have problems:
- Notebook Dell Inspiron 1525. Intel Core2Duo T8300 2400MHz, Intel X3100 video.
~~ANY Efildr20 just reboot immediately.~~
Resolved. Explanation here
- I can boot into OS but with 1024Mb RAM installed the OS crashes with DMA operations.
Looks like the EFI EDK2 has wrong MemoryMap.
~~WIKI said that it might be 24bytes while start32 uses only 20bytes.~~
~~Resolved by patching OS kernel.~~
Fully resolved by correcting memory map.
- I can go to S3 state (sleep) but never return back to system. The module S3Resume supposes to return to Pei. NO, NO, NO!!! I want to return to system!
Resolved! S3Save and S3Resume assume UEFI method and I just set BIOS method for resume. S3Save and S3Resume no more used.
All major problems are resolved and now the project will be polished.