Slice Posted October 10, 2021 Share Posted October 10, 2021 Hi @Jief_Machak, The message ProductName is not defined, the whole SMBIOS dict is ignored at line 437. should not ever appear, because we have automatic definition Model = GetDefaultModel(); ... SetDMISettingsForModel(Model, &gSettings, &GlobalConfig); .... settingsData->Smbios.ProductName = ApplePlatformData[Model].productName; .... if ( !ProductName.isDefined() ) { return xmlLiteParser->addWarning(generateErrors, S8Printf("ProductName is not defined, the whole SMBIOS dict is ignored at line %d.", keyPos.getLine())); } This moment I will comment out this warning but why? Link to comment Share on other sites More sharing options...
Slice Posted October 10, 2021 Share Posted October 10, 2021 1 hour ago, Slice said: Hi @Jief_Machak, The message ProductName is not defined, the whole SMBIOS dict is ignored at line 437. should not ever appear, because we have automatic definition Model = GetDefaultModel(); ... SetDMISettingsForModel(Model, &gSettings, &GlobalConfig); .... settingsData->Smbios.ProductName = ApplePlatformData[Model].productName; .... if ( !ProductName.isDefined() ) { return xmlLiteParser->addWarning(generateErrors, S8Printf("ProductName is not defined, the whole SMBIOS dict is ignored at line %d.", keyPos.getLine())); } This moment I will comment out this warning but why? Because ProductName validate is occurred before we make default calculations? Link to comment Share on other sites More sharing options...
SavageAUS Posted October 10, 2021 Share Posted October 10, 2021 Based on the above are FirmwareFeatures and ExtendedFirmwareFeatures the same? Meaning the same value?I really wish this was clarified as to where the get the ExtendedFirwmwareFeatures and ExtendedFirmwareFeaturesMask values from. If these are going to be integral moving forward with Monterey then why aren’t the details published? Too much guessing going on. Sent from my iPhone using Tapatalk Link to comment Share on other sites More sharing options...
Matgen84 Posted October 10, 2021 Share Posted October 10, 2021 19 minutes ago, MifJpnAlphaPlus said: I'm sorry for making so many mistakes. Apparently, the relationship between the existing FirmwareFeatures and ExtendedFirmwareFeatures is a logical OR, which simply means that the existing values have been converted to 64-bit by adding an "8" to the head. Without it, you can update, but you can't do a full install. As you know, a full installation takes a long time, so it took us a long time to provide you with a minimalist guide. Sorry and Thanks. Thanks @MifJpnAlphaPlus I don't know about the method. Only thing I know, ExtendedFirmwareFeatures and ExtendedFirmwareFeaturesMask are solving update loop installation for Monterey since Beta 7 (or Beta 8, I don't remember) on my Z390 system. 1 Link to comment Share on other sites More sharing options...
LAbyOne Posted October 10, 2021 Share Posted October 10, 2021 17 hours ago, 5T33Z0 said: I created a repo for an english Clover documnetation, since the pdf is russian only. Enjoy. https://github.com/5T33Z0/Clover-Crate Hi @5T33Z0 nice work, an up to date versions are always welcome Wandering if could be also useful to have it linked into buildme... In the meantime, may i use your sources to implement Clover's Documentation section into CloverSuiteBuilder? 1 Link to comment Share on other sites More sharing options...
Jief_Machak Posted October 10, 2021 Share Posted October 10, 2021 On 10/8/2021 at 11:02 PM, Slice said: But I don't know how to assign default value depending on MacModel Tell me more and I'll explain. Link to comment Share on other sites More sharing options...
Jief_Machak Posted October 10, 2021 Share Posted October 10, 2021 10 hours ago, Slice said: Hi @Jief_Machak, The message ProductName is not defined, the whole SMBIOS dict is ignored at line 437. should not ever appear, because we have automatic definition Model = GetDefaultModel(); ... SetDMISettingsForModel(Model, &gSettings, &GlobalConfig); .... settingsData->Smbios.ProductName = ApplePlatformData[Model].productName; .... if ( !ProductName.isDefined() ) { return xmlLiteParser->addWarning(generateErrors, S8Printf("ProductName is not defined, the whole SMBIOS dict is ignored at line %d.", keyPos.getLine())); } This moment I will comment out this warning but why? The check made by the config.plist xml reader cannot depend of the hardware. Otherwise, CloverConfigPlistValidator cannot work. I consider that, if someone wants to override SMBIOS default value, the first thing to do is to define ProductName. I'm pretty sure most of configs already define that. Proof is that this warning is present since months and nobody complains about it. I think someone mentioned it and we said to define ProductName and that was it. It's of course possible to not do any checks when ProductName is not defined and still accept other values, but it's introducing a complexity level for what ? Just 2 lines in config.plist. The "rule" : always define ProductName is simpler and easier to understand and remember. I don't understand why you want to comment out instead of defining ProductName in config.plist/SMBIOS. 1 Link to comment Share on other sites More sharing options...
Slice Posted October 10, 2021 Share Posted October 10, 2021 1 hour ago, Jief_Machak said: Tell me more and I'll explain. HWTarget can have a default value as ApplePlatformData[Model].smcPlatform. But I don't know what is the place/moment to do this and how to access "Model". 1 hour ago, Jief_Machak said: I don't understand why you want to comment out instead of defining ProductName in config.plist/SMBIOS. Because some users can't choose right ProductName while Clover knows GetDefaultModel(). Else why the procedure exists? Link to comment Share on other sites More sharing options...
Guest 5T33Z0 Posted October 10, 2021 Share Posted October 10, 2021 (edited) @Slice I added the new HWTarget parameter to the config: But Clover doesn't like it. I have r5140.1 is installed: Warning: Unknown key '/RtVariables/HWTarget:715'. Skipped. Did I do something wrong? sysctl hw.target sysctl: unknown oid 'hw.target' Edited October 11, 2021 by 5T33Z0 Link to comment Share on other sites More sharing options...
Jief_Machak Posted October 10, 2021 Share Posted October 10, 2021 2 hours ago, Slice said: But I don't know what is the place/moment to do this and how to access "Model All methods dget...() is a place to return a default value ( dget for default_get) if not defined in config.plist. But of course, ProductName has to be defined. It’s not hard to know what’s the right ProductName, and it looks like all users we know already has it. if a user don’t know it’s ProductName, will he really defined other SMBIOS value, which are harder to understand ? 1 Link to comment Share on other sites More sharing options...
Slice Posted October 11, 2021 Share Posted October 11, 2021 But yes, other values also depends on ProductName. So if it is not defined then SMBIOS values will be unreal mixed. Anyway it is accessible like we think out some unreal serial numbers and can replace one model to another don't touchings others values. Link to comment Share on other sites More sharing options...
SavageAUS Posted October 11, 2021 Share Posted October 11, 2021 Clover Change Explanationshttps://r.tapatalk.com/shareLink/topic?share_fid=30100&share_tid=304530&share_pid=2768896&url=https%3A%2F%2Fwww%2Einsanelymac%2Ecom%2Findex%2Ephp%3F%2Ftopic%2F304530-Clover-Change-Explanations%2Fpage__view__findpost__p__2768896&share_type=t&link_source=appHow do we get these values??Sent from my iPhone using Tapatalk Link to comment Share on other sites More sharing options...
Slice Posted October 11, 2021 Share Posted October 11, 2021 I think hw.target value should be low case. 1 1 Link to comment Share on other sites More sharing options...
SavageAUS Posted October 11, 2021 Share Posted October 11, 2021 Can someone please ELI5 the new hw.target and ExtendedFirmwareFeatures and ExtendedFirmwareFeaturesMask. What are they?What do they do?Where do we get the values?I’m sorry but if these items have been implemented and are a must have moving forward then surely some reasonable documentation should exist for what they are, how to use them and how to get the required values. If this is common knowledge and I’m just a dummy then tell me I’m a dummy, all I want is a simple explanation of what they are, what they do, where to get them and are they needed. I have asked for this information a few times already with no luck. Sent from my iPhone using Tapatalk Link to comment Share on other sites More sharing options...
Matgen84 Posted October 11, 2021 Share Posted October 11, 2021 1 hour ago, MifJpnAlphaPlus said: Hello. I have built the latest commit. (Commit: dfbdc8ae45b2aad608bc93f64ebe8d58758a56fc) My rig is an iMac 19,2, so it doesn't have a T2 chip. So I configured it as follows. % ./CloverConfigPlistValidator_r5140 /Volumes/EFI/EFI/CLOVER/config.plist Your plist looks so wonderful. Well done! % sysctl hw.target hw.target: X86LEGACYAP I think it may be too slow to download it from a Japanese PC. If you can download it from below, you might be happy. Clover_r5140-dfbdc8ae45b2aad608bc93f64ebe8d58758a56fc.pkg CloverV2-5140-dfbdc8ae45b2aad608bc93f64ebe8d58758a56fc.zip Thank you Thanks @MifJpnAlphaPlus for you method.@Slice Is HWTarget key mandatory for non T2 chip config ! I use Imac19,1 (Corei7 9770K Z390 config): T2 chip doesn't exist on Intel machines. 1 Link to comment Share on other sites More sharing options...
Matgen84 Posted October 11, 2021 Share Posted October 11, 2021 1 hour ago, Slice said: I think hw.target value should be low case. 47 minutes ago, MifJpnAlphaPlus said: Hello I tested it with lower case letters. % sysctl hw.target hw.target: x86legacyyap Monterey was able to boot. Thank you very much. @MifJpnAlphaPlus @Slice My Z390 (SMBIOS Imac19,1) config boot Monterey without 'hwtarget' key in config.plist. % sysctl hw.target hw.target: % How do you find the value: x86legacyyap As I say before: Imac19,1 SMBIOS do not have T2 chip. So maybe Hw.target key and value aren't necessary ! My next questions is this: Will the fact that an iMac has a T2 chip affect using the SMBIOS for a hackintosh? Link to comment Share on other sites More sharing options...
Guest 5T33Z0 Posted October 11, 2021 Share Posted October 11, 2021 I though the whole point of adding HWTaget was to set it to j160 so that updates for macOS Monterey are offerered? Otherwise what's the point of having it, since Clover doesn't support secureboot. Link to comment Share on other sites More sharing options...
SavageAUS Posted October 11, 2021 Share Posted October 11, 2021 Hello. The shortest answer is: "Because we're hackers." The easiest way I have done it is to use the Clover Configruator. The values for FirmwareFeatures and FirmwareFeaturesMask are 32 bits, since 5140.1 is not yet supported. You can make them output as your Mac's name, and then do a logical OR with 0x800000000 to make them 64-bit. Simply put, you can add "8" to the hexadecimal number to make the ExtendedFirmwareFeatures and ExtendedFirmwareFeaturesMask values respectively. And hw.target is to be set as shown in the following web page, as there is a range of OS to boot.SecureBootModel in OpenCore 0.7.2 Thank you.So if I am reading right anything after iMac17,1 needs the new hw.target?And also if I read correctly ExtendedFirmwareFeatures and ExtendedFirmwareFeaturesMast is the same as the non extended just with an 8 as the first bit?Sent from my iPhone using Tapatalk 1 Link to comment Share on other sites More sharing options...
Slice Posted October 11, 2021 Share Posted October 11, 2021 5 hours ago, Matgen84 said: Thanks @MifJpnAlphaPlus for you method.@Slice Is HWTarget key mandatory for non T2 chip config ! I use Imac19,1 (Corei7 9770K Z390 config): T2 chip doesn't exist on Intel machines. I think it is not-needed for non-T2 machines because x86legacy is default value if not set. 32 minutes ago, SavageAUS said: And also if I read correctly ExtendedFirmwareFeatures and ExtendedFirmwareFeaturesMast is the same as the non extended just with an 8 as the first bit? Exactly. 2 Link to comment Share on other sites More sharing options...
Guest 5T33Z0 Posted October 11, 2021 Share Posted October 11, 2021 1 hour ago, MifJpnAlphaPlus said: Hello. I'm sorry if I'm thinking wrong. As per the following web page. SecureBootModel in OpenCore 0.7.2 I think the original problem is in the Trusted Boot. The reason why it is rushed and the reason why OpenCore set the default to auto is because it will be the norm for all future Macs to have T2 chips. I think it's safe to say that the final OS for Intel models will be a Trusted Boot based on hw.target, which is controlled by T2. Thank you. I was refering to this changelog: Quote Rev 5140 commit ec1f8a6a4ab1f0797d7a9e84d1c00b7517539583 Implemented hw.target There is new setting in config.plist->RTVariables <key>RtVariables</key> <dict> <key>HWTarget</key> <string>j160</string> It will be written into NVRAM as variable BridgeOSHardwareModel which will be asked by monterey and needed for software update. it can be checked by command % sysctl hw.target hw.target: j160 Link to comment Share on other sites More sharing options...
Slice Posted October 11, 2021 Share Posted October 11, 2021 See sergey@iMac2017 % sysctl hw.target hw.target: j160 sergey@iMac2017 % nvram 94B73556-2197-4702-82A8-3E1337DAFBFB:HardwareModel 94B73556-2197-4702-82A8-3E1337DAFBFB:HardwareModel x86legacyap%00%00%00%00%00 sergey@iMac2017 % 2 Link to comment Share on other sites More sharing options...
Slice Posted October 11, 2021 Share Posted October 11, 2021 We may be need one more variable BridgeOSBootSessionUUID which I have no. Because I don't know how it is used. 2 Link to comment Share on other sites More sharing options...
Jief_Machak Posted October 12, 2021 Share Posted October 12, 2021 On 10/11/2021 at 2:54 AM, Slice said: But yes, other values also depends on ProductName. So if it is not defined then SMBIOS values will be unreal mixed. That's why I consider that ProductName MUST be defined otherwise the whole SMBIOS is not valid. If ProductName is defined, it's easy for dget...() to return a default value. And, if ProductName is NOT defined but we keep other values, they'll get mixed as well. Plus : we have to handle that outside the "setting layer". In short, I'll strongly advise, because it makes a lot of things easier to understand and to program, to agree with this new rule. On 10/11/2021 at 2:54 AM, Slice said: Anyway it is accessible like we think out some unreal serial numbers and can replace one model to another don't touchings others values. Not sure what you mean here. To conclude, we have to decide first : is it ok to users to define ProductName if they want to define other values (it is still ok to start without ProductName and then get from the log (or we can display it in the about menu) ? What do you all think. 2 Link to comment Share on other sites More sharing options...
LAbyOne Posted October 12, 2021 Share Posted October 12, 2021 To all users Small update to 1.3r6 infos here 2 Link to comment Share on other sites More sharing options...
SavageAUS Posted October 14, 2021 Share Posted October 14, 2021 I am going to attempt the beta 10 update when I get home with no changes to config.plist except for adding an 8 infront of my FirmwareFeatures and using that value for the ExtendedFirmwareFeature and it’s mask. Will post results. Installs will be done on 2 hacks, 1 intel MacBookPro16,4 and 1 AMD iMacPro1,1. Sent from my iPhone using Tapatalk 2 Link to comment Share on other sites More sharing options...
Recommended Posts