Last active
July 24, 2025 00:08
-
-
Save applch/060261c9500461814822e365c0b83ea0 to your computer and use it in GitHub Desktop.
macOS 11 Big Sur installer xml
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| <?xml version="1.0" encoding="utf-8"?> | |
| <installer-gui-script minSpecVersion="2"> | |
| <pkg-ref id="InstallAssistant" packageIdentifier="com.apple.pkg.InstallAssistant.macOSBigSur"/> | |
| <pkg-ref id="MajorOSInfo" packageIdentifier="com.apple.pkg.MajorOSInfo"/> | |
| <pkg-ref id="Info.plist" packageIdentifier="com.apple.plist.Info"/> | |
| <pkg-ref id="InstallInfo.plist" packageIdentifier="com.apple.plist.InstallInfo"/> | |
| <pkg-ref id="UpdateBrain.zip" packageIdentifier="com.apple.zip.UpdateBrain"/> | |
| <pkg-ref id="BuildManifest.plist" packageIdentifier="com.apple.plist.BuildManifest"/> | |
| <title>macOS Big Sur</title> | |
| <product-generator name="IASUProductGenerator" version="16"/> | |
| <options visibleOnlyForPredicate="true" customize="false" rootVolumeOnly="true" major-os-update="true" require-scripts="true"/> | |
| <volume-check script=""> | |
| <allowed-os-versions> | |
| <os-version min="10.9"/> | |
| </allowed-os-versions> | |
| </volume-check> | |
| <auxinfo> | |
| <dict> | |
| <key>BUILD</key> | |
| <string>20C69</string> | |
| <key>VERSION</key> | |
| <string>11.1</string> | |
| </dict> | |
| </auxinfo> | |
| <tags> | |
| <tag>SUBUNDLE:com.apple.InstallAssistant.macOSBigSur</tag> | |
| <tag>CUSTOMER</tag> | |
| </tags> | |
| <choices-outline> | |
| <line choice="InstallAssistantAuto"/> | |
| </choices-outline> | |
| <choices-outline ui="MajorOSInfo"> | |
| <line choice="MajorOSInfo"/> | |
| </choices-outline> | |
| <choices-outline ui="SoftwareUpdate"> | |
| <line choice="InstallAssistantAuto"/> | |
| </choices-outline> | |
| <choices-outline ui="InstallAssistant"> | |
| <line choice="InstallAssistantShell"/> | |
| </choices-outline> | |
| <choice id="MajorOSInfo" title="macOS Big Sur" start_enabled="true" start_selected="true"> | |
| <pkg-ref id="MajorOSInfo"/> | |
| </choice> | |
| <choice id="InstallAssistantAuto" start_enabled="true" start_selected="true" suDisabledGroupID="macOS Big Sur" versStr="11.1" title="macOS Big Sur"> | |
| <pkg-ref id="InstallAssistant"/> | |
| </choice> | |
| <choice id="InstallAssistantShell" title="macOS Big Sur" start_enabled="true" start_selected="true"> | |
| <pkg-ref id="InstallAssistant"/> | |
| <pkg-ref id="Info.plist"/> | |
| <pkg-ref id="InstallInfo.plist"/> | |
| <pkg-ref id="UpdateBrain.zip"/> | |
| <pkg-ref id="BuildManifest.plist"/> | |
| </choice> | |
| <pkg-ref id="InstallAssistant" auth="root" installKBytes="35491" version="20.2.69">InstallAssistant.pkg</pkg-ref> | |
| <pkg-ref id="MajorOSInfo" auth="root" installKBytes="2579" version="20.2.69">MajorOSInfo.pkg</pkg-ref> | |
| <pkg-ref id="Info.plist" installKBytes="5" version="20.2.69">Info.plist</pkg-ref> | |
| <pkg-ref id="InstallInfo.plist" installKBytes="0" version="20.2.69">InstallInfo.plist</pkg-ref> | |
| <pkg-ref id="UpdateBrain.zip" installKBytes="1935" version="20.2.69">UpdateBrain.zip</pkg-ref> | |
| <pkg-ref id="BuildManifest.plist" installKBytes="1514" version="20.2.69">BuildManifest.plist</pkg-ref> | |
| <script for="volume-check/@script"><![CDATA[ | |
| var volumeCheck = function() | |
| { | |
| if ( my.target == undefined ) | |
| { | |
| my.result.message = "The target is nil."; | |
| my.result.type = 'Fatal'; | |
| return false; | |
| } | |
| var myTargetSystemVersion = (my.target.systemVersion || system.files.plistAtPath(my.target.mountpoint + "/System/Library/CoreServices/SystemVersion.plist")); | |
| var minimumSupportedVersion = "10.9"; | |
| if ( system.compareVersions(myTargetSystemVersion, minimumSupportedVersion) < 0 ) | |
| { | |
| my.result.message = "The target volume is less than the minimum supported version: " + minimumSupportedVersion; | |
| my.result.type = 'Fatal'; | |
| return false; | |
| } | |
| return true; | |
| } | |
| volumeCheck(); | |
| ]]></script> | |
| <installation-check script=""/> | |
| <script for="installation-check/@script"><![CDATA[ | |
| var installCheck = function() | |
| { | |
| var cpuFeatures = system.sysctl( 'machdep.cpu.features' ); | |
| if ( cpuFeatures != undefined ) | |
| { | |
| cpuFeatures=cpuFeatures.split(" "); | |
| for ( var i = 0; i < cpuFeatures.length; i++ ) | |
| { | |
| if ( cpuFeatures[i] == "VMM" ) | |
| { | |
| return true; | |
| } | |
| } | |
| } | |
| var supportedBoardIDs = ['Mac-C6F71043CEAA02A6', 'Mac-06F11F11946D27C5', 'Mac-53FDB3D8DB8CA971', 'Mac-87DCB00F4AD77EEA', 'Mac-E43C1C25D4880AD6', 'Mac-E1008331FDC96864', 'Mac-564FBA6031E5946A', 'Mac-B4831CEBD52A0C4C', 'Mac-36B6B6DA9CFCD881', 'Mac-7BA5B2DFE22DDD8C', 'Mac-FA842E06C61E91C5', 'Mac-473D31EABEB93F9B', 'Mac-827FAC58A8FDFA22', 'Mac-A5C67F76ED83108C', 'Mac-65CE76090165799A', 'Mac-747B1AEFF11738BE', 'Mac-B809C3757DA9BB8D', 'Mac-BE088AF8C5EB4FA2', 'Mac-27AD2F918AE68F61', 'Mac-42FD25EABCABB274', 'Mac-112818653D3AABFC', 'Mac-35C1E88140C3E6CF', 'Mac-A61BADE1FDAD7B05', 'Mac-CFF7D910A743CAAF', 'Mac-5F9802EFE386AA28', 'Mac-6FEBD60817C77D8A', 'Mac-112B0A653D3AAB9C', 'Mac-7DF21CB3ED6977E5', 'Mac-9F18E312C5C2BF0B', 'Mac-F305150B0C7DEEEF', 'Mac-9AE82516C7C6B903', 'Mac-DB15BD556843C820', 'Mac-F60DEB81FF30ACF6', 'Mac-77F17D7DA9285301', 'Mac-551B86E5744E2388', 'Mac-7BA5B2D9E42DDD94', 'Mac-226CB3C6A851A671', 'Mac-189A3D4F975D5FFC', 'Mac-2BD1B31983FE1663', 'Mac-AF89B6D9451A490B', 'Mac-937CB26E2E02BB01', 'Mac-66E35819EE2D0D05', 'Mac-937A206F2EE63C01', 'Mac-E7203C0F68AA0004', 'Mac-90BE64C3CB5A9AEB', 'Mac-9394BDF4BF862EE7', 'Mac-BE0E8AC46FE800CC', 'Mac-0CFF9C7C2B63DF8D', 'Mac-EE2EBD4B90B839A8', 'Mac-AA95B1DDAB278B95', 'Mac-CF21D135A7D34AA6', 'Mac-81E3E92DD6088272', 'Mac-5A49A77366F81C72', 'Mac-1E7E29AD0135F9BC', 'Mac-3CBD00234E554E41', 'Mac-63001698E7A34814', 'Mac-35C5E08120C7EEAF', 'Mac-50619A408DB004DA', 'Mac-827FB448E656EC26', 'Mac-CAD6701F7CEA0921', 'Mac-A369DDC4E67F1C45', 'Mac-06F11FD93F0323C5', 'Mac-4B682C642B45593E', 'Mac-FFE5EF870D7BA81A']; | |
| var supportedDeviceIDs = ['J274AP', 'J215AP', 'J680AP', 'J273AP', 'J160AP', 'X86LEGACYAP', 'T485AP', 'X589AMLUAP', 'X589ICLYAP', 'J293AP', 'J213AP', 'J152FAP', 'J780AP', 'J132AP', 'J223AP', 'J185FAP', 'J185AP', 'J174AP', 'J137AP', 'J230KAP', 'J214KAP', 'J140AAP', 'J313AP', 'J140KAP', 'J273aAP']; | |
| supportedDeviceIDs = supportedDeviceIDs.map(Function.prototype.call, String.prototype.toLowerCase); | |
| // Boolean to ensure that looking up a T2 system is supported | |
| var bridgeOSLookupSupported = system.hasOwnProperty('bridge') && system.bridge.hasOwnProperty('deviceIdentity') && system.bridge.deviceIdentity.hasOwnProperty("hardwareModel") && system.bridge.hasOwnProperty('bridgeVersion') && system.bridge.hasOwnProperty('bridgeBuildGroup'); | |
| // For modern hardware try out systems without BoardIDs. | |
| var boardID = system.ioregistry.fromPath('IOService:/')['board-id']; | |
| if ( boardID == undefined ) | |
| { | |
| var hwTarget = system.sysctl("hw.target"); | |
| if ( hwTarget == undefined ) | |
| { | |
| my.result.message = "The system has neither a boardID or a hw.target."; | |
| my.result.type = 'Fatal'; | |
| return false; | |
| } | |
| else | |
| { | |
| if ( supportedDeviceIDs.indexOf(hwTarget.toLowerCase()) == -1 ) | |
| { | |
| my.result.message = "The system is not in the supported deviceID list."; | |
| my.result.type = 'Fatal'; | |
| return false; | |
| } | |
| } | |
| } | |
| // Next compare T2 devices against the list of supported deviceIDs. | |
| // Non T2 systems will have a hardwareModel so also verify that the bridgeVersion is set | |
| else if ( bridgeOSLookupSupported && system.bridge.deviceIdentity.hardwareModel != undefined && system.bridge.bridgeVersion != undefined ) | |
| { | |
| var bridgeOSDeviceID = system.bridge.deviceIdentity.hardwareModel; | |
| if ( supportedDeviceIDs.indexOf(bridgeOSDeviceID.toLowerCase()) == -1 ) | |
| { | |
| my.result.message = "This T2 system is not in the supported deviceID list."; | |
| my.result.type = 'Fatal'; | |
| return false; | |
| } | |
| } | |
| // For legacy hardware T1 and older, we use boardIDs | |
| else if ( supportedBoardIDs.indexOf(boardID) == -1 ) | |
| { | |
| my.result.message = "The system is not in the supported boardID list."; | |
| my.result.type = 'Fatal'; | |
| return false; | |
| } | |
| return true; | |
| } | |
| installCheck(); | |
| ]]></script> | |
| </installer-gui-script> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment