The OS X releases come only via App Store as an app package but sometimes there is need for a way to transform this into an iso image.
So without further writing, I present you two ways to do so.
1. Download the installer app from App Store or if not available there, use gibMacOS.
It is easy to use, via terminal of course. You clone it, run it and do your thing.
fmbp16:gibMacOS florian$ ./gibMacOS.command ####################################################### # Downloading Catalog # ####################################################### Currently downloading publicrelease catalog from https://swscan.apple.com/content/catalogs/others/index-10.15-10.14-10.13-10.12-10.11-10.10-10.9-mountainlion-lion-snowleopard-leopard.merged-1.sucatalog Downloaded 6.82 MB of 6.82 MB (100.00%) ####################################################### # gibMacOS # ####################################################### Available Products: 1. macOS Big Sur 11.0.1 (20B29) - 001-79699 - Added 2020-11-12 18:00:08 - 12.19 GB 2. macOS Catalina 10.15.7 (19H15) - 001-68446 - Added 2020-11-11 17:48:09 - 8.75 GB 3. macOS Catalina 10.15.7 (19H4) - 001-57224 - Added 2020-10-27 17:28:13 - 8.75 GB 4. macOS Catalina 10.15.7 (19H2) - 001-51042 - Added 2020-09-24 17:09:31 - 8.75 GB 5. macOS Catalina 10.15.6 (19G2021) - 001-36801 - Added 2020-08-12 20:04:02 - 8.75 GB 6. macOS Catalina 10.15.6 (19G2006) - 001-36735 - Added 2020-08-06 23:39:24 - 8.75 GB 7. macOS Catalina 10.15.5 (19F2200) - 001-15219 - Added 2020-06-15 18:52:41 - 8.74 GB 8. macOS Catalina 10.15.4 (19E2269) - 001-04366 - Added 2020-05-04 15:32:04 - 8.75 GB 9. macOS Catalina 10.15.3 (19D2064) - 061-86291 - Added 2020-03-23 21:41:00 - 8.69 GB 10. macOS Mojave 10.14.4 (18E2034) - 041-88800 - Added 2019-10-23 14:41:18 - 6.53 GB 11. Install macOS High Sierra Beta 10.13.5 (17F66a) - 041-90855 - Added 2019-10-23 14:41:18 - 5.69 GB 12. macOS High Sierra 10.13.6 (17G66) - 041-91758 - Added 2019-10-19 18:19:55 - 5.71 GB 13. macOS Mojave 10.14.6 (18G103) - 061-26589 - Added 2019-10-14 20:51:08 - 6.52 GB 14. macOS Mojave 10.14.5 (18F2059) - 061-26578 - Added 2019-10-14 20:38:26 - 6.52 GB M. Change Max-OS Version (Currently 10.15) C. Change Catalog (Currently publicrelease) I. Only Print URLs (Currently False) S. Set Current Catalog to SoftwareUpdate Catalog L. Clear SoftwareUpdate Catalog R. Toggle Recovery-Only (Currently Off) U. Show Catalog URL Q. Quit Please select an option:
Browse to the gibMacOS Folder.
Go to gibMacOS/macOS Downloads/
Open the Big Sur Folder
Open InstallAssistant.pkg
Continue the On-Screen Steps.
Check for Applications Folder, The Installation App will be there.
So, what I did above is one way to get some OSX install apps if they are not available on App Store. However, what follows is an example with a package that was already on the system, it is El Capitan. What I want to say here is: you can use whatever method to get the macos installation app. What follows is not depending of gibMacOS.
2. Install the iesd package from gem:
eeny:~ osx$ sudo gem install iesd Password: Fetching: iesd-1.2.2.gem (100%) Successfully installed iesd-1.2.2 Parsing documentation for iesd-1.2.2 Installing ri documentation for iesd-1.2.2 1 gem installed
3. Extract and convert the installation dmg from the app into a dmg file:
eeny:iso osx$ iesd -i Install\ OS\ X\ El\ Capitan.app -o elcapitan.dmg -t BaseSystem ==> Mounting /Volumes/stuff/kit/iso/Install OS X El Capitan.app/Contents/SharedSupport/InstallESD.dmg Mounted: /var/folders/x0/r5mgbqyn2y1128xvypgl46wm0000gp/T/d20160917-86405-c3wghx ==> Mounting /var/folders/x0/r5mgbqyn2y1128xvypgl46wm0000gp/T/d20160917-86405-c3wghx/BaseSystem.dmg Mounted: /var/folders/x0/r5mgbqyn2y1128xvypgl46wm0000gp/T/d20160917-86405-1x9wnj2/d20160917-86405-qaqnxr ==> Copying /var/folders/x0/r5mgbqyn2y1128xvypgl46wm0000gp/T/d20160917-86405-c3wghx/BaseSystem.dmg Copied: /var/folders/x0/r5mgbqyn2y1128xvypgl46wm0000gp/T/d20160917-86405-1x9wnj2/d20160917-86405-qaqnxr/BaseSystem.dmg ==> Copying /var/folders/x0/r5mgbqyn2y1128xvypgl46wm0000gp/T/d20160917-86405-c3wghx/BaseSystem.chunklist Copied: /var/folders/x0/r5mgbqyn2y1128xvypgl46wm0000gp/T/d20160917-86405-1x9wnj2/d20160917-86405-qaqnxr/BaseSystem.chunklist ==> Copying /var/folders/x0/r5mgbqyn2y1128xvypgl46wm0000gp/T/d20160917-86405-c3wghx/Packages Copied: /var/folders/x0/r5mgbqyn2y1128xvypgl46wm0000gp/T/d20160917-86405-1x9wnj2/d20160917-86405-qaqnxr/System/Installation/Packages ==> Unmounting /var/folders/x0/r5mgbqyn2y1128xvypgl46wm0000gp/T/d20160917-86405-c3wghx/BaseSystem.dmg Unmounted: /var/folders/x0/r5mgbqyn2y1128xvypgl46wm0000gp/T/d20160917-86405-1x9wnj2/d20160917-86405-qaqnxr ==> Merging /var/folders/x0/r5mgbqyn2y1128xvypgl46wm0000gp/T/d20160917-86405-1x9wnj2/BaseSystem.dmg.shadow Merged: /var/folders/x0/r5mgbqyn2y1128xvypgl46wm0000gp/T/d20160917-86405-16qa2gj/BaseSystem.dmg ==> Unmounting /Volumes/stuff/kit/iso/Install OS X El Capitan.app/Contents/SharedSupport/InstallESD.dmg Unmounted: /var/folders/x0/r5mgbqyn2y1128xvypgl46wm0000gp/T/d20160917-86405-c3wghx /Volumes/stuff/kit/iso/elcapitan.dmg
4. Convert the newly created dmg into sparseimage, to be customised on the next steps:
eeny:iso osx$ hdiutil convert elcapitan.dmg -format UDSP -o elcapitan.sparseimage Reading Protective Master Boot Record (MBR : 0)… Reading GPT Header (Primary GPT Header : 1)… Reading GPT Partition Data (Primary GPT Table : 2)… Reading (Apple_Free : 3)… Reading disk image (Apple_HFS : 4)… .............................................................................................................................................................................. Reading (Apple_Free : 5)… Reading GPT Partition Data (Backup GPT Table : 6)… .............................................................................................................................................................................. Reading GPT Header (Backup GPT Header : 7)… ............................................................................................................................................................................... Elapsed Time: 5m 19.237s Speed: 22.9Mbytes/sec Savings: 14.6% created: /Volumes/stuff/kit/iso/elcapitan.sparseimage
5. Mount the sparseimage and the original dmg file and copy the system files into the sparseimage. Unmount them afterwards:
eeny:iso osx$ hdiutil mount Install\ OS\ X\ El\ Capitan.app/Contents/SharedSupport/InstallESD.dmg Checksumming Protective Master Boot Record (MBR : 0)… Protective Master Boot Record (MBR :: verified CRC32 $4C067D6E Checksumming GPT Header (Primary GPT Header : 1)… GPT Header (Primary GPT Header : 1): verified CRC32 $6C785BBD Checksumming GPT Partition Data (Primary GPT Table : 2)… GPT Partition Data (Primary GPT Tabl: verified CRC32 $28B7052B Checksumming (Apple_Free : 3)… (Apple_Free : 3): verified CRC32 $00000000 Checksumming EFI System Partition (C12A7328-F81F-11D2-BA4B-00A0C93EC93B : 4)… ..... EFI System Partition (C12A7328-F81F-: verified CRC32 $B54B659C Checksumming disk image (Apple_HFS : 5)… .......................................................................................................................................................................... disk image (Apple_HFS : 5): verified CRC32 $212193FB Checksumming (Apple_Free : 6)… .............................................................................................................................................................................. (Apple_Free : 6): verified CRC32 $00000000 Checksumming GPT Partition Data (Backup GPT Table : 7)… GPT Partition Data (Backup GPT Table: verified CRC32 $28B7052B Checksumming GPT Header (Backup GPT Header : 8)… GPT Header (Backup GPT Header : 8): verified CRC32 $A566262B verified CRC32 $7B0D9EC5 /dev/disk9 GUID_partition_scheme /dev/disk9s1 EFI /dev/disk9s2 Apple_HFS /Volumes/OS X Install ESD
eeny:iso osx$ hdiutil mount elcapitan.sparseimage /dev/disk10 GUID_partition_scheme /dev/disk10s1 Apple_HFS /Volumes/OS X Base System
eeny:iso osx$ rm -rf /Volumes/OS\ X\ Base\ System/System/Installation/Packages eeny:iso osx$ cp -rp /Volumes/OS\ X\ Install\ ESD/Packages /Volumes/OS\ X\ Base\ System/System/Installation eeny:iso osx$ cp -rp /Volumes/OS\ X\ Install\ ESD/BaseSystem.chunklist /Volumes/OS\ X\ Base\ System/ eeny:iso osx$ cp -rp /Volumes/OS\ X\ Install\ ESD/BaseSystem.dmg /Volumes/OS\ X\ Base\ System/
eeny:iso osx$ hdiutil detach /dev/disk10 "disk10" unmounted. "disk10" ejected. eeny:iso osx$ hdiutil detach /dev/disk9 "disk9" unmounted. "disk9" ejected.
6. Remove the old dmg file, and convert the sparseimage to DMG file:
eeny:iso osx$ rm elcapitan.dmg eeny:iso osx$ hdiutil convert elcapitan.sparseimage -format UDZO -o elcapitan.dmg Preparing imaging engine… Reading Protective Master Boot Record (MBR : 0)… (CRC32 $8ABD6A37: Protective Master Boot Record (MBR : 0)) Reading GPT Header (Primary GPT Header : 1)… (CRC32 $A51CFB2A: GPT Header (Primary GPT Header : 1)) Reading GPT Partition Data (Primary GPT Table : 2)… (CRC32 $64FF28F2: GPT Partition Data (Primary GPT Table : 2)) Reading (Apple_Free : 3)… (CRC32 $00000000: (Apple_Free : 3)) Reading disk image (Apple_HFS : 4)… ............................................................................................................................................................................ (CRC32 $7FC7EAA0: disk image (Apple_HFS : 4)) Reading (Apple_Free : 5)… .............................................................................................................................................................................. (CRC32 $00000000: (Apple_Free : 5)) Reading GPT Partition Data (Backup GPT Table : 6)… ............................................................................................................................................................................... (CRC32 $64FF28F2: GPT Partition Data (Backup GPT Table : 6)) Reading GPT Header (Backup GPT Header : 7)… ............................................................................................................................................................................... (CRC32 $DAF1AFC4: GPT Header (Backup GPT Header : 7)) Adding resources… ............................................................................................................................................................................... Elapsed Time: 5m 11.110s File size: 6716560939 bytes, Checksum: CRC32 $5A7EC524 Sectors processed: 17508712, 14955572 compressed Speed: 23.5Mbytes/sec Savings: 25.1% created: /Volumes/stuff/kit/iso/elcapitan.dmg
If you are unable to boot from it, convert it to iso:
eeny:iso osx$ hdiutil convert elcapitan.dmg -format UDTO -o elcapitan.iso Reading Protective Master Boot Record (MBR : 0)… Reading GPT Header (Primary GPT Header : 1)… Reading GPT Partition Data (Primary GPT Table : 2)… Reading (Apple_Free : 3)… Reading disk image (Apple_HFS : 4)… ............................................................................................................................................................................ Reading (Apple_Free : 5)… Reading GPT Partition Data (Backup GPT Table : 6)… ............................................................................................................................................................................ Reading GPT Header (Backup GPT Header : 7)… ............................................................................................................................................................................ Elapsed Time: 5m 2.254s Speed: 28.3Mbytes/sec Savings: 0.0% created: /Volumes/stuff/kit/iso/elcapitan.iso.cdr eeny:iso osx$ mv elcapitan.iso.cdr elcapitan.iso
There is also an alternative way, with the help of asr command:
eeny:iso osx$ hdiutil attach "Install OS X El Capitan.app/Contents/SharedSupport/InstallESD.dmg" -noverify -nobrowse -mountpoint /Volumes/esd /dev/disk8 GUID_partition_scheme /dev/disk8s1 EFI /dev/disk8s2 Apple_HFS /Volumes/esd
eeny:iso osx$ hdiutil create -o elcapitan.cdr -size 7316m -layout SPUD -fs HFS+J .............................................................................................................................................................................. created: /Volumes/stuff/kit/iso/elcapitan.cdr.dmg
eeny:iso osx$ hdiutil attach elcapitan.cdr.dmg -noverify -nobrowse -mountpoint /Volumes/iso /dev/disk9 Apple_partition_scheme /dev/disk9s1 Apple_partition_map /dev/disk9s2 Apple_HFS /Volumes/iso
eeny:iso osx$ asr restore -source /Volumes/esd/BaseSystem.dmg -target /Volumes/iso -noprompt -noverify -erase Validating target...done Validating source...done Retrieving scan information...done Validating sizes...done Restoring ....10....20....30....40....50....60....70....80....90....100 Remounting target volume...done
eeny:iso osx$ rm /Volumes/OS\ X\ Base\ System/System/Installation/Packages eeny:iso osx$ cp -rp /Volumes/esd/Packages /Volumes/OS\ X\ Base\ System/System/Installation eeny:iso osx$ cp -rp /Volumes/esd/BaseSystem.chunklist /Volumes/OS\ X\ Base\ System/ eeny:iso osx$ cp -rp /Volumes/esd/BaseSystem.dmg /Volumes/OS\ X\ Base\ System/
eeny:iso osx$ hdiutil detach /Volumes/esd "disk8" unmounted. "disk8" ejected.
eeny:iso osx$ hdiutil detach /Volumes/OS\ X\ Base\ System "disk9" unmounted. "disk9" ejected.
eeny:iso osx$ hdiutil convert elcapitan.cdr.dmg -format UDTO -o elcapitan.iso Reading Driver Descriptor Map (DDM : 0)… Reading Apple (Apple_partition_map : 1)… Reading disk image (Apple_HFS : 2)… ............................................................................................................................................................................... Elapsed Time: 8m 8.119s Speed: 15.0Mbytes/sec Savings: 0.0% created: /Volumes/stuff/kit/iso/elcapitan.iso.cdr
eeny:iso osx$ mv elcapitan.iso.cdr elcapitan.iso eeny:iso osx$ ls -la elcapitan.iso -rw-r--r--+ 1 osx admin 7671382016 Sep 17 18:51 elcapitan.iso