Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

OpenCore 0.6.5 #334

Closed
wants to merge 3 commits into from
Closed

OpenCore 0.6.5 #334

wants to merge 3 commits into from

Conversation

serdeliuk
Copy link
Contributor

Upgraded to OC 0.6.5

@serdeliuk
Copy link
Contributor Author

This pull should create a new branch, I do not understand why wants to go to master....

@jief666
Copy link
Contributor

jief666 commented Mar 28, 2021

Sorry, I didn't see the pull request.
What improvement would bring OC 0.6.5, according to the fact we almost only use the kernel patcher and OpenRuntime.efi ?
Would you still like to upgrade to 0.6.5 ?

@serdeliuk
Copy link
Contributor Author

Sorry, I didn't see the pull request.
What improvement would bring OC 0.6.5, according to the fact we almost only use the kernel patcher and OpenRuntime.efi ?
Would you still like to upgrade to 0.6.5 ?

No problem, this is nothing urgent or important, during my research to understand how bigsur boot i was under impression that the OC upgrade will help, but it is not the case, however, as a proof of concept the upgrade branch can be added, just to have an overview about what changes should be done to upgrade, note, both clover bootloader and oc have modifications so both branches should be added

@jief666
Copy link
Contributor

jief666 commented May 19, 2021

My plan is to group the modification we made as patches so we can update easily. Although I don't think there is modification in the kernel injection and that's almost all we are using from OC.

@serdeliuk : I don't understand what you did. Did you re-import all the modification we made to OC 0.6.1 in OC 0.6.5 ?

@serdeliuk
Copy link
Contributor Author

serdeliuk commented May 19, 2021

My plan is to group the modification we made as patches so we can update easily. Although I don't think there is modification in the kernel injection and that's almost all we are using from OC.

@serdeliuk : I don't understand what you did. Did you re-import all the modification we made to OC 0.6.1 in OC 0.6.5 ?

Indeed, I have ported all clover/refit and all opencore modifications, plus added missing variables in some places, i think actually only in rEFIt_UEFI/refit/main.cpp , but i think all modifications can be easily seen in diff as well as exported to patches.
At this point this seems to be useless, after those months, opencore is at 0.6.9 and Clover at 5135..., however, i will keep the repo for anyone which seek knowledge :)

@jief666
Copy link
Contributor

jief666 commented May 19, 2021

I definitely want to follow OC updates.
If I understand well, all Clover modification to OC are in commit becce74b253daaaf94fcd0d1107512410db8a1dc ?

@serdeliuk
Copy link
Contributor Author

I definitely want to follow OC updates.
If I understand well, all Clover modification to OC are in commit becce74b253daaaf94fcd0d1107512410db8a1dc ?

Yes, i think so, also there were some minor modifications to refit if i recall right, some new functions in OC have new/extra parameters

@serdeliuk
Copy link
Contributor Author

Maybe will help if i give you patches created along the steps to upgrade? I think you can extract them from the pull itself too

@jief666
Copy link
Contributor

jief666 commented May 19, 2021

How did you proceed to get Clover modification to OC ? You create patch files ?

@serdeliuk
Copy link
Contributor Author

How did you proceed to get Clover modification to OC ? You create patch files ?

Yes, created diff files and applied them for each next version and modified/repositioned by hand all erroneous hunks.

@serdeliuk
Copy link
Contributor Author

serdeliuk commented May 20, 2021

By the way, i stopped at OC 0.6.5 because they changed a lot in 0.6.6... the main thing was
replacing Include/Acidanthera/OpenCore.h with Include/Acidanthera/Library/OcMainLib.h and a lot of things along, probably if i will have time in the near future i will try to pass 0.6.6, but.... probably not as i am working to port clover to arm, nothing concrete yet unfortunately

@jief666
Copy link
Contributor

jief666 commented May 21, 2021

Working to port Clover to ARM ? Which platform ?
What needs to be done ?

@serdeliuk
Copy link
Contributor Author

Working to port Clover to ARM ? Which platform ?
What needs to be done ?

Well... right now i am analyzing the options, in edk2/oc/clover exists a lot of x86 asm code that, if used, should be ported if possible or excluded at build time if not. I didn't dig yet too much as i was kept busy to see how i can use uefi on my qualcomm sdm660 phone, the firmware already has an uefi implementation but i am not allowed to modify (proprietary) boot partition/code, so right now i am seeking info on how to bring minimal efi implementation to be able to boot with uefi and reuse the proprietary efi drivers, i am a bit stuck so probably the best option will be to get a device on which the uefi implementation is mature enough and restart from zero. So, i am far from getting into clover port at this point....

@jief666
Copy link
Contributor

jief666 commented May 22, 2021

a lot of x86 asm code that
edk2 already compiled for arm. We deleted the folder containing arm code, but it can be brought back. For example MdePkg/Include/arm was deleted, but exists in tianocore repo.
MdePkg/Library/BaseLib/arm still exists in Clover repo.
Where is the asm code that needs to be ported ?

@serdeliuk
Copy link
Contributor Author

serdeliuk commented May 22, 2021

Where is the asm code that needs to be ported ?

i didn't dig yet to see where it is used, there are 202 asm code S files plus 107 C files which contains ASM without OpenCorePkg in place, but i think probably mostly in legacy efi, in boot code and cloverefi, however, because clover rely on opencore now probably there are some things there too, will see.....

@jief666
Copy link
Contributor

jief666 commented May 22, 2021

Ok, but where are these S files. If they are in MdePkg inside some X64, it means that we already have the arm version, even if it's not in CLover repo.
There is some in CloverEFI/CpuDxe et CloverEFI/UefiCpuPkg, don't know who made them. Arm version might exists.
And there is boot sectors. These won't work.
So for sure, it's quite some work...

@serdeliuk
Copy link
Contributor Author

serdeliuk commented May 22, 2021

So for sure, it's quite some work...

Yup, should be fun... :)

@serdeliuk
Copy link
Contributor Author

Sorry, I didn't see the pull request.
What improvement would bring OC 0.6.5, according to the fact we almost only use the kernel patcher and OpenRuntime.efi ?
Would you still like to upgrade to 0.6.5 ?

By default Clover has the SecureBootModel disabled.
I recompiled a default Clover and enabled SecureBootModel, then tried to boot different OS-es versions with same efi/config. BigSur does not boot when SecureBootModel is enabled, even from preboot.

This upgrade seems to be mandatory in order to properly use SecureBootModel. The patched Clover with OpenCore 0.6.5 boot perfectly with SecureBootModel enabled any OS

Since 5127 version are a lot of new mods to Clover, probably i need to start all over again to reach 5139...

@serdeliuk serdeliuk closed this Sep 6, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants