Skip to main content

Virtualization - General bash script to set-up VirtualBox guest running macOS

This is the script I created to set-up almost all VirtualBox guest running macOS. This is a try and error approach, until I have things running. I am regularly changing it to apat to neew discoveries. This is the latest version at this date (2021-Oct-26).


/home/afberendsen/Scripts
SetVBoxValuesForMacOS.sh
#!/bin/bash -x

# please, send an y updates of this script to afberendsen@gmail.com. I am working to make it easy for everyone to run Mac OS X VMs

# Check at the bottom of this script for a possible set of Tiger 10.4.11. I am still working on it

# My Guest name includes the Mac OS X version on it. This is used to dceie what settings need to be applied

sVMName="$(basename "$(pwd)")"

if [[ ! -e "${sVMName}.vbox" ]]; then
echo "${sVMName}.vbox not accessible or not found"
exit
fi

if [[ "$(uname -r)" == *Microsoft ]]; then
VB="/mnt/c/Program Files/Oracle/VirtualBox/VBoxManage.exe"
elif [[ "$(uname -s)" == Darwin ]]; then
VB="/Applications/VirtualBox.app/Contents/MacOS/VBoxManage"
elif [[ "$(uname -a)" == *Cygwin* ]]; then
VB="/cygdrive/c/Program Files/Oracle/VirtualBox/VBoxManage.exe"
else
VB=""
fi
[[ -z "${VB}" || ! -e "${VB}" ]] && exit

# Valid cpu-profiles from src/VBox/VMM/VMMR3/cpus/...
# grep -r pszName ./VirtualBox-6.1.14/src/VBox/VMM/VMMR3/cpus |cut -d: -f2|cut -d\" -f2|sort|sed -e 's/^/# /
#                             6.1
#                                       14 12 10 8 6 4 2 0
# AMD Athlon 64 3200+ x  x
# AMD Athlon 64 X2 Dual Core 4200+ x  x
# AMD FX-8150 Eight-Core x  x
# AMD Phenom II X6 1100T x  x
# Hygon C86 7185 32-core x  x
# Intel 80186 x  x
# Intel 80286 x  x
# Intel 80386 x  x
# Intel 80486 x  x
# Intel 8086 x  x
# Intel Atom 330 1.60GHz x  x
# Intel Core Duo T2600 2.16GHz x  x
# Intel Core i5-3570 x  x
# Intel Core i7-2635QM x  x
# Intel Core i7-3820QM x  x
# Intel Core i7-3960X x  x
# Intel Core i7-5600U x  x
# Intel Core i7-6700K x  x
# Intel Core2 T7600 2.33GHz x  x
# Intel Core2 X6800 2.93GHz x  x
# Intel Pentium 4 3.00GHz x  x
# Intel Pentium M processor 2.00GHz x  x
# Intel Pentium N3530 2.16GHz x  x
# Intel Xeon X5482 3.20GHz x  x
# Quad-Core AMD Opteron 2384 x  x
# VIA QuadCore L4700 1.2+ GHz x  x
# ZHAOXIN KaiXian KX-U5581 1.8GHz x  x
# 14 12 10 8 6 4 2 0
# 6.1

# PIIX (PCI IDE ISA Xcelerator): 
#    3: IDE controller; USB 1.0
#    4: ACPI; UDMA33/ATA-4
# ICH (I/O COntroller Hub):
#    6: SATA; PCI Express; +2 SATA ports; -1 PATA channel
#    9: No PATA
# USB:
#    OHCI (Open Host Controller Interface): computer host to interface with FireWire and USB 1.0 and 1.1 devices.
#    EHCI (Enhanced Host Controller Interface): standard that allows a computer host to interface with USB 2.0 devices
#    UHCI (Universal Host Controller Interface): developed by Intel. It is a USB 1.0 and 1.1 host controller
#    xHCI (Extensible Host Controller Interface): USB 3.1 SuperSpeed+, USB 3.0 SuperSpeed, USB 2.0 Low-, Full-, and High-speed, USB 1.1 Low- and Full-speed

### For all instances. Those settings are almost the same for all Mac OS X guests
"${VB}" modifyvm     "${sVMName}" --graphicscontroller vboxvga
"${VB}" modifyvm     "${sVMName}" --vram 128
"${VB}" modifyvm     "${sVMName}" --accelerate3d on
"${VB}" modifyvm     "${sVMName}" --accelerate2dvideo off
"${VB}" modifyvm     "${sVMName}" --chipset ich9
"${VB}" modifyvm     "${sVMName}" --nestedpaging on
"${VB}" modifyvm     "${sVMName}" --nested-hw-virt off
"${VB}" modifyvm     "${sVMName}" --clipboard-mode bidirectional
"${VB}" modifyvm     "${sVMName}" --draganddrop bidirectional
# It is important to be USB 2.0. Using USB 3.0 causes problems with the mouse responsiveness
"${VB}" modifyvm     "${sVMName}" --usbehci on
#Need more investigation to determine how to properly set-up "groups"
#"${VB}" modifyvm     "${sVMName}" --groups "/$( basename "$(dirname "$(pwd)")")"
"${VB}" modifyvm     "${sVMName}" --cpus 2 
"${VB}" modifyvm     "${sVMName}" --memory 4096
"${VB}" modifyvm     "${sVMName}" --cpuidset 00000001 000106e5 00100800 0098e3fd bfebfbff
#"${VB}" modifyvm     "${sVMName}" --cpu-profile "host"
"${VB}" modifyvm     "${sVMName}" --cpu-profile "Intel Core i7-6700K"
# Using the MacOS1011 (and further) IDs made the VM to crash. This was exaustively tested an only this ID works. (2020-Sep-25)
"${VB}" modifyvm     "${sVMName}" --ostype MacOS_64 
"${VB}" storagectl   "${sVMName}" --name "SATA" --controller AHCI --portcount 3

# Network Interface is highly dependant of what machine I am using
case $(hostname) in
HG000030)
# This is my new MacBook Pro with Thunderbolt 3/USB-C ports
"${VB}" modifyvm     "${sVMName}" --nic1            bridged
"${VB}" modifyvm     "${sVMName}" --nic2            none
"${VB}" modifyvm     "${sVMName}" --bridgeadapter1  'en0: Wi-Fi (Wireless)'
"${VB}" modifyvm     "${sVMName}" --nictype1        82545EM
"${VB}" modifyvm     "${sVMName}" --cableconnected1 on
;;
*)
# Default Machine is my Windows 10 desktop
"${VB}" modifyvm     "${sVMName}" --nic1            bridged
"${VB}" modifyvm     "${sVMName}" --nic2            bridged
"${VB}" modifyvm     "${sVMName}" --bridgeadapter1  'Intel(R) Ethernet Controller (2) I225-V'
"${VB}" modifyvm     "${sVMName}" --bridgeadapter2  'Intel(R) Wi-Fi 6 AX201 160MHz'
"${VB}" modifyvm     "${sVMName}" --nictype1        82545EM
"${VB}" modifyvm     "${sVMName}" --nictype2        82545EM
"${VB}" modifyvm     "${sVMName}" --cableconnected1 on
"${VB}" modifyvm     "${sVMName}" --cableconnected2 on
;;
esac

"${VB}" setextradata "${sVMName}" "VBoxInternal/Devices/efi/0/Config/DmiBoardProduct" "Iloveapple"
"${VB}" setextradata "${sVMName}" "VBoxInternal/Devices/smc/0/Config/DeviceKey" "ourhardworkbythesewordsguardedpleasedontsteal(c)AppleComputerInc"
"${VB}" setextradata "${sVMName}" "VBoxInternal/Devices/smc/0/Config/GetKeyFromRealSMC" 1
"${VB}" setextradata "${sVMName}" "VBoxInternal/Devices/efi/0/Config/DmiSystemProduct" "iMac11,3"

"${VB}" modifyvm     "${sVMName}" --firmware efi
"${VB}" setextradata "${sVMName}" "VBoxInternal2/EfiGraphicsResolution" "1920x1080"
"${VB}" setextradata "${sVMName}" "VBoxInternal2/EfiGopMode"             5
"${VB}" setextradata "${sVMName}" "VBoxInternal2/EfiBootArgs"           "-v"

# TO DO: Update NVRAm file path
#         <NVRAM path="E:\VirtualBox VMs\Mac OS X Template VMs\Mac OS X 10.6 (Snow Leopard)\Mac OS X 10.6 (Snow Leopard).nvram"/>

# "/mnt/c/Program Files/Oracle/VirtualBox/VBoxManage.exe" list ostype

# 00000001: Processor Info and Feature Bits (https://en.wikipedia.org/wiki/CPUID#EAX=1:_Processor_Info_and_Feature_Bits)
#   EAX=000106e5 -> 0000 0000 0000 0001 0000 0110 1110 1001
#   EBC=00100800 -> 0000 0000 0001 0000 0000 1000 0000 0000
#   ECX=0098e3fd -> 0000 0000 1001 1000 1110 0011 1111 1101
#   EDX=bfebfbff -> 1011 1111 1110 1011 1111 1011 1111 1111

# Check, at the end of this scrip, list of Apple models 

# Some valid Serial Numbers:
#   - SSS is the sequence number. Increment it by 1 to generate new SNs
#   - beginning with 1-9 and moving on to letters, omitting 0, vowels A, E, I, O, and U, as well as B, S, and Z.
#   11-digit Serial Numberes: PPYWWSSSCCC
#      xxx: 111,112,113,114,115,116,117,118,119,11C,11D,11F,11G,11H,11J,11K,11L,11M,11N,11P
#
#      iMac5,1 [2006-Sep .. 2007-Aug]
#         CK701xxx289: iMac (17-inch, Late 2006 CD)                     10.4.7 .. 10.7.5 2006-Sep .. 2007-Aug
#   12-digit Serial NumberS: PPPYWSSSCCCC
# MacBookPro15,1
#    C02XH1QDJG5K / Mac-937206F2EE63C01 / C02839500EXJPD215 / F54A9D97-FAC8-5BF3-9B45-7DAAE1177CAF
#       Macmini6,2
#         C07K21K8DWYM /                                            A11B4C95-089F-5497-8057-8081CFC233B5

#   CK94603F4PD  : MacPro5,1      : Mac Pro "Quad Core" 2.66/2.93/3.33 (2009/Nehalem) : 2009-Mar-03 .. 2010-Jul-27 : 10.5.6 .. 10.11.x

#   VM8293KTZE7  : iMac8,1        : iMac 24-Inch "Core 2 Duo" 2.8 (Early 2008)        : 2008-Apr-28 .. 2009-Mar-03 : 10.5.2 .. 10.11.x
#   CK115616DB7  : iMac11,2       : iMac 21.5-Inch "Core i3" 3.2 (Mid-2010)           :                            : 10.6.3 .. 10.13.x
#   CK115616DB8  : iMac11,2       : iMac 21.5-Inch "Core i3" 3.06 (Mid-2010)          :                            : 10.6.3 .. 10.13.x
#   CK115616DB5  : iMac11,3       : iMac 27-Inch "Core i5" 2.8 (Mid-2010)             :                            : 10.6.3 .. 10.13.x
#   CK115616DB6  : iMac11,3       : iMac 27-Inch "Core i3" 3.2 (Mid-2010)             :                            : 10.6.3 .. 10.13.x
#   C17FP1ZKDHJF : iMac12,1       : iMac 21.5-Inch "Core i5" 2.5 (Mid-2011)           : 2011-May-03 .. 2012-Oct-23 : 10.6.6 .. 10.13.x
#   C02NT1RQFY11 : iMac15,1       : iMac 27-Inch "Core i5" 3.5 (5K, Late 2014)        :                            : 10.10 .. Current
#   C02NT1RQFY14 : iMac15,1       : iMac 27-Inch "Core i3" 3.5 (5K, Late 2014)        :                            : 10.10 .. Current
#   C02NT1RQFY6F : iMac15,1       : iMac 27-Inch "Core i7" 4.0 (5K, Late 2014)        :                            : 10.10 .. Current

#   YM003001B9X  : Macmini3,1     : Mac mini "Core 2 Duo" 2.53 (Server)               : 2009-Oct-20 .. 2017-Jun-15 : 10.6.1 .. 10.11.x
#   ym9341uz9g6  : Macmini3,1     : Mac mini "Core 2 Duo" 2.53 (Late 2009)            : 2009-Oct-20 .. 2010-Jun-15 : 10.6 .. 10.11.x (Max 8GB RAM)
#   C07CP06EDD6K : Macmini4,1     : Mac mini "Core 2 Duo" 2.66 (Server)               : 2010-Jul-15 .. 2011-Jul-20 : 10.6.4 .. 10.13.x
#   C07G43F3DJD0 : Macmini5,1     : Mac mini "Core i5" 2.3 (Mid-2011)                 : 2011-Jul-20 .. 2012-Oct-23 : 10.7 .. 10.13.x
#   C07G28ZRDJD0 : Macmini5,1     : Mac mini "Core i5" 2.3 (Mid-2011)                 : 2011-Jul-20 .. 2012-Oct-23 : 10.7 .. 10.13.x
#   C07GT4PGDJD0 : Macmini5,1     : Mac mini "Core i5" 2.3 (Mid-2011)                 : 2011-Jul-20 .. 2012-Oct-23 : 10.7.x .. 10.13.x
#   C07GN0DYDJY7 : Macmini5,3     : Mac Mini Server (Mid 2011)                        : 2011-Jul-20 .. 2012-Oct-23 : 10.7 .. 10.13.x
#   C07N554JDWYL : Macmini6,1     : Mac mini "Core i5" 2.5 (Late 2012)                : 2012-Oct-23 .. 2014-Oct-16 : 10.8.1 .. 10.15.x
#   C07K21K8DWYM : Macmini6,2     : Mac mini "Core i7" 2.3 (Late 2012)                : 2012-Oct-23 .. 2016-Oct-16 : 10.8.1 .. 10.15.x
#   C07JJ2D0DWYM : Macmini6,2     : Mac mini "Core i7" 2.3 (Late 2012)                : 2012-Oct-23 .. 2014-Oct-16 : 10.8.1 .. 10.15.x
#   C07TW01GG1J0 : Macmini7,1     : Mac mini "Core i[5,7]" 1.4-3.0 (Late 2014)        : 2014-Oct-16 .. 2018-Oct-30 : 10.10 .. 10.15.x
#   c07nr049g1j0 : Macmini7,1     : Mac mini "Core i[5,7]" 1.4-3.0 (Late 2014)        : 2014-Oct-16 .. 2018-Oct-30 : 10.10 .. Curent
#   C0KPR00DGF1Q : Macmini7,1     : Mac mini "Core i5" 2.6 (Late 2014)                : 2014-Oct-16 .. 2018-Oct-30 : 10.10 .. Current
#   C07FT003DD6L
#   C07JD94MDWYM
#   C07G609BDJY7
#   C07HN0FHDJY7
#   C07HF146DJY7
#   C07LJ0KWDWYL
#   C07G32FWDJY7

#   C02XH1QDJG5K : MacBookPro15,1 : MacBookPro 15" "Core i[7,9]" 2.2-2.9 Touch/2018 : 2018-Nov-14 .. 2019-May-01 : 10.13.6 .. Current

# https://robservatory.com/a-full-history-of-macos-os-x-release-dates-and-rates/
# Some weird bug with Mac OS X 10.7 and before, it requires only 1 CPU. With more than 1 CPU, it will panic with "invalid opcode"
case "${sVMName}" in
*10.3*)
# https://www.macstrategy.com/article.php?32
echo WRONG
;;
*10.4*)  
# https://github.com/ranma42/TigerOnVBox/blob/master/README.md
# https://www.macstrategy.com/article.php?31
# 32-bits
# Memory: 10.4.x 32-bits Supports up to 48GB
"${VB}" modifyvm     "${sVMName}" --ostype       MacOS 
"${VB}" modifyvm     "${sVMName}" --firmware     efi32
"${VB}" modifyvm     "${sVMName}" --cpuidremoveall
                #"${VB}" modifyvm     "${sVMName}" --cpu-profile 'Intel Core2 T7600 2.33GHz'
                "${VB}" modifyvm     "${sVMName}" --cpu-profile 'Intel Core Duo T2600 2.16GHz'
"${VB}" modifyvm     "${sVMName}" --chipset ich9
        # The first controlle is aumatically named "SATA" by VB on Guest creation.
"${VB}" storagectl   "${sVMName}" --name "SATA" --controller ICH6 --portcount 2
"${VB}" setextradata "${sVMName}" "VBoxInternal/Devices/efi/0/Config/DmiBIOSVersion" EFI32..Virtual.Box
"${VB}" setextradata "${sVMName}" "VBoxInternal/Devices/efi/0/Config/DmiUseHostInfo" 0
"${VB}" modifyvm  "${sVMName}" --cpus 1 
case "${sVMName}" in
*10.4.11*) 
"${VB}" setextradata "${sVMName}" "VBoxInternal/Devices/efi/0/Config/DmiSystemProduct" "iMac7,1"
;;
*10.4.10*) 
"${VB}" setextradata "${sVMName}" "VBoxInternal/Devices/efi/0/Config/DmiSystemProduct" "iMac7,1"
;;
*10.4.9* ) 
"${VB}" setextradata "${sVMName}" "VBoxInternal/Devices/efi/0/Config/DmiSystemProduct" "iMac5,1"
"${VB}" setextradata "${sVMName}" "VBoxInternal/Devices/efi/0/Config/DmiSystemSerial"  "CK701113289"
;;
*10.4.8* ) 
"${VB}" setextradata "${sVMName}" "VBoxInternal/Devices/efi/0/Config/DmiSystemProduct" "iMac5,1"
"${VB}" setextradata "${sVMName}" "VBoxInternal/Devices/efi/0/Config/DmiSystemSerial"  "CK701112289"
;;
*10.4.7* ) 
"${VB}" setextradata "${sVMName}" "VBoxInternal/Devices/efi/0/Config/DmiSystemProduct" "iMac5,1"
"${VB}" setextradata "${sVMName}" "VBoxInternal/Devices/efi/0/Config/DmiSystemSerial"  "CK701111289"
"${VB}" setextradata "${sVMName}" "VBoxInternal/Devices/efi/0/Config/DmiBoardProduct"  "Mac-F22589C8" 
;;
*10.4.6* ) 
                #"${VB}" modifyvm     "${sVMName}" --cpu-profile 'Intel Core Duo T2600 2.16GHz'
#"${VB}" modifyvm     "${sVMName}" --chipset ich9
# LSILogic|LSILogicSAS|BusLogic|IntelAHCI|PIIX3|PIIX4|ICH6|I82078| [             USB|NVMe|VirtIO]
#"${VB}" storagectl   "${sVMName}" --name "SATA" --controller AHCI --portcount 2
#"${VB}" modifyvm     "${sVMName}" --memory 1024
"${VB}" setextradata "${sVMName}" "VBoxInternal/Devices/efi/0/Config/DmiSystemProduct" "iMac4,1"
"${VB}" setextradata "${sVMName}" "VBoxInternal/Devices/efi/0/Config/DmiSystemSerial"  "CK610114289"
"${VB}" setextradata "${sVMName}" "VBoxInternal/Devices/efi/0/Config/DmiBoardProduct"  "Mac-F22589C8" 
;;
esac

# KNOW BUG: Will not start-up automatically. Type
#           FS1:
#           cd /System/Library/CoreServices
#           boot
#     When Mac OS is up and running:
    #           Settings > Boot disk. Select disk and restart the OS

# PLESE READ SECTION 10.4 SERVER BELOW
;;
*10.5*)  
# https://www.macstrategy.com/article.php?30
"${VB}" modifyvm     "${sVMName}" --ostype MacOS 
"${VB}" modifyvm     "${sVMName}" --cpuidremoveall
"${VB}" modifyvm     "${sVMName}" --cpu-profile 'Intel Core2 T7600 2.33GHz'
"${VB}" modifyvm     "${sVMName}" --firmware efi32
"${VB}" modifyvm     "${sVMName}" --cpus 1 
"${VB}" modifyvm     "${sVMName}" --chipset ich9
"${VB}" storagectl   "${sVMName}" --name "SATA" --controller ICH6 --portcount 2
"${VB}" setextradata "${sVMName}" "VBoxInternal/Devices/efi/0/Config/DmiBIOSVersion" EFI32..Virtual.Box
"${VB}" setextradata "${sVMName}" "VBoxInternal/Devices/efi/0/Config/DmiUseHostInfo" 0
"${VB}" setextradata "${sVMName}" "VBoxInternal/Devices/efi/0/Config/DmiSystemProduct" "iMac9,1" 
;;
*10.6*)  
# https://www.macstrategy.com/article.php?28
# Apple software updates/installers downloaded prior to 14th February 2016 have an expired security certificate. 
# You should re-download any required/archived updates/installers
"${VB}" modifyvm     "${sVMName}" --ostype MacOS106_64
"${VB}" modifyvm     "${sVMName}" --cpus 1 
case "${sVMName}" in
*10.6.4*)
# To apply ComboUpdate patch:
# 1. model cannot be MacPro5,1 , iMac11,2 or iMac11,3
# 2. Base OS has to be 10.6.3
# 3. Build has to be 10D2199 or before
"${VB}" modifyvm     "${sVMName}" --hardwareuuid 18ABACED-BC09-5E37-B4BA-8F08352B93C1
"${VB}" setextradata "${sVMName}" "VBoxInternal/Devices/efi/0/Config/DmiSystemProduct" "iMac12,1" 
"${VB}" setextradata "${sVMName}" "VBoxInternal/Devices/efi/0/Config/DmiSystemSerial"  "CK115616DB6"
;;
*)
"${VB}" setextradata "${sVMName}" "VBoxInternal/Devices/efi/0/Config/DmiSystemProduct" "iMac12,2" 
;;
esac
"${VB}" setextradata "${sVMName}" "VBoxInternal2/SupportExtHwProfile" on
        "${VB}" setextradata "${sVMName}" "VBoxInternal/Devices/efi/0/Config/DmiBoardProduct" "Mac-F22589C8" 
        ;;
*10.7*)  
# https://www.macstrategy.com/article.php?29
# https://www.macstrategy.com/article.php?19
# https://www.macstrategy.com/article.php?9
# https://www.macstrategy.com/article.php?8
# https://www.macstrategy.com/article.php?4
# https://www.macstrategy.com/article.php?2
"${VB}" modifyvm     "${sVMName}" --ostype MacOS107_64
"${VB}" modifyvm     "${sVMName}" --cpus 1 
"${VB}" setextradata "${sVMName}" "VBoxInternal/Devices/efi/0/Config/DmiSystemProduct" "iMac12,2" 
;;
*10.8*)  
# https://www.macstrategy.com/article.php?79
"${VB}" modifyvm     "${sVMName}" --ostype MacOS108_64
"${VB}" setextradata "${sVMName}" "VBoxInternal/Devices/efi/0/Config/DmiSystemProduct" "iMac14,1" 
;;
*10.9*)  
# https://www.macstrategy.com/article.php?109
"${VB}" modifyvm     "${sVMName}" --ostype MacOS109_64 
"${VB}" setextradata "${sVMName}" "VBoxInternal/Devices/efi/0/Config/DmiSystemProduct" "iMac14,1"
;;
*10.10*) 
# https://www.macstrategy.com/article.php?129
"${VB}" setextradata "${sVMName}" "VBoxInternal/Devices/efi/0/Config/DmiSystemProduct" "iMac15,1" 
;;
*10.11*) 
# https://www.macstrategy.com/article.php?149
"${VB}" setextradata "${sVMName}" "VBoxInternal/Devices/efi/0/Config/DmiSystemProduct" "iMac17,1" 
;;
*10.12*) 
# https://www.macstrategy.com/article.php?169
"${VB}" modifyvm     "${sVMName}" --paravirtprovider none
        "${VB}" setextradata "${sVMName}" "VBoxInternal/Devices/efi/0/Config/DmiSystemProduct" "iMac18,1" 
"${VB}" setextradata "${sVMName}" "VBoxInternal/Devices/efi/0/Config/DmiSystemSerial"  "CK1156I6DB6"
"${VB}" setextradata "${sVMName}" "VBoxInternal/Devices/efi/0/Config/DmiBoardProduct"  "Mac-F22589C8" 
;;
*10.13*) 
# https://www.macstrategy.com/article.php?189
"${VB}" setextradata "${sVMName}" "VBoxInternal/Devices/efi/0/Config/DmiSystemProduct" "iMac18,1" i
"${VB}" setextradata "${sVMName}" "VBoxInternal/Devices/efi/0/Config/DmiSystemSerial"  "CK1156I6DB6"
"${VB}" setextradata "${sVMName}" "VBoxInternal/Devices/efi/0/Config/DmiBoardProduct"  "Mac-2BD1B31983FE1663" 
;;
*10.14*) 
# https://www.macstrategy.com/article.php?209
"${VB}" setextradata "${sVMName}" "VBoxInternal/Devices/efi/0/Config/DmiSystemProduct"  "iMac19,1" 
"${VB}" setextradata "${sVMName}" "VBoxInternal/Devices/efi/0/Config/DmiBoardProduct"  "Mac-2BD1B31983FE1663"
;;
*10.15*) 
# https://www.macstrategy.com/article.php?229
"${VB}" setextradata "${sVMName}" "VBoxInternal/Devices/efi/0/Config/DmiSystemProduct"  "iMac19,1" 
;;
*11.*) # Big Sur
    # https://mrmacintosh.com/list-of-mac-boardid-deviceid-model-identifiers-machine-models/
    # https://support-sp.apple.com/sp/product?edid=<ver>
    # https://support-sp.apple.com/sp/product?cc=G8WL
    # DmiSystemProduct   DmiSystemSerial   DmiBoardProduct
    # iMac20,2                             Mac-AA95B1DDAB278B95
    # iMac20,1                             Mac-CFF7D910A743CAAF
    # iMac19,1                             Mac-AA95B1DDAB278B95
    # iMac18,3                             Mac-BE088AF8C5EB4FA2
    # iMac18,2                             Mac-BE088AF8C5EB4FA2
    # iMac18,1                             Mac-4B682C642B45593E
    # MacBookPro15,1     C02XH1QDJG5K      Mac-937A206F2EE63C01   MacBook Pro (15-inch,2018)
    # MacBookPro15,1     C02XH1QDJG5L      Mac-937A206F2EE63C01   MacBook Pro (15-inch,2018)
    # MacBookPro15,1     C02XH1QDJG5M      Mac-937A206F2EE63C01   MacBook Pro (15-inch,2018)
    
    # macOS Big Sur 11.4-20F71
"${VB}" modifyvm     "${sVMName}" --memory 8192
"${VB}" modifyvm     "${sVMName}" --hardwareuuid F54A9D97-FAC8-5BF3-9B45-7DAAE1177CAF
"${VB}" setextradata "${sVMName}" "VBoxInternal2/EfiGraphicsResolution"                 "2160x1440"
#"${VB}" modifyvm     "${sVMName}" --cpuidset 00000001 000106e5 00100800 0098e3fd bfebfbff
#"${VB}" setextradata "${sVMName}" "VBoxInternal/Devices/efi/0/Config/DmiSystemSerial"   "C02XH1QDJG5K"
"${VB}" setextradata "${sVMName}" "VBoxInternal/Devices/efi/0/Config/DmiSystemVersion"  "1.0"
    # Better to have a different Board Prodict for each VM (?)
"${VB}" setextradata "${sVMName}" "VBoxInternal/Devices/smc/0/Config/GetKeyFromRealSMC" 1
"${VB}" setextradata "${sVMName}" "VBoxInternal/Devices/smc/0/Config/DeviceKey"         "ourhardworkbythesewordsguardedpleasedontsteal(c)AppleComputerInc"
"${VB}" setextradata "${sVMName}" "VBoxInternal/Devices/efi/0/Config/DmiSystemProduct"  "iMac20,2"
"${VB}" setextradata "${sVMName}" "VBoxInternal/Devices/efi/0/Config/DmiBoardProduct"   "Mac-AF89B6D9451A490B"
    case "${sVMName}" in # PPPYWSSSCCCC
                         #   PPP : Plant location
                         #   Y   : Year
                         #   W   ; Week
                         #   SSS ; Sequence (123456789BCDFGHJKLMNPQRSTVWXYZ)
                         #   CCCC: Code product
    *11.4*)   "${VB}" setextradata "${sVMName}" "VBoxInternal/Devices/efi/0/Config/DmiSystemSerial" "C02XH1QPJG5K" ;;
    *11.3.1*) "${VB}" setextradata "${sVMName}" "VBoxInternal/Devices/efi/0/Config/DmiSystemSerial" "C02XH1QNJG5K" ;;
    *11.3*)   "${VB}" setextradata "${sVMName}" "VBoxInternal/Devices/efi/0/Config/DmiSystemSerial" "C02XH1QMJG5K" ;;
    *11.2.3*) "${VB}" setextradata "${sVMName}" "VBoxInternal/Devices/efi/0/Config/DmiSystemSerial" "C02XH1QLJG5K" ;;
    *11.2.2*) "${VB}" setextradata "${sVMName}" "VBoxInternal/Devices/efi/0/Config/DmiSystemSerial" "C02XH1QKJG5K" ;;
    *11.2.1*) "${VB}" setextradata "${sVMName}" "VBoxInternal/Devices/efi/0/Config/DmiSystemSerial" "C02XH1QJJG5K" ;;
    *11.2*)   "${VB}" setextradata "${sVMName}" "VBoxInternal/Devices/efi/0/Config/DmiSystemSerial" "C02XH1QHJG5K" ;;
    *11.1*)   "${VB}" setextradata "${sVMName}" "VBoxInternal/Devices/efi/0/Config/DmiSystemSerial" "C02XH1QGJG5K" ;;
    *11.0.1*) "${VB}" setextradata "${sVMName}" "VBoxInternal/Devices/efi/0/Config/DmiSystemSerial" "C02XH1QFJG5K" ;;
    *11.0*)   "${VB}" setextradata "${sVMName}" "VBoxInternal/Devices/efi/0/Config/DmiSystemSerial" "C02XH1QDJG5K" ;;
    esac
;;
*12.*) # Monterrey
    # MacBookPro15,1
    # Mac-937A206F2EE63C01
    # C02XH1QDJG5K
"${VB}" modifyvm     "${sVMName}" --memory 8192
"${VB}" modifyvm     "${sVMName}" --hardwareuuid F54A9D97-FAC8-5BF3-9B45-7DAAE1177CAF
    "${VB}" modifyvm     "${sVMName}" --usbohci off --usbehci off --usbxhci on
"${VB}" setextradata "${sVMName}" "VBoxInternal2/EfiGraphicsResolution"                 "2160x1440"
#"${VB}" modifyvm     "${sVMName}" --cpuidset 00000001 000106e5 00100800 0098e3fd bfebfbff
#"${VB}" setextradata "${sVMName}" "VBoxInternal/Devices/efi/0/Config/DmiSystemProduct"  "iMac19,1"
"${VB}" setextradata "${sVMName}" "VBoxInternal/Devices/efi/0/Config/DmiSystemProduct"  "MacBookPro15,1"
"${VB}" setextradata "${sVMName}" "VBoxInternal/Devices/efi/0/Config/DmiSystemSerial"   "C02XH1QDJG5K"
"${VB}" setextradata "${sVMName}" "VBoxInternal/Devices/efi/0/Config/DmiBoardProduct"   "Mac-551B86E5744E2388"
"${VB}" setextradata "${sVMName}" "VBoxInternal/Devices/efi/0/Config/DmiSystemVersion"  "1.0"
"${VB}" setextradata "${sVMName}" "VBoxInternal/Devices/smc/0/Config/GetKeyFromRealSMC" 1
"${VB}" setextradata "${sVMName}" "VBoxInternal/Devices/smc/0/Config/DeviceKey"         "ourhardworkbythesewordsguardedpleasedontsteal(c)AppleComputerInc"
;;
esac

"${VB}" getextradata "${sVMName}" 

# ===== 10.4 SERVER

# After installing the Server software:
# 1. Power off the guest VM
# 2. Run this script
#    #!/bin/bash
#    sVMName="$(basename "$(pwd)")"
#    "/cygdrive/c/Program Files/Oracle/VirtualBox/VBoxManage.exe" setextradata  "${sVMName}" "VBoxInternal/Devices/VMMDev/0/Config/GetHostTimeDisabled" 1
#    "/cygdrive/c/Program Files/Oracle/VirtualBox/VBoxManage.exe" modifyvm "${sVMName}" --biossystemtimeoffset $(( ( $(date --date "2003-06-06" +%s) - $(date +%s) ) * 1000 ))

# 3. Power on the guest VM and type in the license
#    xsvr-104-000-n-63d-pz7-fhl-4w4-h4g-hyy-f
#    Apple Sales Web
#    Apple Reseller
# 4. Power off the guest VM
# 5. Run this script
#    #!/bin/bash
#    "/cygdrive/c/Program Files/Oracle/VirtualBox/VBoxManage.exe" setextradata  "$(basename "$(pwd)")" "VBoxInternal/Devices/VMMDev/0/Config/GetHostTimeDisabled" 0

# ===== VirtualBox video card modes

# VGA           640x480, 32bpp, 4:3             0
# SVGA          800x600, 32bpp, 4:3             1
# XGA           1024x768, 32bpp, 4:3            2
# XGA+          1152x864, 32bpp, 4:3
# HD            1280x720, 32bpp, 16:9
# WXGA          1280x800, 32bpp, 16:10
# SXGA          1280x1024, 32bpp, 5:4           3
# SXGA+         1400x1050, 32bpp, 4:3
# WXGA+         1440x900, 32bpp, 16:10          4
# HD+           1600x900, 32bpp, 16:9
# UXGA          1600x1200, 32bpp, 4:3
# WSXGA+        1680x1050, 32bpp, 16:10
# Full HD       1920x1080, 32bpp, 16:9
# WUXGA         1920x1200, 32bpp, 16:10         5
# DCI 2K        2048x1080, 32bpp, 19:10
# Full HD+      2160x1440, 32bpp, 3:2
# Unnamed       2304x1440, 32bpp, 16:10
# QHD           2560x1440, 32bpp, 16:9
# WQXGA         2560x1600, 32bpp, 16:10
# QWXGA+        2880x1800, 32bpp, 16:10
# QHD+          3200x1800, 32bpp, 16:9
# WQSXGA        3200x2048, 32bpp, 16:10
# 4K UHD        3840x2160, 32bpp, 16:9
# WQUXGA        3840x2400, 32bpp, 16:10
# DCI 4K        4096x2160, 32bpp, 19:10
# HXGA          4096x3072, 32bpp, 4:3
# UHD+          5120x2880, 32bpp, 16:9
# WHXGA         5120x3200, 32bpp, 16:10
# WHSXGA        6400x4096, 32bpp, 16:10
# HUXGA         6400x4800, 32bpp, 4:3
# 8K UHD2       7680x4320, 32bpp, 16:9

# ===== Apple Ids. This is used by some Mac OS X installation configuration to limit which computer can have the OS installed

#                                                               Mac OS X version                                     
# 0  1  2  3  4  5  6  7  8  9  10 11 12 13 14 15 16   SN
# iMac4,1       iMac 17-Inch "Core Duo" 1.83                                4  x  x       2006-Jan .. 2006-Sep
#               iMac 20-Inch "Core Duo" 2.0                                 4  x  x       2006-Jan .. 2006-Sep
# iMac4,2       iMac 17-Inch "Core Duo" 1.83 (IG)                           7  x  x       2006-Jul .. 2006-Sep
# iMac5,1       iMac 17-Inch "Core 2 Duo" 2.0                               7  x  x  5                               289,AC1
#               iMac 17-Inch "Core 2 Duo" 2.16                              7  x  x  5                               289,AC1
#               iMac 20-Inch "Core 2 Duo" 2.16                              7  x  x  5                               289,AC1
#               iMac 20-Inch "Core 2 Duo" 2.33                              7  x  x  5                               289,AC1
# iMac6,1       iMac 24-Inch "Core 2 Duo" 2.16                              7  x  x  5    
#               iMac 24-Inch "Core 2 Duo" 2.33                              7  x  x  5
# iMac7,1       iMac 20-Inch "Core 2 Duo" 2.0 (Al)                          10 x  x  x  x  x  x  x
#               iMac 20-Inch "Core 2 Duo" 2.4 (Al)                          10 x  x  x  x  x  x  x
#               iMac 24-Inch "Core 2 Duo" 2.4 (Al)                          10 x  x  x  x  x  x  x
#               iMac 24-Inch "Core 2 Extreme" 2.8 (Al)                      10 x  x  x  x  x  x  x
# iMac8,1       iMac 20-Inch "Core 2 Duo" 2.4 (Early 2008)                     x  x  x  x  x  x  x
#               iMac 20-Inch "Core 2 Duo" 2.66 (Early 2008)                    x  x  x  x  x  x  x
#               iMac 24-Inch "Core 2 Duo" 2.8 (Early 2008)                     x  x  x  x  x  x  x
#               iMac 24-Inch "Core 2 Duo" 3.06 (Early 2008)                    x  x  x  x  x  x  x
# iMac9,1 iMac 20-Inch "Core 2 Duo" 2.66 (Early 2009)                X  X  X  X  X  X  X
# iMac 24-Inch "Core 2 Duo" 2.66 (Early 2009)                X  X  X  X  X  X  X
# iMac 24-Inch "Core 2 Duo" 2.93 (Early 2009)                X  X  X  X  X  X  X
# iMac 24-Inch "Core 2 Duo" 3.06 (Early 2009)                X  X  X  X  X  X  X
# iMac 20-Inch "Core 2 Duo" 2.0 (Mid-2009)                X  X  X  X  X  X  X
# iMac 20-Inch "Core 2 Duo" 2.26 (Mid-2009)                X  X  X  X  X  X  X
# iMac10,1 iMac 21.5-Inch "Core 2 Duo" 3.06 (Late 2009)                   X  X  X  X  X  X  X  X
# iMac 21.5-Inch "Core 2 Duo" 3.33 (Late 2009)                   X  X  X  X  X  X  X  X
# iMac 27-Inch "Core 2 Duo" 3.06 (Late 2009)                   X  X  X  X  X  X  X  X
# iMac 27-Inch "Core 2 Duo" 3.33 (Late 2009)                   X  X  X  X  X  X  X  X
# iMac11,1 iMac 27-Inch "Core i5" 2.66 (Late 2009)                   X  X  X  X  X  X  X  X
# Mac 27-Inch "Core i7" 2.8 (Late 2009)                   X  X  X  X  X  X  X  X
# iMac11,2 Mac 21.5-Inch "Core i3" 3.06 (Mid-2010)                   X  X  X  X  X  X  X  X
# iMac 21.5-Inch "Core i3" 3.2 (Mid-2010)                           X  X  X  X  X  X  X  X
# iMac 21.5-Inch "Core i5" 3.6 (Mid-2010)           X  X  X  X  X  X  X  X
# iMac11,3 iMac 27-Inch "Core i3" 3.2 (Mid-2010)                      X  X  X  X  X  X  X  X
# iMac 27-Inch "Core i5" 2.8 (Mid-2010)                            X  X  X  X  X  X  X  X
# iMac 27-Inch "Core i5" 3.6 (Mid-2010)                   X  X  X  X  X  X  X  X
# iMac 27-Inch "Core i7" 2.93 (Mid-2010)                   X  X  X  X  X  X  X  X
# iMac12,1 iMac 21.5-Inch "Core i5" 2.5 (Mid-2011)                   X  X  X  X  X  X  X  X
# iMac 21.5-Inch "Core i5" 2.7 (Mid-2011)                   X  X  X  X  X  X  X  X
# iMac 21.5-Inch "Core i7" 2.8 (Mid-2011)                           X  X  X  X  X  X  X  X
# iMac 21.5-Inch "Core i3" 3.1 (Late 2011)                          X  X  X  X  X  X  X  X
# iMac12,2 Mac 27-Inch "Core i5" 2.7 (Mid-2011)   X  X  X  X  X  X  X  X
# iMac 27-Inch "Core i5" 3.1 (Mid-2011)                   X  X  X  X  X  X  X  X
# iMac 27-Inch "Core i7" 3.4 (Mid-2011)                   X  X  X  X  X  X  X  X
# iMac13,1 iMac 21.5-Inch "Core i5" 2.7 (Late 2012)                                X  X  X  X  X  X  X  X
# iMac 21.5-Inch "Core i5" 2.9 (Late 2012)                         X  X  X  X  X  X  X  X
# iMac 21.5-Inch "Core i7" 3.1 (Late 2012)                          X  X  X  X  X  X  X  X
# Mac 21.5-Inch "Core i3" 3.3 (Early 2013)                 X  X  X  X  X  X  X  X
# iMac14,1 iMac 21.5-Inch "Core i5" 2.7 (Late 2013)                         X  X  X  X  X  X  X  X
# iMac15,1 iMac 27-Inch "Core i5" 3.5 (5K, Late 2014)                                    X  X  X  X  X  X
# iMac 27-Inch "Core i7" 4.0 (5K, Late 2014)                                    X  X  X  X  X  X
# iMac 27-Inch "Core i5" 3.3 (5K, Mid-2015)                                     X  X  X  X  X  X
# iMac16,1 iMac 21.5-Inch "Core i5" 1.6 (Late 2015)                                         X  X  X  X  X
# iMac17,1 iMac 27-Inch "Core i5" 3.2 (5K, Late 2015)                                  X  X  X  X  X
# iMac 27-Inch "Core i5" 3.3 (5K, Late 2015)                                       X  X  X  X  X
# iMac 27-Inch "Core i7" 4.0 (5K, Late 2015)                                       X  X  X  X  X
# iMac18,1 iMac 21.5-Inch "Core i5" 2.3 (Mid-2017)     X  X  X  X
# iMac18,2      iMac 21.5-Inch "Core i5" 3.0 (4K, Mid-2017)                                         4  x  x  x
#               iMac 21.5-Inch "Core i5" 3.4 (4K, Mid-2017)                                         4  x  x  x
#               iMac 21.5-Inch "Core i7" 3.6 (4K, Mid-2017)                                         4  x  x  x
# iMac18,3      iMac 27-Inch "Core i5" 3.4 (5K, Mid-2017)                                           4  x  x  x
#               iMac 27-Inch "Core i5" 3.5 (5K, Mid-2017)                                           4  x  x  x
#               iMac 27-Inch "Core i5" 3.8 (5K, Mid-2017)                                           4  x  x  x
#               iMac 27-Inch "Core i7" 4.2 (5K, Mid-2017)                                           4  x  x  x
# iMac19,1 iMac 27-Inch "Core i5" 3.0 (5K, 2019)                                           X  X
# iMac 27-Inch "Core i5" 3.1 (5K, 2019)                                                     X  X
# iMac 27-Inch "Core i5" 3.7 (5K, 2019)                                                     X  X
# iMac 27-Inch "Core i9" 3.6 (5K, 2019)                                                     X  X
# iMac19,2      iMac 21.5-Inch "Core i3" 3.6 (4K, 2019)                                                   4  x
#               iMac 21.5-Inch "Core i5" 3.0 (4K, 2019)                                                   4  x
#               iMac 21.5-Inch "Core i7" 3.2 (4K, 2019)                                                   4  x
# iMac20,1      iMac 27-Inch "Core i5" 3.1 (5K, 2020)                                                        6
#               iMac 27-Inch "Core i5" 3.3 (5K, 2020)                                                        6
#               iMac 27-Inch "Core i7" 3.8 (5K, 2020)                                                        6
#               iMac 27-Inch "Core i9" 3.6 (5K, 2020)                                                        6
# iMac20,2      iMac 27-Inch "Core i7" 3.8 (5K, 2020; 5700/XT)                                               6
#               iMac 27-Inch "Core i9" 3.6 (5K, 2020; 5700/XT)                                               6
# iMacPro1,1    iMac Pro "8-Core" 3.2 27-Inch (5K, Late 2017)                                          x  x  x  x   (max 512GB RAM)
#               iMac Pro "10-Core" 3.0 27-Inch (5K, Late 2017)                                         x  x  x  x   (max 512GB RAM)
#               iMac Pro "14-Core" 2.5 27-Inch (5K, Late 2017)                                         x  x  x  x   (max 512GB RAM)
#               iMac Pro "18-Core" 2.3 27-Inch (5K, Late 2017)                                         x  x  x  x   (max 512GB RAM)
# 0  1  2  3  4  5  6  7  8  9  10 11 12 13 14 15 16

# ===== Minimum and maximum Ids that a certain version of Mac OS X can be installed

# Mac OS X 10.6 .. iMac12,2
# Mac OS X 10.7 .. iMac12,2
# Mac OS X 10.8 .. iMac14,1
# Mac OS X 10.9 .. iMac14,1
# Mac OS X 10.10 .. iMac15,1
# Mac OS X 10.11 .. iMac17,1
# Mac OS X 10.12 .. iMac18,1
# Mac OS X 10.13 .. iMac18,1
# Mac OS X 10.14 .. iMac19,1
# Mac OS X 10.15 .. iMac19,1

# ===== Apple Serial Number format

# Very strange settings for specifc versions of Mac OS X
# Serial number forrmat:
#   2nd format: PPYWWSSSCCC
#   3rd format: PPPYWSSSCCCC
#     P: Manufaturing plant
# FC Fountain Colorado, USA
# F Fremont, California, USA
# XA, XB, QP, G8 USA
# RN Mexico
# CK Cork, Ireland
# VM Foxconn, Pardubice, Czech Republic
# SG, E Singapore
# MB Malaysia
# PT, CY Korea
# EE, QT, UV Taiwan
# FK, F1, F2 Foxconn – Zhengzhou, China
# W8 Shanghai China
# DL, DM Foxconn – China
# DN Foxconn, Chengdu, China
# YM, 7J Hon Hai/Foxconn, China
# 1C, 4H, WQ, F7 China
# C0 Tech Com – Quanta Computer Subsidiary, China
# C3 Foxxcon, Shenzhen, China
# C7 Pentragon, Changhai, China
# RM Refurbished/remanufactured
#     Y: Year of manufacture
# 2nd format: last digit of production year
# 3rd format:
# C 2010 (1st half)
# D 2010 (2nd half)
# F 2011 (1st half)
# G 2011 (2nd half)
# H 2012 (1st half)
# J 2012 (2nd half)
# K 2013 (1st half)
# L 2013 (2nd half)
# M 2014 (1st half)
# N 2014 (2nd half)
# P 2015 (1st half)
# Q 2015 (2nd half)
# R 2016 (1st half)
# S 2016 (2nd half)
# T 2017 (1st half)
# V 2017 (2nd half)
# W 2018 (1st half)
# X 2018 (2nd half)
# Y 2019 (1st half)
# Z 2019 (2nd half)
#     W: Week of manufacture
#     S: Sequence number
#     C: Model code
#   Examples:
#     CK1156I6DB6 (11 digits -> 2nd format)
#       CK : Cork, Ireland
#       1  : 2011
#       15 : week 15th (April)
#       6I6: Sequemce 414
#       DB6: 

# ===== Apple Serial number model code

# '/cygdrive/f/VMs, Emulators, Simulators/VirtualBox VMs/macOS test/GetAllAppeModelCodes.sh'
# https://techable.com/apple/

# Model code / Description Date limit OS limit
# 2nd format (11 digits) product code
#               2FB : AirPort Extreme 802.11n (2nd Generation)
#               ACC : AirPort Extreme 802.11n (4th Generation)
#               32D : AirPort Time Capsule 802.11n (1st Generation)
#               32E : AirPort Time Capsule 802.11n (1st Generation)
#               32F : AirPort Time Capsule 802.11n (1st Generation)
#               ACD : AirPort Time Capsule 802.11n (3rd Generation)
#               D6C : Apple Studio Display 21 inch CRT
#               949 : AppleVision 850 Display
#               85A : Final Cut Server 1.5
#               85B : Final Cut Server 1.5
#               373 : Final Cut Studio (2009)
#               37A : Final Cut Studio (2009)
#               200 : Mac Pro (Early 2008)
#               2EE : Mac Pro (Early 2008)
#               31E : Mac Pro (Early 2008)
#               31F : Mac Pro (Early 2008)
#               329 : Mac Pro (Early 2008)
#               7BF : Mac Pro (Early 2009)
#               E1C : Mac Pro (Early 2009)
#               E1D : Mac Pro (Early 2009)
#               E1E : Mac Pro (Early 2009)
#               EAA : Mac Pro (Early 2009)
#               306 : Mac mini (Late 2009)
#               307 : Mac mini (Late 2009)
#               034 : MacBook (13-inch Late 2007)
#               1B0 : MacBook (13-inch, Aluminum, Late 2008)
#               1B5 : MacBook (13-inch, Aluminum, Late 2008)
#               74F : MacBook (13-inch, Aluminum, Late 2008)
#               804 : MacBook (13-inch, Aluminum, Late 2008)
#               80D : MacBook (13-inch, Aluminum, Late 2008)
#               8A3 : MacBook (13-inch, Aluminum, Late 2008)
#               8AD : MacBook (13-inch, Aluminum, Late 2008)
#               8AF : MacBook (13-inch, Aluminum, Late 2008)
#               28C : MacBook (13-inch, Early 2008)
#               28D : MacBook (13-inch, Early 2008)
#               28E : MacBook (13-inch, Early 2008)
#               385 : MacBook (13-inch, Early 2008)
#               79D : MacBook (13-inch, Early 2009)
#               79E : MacBook (13-inch, Early 2009)
#               79F : MacBook (13-inch, Early 2009)
#               7A2 : MacBook (13-inch, Early 2009)
#               85D : MacBook (13-inch, Early 2009)
#               67C : MacBook (13-inch, Late 2008)
#               E39 : MacBook (13-inch, Late 2009)
#               22D : MacBook Air (Late 2008)
#               22E : MacBook Air (Late 2008)
#               9A5 : MacBook Air (Mid 2009)
#               9A6 : MacBook Air (Mid 2009)
#               9A7 : MacBook Air (Mid 2009)
#               9A8 : MacBook Air (Mid 2009)
#               141 : MacBook Air (Original)
#               1AE : MacBook Air (Original)
#               66D : MacBook Pro (13-inch, Mid 2009)
#               66E : MacBook Pro (13-inch, Mid 2009)
#               A50 : MacBook Pro (13-inch, Mid 2009)
#               A54 : MacBook Pro (13-inch, Mid 2009)
#               A55 : MacBook Pro (13-inch, Mid 2009)
#               A56 : MacBook Pro (13-inch, Mid 2009)
#               A57 : MacBook Pro (13-inch, Mid 2009)
#               E40 : MacBook Pro (13-inch, Mid 2009)
#               2B0 : MacBook Pro (15-inch Early 2008)
#               2CE : MacBook Pro (15-inch Early 2008)
#               33B : MacBook Pro (15-inch Early 2008)
#               A3B : MacBook Pro (15-inch, 2.53GHz, Mid 2009)
#               A3C : MacBook Pro (15-inch, 2.53GHz, Mid 2009)
#               A3F : MacBook Pro (15-inch, 2.53GHz, Mid 2009)
#               B21 : MacBook Pro (15-inch, 2.53GHz, Mid 2009)
#               71A : MacBook Pro (15-inch, Late 2008)
#               71C : MacBook Pro (15-inch, Late 2008)
#               852 : MacBook Pro (15-inch, Late 2008)
#               970 : MacBook Pro (15-inch, Late 2008)
#               971 : MacBook Pro (15-inch, Late 2008)
#               972 : MacBook Pro (15-inch, Late 2008)
#               973 : MacBook Pro (15-inch, Late 2008)
#               642 : MacBook Pro (15-inch, Mid 2009)
#               644 : MacBook Pro (15-inch, Mid 2009)
#               64B : MacBook Pro (15-inch, Mid 2009)
#               64C : MacBook Pro (15-inch, Mid 2009)
#               A39 : MacBook Pro (15-inch, Mid 2009)
#               A3A : MacBook Pro (15-inch, Mid 2009)
#               AF2 : MacBook Pro (15-inch, Mid 2009)
#               B20 : MacBook Pro (15-inch, Mid 2009)
#               B22 : MacBook Pro (15-inch, Mid 2009)
#               E6C : MacBook Pro (15-inch, Mid 2009)
#               E6F : MacBook Pro (15-inch, Mid 2009)
#               027 : MacBook Pro (17-inch, 2.4GHZ)
#               028 : MacBook Pro (17-inch, 2.4GHZ)
#               02D : MacBook Pro (17-inch, 2.4GHZ)
#               1ED : MacBook Pro (17-inch, Early 2008)
#               2CF : MacBook Pro (17-inch, Early 2008)
#               2ED : MacBook Pro (17-inch, Early 2008)
#               3DC : MacBook Pro (17-inch, Early 2008)
#               3DD : MacBook Pro (17-inch, Early 2008)
#               3DE : MacBook Pro (17-inch, Early 2008)
#               3DF : MacBook Pro (17-inch, Early 2008)
#               776 : MacBook Pro (17-inch, Early 2009)
#               77A : MacBook Pro (17-inch, Early 2009)
#               634 : MacBook Pro (17-inch, Late 2008)
#               663 : MacBook Pro (17-inch, Late 2008)
#               664 : MacBook Pro (17-inch, Late 2008)
#               666 : MacBook Pro (17-inch, Late 2008)
#               668 : MacBook Pro (17-inch, Late 2008)
#               AF3 : MacBook Pro (17-inch, Mid 2009)
#               C9A : Power Mac G3 Minitower
#               CCD : Power Mac G3 Minitower
#               C79 : PowerBook G4 (15-inch 1.67/1.5GHZ)
#               12E : Xserve (Early 2008)
#               20A : Xserve (Early 2008)
#               24B : Xserve (Early 2008)
#               32A : Xserve (Early 2008)
#               8DE : Xserve (Early 2009)
#               A70 : Xserve (Early 2009)
#               289 : iMac (17-inch, Late 2006 CD)
#               AC1 : iMac (17-inch, Late 2006)
#               28B : iMac (20-inch, Early 2008)
#               3FF : iMac (20-inch, Early 2008)
#               5A8 : iMac (20-inch, Early 2008)
#               6F9 : iMac (20-inch, Early 2008)
#               E86 : iMac (20-inch, Mid 2009)
#               E8D : iMac (21.5-inch, Late 2009)
#               E8E : iMac (21.5-inch, Late 2009)
#               E8F : iMac (21.5-inch, Late 2009)
# DB7 : iMac 21.5-Inch "Core i3" 3.2 (Mid-2010)  iMac11,2 July 27, 2010 -> May 3, 2011 10.6.3 -> 10.13.x
# DB8 : iMac 21.5-Inch "Core i3" 3.06 (Mid-2010) iMac11,2 July 27, 2010 -> May 3, 2011 10.6.3 -> 10.13.x
#               28A : iMac (24-inch, Early 2008)
#               2E4 : iMac (24-inch, Early 2008)
#               3F9 : iMac (24-inch, Early 2008)
#               250 : iMac (24-inch, Early 2009)
#               259 : iMac (24-inch, Early 2009)
#               9F3 : iMac (24-inch, Early 2009)
#               E1B : iMac (24-inch, Early 2009)
#               2CB : iMac (24-inch, Mid 2007)
# DB5 : iMac 27-Inch "Core i5" 2.8 (Mid-2010) iMac11,3 July 27, 2010 -> May 3, 2011
# DB6 : iMac 27-Inch "Core i3" 3.2 (Mid-2010)  iMac11,3 July 27, 2010 -> May 3, 2011 10.6.3 -> 10.13.x
#               77B : iWork '09
# 3rd format Product codes
# F611 : iMac (21.5-inch, Mid 2011)
# F610 : iMac (27-inch, Mid 2011)
# FHCV : iMac (27-inch, Mid 2011)
# F8QM : iMac (21.5-inch, Late 2012)
# F8QN : iMac (21.5-inch, Late 2012)
# F9RN : iMac (21.5-inch, Late 2012)
# FC6M : iMac (21.5-inch, Late 2012)
# FC6N : iMac (21.5-inch, Late 2012)
# FC6P : iMac (21.5-inch, Late 2012)
# FD55 : iMac (21.5-inch, Late 2012)
# FD5Y : iMac (21.5-inch, Late 2012)
# FF7L : iMac (21.5-inch, Late 2012)
# FFVW : iMac (21.5-inch, Late 2012)
# FFVY : iMac (21.5-inch, Late 2012)
# FG46 : iMac (21.5-inch, Late 2012)
# FGC4 : iMac (21.5-inch, Late 2012)
# FGMR : iMac (21.5-inch, Late 2012)
# FGMT : iMac (21.5-inch, Late 2012)
# FL8N : iMac (21.5-inch, Late 2012)
# FM8L : iMac (21.5-inch, Late 2012)
# FM8M : iMac (21.5-inch, Late 2012)
# FM8N : iMac (21.5-inch, Late 2012)
# FMLG : iMac (21.5-inch, Late 2012)
# FP12 : iMac (21.5-inch, Late 2012)
# F29N : iMac (27-inch, Late 2012)
# F8QP : iMac (27-inch, Late 2012)
# F8QQ : iMac (27-inch, Late 2012)
# FD5T : iMac (27-inch, Late 2012)
# FD5V : iMac (27-inch, Late 2012)
# FFM8 : iMac (27-inch, Late 2012)
# FFM9 : iMac (27-inch, Late 2012)
# FFMC : iMac (27-inch, Late 2012)
# FFMD : iMac (27-inch, Late 2012)
# FFMF : iMac (27-inch, Late 2012)
# FFMG : iMac (27-inch, Late 2012)
# FFMJ : iMac (27-inch, Late 2012)
# FFMK : iMac (27-inch, Late 2012)
# FFML : iMac (27-inch, Late 2012)
# FFMM : iMac (27-inch, Late 2012)
# FFMN : iMac (27-inch, Late 2012)
# FFW0 : iMac (27-inch, Late 2012)
# FFW1 : iMac (27-inch, Late 2012)
# FG47 : iMac (27-inch, Late 2012)
# FGMW : iMac (27-inch, Late 2012)
# FGMY : iMac (27-inch, Late 2012)
# FGRP : iMac (27-inch, Late 2012)
# FL8M : iMac (27-inch, Late 2012)
# FM8P : iMac (27-inch, Late 2012)
# FM8Q : iMac (27-inch, Late 2012)
# FMLH : iMac (27-inch, Late 2012)
# FP13 : iMac (27-inch, Late 2012)
# FP62 : iMac (27-inch, Late 2012)
# FTQ4 : iMac (27-inch, Late 2012)
# FTQ5 : iMac (27-inch, Late 2012)
# F8J4 : iMac (27-inch, Late 2013)
# F8J5 : iMac (27-inch, Late 2013)
# F8J9 : iMac (27-inch, Late 2013)
# F8JC : iMac (27-inch, Late 2013)
# FLHH : iMac (27-inch, Late 2013)
# FPDY : iMac (27-inch, Late 2013)
# FPF0 : iMac (27-inch, Late 2013)
# FFYV : iMac (21.5-inch, Early 2013)
# FFYW : iMac (21.5-inch, Early 2013)
# FGPL : iMac (21.5-inch, Early 2013)
# FGPM : iMac (21.5-inch, Early 2013)
# FJQQ : iMac (21.5-inch, Early 2013)
# FLMH : iMac (21.5-inch, Early 2013)
# F8J2 : iMac (21.5-inch, Late 2013)
# F8J3 : iMac (21.5-inch, Late 2013)
# F8J7 : iMac (21.5-inch, Late 2013)
# F8J8 : iMac (21.5-inch, Late 2013)
# FPDV : iMac (21.5-inch, Late 2013)
# FPDW : iMac (21.5-inch, Late 2013)
# FPF1 : iMac (21.5-inch, Late 2013)
# FPF2 : iMac (21.5-inch, Late 2013)
# FQMV : iMac (21.5-inch, Late 2013)
# FQMW : iMac (21.5-inch, Late 2013)
# FQMY : iMac (21.5-inch, Late 2013)
# FQN0 : iMac (21.5-inch, Late 2013)
# FR1Q : iMac (21.5-inch, Late 2013)
# FR1R : iMac (21.5-inch, Late 2013)
# FR1T : iMac (21.5-inch, Late 2013)
# FR1V : iMac (21.5-inch, Late 2013)
# FR21 : iMac (21.5-inch, Late 2013)
# FRM7 : iMac (21.5-inch, Late 2013)
# FRM8 : iMac (21.5-inch, Late 2013)
# FT4M : iMac (21.5-inch, Late 2013)
# FVGW : iMac (21.5-inch, Late 2013)
# FWJH : iMac (21.5-inch, Late 2013)
# FPF3 : iMac (27-inch, Late 2013)
# FPF4 : iMac (27-inch, Late 2013)
# FQPG : iMac (27-inch, Late 2013)
# FQPH : iMac (27-inch, Late 2013)
# FQPJ : iMac (27-inch, Late 2013)
# FQPK : iMac (27-inch, Late 2013)
# FQPL : iMac (27-inch, Late 2013)
# FQPM : iMac (27-inch, Late 2013)
# FQPN : iMac (27-inch, Late 2013)
# FQPP : iMac (27-inch, Late 2013)
# FR1W : iMac (27-inch, Late 2013)
# FR1Y : iMac (27-inch, Late 2013)
# FR20 : iMac (27-inch, Late 2013)
# FR22 : iMac (27-inch, Late 2013)
# FR2W : iMac (27-inch, Late 2013)
# FRM9 : iMac (27-inch, Late 2013)
# FT4N : iMac (27-inch, Late 2013)
# FWQ5 : iMac (27-inch, Late 2013)
# FWQ6 : iMac (27-inch, Late 2013)
# FWQ7 : iMac (27-inch, Late 2013)
# FWQ8 : iMac (27-inch, Late 2013)
# FY15 : iMac (27-inch, Late 2013)
# FY9D : iMac (27-inch, Late 2013)
# FY9F : iMac (27-inch, Late 2013)
# FY0T : iMac (21.5-inch, Mid 2014)   iMac14,4
# FY0V : iMac (21.5-inch, Mid 2014)   iMac14,4
# FY65 : iMac (21.5-inch, Mid 2014)   iMac14,4
# FY69 : iMac (21.5-inch, Mid 2014)   iMac14,4
# FY11 : iMac (Retina 5K, 27-inch, Late 2014) 2014.Oct.16 .. 2015.Oct.13 10.10 .. Current
# FY14 : iMac (Retina 5K, 27-inch, Late 2014) 2014.Oct.16 .. 2015.Oct.13 10.10 .. Current
# FY68 : iMac (Retina 5K, 27-inch, Late 2014) 2014.Oct.16 .. 2015.Oct.13 10.10 .. Current
# FY6F : iMac (Retina 5K, 27-inch, Late 2014) 2014.Oct.16 .. 2015.Oct.13 10.10 .. Current
#   192F : iMac (Retina 4K, 21.5-inch, 2019)
#   1254 : iMac (24-inch, M1, 2021)
#   1255 : iMac (24-inch, M1, 2021)
#   1256 : iMac (24-inch, M1, 2021)
#   1257 : iMac (24-inch, M1, 2021)
#   1259 : iMac (24-inch, M1, 2021)
#   125C : iMac (24-inch, M1, 2021)
#   125D : iMac (24-inch, M1, 2021)
#   125F : iMac (24-inch, M1, 2021)

# F9RK - Mac mini (Late 2012)
# F9RL - Mac mini (Late 2012)
# F9RM - Mac mini (Late 2012)
# F9VV - Mac mini (Late 2012)
# F9VW - Mac mini (Late 2012)
# F9W0 - Mac mini (Late 2012)
# F9W1 - Mac mini (Late 2012)
# F9W2 - Mac mini (Late 2012)
# FD9G - Mac mini (Late 2012)
# FD9H - Mac mini (Late 2012)
# FD9J - Mac mini (Late 2012)
# FD9K - Mac mini (Late 2012)
# FDWK - Mac mini (Late 2012)
# FGML - Mac mini (Late 2012)
# FRFP - Mac mini (Late 2012)
# FW56 - Mac mini (Late 2012)
# FW57 - Mac mini (Late 2012)
# F9VY - Mac mini Server (Late 2012)
# F9W3 - Mac mini Server (Late 2012)
# FC08 - Mac mini Server (Late 2012)
# FCCW - Mac mini Server (Late 2012)
# FP14 - Mac mini Server (Late 2012)
# FP39 - Mac mini Server (Late 2012)
# F693 - Mac Pro (Late 2013)
# F694 - Mac Pro (Late 2013)
# F9VM - Mac Pro (Late 2013)
# F9VN - Mac Pro (Late 2013)
# FRDW - Mac Pro (Late 2013)
# FRDY - Mac Pro (Late 2013)
# FRF0 - Mac Pro (Late 2013)
# FRF1 - Mac Pro (Late 2013)
# FRF2 - Mac Pro (Late 2013)
# FRF3 - Mac Pro (Late 2013)
# FRF4 - Mac Pro (Late 2013)
# FRF5 - Mac Pro (Late 2013)
# FRQC - Mac Pro (Late 2013)
# FT3F - Mac Pro (Late 2013)
# FT3G - Mac Pro (Late 2013)
# FT3H - Mac Pro (Late 2013)
# FT95 - Mac Pro (Late 2013)
# FT96 - Mac Pro (Late 2013)
# FT97 - Mac Pro (Late 2013)
# FT98 - Mac Pro (Late 2013)
# FT99 - Mac Pro (Late 2013)
# FT9C - Mac Pro (Late 2013)
# FT9D - Mac Pro (Late 2013)
# FY3Y - Mac Pro (Late 2013)
# FY40 - Mac Pro (Late 2013)
# F4MC - Mac Pro (Mid 2012)
# F4MD - Mac Pro (Mid 2012)
# F4MG - Mac Pro (Mid 2012)
# F4MH - Mac Pro (Mid 2012)
# F4YY - Mac Pro (Mid 2012)
# F500 - Mac Pro (Mid 2012)
# F648 - Mac Pro (Mid 2012)
# F649 - Mac Pro (Mid 2012)
# F64C - Mac Pro (Mid 2012)
# F64D - Mac Pro (Mid 2012)
# F64F - Mac Pro (Mid 2012)
# F6T9 - Mac Pro (Mid 2012)
# F6TC - Mac Pro (Mid 2012)
# F6TD - Mac Pro (Mid 2012)
# F6TF - Mac Pro (Mid 2012)
# F6TG - Mac Pro (Mid 2012)
# F4MF - Mac Pro Server (Mid 2012)
# F4MJ - Mac Pro Server (Mid 2012)
# F501 - Mac Pro Server (Mid 2012)
# F5YV - MacBook Air
# F5YW - MacBook Air
# F6T5 - MacBook Air
# F6T6 - MacBook Air
# FLCF - MacBook Air
# FLCG - MacBook Air
# FM72 - MacBook Air (11-inch, Early 2014)
# F2JP - MacBook Air (11-inch, Mid 2011)
# F569 - MacBook Air (11-inch, Mid 2012)
# F56C - MacBook Air (11-inch, Mid 2012)
# F56G - MacBook Air (11-inch, Mid 2012)
# F57H - MacBook Air (11-inch, Mid 2012)
# F5MV - MacBook Air (11-inch, Mid 2012)
# F67D - MacBook Air (11-inch, Mid 2012)
# F67F - MacBook Air (11-inch, Mid 2012)
# F67K - MacBook Air (11-inch, Mid 2012)
# F67L - MacBook Air (11-inch, Mid 2012)
# F67M - MacBook Air (11-inch, Mid 2012)
# F88G - MacBook Air (11-inch, Mid 2012)
# F88K - MacBook Air (11-inch, Mid 2012)
# F88V - MacBook Air (11-inch, Mid 2012)
# F910 - MacBook Air (11-inch, Mid 2012)
# F5N7 - MacBook Air (11-inch, Mid 2013)
# F5N8 - MacBook Air (11-inch, Mid 2013)
# FH51 - MacBook Air (11-inch, Mid 2013)
# FH52 - MacBook Air (11-inch, Mid 2013)
# FKYN - MacBook Air (11-inch, Mid 2013)
# FKYP - MacBook Air (11-inch, Mid 2013)
# FMR5 - MacBook Air (11-inch, Mid 2013)
# FMR6 - MacBook Air (11-inch, Mid 2013)
# FMR9 - MacBook Air (11-inch, Mid 2013)
# FMRC - MacBook Air (11-inch, Mid 2013)
# FMRD - MacBook Air (11-inch, Mid 2013)
# FMRF - MacBook Air (11-inch, Mid 2013)
# FMRG - MacBook Air (11-inch, Mid 2013)
# FMRM - MacBook Air (11-inch, Mid 2013)
# FMRN - MacBook Air (11-inch, Mid 2013)
# FN5M - MacBook Air (11-inch, Mid 2013)
# FN7F - MacBook Air (11-inch, Mid 2013)
# FP2N - MacBook Air (11-inch, Mid 2013)
# FP3C - MacBook Air (11-inch, Mid 2013)
# FQLG - MacBook Air (11-inch, Mid 2013)
# FT30 - MacBook Air (11-inch, Mid 2013)
# F14R - MacBook Air (13-inch, Mid 2011)
# F14V - MacBook Air (13-inch, Mid 2011)
# F2JQ - MacBook Air (13-inch, Mid 2011)
# F75Y - MacBook Air (13-inch, Mid 2011)
# F2FV - MacBook Air (13-inch, Mid 2012)
# F56D - MacBook Air (13-inch, Mid 2012)
# F56F - MacBook Air (13-inch, Mid 2012)
# F56H - MacBook Air (13-inch, Mid 2012)
# F56J - MacBook Air (13-inch, Mid 2012)
# F57J - MacBook Air (13-inch, Mid 2012)
# F5MW - MacBook Air (13-inch, Mid 2012)
# F67G - MacBook Air (13-inch, Mid 2012)
# F67H - MacBook Air (13-inch, Mid 2012)
# F67J - MacBook Air (13-inch, Mid 2012)
# F67P - MacBook Air (13-inch, Mid 2012)
# F6TN - MacBook Air (13-inch, Mid 2012)
# F760 - MacBook Air (13-inch, Mid 2012)
# F90Y - MacBook Air (13-inch, Mid 2012)
# F5V7 - MacBook Air (13-inch, Mid 2013)
# F5V8 - MacBook Air (13-inch, Mid 2013)
# FH53 - MacBook Air (13-inch, Mid 2013)
# FKYQ - MacBook Air (13-inch, Mid 2013)
# FKYR - MacBook Air (13-inch, Mid 2013)
# FM23 - MacBook Air (13-inch, Mid 2013)
# FM3Y - MacBook Air (13-inch, Mid 2013)
# FM74 - MacBook Air (13-inch, Mid 2013)
# FMR7 - MacBook Air (13-inch, Mid 2013)
# FMR8 - MacBook Air (13-inch, Mid 2013)
# FMRH - MacBook Air (13-inch, Mid 2013)
# FMRJ - MacBook Air (13-inch, Mid 2013)
# FMRK - MacBook Air (13-inch, Mid 2013)
# FMRL - MacBook Air (13-inch, Mid 2013)
# FMRV - MacBook Air (13-inch, Mid 2013)
# FMRW - MacBook Air (13-inch, Mid 2013)
# FMRY - MacBook Air (13-inch, Mid 2013)
# FN3Y - MacBook Air (13-inch, Mid 2013)
# FN40 - MacBook Air (13-inch, Mid 2013)
# FN7G - MacBook Air (13-inch, Mid 2013)
# FP2P - MacBook Air (13-inch, Mid 2013)
# FQL9 - MacBook Air (13-inch, Mid 2013)
# FQLC - MacBook Air (13-inch, Mid 2013)
# FQLD - MacBook Air (13-inch, Mid 2013)
# FQLF - MacBook Air (13-inch, Mid 2013)
# FVH3 - MacBook Pro (13-inch, Early 2015)
# FVH4 - MacBook Pro (13-inch, Early 2015)
# FVH5 - MacBook Pro (13-inch, Early 2015)
# FVH6 - MacBook Pro (13-inch, Early 2015)
# FVH7 - MacBook Pro (13-inch, Early 2015)
# FVH8 - MacBook Pro (13-inch, Early 2015)
# FVH9 - MacBook Pro (13-inch, Early 2015)
# F298 - MacBook Pro (13-inch, Late 2011)
# F299 - MacBook Pro (13-inch, Late 2011)
# F447 - MacBook Pro (13-inch, Mid 2012)
# F4JL - MacBook Pro (13-inch, Mid 2012)
# F5WV - MacBook Pro (13-inch, Mid 2012)
# F5WW - MacBook Pro (13-inch, Mid 2012)
# F5Y1 - MacBook Pro (13-inch, Mid 2012)
# F5Y3 - MacBook Pro (13-inch, Mid 2012)
# F5Y4 - MacBook Pro (13-inch, Mid 2012)
# F68C - MacBook Pro (13-inch, Mid 2012)
# F68D - MacBook Pro (13-inch, Mid 2012)
# F6LH - MacBook Pro (13-inch, Mid 2012)
# F6LJ - MacBook Pro (13-inch, Mid 2012)
# F6VG - MacBook Pro (13-inch, Mid 2012)
# F7C1 - MacBook Pro (13-inch, Mid 2012)
# F8D5 - MacBook Pro (13-inch, Mid 2012)
# F973 - MacBook Pro (13-inch, Mid 2012)
# F9Q0 - MacBook Pro (13-inch, Mid 2012)
# FCMM - MacBook Pro (13-inch, Mid 2012)
# FWL4 - MacBook Pro (13-inch, Mid 2012)
# FYG9 - MacBook Pro (13-inch, Mid 2012)
# FYGC - MacBook Pro (13-inch, Mid 2012)
# FYGD - MacBook Pro (13-inch, Mid 2012)
# FYGF - MacBook Pro (13-inch, Mid 2012)
# F0K6 - MacBook Pro (15-inch, Late 2011)
# F0V2 - MacBook Pro (15-inch, Late 2011)
# F1G3 - MacBook Pro (15-inch, Mid 2012)
# F1G4 - MacBook Pro (15-inch, Mid 2012)
# F24T - MacBook Pro (15-inch, Mid 2012)
# F2J4 - MacBook Pro (15-inch, Mid 2012)
# F2J5 - MacBook Pro (15-inch, Mid 2012)
# F38R - MacBook Pro (15-inch, Mid 2012)
# F38T - MacBook Pro (15-inch, Mid 2012)
# F5Y5 - MacBook Pro (15-inch, Mid 2012)
# F5Y6 - MacBook Pro (15-inch, Mid 2012)
# F5Y7 - MacBook Pro (15-inch, Mid 2012)
# F5Y8 - MacBook Pro (15-inch, Mid 2012)
# F5Y9 - MacBook Pro (15-inch, Mid 2012)
# F5YC - MacBook Pro (15-inch, Mid 2012)
# F5YD - MacBook Pro (15-inch, Mid 2012)
# F5YF - MacBook Pro (15-inch, Mid 2012)
# F5YG - MacBook Pro (15-inch, Mid 2012)
# F5YH - MacBook Pro (15-inch, Mid 2012)
# F5YJ - MacBook Pro (15-inch, Mid 2012)
# F5YK - MacBook Pro (15-inch, Mid 2012)
# F5YL - MacBook Pro (15-inch, Mid 2012)
# F5YM - MacBook Pro (15-inch, Mid 2012)
# F5YN - MacBook Pro (15-inch, Mid 2012)
# F5YP - MacBook Pro (15-inch, Mid 2012)
# F686 - MacBook Pro (15-inch, Mid 2012)
# F687 - MacBook Pro (15-inch, Mid 2012)
# F761 - MacBook Pro (15-inch, Mid 2012)
# F762 - MacBook Pro (15-inch, Mid 2012)
# F7F5 - MacBook Pro (15-inch, Mid 2012)
# F7F6 - MacBook Pro (15-inch, Mid 2012)
# F8G8 - MacBook Pro (15-inch, Mid 2012)
# F8G9 - MacBook Pro (15-inch, Mid 2012)
# F97M - MacBook Pro (15-inch, Mid 2012)
# F9K9 - MacBook Pro (15-inch, Mid 2012)
# FCQT - MacBook Pro (15-inch, Mid 2012)
# FHP7 - MacBook Pro (15-inch, Mid 2012)
# FL98 - MacBook Pro (15-inch, Mid 2012)
# FLNH - MacBook Pro (15-inch, Mid 2012)
# FLNJ - MacBook Pro (15-inch, Mid 2012)
# FLNK - MacBook Pro (15-inch, Mid 2012)
# FM89 - MacBook Pro (15-inch, Mid 2012)
# FT14 - MacBook Pro (15-inch, Mid 2012)
# F13Y - MacBook Pro (17-inch, Late 2011)
# F140 - MacBook Pro (17-inch, Late 2011)
# FFRP - MacBook Pro (Retina, 13-inch, Early 2013)
# FFRR - MacBook Pro (Retina, 13-inch, Early 2013)
# FG1F - MacBook Pro (Retina, 13-inch, Early 2013)
# FG28 - MacBook Pro (Retina, 13-inch, Early 2013)
# FGM8 - MacBook Pro (Retina, 13-inch, Early 2013)
# FGN5 - MacBook Pro (Retina, 13-inch, Early 2013)
# FGN6 - MacBook Pro (Retina, 13-inch, Early 2013)
# FGPJ - MacBook Pro (Retina, 13-inch, Early 2013)
# FHCH - MacBook Pro (Retina, 13-inch, Early 2013)
# FHN0 - MacBook Pro (Retina, 13-inch, Early 2013)
# F775 - MacBook Pro (Retina, 13-inch, Late 2012)
# F776 - MacBook Pro (Retina, 13-inch, Late 2012)
# F7YF - MacBook Pro (Retina, 13-inch, Late 2012)
# F897 - MacBook Pro (Retina, 13-inch, Late 2012)
# F8V6 - MacBook Pro (Retina, 13-inch, Late 2012)
# F8V7 - MacBook Pro (Retina, 13-inch, Late 2012)
# F8V8 - MacBook Pro (Retina, 13-inch, Late 2012)
# F9JT - MacBook Pro (Retina, 13-inch, Late 2012)
# F9V1 - MacBook Pro (Retina, 13-inch, Late 2012)
# F9VQ - MacBook Pro (Retina, 13-inch, Late 2012)
# FG7Q - MacBook Pro (Retina, 13-inch, Late 2012)
# FG7R - MacBook Pro (Retina, 13-inch, Late 2012)
# FL85 - MacBook Pro (Retina, 13-inch, Late 2012)
# FMLJ - MacBook Pro (Retina, 13-inch, Late 2012)
# FGYY - MacBook Pro (Retina, 13-inch, Late 2013)
# FH00 - MacBook Pro (Retina, 13-inch, Late 2013)
# FH01 - MacBook Pro (Retina, 13-inch, Late 2013)
# FH02 - MacBook Pro (Retina, 13-inch, Late 2013)
# FH03 - MacBook Pro (Retina, 13-inch, Late 2013)
# FH04 - MacBook Pro (Retina, 13-inch, Late 2013)
# FH05 - MacBook Pro (Retina, 13-inch, Late 2013)
# FRF6 - MacBook Pro (Retina, 13-inch, Late 2013)
# FRF7 - MacBook Pro (Retina, 13-inch, Late 2013)
# FRQF - MacBook Pro (Retina, 13-inch, Late 2013)
# FT4Q - MacBook Pro (Retina, 13-inch, Late 2013)
# FT4R - MacBook Pro (Retina, 13-inch, Late 2013)
# FT4T - MacBook Pro (Retina, 13-inch, Late 2013)
# FT4V - MacBook Pro (Retina, 13-inch, Late 2013)
# FTC9 - MacBook Pro (Retina, 13-inch, Late 2013)
# FTCD - MacBook Pro (Retina, 13-inch, Late 2013)
# FTCH - MacBook Pro (Retina, 13-inch, Late 2013)
# FTCK - MacBook Pro (Retina, 13-inch, Late 2013)
# FTCL - MacBook Pro (Retina, 13-inch, Late 2013)
# FTPH - MacBook Pro (Retina, 13-inch, Late 2013)
# FTPJ - MacBook Pro (Retina, 13-inch, Late 2013)
# FTPK - MacBook Pro (Retina, 13-inch, Late 2013)
# FTT4 - MacBook Pro (Retina, 13-inch, Late 2013)
# FVVW - MacBook Pro (Retina, 13-inch, Late 2013)
# FVWQ - MacBook Pro (Retina, 13-inch, Late 2013)
# FWKF - MacBook Pro (Retina, 13-inch, Late 2013)
# FFT0 - MacBook Pro (Retina, 15-inch, Early 2013)
# FFT1 - MacBook Pro (Retina, 15-inch, Early 2013)
# FFT2 - MacBook Pro (Retina, 15-inch, Early 2013)
# FFT3 - MacBook Pro (Retina, 15-inch, Early 2013)
# FFT4 - MacBook Pro (Retina, 15-inch, Early 2013)
# FG1H - MacBook Pro (Retina, 15-inch, Early 2013)
# FG1J - MacBook Pro (Retina, 15-inch, Early 2013)
# FGFH - MacBook Pro (Retina, 15-inch, Early 2013)
# FGFJ - MacBook Pro (Retina, 15-inch, Early 2013)
# FGFK - MacBook Pro (Retina, 15-inch, Early 2013)
# FGFL - MacBook Pro (Retina, 15-inch, Early 2013)
# FGN7 - MacBook Pro (Retina, 15-inch, Early 2013)
# FGWF - MacBook Pro (Retina, 15-inch, Early 2013)
# FGWG - MacBook Pro (Retina, 15-inch, Early 2013)
# FGWH - MacBook Pro (Retina, 15-inch, Early 2013)
# FHCQ - MacBook Pro (Retina, 15-inch, Early 2013)
# FHCR - MacBook Pro (Retina, 15-inch, Early 2013)
# FJ47 - MacBook Pro (Retina, 15-inch, Early 2013)
# FJVJ - MacBook Pro (Retina, 15-inch, Early 2013)
# FL94 - MacBook Pro (Retina, 15-inch, Early 2013)
# FR8D - MacBook Pro (Retina, 15-inch, Early 2013)
# FD56 - MacBook Pro (Retina, 15-inch, Late 2013)
# FD57 - MacBook Pro (Retina, 15-inch, Late 2013)
# FD58 - MacBook Pro (Retina, 15-inch, Late 2013)
# FD59 - MacBook Pro (Retina, 15-inch, Late 2013)
# FR1M - MacBook Pro (Retina, 15-inch, Late 2013)
# FRDM - MacBook Pro (Retina, 15-inch, Late 2013)
# FRG2 - MacBook Pro (Retina, 15-inch, Late 2013)
# FRG3 - MacBook Pro (Retina, 15-inch, Late 2013)
# FRQH - MacBook Pro (Retina, 15-inch, Late 2013)
# FRQJ - MacBook Pro (Retina, 15-inch, Late 2013)
# FRQK - MacBook Pro (Retina, 15-inch, Late 2013)
# FRQL - MacBook Pro (Retina, 15-inch, Late 2013)
# FT4P - MacBook Pro (Retina, 15-inch, Late 2013)
# FTK0 - MacBook Pro (Retina, 15-inch, Late 2013)
# FTK1 - MacBook Pro (Retina, 15-inch, Late 2013)
# FTPL - MacBook Pro (Retina, 15-inch, Late 2013)
# FTPM - MacBook Pro (Retina, 15-inch, Late 2013)
# FTPN - MacBook Pro (Retina, 15-inch, Late 2013)
# FTPP - MacBook Pro (Retina, 15-inch, Late 2013)
# FTPQ - MacBook Pro (Retina, 15-inch, Late 2013)
# FTPR - MacBook Pro (Retina, 15-inch, Late 2013)
# FTPT - MacBook Pro (Retina, 15-inch, Late 2013)
# FTPV - MacBook Pro (Retina, 15-inch, Late 2013)
# FTPW - MacBook Pro (Retina, 15-inch, Late 2013)
# FTPY - MacBook Pro (Retina, 15-inch, Late 2013)
# FTTJ - MacBook Pro (Retina, 15-inch, Late 2013)
# FVN4 - MacBook Pro (Retina, 15-inch, Late 2013)
# FVYN - MacBook Pro (Retina, 15-inch, Late 2013)
# FWFY - MacBook Pro (Retina, 15-inch, Late 2013)
# FWHW - MacBook Pro (Retina, 15-inch, Late 2013)
# FWKK - MacBook Pro (Retina, 15-inch, Late 2013)
# FWKL - MacBook Pro (Retina, 15-inch, Late 2013)
# F51R - MacBook Pro (Retina, Mid 2012)
# F5Y2 - MacBook Pro (Retina, Mid 2012)
# F69W - MacBook Pro (Retina, Mid 2012)
# F69Y - MacBook Pro (Retina, Mid 2012)
# F6DN - MacBook Pro (Retina, Mid 2012)
# F6F3 - MacBook Pro (Retina, Mid 2012)
# F6L9 - MacBook Pro (Retina, Mid 2012)
# F8JY - MacBook Pro (Retina, Mid 2012)
# F96W - MacBook Pro (Retina, Mid 2012)
# F9F1 - MacBook Pro (Retina, Mid 2012)
# F9F2 - MacBook Pro (Retina, Mid 2012)
# FCQ3 - MacBook Pro (Retina, Mid 2012)
# FYYG -i

### Tiver 10.4.11
# cpuid.inhibitDarwinMasks = "TRUE"
# monitor_control.enable_fullcpuid = "TRUE"
# cpuid.0.eax = "0000:0000:0000:0000:0000:0000:0000:1010"
# cpuid.0.ebx = "0111:0101:0110:1110:0110:0101:0100:0111"
# cpuid.0.ecx = "0110:1100:0110:0101:0111:0100:0110:1110"
# cpuid.0.edx = "0100:1001:0110:0101:0110:1110:0110:1001"
# cpuid.1.eax = "0000:0000:0000:0000:0000:0110:1111:0110"
# cpuid.1.ebx = "0000:0001:0000:0010:0000:1000:0000:0000"
# cpuid.1.ecx = "0000:0000:0000:0000:1110:0011:1011:1101"
# cpuid.1.edx = "1011:1111:1110:1011:1111:1011:1111:1111"
# cpuid.2.eax = "0000:0101:1011:0000:1011:0001:0000:0001"
# cpuid.2.ebx = "0000:0000:0101:0110:0101:0111:1111:0000"
# cpuid.2.ecx = "0000:0000:0000:0000:0000:0000:0000:0000"
# cpuid.2.edx = "0010:1100:1011:0100:0011:0000:0100:1001"
# cpuid.3.eax = "0000:0000:0000:0000:0000:0000:0000:0000"
# cpuid.3.ebx = "0000:0000:0000:0000:0000:0000:0000:0000"
# cpuid.3.ecx = "0000:0000:0000:0000:0000:0000:0000:0000"
# cpuid.3.edx = "0000:0000:0000:0000:0000:0000:0000:0000"
# cpuid.4.0.eax = "0000:0100:0000:0000:0000:0001:0010:0001"
# cpuid.4.0.ebx = "0000:0001:1100:0000:0000:0000:0011:1111"
# cpuid.4.0.ecx = "0000:0000:0000:0000:0000:0000:0011:1111"
# cpuid.4.0.edx = "0000:0000:0000:0000:0000:0000:0000:0001"
# cpuid.4.1.eax = "0000:0100:0000:0000:0000:0001:0010:0010"
# cpuid.4.1.ebx = "0000:0001:1100:0000:0000:0000:0011:1111"
# cpuid.4.1.ecx = "0000:0000:0000:0000:0000:0000:0011:1111"
# cpuid.4.1.edx = "0000:0000:0000:0000:0000:0000:0000:0001"
# cpuid.4.2.eax = "0000:0100:0000:0000:0100:0001:0100:0011"
# cpuid.4.2.ebx = "0000:0011:1100:0000:0000:0000:0011:1111"
# cpuid.4.2.ecx = "0000:0000:0000:0000:0000:1111:1111:1111"
# cpuid.4.2.edx = "0000:0000:0000:0000:0000:0000:0000:0001"
# cpuid.4.3.eax = "0000:0000:0000:0000:0000:0000:0000:0000"
# cpuid.4.3.ebx = "0000:0000:0000:0000:0000:0000:0000:0000"
# cpuid.4.3.ecx = "0000:0000:0000:0000:0000:0000:0000:0000"
# cpuid.4.3.edx = "0000:0000:0000:0000:0000:0000:0000:0000"
# cpuid.5.eax = "0000:0000:0000:0000:0000:0000:0100:0000"
# cpuid.5.ebx = "0000:0000:0000:0000:0000:0000:0100:0000"
# cpuid.5.ecx = "0000:0000:0000:0000:0000:0000:0000:0011"
# cpuid.5.edx = "0000:0000:0000:0010:0010:0010:0010:0000"
# cpuid.6.eax = "0000:0000:0000:0000:0000:0000:0000:0001"
# cpuid.6.ebx = "0000:0000:0000:0000:0000:0000:0000:0010"
# cpuid.6.ecx = "0000:0000:0000:0000:0000:0000:0000:0001"
# cpuid.6.edx = "0000:0000:0000:0000:0000:0000:0000:0000"
# cpuid.7.0.eax = "0000:0000:0000:0000:0000:0000:0000:0000"
# cpuid.7.0.ebx = "0000:0000:0000:0000:0000:0000:0000:0000"
# cpuid.7.0.ecx = "0000:0000:0000:0000:0000:0000:0000:0000"
# cpuid.7.0.edx = "0000:0000:0000:0000:0000:0000:0000:0000"
# cpuid.8.eax = "0000:0000:0000:0000:0000:0100:0000:0000"
# cpuid.8.ebx = "0000:0000:0000:0000:0000:0000:0000:0000"
# cpuid.8.ecx = "0000:0000:0000:0000:0000:0000:0000:0000"
# cpuid.8.edx = "0000:0000:0000:0000:0000:0000:0000:0000"
# cpuid.9.eax = "0000:0000:0000:0000:0000:0000:0000:0000"
# cpuid.9.ebx = "0000:0000:0000:0000:0000:0000:0000:0000"
# cpuid.9.ecx = "0000:0000:0000:0000:0000:0000:0000:0000"
# cpuid.9.edx = "0000:0000:0000:0000:0000:0000:0000:0000"
# cpuid.a.eax = "0000:0111:0010:1000:0000:0010:0000:0010"
# cpuid.a.ebx = "0000:0000:0000:0000:0000:0000:0000:0000"
# cpuid.a.ecx = "0000:0000:0000:0000:0000:0000:0000:0000"
# cpuid.a.edx = "0000:0000:0000:0000:0000:0000:0000:0000"
# cpuid.80000000.eax = "1000:0000:0000:0000:0000:0000:0000:1000"
# cpuid.80000000.ebx = "0000:0000:0000:0000:0000:0000:0000:0000"
# cpuid.80000000.ecx = "0000:0000:0000:0000:0000:0000:0000:0000"
# cpuid.80000000.edx = "0000:0000:0000:0000:0000:0000:0000:0000"
# cpuid.80000001.eax = "0000:0000:0000:0000:0000:0000:0000:0000"
# cpuid.80000001.ebx = "0000:0000:0000:0000:0000:0000:0000:0000"
# cpuid.80000001.ecx = "0000:0000:0000:0000:0000:0000:0000:0001"
# cpuid.80000001.edx = "0010:0000:0001:0000:0000:1000:0000:0000"
# cpuid.80000002.eax = "0110:0101:0111:0100:0110:1110:0100:1001"
# cpuid.80000002.ebx = "0010:1001:0101:0010:0010:1000:0110:1100"
# cpuid.80000002.ecx = "0111:0010:0110:1111:0100:0011:0010:0000"
# cpuid.80000002.edx = "0100:1101:0101:0100:0010:1000:0110:0101"
# cpuid.80000003.eax = "0100:0011:0010:0000:0011:0010:0010:1001"
# cpuid.80000003.ebx = "0010:0000:0010:0000:0101:0101:0101:0000"
# cpuid.80000003.ecx = "0010:0000:0010:0000:0010:0000:0010:0000"
# cpuid.80000003.edx = "0101:0100:0010:0000:0010:0000:0010:0000"
# cpuid.80000004.eax = "0011:0000:0011:0000:0011:0110:0011:0111"
# cpuid.80000004.ebx = "0010:0000:0100:0000:0010:0000:0010:0000"
# cpuid.80000004.ecx = "0011:0011:0011:0011:0010:1110:0011:0010"
# cpuid.80000004.edx = "0000:0000:0111:1010:0100:1000:0100:0111"
# cpuid.80000005.eax = "0000:0000:0000:0000:0000:0000:0000:0000"
# cpuid.80000005.ebx = "0000:0000:0000:0000:0000:0000:0000:0000"
# cpuid.80000005.ecx = "0000:0000:0000:0000:0000:0000:0000:0000"
# cpuid.80000005.edx = "0000:0000:0000:0000:0000:0000:0000:0000"
# cpuid.80000006.eax = "0000:0000:0000:0000:0000:0000:0000:0000"
# cpuid.80000006.ebx = "0000:0000:0000:0000:0000:0000:0000:0000"
# cpuid.80000006.ecx = "0001:0000:0000:0000:1000:0000:0100:0000"
# cpuid.80000006.edx = "0000:0000:0000:0000:0000:0000:0000:0000"
# cpuid.80000007.eax = "0000:0000:0000:0000:0000:0000:0000:0000"
# cpuid.80000007.ebx = "0000:0000:0000:0000:0000:0000:0000:0000"
# cpuid.80000007.ecx = "0000:0000:0000:0000:0000:0000:0000:0000"
# cpuid.80000007.edx = "0000:0000:0000:0000:0000:0000:0000:0000"

Comments

Popular posts from this blog

Movie - Bastille Day | The Take (2016)

  My views Plot On the eve of  Bastille Day  in  Paris , American drifter and  pickpocket  Michael Mason steals a woman's handbag, not knowing that it contains  explosives . After taking the cash from the bag, he discards it, caught unwittingly on  CCTV  as he does so. The bag then detonates and kills four people. Upon being captured by  CIA  agent Sean Briar, who is being reprimanded for irresponsible conduct on the job, Mason protests that he is not a  terrorist  and tells Briar that the bag contained a cellphone owned by a woman named Zoé. The bomb was set up by a group of  corrupt policemen , all of them members in the  French special police RAPID unit  led by Rafi Bertrand, who intend to pull a robbery at the  Bank of France . Zoé was told to plant the bomb at the office of the  French Nationalist Party  (as part of a diversion for the heist), but after seeing the night cleaning crew arri...

Movie - Se7en (1995)

  My views Plot In an unnamed city overcome with violent crime and corruption, disillusioned police Detective Lieutenant William Somerset is one week from retirement. He is partnered with David Mills, a young, short-tempered, idealistic detective who recently relocated to the city with his wife, Tracy. On Monday, Somerset and Mills investigate an obese man who was forced to eat until his stomach burst, killing him. The detectives find the word " gluttony " written on a wall. Somerset, considering the case too extreme for his last investigation, asks to be reassigned, but his request is denied. The following day, another victim, who had been forced to cut one pound (0.45 kg) of flesh from his body, is found; the crime scene is marked " greed ." Clues at the scene lead Somerset and Mills to the  sloth  victim, a drug-dealing  pederast  whom they find emaciated and restrained to a bed. Photographs reveal the victim was restrained for precisely one year. Somers...

Movie - The Gray Man (2022)

  My views Plot In 2003, senior  CIA  official Donald Fitzroy visits a prisoner named Courtland Gentry in Florida. Eight years earlier, Courtland was a minor convicted of killing his abusive father to protect his brother. Fitzroy offers him his freedom in exchange for working as an assassin in the CIA's  Sierra  program, an elite black ops unit, which will allow him to exist in the gray. In 2021, Courtland, now known as  Sierra Six , is working with fellow CIA agent Dani Miranda to assassinate a target named Dining Car suspected of selling off  national security  secrets in  Bangkok  during the national  Songkran  festival. Unable to do so stealthily without harming civilians, he attacks Dining Car directly, mortally wounding him. Before dying, he reveals he was also in the Sierra program as Sierra Four. He hands Six an encrypted drive detailing the corruption of CIA official Denny Carmichael, the lead agent on the assassinatio...