Jump to content
notiflux

OpenCore Configurator

78 posts in this topic

Recommended Posts

Advertisement

@Andrey1970 thanks for the heads up. I did not expect you to consider my app when it comes to config changes. I check the docs directory on the OpenCorePkg repo almost daily and I did my best to build OCC in such a way that it's easy to account for changes to the spec

 

@ricoc90 honestly I don't like when applications behave like that, so I don't think I will be changing that. I've just accustomed to hitting cmd+q to quit an app

Edited by notiflux

Share this post


Link to post
Share on other sites
3 minutes ago, notiflux said:

@Andrey1970 thanks for the heads up. I did not expect you to consider my app when it comes to config changes. I check the docs directory on the OpenCorePkg repo almost daily and I did my best to build OCC in such a way that it's easy to account for changes to the spec

heads up man thanks for your great work :thumbsup_anim:

Share this post


Link to post
Share on other sites

While @Andrey1970 is right that we do not believe automatic tools can help people improve their experience, and thus are generally anticipate them, I do not believe we can stop people from writing them, and thus will try to be as constructive as possible to avoid extra harm from any side.

 

OpenCore Configurator is an open source application and for this very reason, despite our personal views and no official recommendations, we will try to provide some help at the very least. Substantial differences in our preferences will not help much the process anyway.

 

Regarding configuration changes, starting from 0.0.1 release we have version reporting (exposed through NVRAM). We demand this to be verified by configuration app to ensure compatibility (this is stated in the docs).

— For the released version the warning should appear when the app is unaware of the version used.

— For an unreleased version the warning should always appear. 

— For no version present another warning should appear.

 

We do not care much whether the user decides to continue as long as he is informed about a potential incompatibility. We believe it is very important for the user to be aware of the problem if he still decides to use a configuration app. And the fact that every release has its documentation fixed makes it possible for a configuration app to be compatible with released versions at least in theory.

 

Additionally to that I recently added differential documentation, showing changes between the configurations [1] across the releases. The file will be bundled with the release file, and should help everyone update accordingly to the latest release.

 

Last but not least, while I cannot promise it, but we will try to find some resources to conduct a basic validation process to give recommendations in regards to decisions taken, which we consider to be wrong or improper. Closer to a more stable release of course. For example, recently we discovered that most third party tools reformat and reorder plist files, making their changes hard to discover [2]. If OpenCore Configurator is affected, we hope this is fixed.

 

Thanks for the hard work, and peace :)

 

[1] https://github.com/acidanthera/OpenCorePkg/tree/master/Docs/Differences

[2] https://github.com/corpnewt/ProperTree/issues/5

Share this post


Link to post
Share on other sites

@vit9696 thanks a lot for the info. I will implement the version checks tomorrow.

 

About the restructuring/ordering of the config: afaik OCC does not reorder any entries it isn't supposed to, I will check that thoroughly tomorrow though, since swift dictionaries like throwing values around. It does however change the format slightly, for example it saves data like this 

<data>
T3BlbkNvcmUK
</data>

Instead of this 

<data>T3BlbkNvcmUK</data>

This should not affect OC itself, but indeed does make comparison more difficult when looking at the plist in raw text. However I did not find a way to prevent this from happening, this seems to be the way plists are formatted when writing an NSDictionary to a file. I will investigate this further to see if I can somehow manage to make this work, if nothing else I'll manually strip the newlines after the file was written. 

 

I'm sure the differential documentation will be a huge help for parsing configs of different versions, since atm OCC can only reliably parse the current version.

 

If you have any more suggestions/changes you want to be made, just let me know

 

Thanks again and cheers :)

Share this post


Link to post
Share on other sites
12 hours ago, notiflux said:

 

@ricoc90 honestly I don't like when applications behave like that, so I don't think I will be changing that. I've just accustomed to hitting cmd+q to quit an app

 

Well, personally I don't see the point of having the app stay open if all of its windows are closed, since then you'll have a dock icon with no actual function. 


Anyway, the decision is yours :lol:
 

Share this post


Link to post
Share on other sites

@notiflux, quick googling does not help much in finding on how to provide single line <data> formatting. It is strange, but from what I can tell, most likely you will have to introduce a custom post-processing filter to workaround.

Share this post


Link to post
Share on other sites

@vit9696 I already found a workaround for that which is similar to what CorpNewt did on ProperTree. I just need to make sure that it doesn't reorder things for all subdicts. I already have all the code to do this but I will greatly need to change the structure of my open handler functions, so that will take some more time

 

@iCanaro You don't have any apfs volumes on your High Sierra install, do you?

I currently can't simulate such an environment, could you please run this command in terminal:

diskutil apfs list -plist > ~/apfs.plist

and upload the resulting file from your home directory?

Share this post


Link to post
Share on other sites

High Sierra HFS+ hack 5 signature --> OK
 

High Sierra HFS+ hack 1 signature --> OK

 

High Sierra HFS+ hacK 2 signature --> crash just instantly at launch

I think that the problem is related to this current configuration of the hack

Share this post


Link to post
Share on other sites
On 5/10/2019 at 12:05 AM, notiflux said:

honestly I don't like when applications behave like that, so I don't think I will be changing that. I've just accustomed to hitting cmd+q to quit an app

 

That's right. Everything else is Windows. There is a difference between "close document" and "close application".

Share this post


Link to post
Share on other sites

@Andrey1970 We're actually restructuring the UI under the hood, so when that's done, we'll add constraints to everything to allow resizing

 

@ALL here's a new build, since I noticed that the last one wouldn't allow you to select any other section.

-deleted-

 

Edited by notiflux

Share this post


Link to post
Share on other sites
On 5/10/2019 at 1:04 AM, notiflux said:

@vit9696 thanks a lot for the info. I will implement the version checks tomorrow.

 

About the restructuring/ordering of the config: afaik OCC does not reorder any entries it isn't supposed to, I will check that thoroughly tomorrow though, since swift dictionaries like throwing values around. It does however change the format slightly, for example it saves data like this 


<data>
T3BlbkNvcmUK
</data>

Instead of this 


<data>T3BlbkNvcmUK</data>

This should not affect OC itself, but indeed does make comparison more difficult when looking at the plist in raw text. However I did not find a way to prevent this from happening, this seems to be the way plists are formatted when writing an NSDictionary to a file. I will investigate this further to see if I can somehow manage to make this work, if nothing else I'll manually strip the newlines after the file was written. 

 

I'm sure the differential documentation will be a huge help for parsing configs of different versions, since atm OCC can only reliably parse the current version.

 

If you have any more suggestions/changes you want to be made, just let me know

 

Thanks again and cheers :)

It is because NSDictionary doesn't keep the order of key-value pairs, only on arrays. For that you have to write your own xml parser to both read and write a plist, i.e all that with out using NSDictionary. Anyway this is not a bug. About data tag with blank spaces and line feeds, imho is a bug from Open Core since the parser should at least remove them to keep a clean base 64 string, and in fact he already try to skeep spaces:

RETURN_STATUS
EFIAPI
OcBase64Decode (
  IN     CONST CHAR8  *EncodedData,
  IN     UINTN        EncodedLength,
     OUT UINT8        *DecodedData,
  IN OUT UINTN        *DecodedLength
  )
{
  CONST CHAR8 *End = EncodedData + EncodedLength;
  CHAR8 Iter = 0;
  UINT32 Buf = 0;
  UINTN Len = 0;
  
  while (EncodedData < End) {
    UINT8 C = D[(UINT8)(*EncodedData++)];
    
    switch (C) {
      case WHITESPACE:
        continue;       /* skip whitespace */ ----> do the same for '\n' and '\r'

but not '\n' nor '\r', but it should. 

..as already written by someone:

//
// Additional modifications include permitting tabulation and other whitespace
// characters to appear in the encoded data. The intention of those is to support
// Base64 data from property lists.
//

.. because that is normal. looking at any kexts in SLE, data tag are always formatted with '\n, so this parser needs to be fixed.

Edited by vector sigma

Share this post


Link to post
Share on other sites

Hi @notiflux

 

I appreciate and applaud your time and commitment developing the OpenCore Configurator, it looks good! but, I tried using your application attached here on your post but it randomly quits unexpectedly. Do you have an updated version ?

 

I have just discovered your your latest version alpha18 . All good! thanks.

Edited by glasgood
update

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • By DI2edd
      Hi,
       
      I'm writing from a Catalina QEMU/KVM VM which, I must say, works pretty damn well besides the fact that rebooting just doesn't work. But first, a bit of background:
      I'm using OpenCore 0.5.5 through DuetPkg because I'm forced on SeaBIOS (legacy boot) because of legacy IGD passthrough (OVMF doesn't support the semi-hack that's needed for it to function), and that works well enough; I switched from Clover because it didn't allow me to use the "host" cpu model on QEMU, which OpenCore did, and so far so good.
       
      The problem is that, whenever i attempt a reboot, the screen would just turn black and thats's it. I can even see that every 30 seconds it polls the battery's status through ACPI (I modified QEMU for that and left some debugging printfs).
      On the other hand, shutting down works as expected. One thing I noticed is that, on shutdown, I can see the last line of verbose output on the screen is "CPU_HALTED", whereas on reboot I don't get that (don't even know if that's to be expected).
       
      The point is that I'm not even sure this is a bootloader issue, because I booted a Fedora live ISO through OpenCore, and that rebooted with no problems, but at the same time I remember that with Clover I didn't have such an issue. Perhaps it was one of Clover's "Fixes" that is not automatic with OpenCore?
       
      Anyway, I attached my config.plist.
       
      Thank you.
      config.plist
    • By SniperBuddy
      Hello guys,
      I'm relatively new to the world of hackintosh.
      I'm trying to install the latest Mac OS - Catalina with the help of Opencore, however, this is the error that's displayed while booting from the USB:
       
      https://drive.google.com/open?id=1Xd4V2wZ2fEsgRyfVcXlJHXMPGa85g2s3
       
      You can take a look at my config.plist file from here - https://drive.google.com/file/d/17FZpTcVp4RFSaxdm6yW4uELkt7MaLdmt/view?usp=sharing
       
      I'm using the Acer E575 G laptop with Kabylake (i5 7200u)
       
      Any help would be gladly appreciated!
       
      Edit: I've fixed this problem by following this guide completely - https://khronokernel-2.gitbook.io/opencore-vanilla-desktop-guide/intel-config.plist/kaby-lake
       
      This is due to OpenCore being unable to find any drives with the current ScanPolicy, setting to 0 will allow all boot options to be shown
       
       
       
       
       
       
       
    • By DanZiRuleZ
      Dear All, 
       
      trying to install Catalina on my ASUS Z87 Plus, I followed the Haswell guide to the letter, all set up now, USB stick boots ok, Catalina installs on SSD, but then when trying to boot it I am receiving Kernel Panic and no idea how to move forward. 
       
      Have the debug options, but opencore will only dump boot messages where I don't see much sticking out.
       
      My last resort would be just installing clover on the already installed SSD's EFI partition, it at all possible. High Sierra is working fine and I did get Clover with Mojave once but stuck with High Sierra with my GTX960 video card...
       
      Attached is the kernel panic and my EFI setup if anyone can help me troubleshoot.
      Many thanks
      D.
       

      EFI.zip
    • By n.d.k
      After several weeks of testing OC bootloader,  disecting its source code and also Clover's source code as well, I finally switch from Clover to OC as my main bootloader. Wait! don't get the wrong idea that OpenCore is better than Clover. They both work equally well, producing a bootable macOS as an end result with simliar boot time. OC design direction is different with Clover, I believe it's not intended as a Clover replacement, but more narrowing down to macOS specifically. However, macOS is not the only OS that i am using, so, i decided to add some minimal necessary source code modification to the OC to get some of the features I need. I like to share my customized OC forked https://github.com/n-d-k/OpenCorePkg , you have to compile it yourself if you want, i will not provide pre build binary.    
       
      Additional features/changes:
      ============
       
      [ Multi-Boot ]
        - ACPI patches are optional for non macOS with setting ACPI->Quirks->EnableForAll to yes (default is no).
        - Booter Quirtks, SMBIOS and Device Properties patches will only applied to macOS.
          
      [ Hotkeys ]
        - Full functional Hotkeys [1-9] corresponding to Boot Entry's Index number and dedicated W (Windows) / X (macOS) keys can be used without seeing Boot Picker.
        - While in boot picker, F10 can use to take a snapshot of the screen.
                
      [ Ui Boot Picker ]
        - Bios Date/time, auto boot to the same OS or manual set to always boot one OS mode, and OC version are displayed in boot picker.
        - Auto boot to previous booted OS (if Misc->Security->AllowSetDefault is NO/false).
        - macOS Recovery/Tools Entries are hidden by default, use Spacebar in Boot Menu as a toggle on/off to show/hide hidden entries.
                
      [ Custom Entries ]
         - Custom entries are now listed first in picker menu and by the orders they are appeared in Misc->Boot->Entries, before all other entries.
         - Ability to change entry name found by auto scanner by adding custom entry with the exact same device path,
           this will give users the option to complete change how all boot entries listed in Boot Picker.
          
      [ Others ]
         - No verbose apfs.efi driver loading (if using apfs.efi instead of ApfsDriverLoader.efi).
          - ndk-macbuild.tool script are set to compile with latest edk2 (One can easily set to stable edk2 if prefer).
          - NvmExpressDxe driver build script are also available for system without native nvme support. (Compatible with OC and Clover).
       
      Usage:
       - To build OpenCore, run "./ndk-macbuild.tool" at Terminal (require Xcode and Xcode Command Line Tool installed, and open xcode to accept license agreement before compiling).
       - To build NvmExpressDxe driver, run "./buildnvme.sh".
       
      4k screen resolutions

       
       

       
      Customized by @btwise

       
       
       
    • By Krani93
      Hi guys,
       
      I'm trying to install Catalina on a Lenovo m720q (i5-8600T with B360).
      After some other issues I'm know stuck at attached screen.
      Im using latest opencore version and have my EFI folder attached.
       
      Can someone help me I've got no clue what to try next :/ 
       
       
      Cheers!

      EFI.7z
×