Skip to content

Instantly share code, notes, and snippets.

@julianxhokaxhiu
Last active October 17, 2024 08:46
Show Gist options
  • Select an option

  • Save julianxhokaxhiu/d8c4a986ddb1cfc87e19a50eb238217f to your computer and use it in GitHub Desktop.

Select an option

Save julianxhokaxhiu/d8c4a986ddb1cfc87e19a50eb238217f to your computer and use it in GitHub Desktop.
Simple bash script to create a Bootable ISO from macOS Catalina Install Image from Mac App Store
#!/usr/bin/env bash
#===========================================================================
# Works only with the official image available in the Mac App Store.
# Make sure you download the official installer before running this script.
#===========================================================================
hdiutil create -o /tmp/Catalina.cdr -size 9000m -layout SPUD -fs HFS+J
hdiutil attach /tmp/Catalina.cdr.dmg -noverify -mountpoint /Volumes/install_build
sudo /Applications/Install\ macOS\ Catalina.app/Contents/Resources/createinstallmedia --volume /Volumes/install_build --nointeraction
hdiutil detach "/Volumes/Install macOS Catalina"
hdiutil convert /tmp/Catalina.cdr.dmg -format UDTO -o /tmp/Catalina.iso
mv /tmp/Catalina.iso.cdr ~/Desktop/Catalina.iso
rm /tmp/Catalina.cdr.dmg
@kepi

kepi commented Apr 23, 2020

Copy link
Copy Markdown

Current Catalina requires more space. I had to change -size 8000m to -size 10000m.

@julianxhokaxhiu

Copy link
Copy Markdown
Author

Thanks for the report, it worked on my side though, but I tested with the very first release. Updated the script :)

@LogicalChaos

Copy link
Copy Markdown

I tried it with 10.15.4, had to increase it again, I used --size 12000m and it worked. Thanks for the gist.

@julianxhokaxhiu

Copy link
Copy Markdown
Author

Updated again, thanks for the feedback :) Glad it was useful. Cheers!

@panicsteve

Copy link
Copy Markdown

First attempt with 10.15.5 failed:

% sudo /Applications/Install\ macOS\ Catalina.app/Contents/Resources/createinstallmedia  --volume /Volumes/install_build --nointeraction
Password:
Erasing disk: 0%... 10%...
Error erasing disk error number (22, 0)
An error occurred erasing the disk.

I increased the -size arbitrarily to 16000m and it worked. Not sure if that was the actual problem, just passing along the anecdote. :)

@julianxhokaxhiu

Copy link
Copy Markdown
Author

@panicsteve thanks! I did use this very same script recently to make an ISO and it worked just fine. Could be the issue is somewhere else. But thanks for letting us know!

@franciscoernestoteixeira

Copy link
Copy Markdown

Needed run as root:

$ chown +x create-iso.sh
$ sudo ./create-iso.sh

@julianxhokaxhiu

Copy link
Copy Markdown
Author

Updated the script again to 9000m ( ~9GB ) as it's enough to accomodate 10.15.6

ghost commented Aug 14, 2020

Copy link
Copy Markdown

9000m didn't work for me. I made it 12000m and it worked.

@kaelef

kaelef commented Aug 18, 2020

Copy link
Copy Markdown

FYI: I just tried and got the error message when using 9000m for the size. 9200m worked, though.

@sebastianherman

sebastianherman commented Sep 16, 2020

Copy link
Copy Markdown

I had to use 20000m for it to work

@julianxhokaxhiu

Copy link
Copy Markdown
Author

I'm honestly surprised to see how everyone of us is using a different value. Could it be Apple is shipping the ISO image differently based on the HW where you download it? I do my tests inside of a VM.

What about you?

@kaelef

kaelef commented Sep 16, 2020

Copy link
Copy Markdown

I don't know that people are trying small increments. Certainly a very large value will get things to work immediately without having to make multiple attempts. (My test was also in a VM.)

@sebastianherman

Copy link
Copy Markdown

@julianxhokaxhiu I downloaded it on a late 2013 rMBP with 16GB RAM - no idea why this would impact the size.

@kaelef can't speak for others but generally i want an image as small as possible when storing it for later usage

@julianxhokaxhiu

Copy link
Copy Markdown
Author

can't speak for others but generally i want an image as small as possible when storing it for later usage

I do aim for the same. This is why I lowered the size back down again when I saw that 9000m was fitting. But maybe today is no more because of security patches and such. So 9200m sound plausible to me.

@Underdoge

Copy link
Copy Markdown

Tested it with the Big Sur installer from Apple, making the obvious naming and sizing adjustments (12700m worked for me) and it also works fine, thank you.

@julianxhokaxhiu

julianxhokaxhiu commented Nov 17, 2020

Copy link
Copy Markdown
Author

I've created the relative script for Big Sur and you can find it if you're interested: https://gist.github.com/julianxhokaxhiu/286017b9872474d2c9b9fa090f6802bf

Glad you made it up yourself :) Cheers

@ammgws

ammgws commented Aug 31, 2023

Copy link
Copy Markdown

Instead of specifying the size, I tried -type SPARSE and was able to have the ISO be the perfect size:

>hdiutil create -o /tmp/Catalina.cdr -type SPARSE -layout SPUD -fs HFS+J

I haven't been able to boot into it yet, but don't think it's because of -type SPARSE

@julianxhokaxhiu

Copy link
Copy Markdown
Author

Logically the parameter makes sense, if someone could please test the resulting ISO I'd be happy to update the script. Thank you for looking into this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment