WIP: Machine unique value generator
This commit is contained in:
		
							parent
							
								
									d2952a4f65
								
							
						
					
					
						commit
						5aa689e8ad
					
				|  | @ -0,0 +1,885 @@ | ||||||
|  | <!-- This file is modified from https://github.com/kholia/OSX-KVM/tree/master/OpenCore-Catalina --> | ||||||
|  | <!-- All credit for this file https://github.com/kholia/OSX-KVM/blob/master/CREDITS.md --> | ||||||
|  | <?xml version="1.0" encoding="UTF-8"?> | ||||||
|  | <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> | ||||||
|  | <plist version="1.0"> | ||||||
|  | <dict> | ||||||
|  | 	<key>ACPI</key> | ||||||
|  | 	<dict> | ||||||
|  | 		<key>Add</key> | ||||||
|  | 		<array> | ||||||
|  | 			<dict> | ||||||
|  | 				<key>Comment</key> | ||||||
|  | 				<string>add DTGP method</string> | ||||||
|  | 				<key>Enabled</key> | ||||||
|  | 				<true/> | ||||||
|  | 				<key>Path</key> | ||||||
|  | 				<string>SSDT-DTGP.aml</string> | ||||||
|  | 			</dict> | ||||||
|  | 			<dict> | ||||||
|  | 				<key>Comment</key> | ||||||
|  | 				<string>Fake EC and USBX Power</string> | ||||||
|  | 				<key>Enabled</key> | ||||||
|  | 				<true/> | ||||||
|  | 				<key>Path</key> | ||||||
|  | 				<string>SSDT-EC.aml</string> | ||||||
|  | 			</dict> | ||||||
|  | 			<dict> | ||||||
|  | 				<key>Comment</key> | ||||||
|  | 				<string>USB 2.0 Injection</string> | ||||||
|  | 				<key>Enabled</key> | ||||||
|  | 				<true/> | ||||||
|  | 				<key>Path</key> | ||||||
|  | 				<string>SSDT-EHCI.aml</string> | ||||||
|  | 			</dict> | ||||||
|  | 			<dict> | ||||||
|  | 				<key>Comment</key> | ||||||
|  | 				<string>CPU AGPM Plugin=1</string> | ||||||
|  | 				<key>Enabled</key> | ||||||
|  | 				<true/> | ||||||
|  | 				<key>Path</key> | ||||||
|  | 				<string>SSDT-PLUG.aml</string> | ||||||
|  | 			</dict> | ||||||
|  | 		</array> | ||||||
|  | 		<key>Delete</key> | ||||||
|  | 		<array> | ||||||
|  | 			<dict> | ||||||
|  | 				<key>All</key> | ||||||
|  | 				<false/> | ||||||
|  | 				<key>Comment</key> | ||||||
|  | 				<string>Delete CpuPm</string> | ||||||
|  | 				<key>Enabled</key> | ||||||
|  | 				<false/> | ||||||
|  | 				<key>OemTableId</key> | ||||||
|  | 				<data>Q3B1UG0AAAA=</data> | ||||||
|  | 				<key>TableLength</key> | ||||||
|  | 				<integer>0</integer> | ||||||
|  | 				<key>TableSignature</key> | ||||||
|  | 				<data>U1NEVA==</data> | ||||||
|  | 			</dict> | ||||||
|  | 			<dict> | ||||||
|  | 				<key>All</key> | ||||||
|  | 				<false/> | ||||||
|  | 				<key>Comment</key> | ||||||
|  | 				<string>Delete Cpu0Ist</string> | ||||||
|  | 				<key>Enabled</key> | ||||||
|  | 				<false/> | ||||||
|  | 				<key>OemTableId</key> | ||||||
|  | 				<data>Q3B1MElzdAA=</data> | ||||||
|  | 				<key>TableLength</key> | ||||||
|  | 				<integer>0</integer> | ||||||
|  | 				<key>TableSignature</key> | ||||||
|  | 				<data>U1NEVA==</data> | ||||||
|  | 			</dict> | ||||||
|  | 		</array> | ||||||
|  | 		<key>Patch</key> | ||||||
|  | 		<array> | ||||||
|  | 			<dict> | ||||||
|  | 				<key>Comment</key> | ||||||
|  | 				<string>_Q11 to XQ11</string> | ||||||
|  | 				<key>Count</key> | ||||||
|  | 				<integer>1</integer> | ||||||
|  | 				<key>Enabled</key> | ||||||
|  | 				<false/> | ||||||
|  | 				<key>Find</key> | ||||||
|  | 				<data>X1ExMQ==</data> | ||||||
|  | 				<key>Limit</key> | ||||||
|  | 				<integer>0</integer> | ||||||
|  | 				<key>Mask</key> | ||||||
|  | 				<data></data> | ||||||
|  | 				<key>OemTableId</key> | ||||||
|  | 				<data></data> | ||||||
|  | 				<key>Replace</key> | ||||||
|  | 				<data>WFExMQ==</data> | ||||||
|  | 				<key>ReplaceMask</key> | ||||||
|  | 				<data></data> | ||||||
|  | 				<key>Skip</key> | ||||||
|  | 				<integer>0</integer> | ||||||
|  | 				<key>TableLength</key> | ||||||
|  | 				<integer>0</integer> | ||||||
|  | 				<key>TableSignature</key> | ||||||
|  | 				<data></data> | ||||||
|  | 			</dict> | ||||||
|  | 			<dict> | ||||||
|  | 				<key>Comment</key> | ||||||
|  | 				<string>_Q12 to XQ12</string> | ||||||
|  | 				<key>Count</key> | ||||||
|  | 				<integer>1</integer> | ||||||
|  | 				<key>Enabled</key> | ||||||
|  | 				<false/> | ||||||
|  | 				<key>Find</key> | ||||||
|  | 				<data>X1ExMg==</data> | ||||||
|  | 				<key>Limit</key> | ||||||
|  | 				<integer>0</integer> | ||||||
|  | 				<key>Mask</key> | ||||||
|  | 				<data></data> | ||||||
|  | 				<key>OemTableId</key> | ||||||
|  | 				<data></data> | ||||||
|  | 				<key>Replace</key> | ||||||
|  | 				<data>WFExMg==</data> | ||||||
|  | 				<key>ReplaceMask</key> | ||||||
|  | 				<data></data> | ||||||
|  | 				<key>Skip</key> | ||||||
|  | 				<integer>0</integer> | ||||||
|  | 				<key>TableLength</key> | ||||||
|  | 				<integer>0</integer> | ||||||
|  | 				<key>TableSignature</key> | ||||||
|  | 				<data></data> | ||||||
|  | 			</dict> | ||||||
|  | 		</array> | ||||||
|  | 		<key>Quirks</key> | ||||||
|  | 		<dict> | ||||||
|  | 			<key>FadtEnableReset</key> | ||||||
|  | 			<false/> | ||||||
|  | 			<key>NormalizeHeaders</key> | ||||||
|  | 			<false/> | ||||||
|  | 			<key>RebaseRegions</key> | ||||||
|  | 			<false/> | ||||||
|  | 			<key>ResetHwSig</key> | ||||||
|  | 			<false/> | ||||||
|  | 			<key>ResetLogoStatus</key> | ||||||
|  | 			<false/> | ||||||
|  | 		</dict> | ||||||
|  | 	</dict> | ||||||
|  | 	<key>Booter</key> | ||||||
|  | 	<dict> | ||||||
|  | 		<key>MmioWhitelist</key> | ||||||
|  | 		<array/> | ||||||
|  | 		<key>Quirks</key> | ||||||
|  | 		<dict> | ||||||
|  | 			<key>AvoidRuntimeDefrag</key> | ||||||
|  | 			<true/> | ||||||
|  | 			<key>DevirtualiseMmio</key> | ||||||
|  | 			<false/> | ||||||
|  | 			<key>DisableSingleUser</key> | ||||||
|  | 			<false/> | ||||||
|  | 			<key>DisableVariableWrite</key> | ||||||
|  | 			<false/> | ||||||
|  | 			<key>DiscardHibernateMap</key> | ||||||
|  | 			<false/> | ||||||
|  | 			<key>EnableSafeModeSlide</key> | ||||||
|  | 			<true/> | ||||||
|  | 			<key>EnableWriteUnprotector</key> | ||||||
|  | 			<true/> | ||||||
|  | 			<key>ForceExitBootServices</key> | ||||||
|  | 			<false/> | ||||||
|  | 			<key>ProtectMemoryRegions</key> | ||||||
|  | 			<false/> | ||||||
|  | 			<key>ProtectSecureBoot</key> | ||||||
|  | 			<false/> | ||||||
|  | 			<key>ProtectUefiServices</key> | ||||||
|  | 			<false/> | ||||||
|  | 			<key>ProvideCustomSlide</key> | ||||||
|  | 			<true/> | ||||||
|  | 			<key>ProvideMaxSlide</key> | ||||||
|  | 			<integer>0</integer> | ||||||
|  | 			<key>RebuildAppleMemoryMap</key> | ||||||
|  | 			<false/> | ||||||
|  | 			<key>SetupVirtualMap</key> | ||||||
|  | 			<false/> | ||||||
|  | 			<key>SignalAppleOS</key> | ||||||
|  | 			<false/> | ||||||
|  | 			<key>SyncRuntimePermissions</key> | ||||||
|  | 			<false/> | ||||||
|  | 		</dict> | ||||||
|  | 	</dict> | ||||||
|  | 	<key>DeviceProperties</key> | ||||||
|  | 	<dict> | ||||||
|  | 		<key>Add</key> | ||||||
|  | 		<dict> | ||||||
|  | 			<key>PciRoot(0x1)/Pci(0x1F,0x0)</key> | ||||||
|  | 			<dict> | ||||||
|  | 				<key>compatible</key> | ||||||
|  | 				<string>pci8086,2916</string> | ||||||
|  | 				<key>device-id</key> | ||||||
|  | 				<data> | ||||||
|  | 				FikA | ||||||
|  | 				</data> | ||||||
|  | 				<key>name</key> | ||||||
|  | 				<string>pci8086,2916</string> | ||||||
|  | 			</dict> | ||||||
|  | 		</dict> | ||||||
|  | 		<key>Delete</key> | ||||||
|  | 		<dict> | ||||||
|  | 			<key>PciRoot(0x0)/Pci(0x1b,0x0)</key> | ||||||
|  | 			<array> | ||||||
|  | 				<string>MaximumBootBeepVolume</string> | ||||||
|  | 			</array> | ||||||
|  | 		</dict> | ||||||
|  | 	</dict> | ||||||
|  | 	<key>Kernel</key> | ||||||
|  | 	<dict> | ||||||
|  | 		<key>Add</key> | ||||||
|  | 		<array> | ||||||
|  | 			<dict> | ||||||
|  | 				<key>Arch</key> | ||||||
|  | 				<string>Any</string> | ||||||
|  | 				<key>BundlePath</key> | ||||||
|  | 				<string>VoodooHDA.kext</string> | ||||||
|  | 				<key>Comment</key> | ||||||
|  | 				<string></string> | ||||||
|  | 				<key>Enabled</key> | ||||||
|  | 				<true/> | ||||||
|  | 				<key>ExecutablePath</key> | ||||||
|  | 				<string>Contents/MacOS/VoodooHDA</string> | ||||||
|  | 				<key>MaxKernel</key> | ||||||
|  | 				<string></string> | ||||||
|  | 				<key>MinKernel</key> | ||||||
|  | 				<string></string> | ||||||
|  | 				<key>PlistPath</key> | ||||||
|  | 				<string>Contents/Info.plist</string> | ||||||
|  | 			</dict> | ||||||
|  | 			<dict> | ||||||
|  | 				<key>Arch</key> | ||||||
|  | 				<string>x86_64</string> | ||||||
|  | 				<key>BundlePath</key> | ||||||
|  | 				<string>Lilu.kext</string> | ||||||
|  | 				<key>Comment</key> | ||||||
|  | 				<string>Patch engine</string> | ||||||
|  | 				<key>Enabled</key> | ||||||
|  | 				<true/> | ||||||
|  | 				<key>ExecutablePath</key> | ||||||
|  | 				<string>Contents/MacOS/Lilu</string> | ||||||
|  | 				<key>MaxKernel</key> | ||||||
|  | 				<string></string> | ||||||
|  | 				<key>MinKernel</key> | ||||||
|  | 				<string>12.0.0</string> | ||||||
|  | 				<key>PlistPath</key> | ||||||
|  | 				<string>Contents/Info.plist</string> | ||||||
|  | 			</dict> | ||||||
|  | 			<dict> | ||||||
|  | 				<key>Arch</key> | ||||||
|  | 				<string>x86_64</string> | ||||||
|  | 				<key>BundlePath</key> | ||||||
|  | 				<string>VirtualSMC.kext</string> | ||||||
|  | 				<key>Comment</key> | ||||||
|  | 				<string>SMC emulator</string> | ||||||
|  | 				<key>Enabled</key> | ||||||
|  | 				<false/> | ||||||
|  | 				<key>ExecutablePath</key> | ||||||
|  | 				<string>Contents/MacOS/VirtualSMC</string> | ||||||
|  | 				<key>MaxKernel</key> | ||||||
|  | 				<string></string> | ||||||
|  | 				<key>MinKernel</key> | ||||||
|  | 				<string>12.0.0</string> | ||||||
|  | 				<key>PlistPath</key> | ||||||
|  | 				<string>Contents/Info.plist</string> | ||||||
|  | 			</dict> | ||||||
|  | 			<dict> | ||||||
|  | 				<key>Arch</key> | ||||||
|  | 				<string>x86_64</string> | ||||||
|  | 				<key>BundlePath</key> | ||||||
|  | 				<string>WhateverGreen.kext</string> | ||||||
|  | 				<key>Comment</key> | ||||||
|  | 				<string>Video patches</string> | ||||||
|  | 				<key>Enabled</key> | ||||||
|  | 				<true/> | ||||||
|  | 				<key>ExecutablePath</key> | ||||||
|  | 				<string>Contents/MacOS/WhateverGreen</string> | ||||||
|  | 				<key>MaxKernel</key> | ||||||
|  | 				<string></string> | ||||||
|  | 				<key>MinKernel</key> | ||||||
|  | 				<string>12.0.0</string> | ||||||
|  | 				<key>PlistPath</key> | ||||||
|  | 				<string>Contents/Info.plist</string> | ||||||
|  | 			</dict> | ||||||
|  | 			<dict> | ||||||
|  | 				<key>BundlePath</key> | ||||||
|  | 				<string>AGPMInjector.kext</string> | ||||||
|  | 				<key>Comment</key> | ||||||
|  | 				<string></string> | ||||||
|  | 				<key>Enabled</key> | ||||||
|  | 				<true/> | ||||||
|  | 				<key>ExecutablePath</key> | ||||||
|  | 				<string></string> | ||||||
|  | 				<key>MaxKernel</key> | ||||||
|  | 				<string></string> | ||||||
|  | 				<key>MinKernel</key> | ||||||
|  | 				<string></string> | ||||||
|  | 				<key>PlistPath</key> | ||||||
|  | 				<string>Contents/Info.plist</string> | ||||||
|  | 			</dict> | ||||||
|  | 			<dict> | ||||||
|  | 				<key>BundlePath</key> | ||||||
|  | 				<string>USBPorts.kext</string> | ||||||
|  | 				<key>Comment</key> | ||||||
|  | 				<string></string> | ||||||
|  | 				<key>Enabled</key> | ||||||
|  | 				<true/> | ||||||
|  | 				<key>ExecutablePath</key> | ||||||
|  | 				<string></string> | ||||||
|  | 				<key>MaxKernel</key> | ||||||
|  | 				<string></string> | ||||||
|  | 				<key>MinKernel</key> | ||||||
|  | 				<string></string> | ||||||
|  | 				<key>PlistPath</key> | ||||||
|  | 				<string>Contents/Info.plist</string> | ||||||
|  | 			</dict> | ||||||
|  | 			<dict> | ||||||
|  | 				<key>Arch</key> | ||||||
|  | 				<string>x86_64</string> | ||||||
|  | 				<key>BundlePath</key> | ||||||
|  | 				<string>MCEReporterDisabler.kext</string> | ||||||
|  | 				<key>Comment</key> | ||||||
|  | 				<string>AppleMCEReporter disabler</string> | ||||||
|  | 				<key>Enabled</key> | ||||||
|  | 				<true/> | ||||||
|  | 				<key>ExecutablePath</key> | ||||||
|  | 				<string></string> | ||||||
|  | 				<key>MaxKernel</key> | ||||||
|  | 				<string></string> | ||||||
|  | 				<key>MinKernel</key> | ||||||
|  | 				<string>19.0.0</string> | ||||||
|  | 				<key>PlistPath</key> | ||||||
|  | 				<string>Contents/Info.plist</string> | ||||||
|  | 			</dict> | ||||||
|  | 		</array> | ||||||
|  | 		<key>Block</key> | ||||||
|  | 		<array> | ||||||
|  | 			<dict> | ||||||
|  | 				<key>Arch</key> | ||||||
|  | 				<string>Any</string> | ||||||
|  | 				<key>Comment</key> | ||||||
|  | 				<string></string> | ||||||
|  | 				<key>Enabled</key> | ||||||
|  | 				<false/> | ||||||
|  | 				<key>Identifier</key> | ||||||
|  | 				<string>com.apple.driver.AppleTyMCEDriver</string> | ||||||
|  | 				<key>MaxKernel</key> | ||||||
|  | 				<string></string> | ||||||
|  | 				<key>MinKernel</key> | ||||||
|  | 				<string></string> | ||||||
|  | 			</dict> | ||||||
|  | 		</array> | ||||||
|  | 		<key>Emulate</key> | ||||||
|  | 		<dict> | ||||||
|  | 			<key>Cpuid1Data</key> | ||||||
|  | 			<data> | ||||||
|  | 			VAYFAAAAAAAAAAAAAAAAAA== | ||||||
|  | 			</data> | ||||||
|  | 			<key>Cpuid1Mask</key> | ||||||
|  | 			<data> | ||||||
|  | 			////AAAAAAAAAAAAAAAAAA== | ||||||
|  | 			</data> | ||||||
|  | 		</dict> | ||||||
|  | 		<key>Force</key> | ||||||
|  | 		<array> | ||||||
|  | 			<dict> | ||||||
|  | 				<key>Arch</key> | ||||||
|  | 				<string>Any</string> | ||||||
|  | 				<key>BundlePath</key> | ||||||
|  | 				<string>System/Library/Extensions/IONetworkingFamily.kext</string> | ||||||
|  | 				<key>Comment</key> | ||||||
|  | 				<string>Patch engine</string> | ||||||
|  | 				<key>Enabled</key> | ||||||
|  | 				<false/> | ||||||
|  | 				<key>Identifier</key> | ||||||
|  | 				<string>com.apple.iokit.IONetworkingFamily</string> | ||||||
|  | 				<key>ExecutablePath</key> | ||||||
|  | 				<string>Contents/MacOS/IONetworkingFamily</string> | ||||||
|  | 				<key>MaxKernel</key> | ||||||
|  | 				<string>13.99.99</string> | ||||||
|  | 				<key>MinKernel</key> | ||||||
|  | 				<string></string> | ||||||
|  | 				<key>PlistPath</key> | ||||||
|  | 				<string>Contents/Info.plist</string> | ||||||
|  | 			</dict> | ||||||
|  | 		</array> | ||||||
|  | 		<key>Patch</key> | ||||||
|  | 		<array> | ||||||
|  | 			<dict> | ||||||
|  | 				<key>Base</key> | ||||||
|  | 				<string>_cpu_topology_sort</string> | ||||||
|  | 				<key>Comment</key> | ||||||
|  | 				<string>algrey - cpu_topology_sort -disable _x86_validate_topology</string> | ||||||
|  | 				<key>Count</key> | ||||||
|  | 				<integer>1</integer> | ||||||
|  | 				<key>Enabled</key> | ||||||
|  | 				<true/> | ||||||
|  | 				<key>Find</key> | ||||||
|  | 				<data> | ||||||
|  | 				6AAA//8= | ||||||
|  | 				</data> | ||||||
|  | 				<key>Identifier</key> | ||||||
|  | 				<string>kernel</string> | ||||||
|  | 				<key>Limit</key> | ||||||
|  | 				<integer>0</integer> | ||||||
|  | 				<key>Mask</key> | ||||||
|  | 				<data> | ||||||
|  | 				/wAA//8= | ||||||
|  | 				</data> | ||||||
|  | 				<key>MaxKernel</key> | ||||||
|  | 				<string>20.99.99</string> | ||||||
|  | 				<key>MinKernel</key> | ||||||
|  | 				<string>17.0.0</string> | ||||||
|  | 				<key>Replace</key> | ||||||
|  | 				<data> | ||||||
|  | 				Dx9EAAA= | ||||||
|  | 				</data> | ||||||
|  | 				<key>ReplaceMask</key> | ||||||
|  | 				<data> | ||||||
|  | 				</data> | ||||||
|  | 				<key>Skip</key> | ||||||
|  | 				<integer>0</integer> | ||||||
|  | 			</dict> | ||||||
|  | 			<dict> | ||||||
|  | 				<key>Base</key> | ||||||
|  | 				<string></string> | ||||||
|  | 				<key>Comment</key> | ||||||
|  | 				<string>algrey - cpuid_set_cpufamily - force CPUFAMILY_INTEL_PENRYN</string> | ||||||
|  | 				<key>Count</key> | ||||||
|  | 				<integer>1</integer> | ||||||
|  | 				<key>Enabled</key> | ||||||
|  | 				<true/> | ||||||
|  | 				<key>Find</key> | ||||||
|  | 				<data> | ||||||
|  | 				MduAPQAAAAAGdQA= | ||||||
|  | 				</data> | ||||||
|  | 				<key>Identifier</key> | ||||||
|  | 				<string>kernel</string> | ||||||
|  | 				<key>Limit</key> | ||||||
|  | 				<integer>0</integer> | ||||||
|  | 				<key>Mask</key> | ||||||
|  | 				<data> | ||||||
|  | 				/////wAAAP///wA= | ||||||
|  | 				</data> | ||||||
|  | 				<key>MaxKernel</key> | ||||||
|  | 				<string>20.99.99</string> | ||||||
|  | 				<key>MinKernel</key> | ||||||
|  | 				<string>17.0.0</string> | ||||||
|  | 				<key>Replace</key> | ||||||
|  | 				<data> | ||||||
|  | 				u7xP6njpXQAAAJA= | ||||||
|  | 				</data> | ||||||
|  | 				<key>ReplaceMask</key> | ||||||
|  | 				<data> | ||||||
|  | 				</data> | ||||||
|  | 				<key>Skip</key> | ||||||
|  | 				<integer>0</integer> | ||||||
|  | 			</dict> | ||||||
|  | 		</array> | ||||||
|  | 		<key>Quirks</key> | ||||||
|  | 		<dict> | ||||||
|  | 			<key>AppleCpuPmCfgLock</key> | ||||||
|  | 			<false/> | ||||||
|  | 			<key>AppleXcpmCfgLock</key> | ||||||
|  | 			<false/> | ||||||
|  | 			<key>AppleXcpmExtraMsrs</key> | ||||||
|  | 			<false/> | ||||||
|  | 			<key>AppleXcpmForceBoost</key> | ||||||
|  | 			<false/> | ||||||
|  | 			<key>CustomSMBIOSGuid</key> | ||||||
|  | 			<false/> | ||||||
|  | 			<key>DisableIoMapper</key> | ||||||
|  | 			<false/> | ||||||
|  | 			<key>DisableLinkeditJettison</key> | ||||||
|  | 			<true/> | ||||||
|  | 			<key>DisableRtcChecksum</key> | ||||||
|  | 			<false/> | ||||||
|  | 			<key>DummyPowerManagement</key> | ||||||
|  | 			<true/> | ||||||
|  | 			<key>ExternalDiskIcons</key> | ||||||
|  | 			<false/> | ||||||
|  | 			<key>IncreasePciBarSize</key> | ||||||
|  | 			<false/> | ||||||
|  | 			<key>LapicKernelPanic</key> | ||||||
|  | 			<false/> | ||||||
|  | 			<key>PanicNoKextDump</key> | ||||||
|  | 			<false/> | ||||||
|  | 			<key>PowerTimeoutKernelPanic</key> | ||||||
|  | 			<false/> | ||||||
|  | 			<key>ThirdPartyDrives</key> | ||||||
|  | 			<false/> | ||||||
|  | 			<key>XhciPortLimit</key> | ||||||
|  | 			<false/> | ||||||
|  | 		</dict> | ||||||
|  | 		<key>Scheme</key> | ||||||
|  | 		<dict> | ||||||
|  | 			<key>FuzzyMatch</key> | ||||||
|  | 			<true/> | ||||||
|  | 			<key>KernelArch</key> | ||||||
|  | 			<string>x86_64</string> | ||||||
|  | 			<key>KernelCache</key> | ||||||
|  | 			<string>Auto</string> | ||||||
|  | 		</dict> | ||||||
|  | 	</dict> | ||||||
|  | 	<key>Misc</key> | ||||||
|  | 	<dict> | ||||||
|  | 		<key>BlessOverride</key> | ||||||
|  | 		<array/> | ||||||
|  | 		<key>Boot</key> | ||||||
|  | 		<dict> | ||||||
|  | 			<key>ConsoleAttributes</key> | ||||||
|  | 			<integer>0</integer> | ||||||
|  | 			<key>HibernateMode</key> | ||||||
|  | 			<string>Auto</string> | ||||||
|  | 			<key>HideAuxiliary</key> | ||||||
|  | 			<false/> | ||||||
|  | 			<key>PickerAttributes</key> | ||||||
|  | 			<integer>1</integer> | ||||||
|  | 			<key>PickerAudioAssist</key> | ||||||
|  | 			<false/> | ||||||
|  | 			<key>PickerMode</key> | ||||||
|  | 			<string>External</string> | ||||||
|  | 			<key>PollAppleHotKeys</key> | ||||||
|  | 			<true/> | ||||||
|  | 			<key>ShowPicker</key> | ||||||
|  | 			<false/> | ||||||
|  | 			<key>TakeoffDelay</key> | ||||||
|  | 			<integer>0</integer> | ||||||
|  | 			<key>Timeout</key> | ||||||
|  | 			<integer>0</integer> | ||||||
|  | 		</dict> | ||||||
|  | 		<key>Debug</key> | ||||||
|  | 		<dict> | ||||||
|  | 			<key>AppleDebug</key> | ||||||
|  | 			<false/> | ||||||
|  | 			<key>ApplePanic</key> | ||||||
|  | 			<false/> | ||||||
|  | 			<key>DisableWatchDog</key> | ||||||
|  | 			<false/> | ||||||
|  | 			<key>DisplayDelay</key> | ||||||
|  | 			<integer>0</integer> | ||||||
|  | 			<key>DisplayLevel</key> | ||||||
|  | 			<integer>2147483650</integer> | ||||||
|  | 			<key>SerialInit</key> | ||||||
|  | 			<false/> | ||||||
|  | 			<key>SysReport</key> | ||||||
|  | 			<false/> | ||||||
|  | 			<key>Target</key> | ||||||
|  | 			<integer>3</integer> | ||||||
|  | 		</dict> | ||||||
|  | 		<key>Entries</key> | ||||||
|  | 		<array/> | ||||||
|  | 		<key>Security</key> | ||||||
|  | 		<dict> | ||||||
|  | 			<key>AllowNvramReset</key> | ||||||
|  | 			<true/> | ||||||
|  | 			<key>AllowSetDefault</key> | ||||||
|  | 			<false/> | ||||||
|  | 			<key>ApECID</key> | ||||||
|  | 			<integer>0</integer> | ||||||
|  | 			<key>AuthRestart</key> | ||||||
|  | 			<false/> | ||||||
|  | 			<key>BootProtect</key> | ||||||
|  | 			<string>None</string> | ||||||
|  | 			<key>DmgLoading</key> | ||||||
|  | 			<string>Signed</string> | ||||||
|  | 			<key>EnablePassword</key> | ||||||
|  | 			<false/> | ||||||
|  | 			<key>ExposeSensitiveData</key> | ||||||
|  | 			<integer>6</integer> | ||||||
|  | 			<key>HaltLevel</key> | ||||||
|  | 			<integer>2147483648</integer> | ||||||
|  | 			<key>PasswordHash</key> | ||||||
|  | 			<data></data> | ||||||
|  | 			<key>PasswordSalt</key> | ||||||
|  | 			<data></data> | ||||||
|  | 			<key>ScanPolicy</key> | ||||||
|  | 			<integer>0</integer> | ||||||
|  | 			<key>SecureBootModel</key> | ||||||
|  | 			<string>Disabled</string> | ||||||
|  | 			<key>Vault</key> | ||||||
|  | 			<string>Optional</string> | ||||||
|  | 		</dict> | ||||||
|  | 		<key>Tools</key> | ||||||
|  | 		<array> | ||||||
|  | 			<dict> | ||||||
|  | 				<key>Arguments</key> | ||||||
|  | 				<string></string> | ||||||
|  | 				<key>Auxiliary</key> | ||||||
|  | 				<false/> | ||||||
|  | 				<key>Comment</key> | ||||||
|  | 				<string>Not signed for security reasons</string> | ||||||
|  | 				<key>Enabled</key> | ||||||
|  | 				<true/> | ||||||
|  | 				<key>Name</key> | ||||||
|  | 				<string>UEFI Shell</string> | ||||||
|  | 				<key>Path</key> | ||||||
|  | 				<string>OpenShell.efi</string> | ||||||
|  | 			</dict> | ||||||
|  | 			<dict> | ||||||
|  | 				<key>Arguments</key> | ||||||
|  | 				<string>Shutdown</string> | ||||||
|  | 				<key>Auxiliary</key> | ||||||
|  | 				<true/> | ||||||
|  | 				<key>Comment</key> | ||||||
|  | 				<string>Perform shutdown</string> | ||||||
|  | 				<key>Enabled</key> | ||||||
|  | 				<true/> | ||||||
|  | 				<key>Name</key> | ||||||
|  | 				<string>Shutdown</string> | ||||||
|  | 				<key>Path</key> | ||||||
|  | 				<string>ResetSystem.efi</string> | ||||||
|  | 			</dict> | ||||||
|  | 		</array> | ||||||
|  | 	</dict> | ||||||
|  | 	<key>NVRAM</key> | ||||||
|  | 	<dict> | ||||||
|  | 		<key>Add</key> | ||||||
|  | 		<dict> | ||||||
|  | 			<key>4D1EDE05-38C7-4A6A-9CC6-4BCCA8B38C14</key> | ||||||
|  | 			<dict> | ||||||
|  | 				<key>DefaultBackgroundColor</key> | ||||||
|  | 				<data>AAAAAA==</data> | ||||||
|  | 				<key>UIScale</key> | ||||||
|  | 				<data>AQ==</data> | ||||||
|  | 			</dict> | ||||||
|  | 			<key>4D1FDA02-38C7-4A6A-9CC6-4BCCA8B30102</key> | ||||||
|  | 			<dict> | ||||||
|  | 				<key>rtc-blacklist</key> | ||||||
|  | 				<data></data> | ||||||
|  | 			</dict> | ||||||
|  | 			<key>7C436110-AB2A-4BBB-A880-FE41995C9F82</key> | ||||||
|  | 			<dict> | ||||||
|  | 				<key>SystemAudioVolume</key> | ||||||
|  | 				<data>Rg==</data> | ||||||
|  | 				<key>boot-args</key> | ||||||
|  | 				<string>-v keepsyms=1 tlbto_us=0 vti=9</string> | ||||||
|  | 				<key>run-efi-updater</key> | ||||||
|  | 				<string>No</string> | ||||||
|  | 				<key>csr-active-config</key> | ||||||
|  | 				<data>ZwAAAA==</data> | ||||||
|  | 				<key>prev-lang:kbd</key> | ||||||
|  | 				<data>ZW4tVVM6MA==</data> | ||||||
|  | 			</dict> | ||||||
|  | 		</dict> | ||||||
|  | 		<key>Delete</key> | ||||||
|  | 		<dict> | ||||||
|  | 			<key>4D1EDE05-38C7-4A6A-9CC6-4BCCA8B38C14</key> | ||||||
|  | 			<array> | ||||||
|  | 				<string>UIScale</string> | ||||||
|  | 				<string>DefaultBackgroundColor</string> | ||||||
|  | 			</array> | ||||||
|  | 			<key>4D1FDA02-38C7-4A6A-9CC6-4BCCA8B30102</key> | ||||||
|  | 			<array> | ||||||
|  | 				<string>rtc-blacklist</string> | ||||||
|  | 			</array> | ||||||
|  | 			<key>7C436110-AB2A-4BBB-A880-FE41995C9F82</key> | ||||||
|  | 			<array> | ||||||
|  | 				<string>boot-args</string> | ||||||
|  | 			</array> | ||||||
|  | 		</dict> | ||||||
|  | 		<key>LegacyEnable</key> | ||||||
|  | 		<false/> | ||||||
|  | 		<key>LegacyOverwrite</key> | ||||||
|  | 		<false/> | ||||||
|  | 		<key>LegacySchema</key> | ||||||
|  | 		<dict> | ||||||
|  | 			<key>7C436110-AB2A-4BBB-A880-FE41995C9F82</key> | ||||||
|  | 			<array> | ||||||
|  | 				<string>EFILoginHiDPI</string> | ||||||
|  | 				<string>EFIBluetoothDelay</string> | ||||||
|  | 				<string>LocationServicesEnabled</string> | ||||||
|  | 				<string>SystemAudioVolume</string> | ||||||
|  | 				<string>SystemAudioVolumeDB</string> | ||||||
|  | 				<string>SystemAudioVolumeSaved</string> | ||||||
|  | 				<string>bluetoothActiveControllerInfo</string> | ||||||
|  | 				<string>bluetoothInternalControllerInfo</string> | ||||||
|  | 				<string>flagstate</string> | ||||||
|  | 				<string>fmm-computer-name</string> | ||||||
|  | 				<string>nvda_drv</string> | ||||||
|  | 				<string>prev-lang:kbd</string> | ||||||
|  | 			</array> | ||||||
|  | 			<key>8BE4DF61-93CA-11D2-AA0D-00E098032B8C</key> | ||||||
|  | 			<array> | ||||||
|  | 				<string>Boot0080</string> | ||||||
|  | 				<string>Boot0081</string> | ||||||
|  | 				<string>Boot0082</string> | ||||||
|  | 				<string>BootNext</string> | ||||||
|  | 				<string>BootOrder</string> | ||||||
|  | 			</array> | ||||||
|  | 		</dict> | ||||||
|  | 		<key>WriteFlash</key> | ||||||
|  | 		<true/> | ||||||
|  | 	</dict> | ||||||
|  | 	<key>PlatformInfo</key> | ||||||
|  | 	<dict> | ||||||
|  | 		<key>Automatic</key> | ||||||
|  | 		<true/> | ||||||
|  | 		<key>Generic</key> | ||||||
|  | 		<dict> | ||||||
|  | 			<key>AdviseWindows</key> | ||||||
|  | 			<false/> | ||||||
|  | 			<key>MLB</key> | ||||||
|  | 			<string>{{BOARD_SERIAL_OLD}}</string> | ||||||
|  | 			<key>ROM</key> | ||||||
|  | 			<data> | ||||||
|  | 			{{ROM_OLD}} | ||||||
|  | 			</data> | ||||||
|  | 			<key>SpoofVendor</key> | ||||||
|  | 			<true/> | ||||||
|  | 			<key>SystemProductName</key> | ||||||
|  | 			<string>{{DEVICE_MODEL}}</string> | ||||||
|  | 			<key>SystemSerialNumber</key> | ||||||
|  | 			<string>{{SERIAL_OLD}}</string> | ||||||
|  | 			<key>SystemUUID</key> | ||||||
|  | 			<string>{{SYSTEM_UUID_OLD}}</string> | ||||||
|  | 		</dict> | ||||||
|  | 		<key>UpdateDataHub</key> | ||||||
|  | 		<true/> | ||||||
|  | 		<key>UpdateNVRAM</key> | ||||||
|  | 		<true/> | ||||||
|  | 		<key>UpdateSMBIOS</key> | ||||||
|  | 		<true/> | ||||||
|  | 		<key>UpdateSMBIOSMode</key> | ||||||
|  | 		<string>Create</string> | ||||||
|  | 	</dict> | ||||||
|  | 	<key>UEFI</key> | ||||||
|  | 	<dict> | ||||||
|  | 		<key>APFS</key> | ||||||
|  | 		<dict> | ||||||
|  | 			<key>EnableJumpstart</key> | ||||||
|  | 			<true/> | ||||||
|  | 			<key>GlobalConnect</key> | ||||||
|  | 			<false/> | ||||||
|  | 			<key>HideVerbose</key> | ||||||
|  | 			<false/> | ||||||
|  | 			<key>JumpstartHotPlug</key> | ||||||
|  | 			<true/> | ||||||
|  | 			<key>MinDate</key> | ||||||
|  | 			<integer>0</integer> | ||||||
|  | 			<key>MinVersion</key> | ||||||
|  | 			<integer>0</integer> | ||||||
|  | 		</dict> | ||||||
|  | 		<key>Audio</key> | ||||||
|  | 		<dict> | ||||||
|  | 			<key>AudioCodec</key> | ||||||
|  | 			<integer>0</integer> | ||||||
|  | 			<key>AudioDevice</key> | ||||||
|  | 			<string>PciRoot(0x1)/Pci(0x1,0x0)/Pci(0x0,0x1)</string> | ||||||
|  | 			<key>AudioOut</key> | ||||||
|  | 			<integer>0</integer> | ||||||
|  | 			<key>AudioSupport</key> | ||||||
|  | 			<false/> | ||||||
|  | 			<key>MinimumVolume</key> | ||||||
|  | 			<integer>20</integer> | ||||||
|  | 			<key>PlayChime</key> | ||||||
|  | 			<false/> | ||||||
|  | 			<key>VolumeAmplifier</key> | ||||||
|  | 			<integer>0</integer> | ||||||
|  | 		</dict> | ||||||
|  | 		<key>ConnectDrivers</key> | ||||||
|  | 		<true/> | ||||||
|  | 		<key>Drivers</key> | ||||||
|  | 		<array> | ||||||
|  | 			<string>VBoxHfs.efi</string> | ||||||
|  | 			<string>OpenRuntime.efi</string> | ||||||
|  | 			<string>OpenCanopy.efi</string> | ||||||
|  | 			<string>#AudioDxe.efi</string> | ||||||
|  | 			<string>#OpenUsbKbDxe.efi</string> | ||||||
|  | 			<string>#UsbMouseDxe.efi</string> | ||||||
|  | 			<string>#Ps2KeyboardDxe.efi</string> | ||||||
|  | 			<string>#Ps2MouseDxe.efi</string> | ||||||
|  | 			<string>#HiiDatabase.efi</string> | ||||||
|  | 			<string>#NvmExpressDxe.efi</string> | ||||||
|  | 			<string>#XhciDxe.efi</string> | ||||||
|  | 			<string>#ExFatDxe.efi</string> | ||||||
|  | 			<string>#PartitionDxe.efi</string> | ||||||
|  | 			<string>#CrScreenshotDxe.efi</string> | ||||||
|  | 		</array> | ||||||
|  | 		<key>Input</key> | ||||||
|  | 		<dict> | ||||||
|  | 			<key>KeyFiltering</key> | ||||||
|  | 			<false/> | ||||||
|  | 			<key>KeyForgetThreshold</key> | ||||||
|  | 			<integer>5</integer> | ||||||
|  | 			<key>KeyMergeThreshold</key> | ||||||
|  | 			<integer>2</integer> | ||||||
|  | 			<key>KeySupport</key> | ||||||
|  | 			<true/> | ||||||
|  | 			<key>KeySupportMode</key> | ||||||
|  | 			<string>Auto</string> | ||||||
|  | 			<key>KeySwap</key> | ||||||
|  | 			<false/> | ||||||
|  | 			<key>PointerSupport</key> | ||||||
|  | 			<false/> | ||||||
|  | 			<key>PointerSupportMode</key> | ||||||
|  | 			<string>ASUS</string> | ||||||
|  | 			<key>TimerResolution</key> | ||||||
|  | 			<integer>50000</integer> | ||||||
|  | 		</dict> | ||||||
|  | 		<key>Output</key> | ||||||
|  | 		<dict> | ||||||
|  | 			<key>ClearScreenOnModeSwitch</key> | ||||||
|  | 			<false/> | ||||||
|  | 			<key>ConsoleMode</key> | ||||||
|  | 			<string></string> | ||||||
|  | 			<key>DirectGopRendering</key> | ||||||
|  | 			<false/> | ||||||
|  | 			<key>IgnoreTextInGraphics</key> | ||||||
|  | 			<false/> | ||||||
|  | 			<key>ProvideConsoleGop</key> | ||||||
|  | 			<true/> | ||||||
|  | 			<key>ReconnectOnResChange</key> | ||||||
|  | 			<false/> | ||||||
|  | 			<key>ReplaceTabWithSpace</key> | ||||||
|  | 			<false/> | ||||||
|  | 			<key>Resolution</key> | ||||||
|  | 			<string>1920x1080@32</string> | ||||||
|  | 			<key>SanitiseClearScreen</key> | ||||||
|  | 			<false/> | ||||||
|  | 			<key>TextRenderer</key> | ||||||
|  | 			<string>BuiltinGraphics</string> | ||||||
|  | 			<key>UgaPassThrough</key> | ||||||
|  | 			<false/> | ||||||
|  | 		</dict> | ||||||
|  | 		<key>ProtocolOverrides</key> | ||||||
|  | 		<dict> | ||||||
|  | 			<key>AppleAudio</key> | ||||||
|  | 			<false/> | ||||||
|  | 			<key>AppleBootPolicy</key> | ||||||
|  | 			<false/> | ||||||
|  | 			<key>AppleDebugLog</key> | ||||||
|  | 			<false/> | ||||||
|  | 			<key>AppleEvent</key> | ||||||
|  | 			<false/> | ||||||
|  | 			<key>AppleFramebufferInfo</key> | ||||||
|  | 			<false/> | ||||||
|  | 			<key>AppleImageConversion</key> | ||||||
|  | 			<false/> | ||||||
|  | 			<key>AppleImg4Verification</key> | ||||||
|  | 			<false/> | ||||||
|  | 			<key>AppleKeyMap</key> | ||||||
|  | 			<false/> | ||||||
|  | 			<key>AppleRtcRam</key> | ||||||
|  | 			<false/> | ||||||
|  | 			<key>AppleSecureBoot</key> | ||||||
|  | 			<false/> | ||||||
|  | 			<key>AppleSmcIo</key> | ||||||
|  | 			<false/> | ||||||
|  | 			<key>AppleUserInterfaceTheme</key> | ||||||
|  | 			<false/> | ||||||
|  | 			<key>DataHub</key> | ||||||
|  | 			<false/> | ||||||
|  | 			<key>DeviceProperties</key> | ||||||
|  | 			<false/> | ||||||
|  | 			<key>FirmwareVolume</key> | ||||||
|  | 			<false/> | ||||||
|  | 			<key>HashServices</key> | ||||||
|  | 			<false/> | ||||||
|  | 			<key>OSInfo</key> | ||||||
|  | 			<false/> | ||||||
|  | 			<key>UnicodeCollation</key> | ||||||
|  | 			<false/> | ||||||
|  | 		</dict> | ||||||
|  | 		<key>Quirks</key> | ||||||
|  | 		<dict> | ||||||
|  | 			<key>ExitBootServicesDelay</key> | ||||||
|  | 			<integer>0</integer> | ||||||
|  | 			<key>IgnoreInvalidFlexRatio</key> | ||||||
|  | 			<false/> | ||||||
|  | 			<key>ReleaseUsbOwnership</key> | ||||||
|  | 			<false/> | ||||||
|  | 			<key>RequestBootVarRouting</key> | ||||||
|  | 			<true/> | ||||||
|  | 			<key>TscSyncTimeout</key> | ||||||
|  | 			<integer>0</integer> | ||||||
|  | 			<key>UnblockFsConnect</key> | ||||||
|  | 			<true/> | ||||||
|  | 			<key>ConnectDrivers</key> | ||||||
|  | 			<true/> | ||||||
|  | 		</dict> | ||||||
|  | 	</dict> | ||||||
|  | </dict> | ||||||
|  | </plist> | ||||||
|  | @ -0,0 +1,172 @@ | ||||||
|  | #!/bin/bash | ||||||
|  | #     ____             __             ____  ______  __ | ||||||
|  | #    / __ \____  _____/ /_____  _____/ __ \/ ___/ |/ / | ||||||
|  | #   / / / / __ \/ ___/ //_/ _ \/ ___/ / / /\__ \|   / | ||||||
|  | #  / /_/ / /_/ / /__/ ,< /  __/ /  / /_/ /___/ /   | | ||||||
|  | # /_____/\____/\___/_/|_|\___/_/   \____//____/_/|_| SERIALIZER | ||||||
|  | # | ||||||
|  | # Repo:             https://github.com/sickcodes/Docker-OSX/ | ||||||
|  | # Title:            Mac on Docker (Docker-OSX) | ||||||
|  | # Author:           Sick.Codes https://sick.codes/ | ||||||
|  | # Version:          3.1 | ||||||
|  | # License:          GPLv3+ | ||||||
|  | 
 | ||||||
|  | help_text="Usage: generate-unique-machine-values.sh | ||||||
|  | 
 | ||||||
|  | Example: | ||||||
|  |     ./generate-unique-machine-values.sh --count 1 --model="iMacPro1,1" | ||||||
|  | 
 | ||||||
|  | General options: | ||||||
|  |     --count, -n, -c <count>         Number of serials to generate | ||||||
|  |     --model, -m <model>             Device model, e.g. "iMacPro1,1" | ||||||
|  |     --csv <filename>                Optionally change the CSV output filename. | ||||||
|  |     --output-dir <directory>        Optionally change the script output location. | ||||||
|  |     --help, -h, help                Display this help and exit | ||||||
|  | 
 | ||||||
|  | Notes: | ||||||
|  |     - Default is 1 serial for "iMacPro1,1" in the current working directory. | ||||||
|  |     - CSV is double quoted. | ||||||
|  |     - If you do not set a CSV filename, the output will be sent to the output-dir. | ||||||
|  |     - If you do not set an output-dir, the current directory will be the output directory. | ||||||
|  |     - Sourcable environment variable shell files will be written to a folder, "envs". | ||||||
|  | 
 | ||||||
|  | Author:  Sick.Codes https://sick.codes/ | ||||||
|  | Project: https://github.com/sickcodes/Docker-OSX/ | ||||||
|  | " | ||||||
|  | 
 | ||||||
|  | MACINFOPKG_VERSION=2.1.2 | ||||||
|  | 
 | ||||||
|  | # gather arguments | ||||||
|  | while (( "$#" )); do | ||||||
|  |     case "${1}"  in | ||||||
|  | 
 | ||||||
|  |     --help | -h | h | help )  | ||||||
|  |                 echo "${help_text}" && exit 0 | ||||||
|  |             ;; | ||||||
|  | 
 | ||||||
|  |     --count=* | -c=* | -n=* ) | ||||||
|  |                 export SERIAL_SET_COUNT="${1#*=}" | ||||||
|  |                 shift | ||||||
|  |             ;; | ||||||
|  |     --count* | -c* | -n* ) | ||||||
|  |                 export SERIAL_SET_COUNT="${2}" | ||||||
|  |                 shift | ||||||
|  |                 shift | ||||||
|  |             ;; | ||||||
|  | 
 | ||||||
|  |     --csv=* ) | ||||||
|  |                 export CSV_OUTPUT_FILENAME="${1#*=}" | ||||||
|  |                 shift | ||||||
|  |             ;; | ||||||
|  |     --csv* ) | ||||||
|  |                 export CSV_OUTPUT_FILENAME="${2}" | ||||||
|  |                 shift | ||||||
|  |                 shift | ||||||
|  |             ;; | ||||||
|  | 
 | ||||||
|  |     --output-dir=* ) | ||||||
|  |                 export OUTPUT_DIRECTORY="${1#*=}" | ||||||
|  |                 shift | ||||||
|  |             ;; | ||||||
|  |     --output-dir* ) | ||||||
|  |                 export OUTPUT_DIRECTORY="${2}" | ||||||
|  |                 shift | ||||||
|  |                 shift | ||||||
|  |             ;; | ||||||
|  | 
 | ||||||
|  |     --model=* | -m=* ) | ||||||
|  |                 export DEVICE_MODEL="${1#*=}" | ||||||
|  |                 shift | ||||||
|  |             ;; | ||||||
|  |     --model* | -m* )  | ||||||
|  |                 export DEVICE_MODEL="${2}" | ||||||
|  |                 shift | ||||||
|  |                 shift | ||||||
|  |             ;; | ||||||
|  | 
 | ||||||
|  |     *) | ||||||
|  |                 echo "Invalid option. Running with default values..." | ||||||
|  |                 shift | ||||||
|  |             ;; | ||||||
|  |     esac | ||||||
|  | done | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | build_mac_serial () { | ||||||
|  |     MACINFOPKG_VERSION="${MACINFOPKG_VERSION:=2.1.2}" | ||||||
|  |     wget -O "${TARBALL:=./MacInfoPkg.tar.gz}" \ | ||||||
|  |         "https://github.com/acidanthera/MacInfoPkg/archive/${MACINFOPKG_VERSION:=2.1.2}.tar.gz" | ||||||
|  |     tar -xzvf "${TARBALL}" | ||||||
|  |     cd "./MacInfoPkg-${MACINFOPKG_VERSION}/macserial" \ | ||||||
|  |         && ./build.tool 2>/dev/null \ | ||||||
|  |         && cd - | ||||||
|  |     mv "./MacInfoPkg-${MACINFOPKG_VERSION}/macserial/bin/macserial" . | ||||||
|  |     rm -f "${TARBALL}" | ||||||
|  |     rm -rf "./MacInfoPkg-${MACINFOPKG_VERSION}/" | ||||||
|  |     chmod +x macserial | ||||||
|  |     stat ./macserial | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | download_vendor_mac_addresses () { | ||||||
|  |     # download the MAC Address vendor list | ||||||
|  |     [[ -e "${MAC_ADDRESSES_FILE:=vendor_macs.tsv}" ]] || wget -O "${MAC_ADDRESSES_FILE}" https://gitlab.com/wireshark/wireshark/-/raw/master/manuf | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | generate_serial_sets () { | ||||||
|  |     mkdir -p "${OUTPUT_DIRECTORY}/envs" | ||||||
|  |     export DATE_NOW="$(date +%F-%T)" | ||||||
|  |     export DEVICE_MODEL="${DEVICE_MODEL:=iMacPro1,1}" | ||||||
|  |     export VENDOR_REGEX="${VENDOR_REGEX:=Apple, Inc.}" | ||||||
|  |      | ||||||
|  |     if [[ "${CSV_OUTPUT_FILENAME}" ]]; then | ||||||
|  |         export SERIAL_SETS_FILE="${CSV_OUTPUT_FILENAME}" | ||||||
|  |     else | ||||||
|  |         export SERIAL_SETS_FILE="${OUTPUT_DIRECTORY}/serial_sets-${DATE_NOW}.csv" | ||||||
|  |     fi | ||||||
|  |      | ||||||
|  |     touch "${SERIAL_SETS_FILE}" | ||||||
|  |     echo "Writing serial sets to ${SERIAL_SETS_FILE}" | ||||||
|  | 
 | ||||||
|  |     ./macserial \ | ||||||
|  |         --num "${SERIAL_SET_COUNT:=1}" \ | ||||||
|  |         --model "${DEVICE_MODEL}" \ | ||||||
|  |         | while IFS='\ \|\ ' read -r Serial BoardSerial; do | ||||||
|  |             # make a uuid... | ||||||
|  |             SmUUID="$(uuidgen)" | ||||||
|  |             SmUUID="${SmUUID^^}" | ||||||
|  | 
 | ||||||
|  |             # get a random vendor specific MAC address. | ||||||
|  |             RANDOM_MAC_PREFIX="$(grep -e "${VENDOR_REGEX}" < "${MAC_ADDRESSES_FILE:=vendor_macs.tsv}" | sort --random-sort | head -n1)" | ||||||
|  |             RANDOM_MAC_PREFIX="$(cut -d$'\t' -f1 <<< "${RANDOM_MAC_PREFIX}")" | ||||||
|  |             MacAddress="$(printf "${RANDOM_MAC_PREFIX}:%02X:%02X:%02X" $[RANDOM%256] $[RANDOM%256] $[RANDOM%256])" | ||||||
|  | 
 | ||||||
|  |             echo "\"${DEVICE_MODEL}\",\"${Serial}\",\"${BoardSerial}\",\"${SmUUID}\",\"${MacAddress}\"" >> "${SERIAL_SETS_FILE}" | ||||||
|  |             touch "${OUTPUT_DIRECTORY}/envs/${Serial}.env.sh" | ||||||
|  |             cat <<EOF > "${OUTPUT_DIRECTORY}/envs/${Serial}.env.sh" | ||||||
|  | export Type=${DEVICE_MODEL} | ||||||
|  | export Serial=${Serial} | ||||||
|  | export BoardSerial=${BoardSerial} | ||||||
|  | export SmUUID=${SmUUID} | ||||||
|  | export MacAddress=${MacAddress} | ||||||
|  | EOF | ||||||
|  |     done | ||||||
|  | 
 | ||||||
|  |     cat <(echo "Type,Serial,BoardSerial,SmUUID,MacAddress") "${SERIAL_SETS_FILE}" | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | main () { | ||||||
|  |     # setting default variables if there are no options | ||||||
|  |     cat <<EOF | ||||||
|  | DEVICE_MODEL:       ${DEVICE_MODEL:=iMacPro1,1} | ||||||
|  | SERIAL_SET_COUNT:   ${SERIAL_SET_COUNT:=1} | ||||||
|  | OUTPUT_DIRECTORY:   ${OUTPUT_DIRECTORY:=.} | ||||||
|  | EOF | ||||||
|  |     [[ -d "${OUTPUT_DIRECTORY}" ]] || mkdir -p "${OUTPUT_DIRECTORY}" | ||||||
|  |     [[ -e ./macserial ]] || build_mac_serial | ||||||
|  |     download_vendor_mac_addresses | ||||||
|  |     generate_serial_sets | ||||||
|  |     echo "${SERIAL_SETS_FILE}"     | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | main | ||||||
|  | 
 | ||||||
		Loading…
	
		Reference in New Issue