Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

tywebb13

macrumors 68040
Original poster
Apr 21, 2012
3,079
1,750
You can make a Sonoma bootable USB installer by first formatting a 16GB or 32GB usb as Mac OS Extended (Journaled) and naming it Untitled.

After downloading the Sonoma Beta 1 installer (which so far is nameless, even though we now know it has the name Sonoma) you can run this in Terminal to make the bootable USB:

sudo /Applications/Install\ macOS\ 14\ beta.app/Contents/Resources/createinstallmedia --volume /Volumes/Untitled

The command for future betas will probably change to

sudo /Applications/Install\ macOS\ Sonoma\ beta.app/Contents/Resources/createinstallmedia --volume /Volumes/Untitled

and then with public release (or even release candidates) to

sudo /Applications/Install\ macOS\ Sonoma.app/Contents/Resources/createinstallmedia --volume /Volumes/Untitled

To get the full installer for beta 1 you can search the sucatalogs for InstallAssistant.pkg and look for ProductID 032-94352 to get the link.

To verify the link you can change the g at the end of it to m and download the pkm file, open in textedit and you will see

….version="23.0.5257.17”….

How to read this is that the second number 0,1,2, … etc stands for A,B,C, etc and the fourth number 1,2,3, etc stands for a,b,c, etc.

They will drop the fourth number for release candidates and public releases. Such numbers are only for the betas.

So the second number 0 is A and the fourth number 17 is q and hence the build number is 23A5257q

Just be aware that future betas will have different Product IDs.

For the first beta the installer file looks like this:

sonoma beta 1 installer icon.png

which you will find in your Applications folder after running the Beta 1 InstallAssistant.pkg.
 
Last edited:

leman

macrumors Core
Oct 14, 2008
19,517
19,664
Where do you get the InstallAssistant.pkg? I am not able to locate it on the developer downloads page...
 

tywebb13

macrumors 68040
Original poster
Apr 21, 2012
3,079
1,750
Others have provided the link elsewhere in this forum and elsewhere on the net.

However it is more useful to know how to find the link yourself - so that you can find others later without relying on others posting the link. So instead of giving you the link, here I will describe how to find the link.

So for many years apple have been distributing software updates via the various sucatalogs. Several of them will have the new Sonoma beta 1 InstallAssistant.pkg, for example at


You can search within that for Product ID 032-94352 and then you will find the link. That number is part of the link itself. So it looks like this:

swcdn.apple.com...032-94352.../InstallAssistant.pkg

There will be other files too associated with Product ID 032-94352, but the one you want is the InstallAssistant.pkg.

Other future betas will have different Product ID's, but once you know the Product ID it is then easy to find the link.

Note too that it is better to search the ProductID and not for ``InstallAssistant.pkg” because there will be several such InstallAssistant.pkg’s there and only one of them is Sonoma. So to ensure it is the right one you will need to ensure the ProductID is 032-94352.

Sorry if this seems like a painful way to get the link, but you will thank me for it later when you realise how useful this is.

Another way is to run this code in Terminal which will list many InstallAssistant.pkg's including the Sonoma ones, thanks to bogdanw from post #12 below.

Code:
for file in $(curl -# https://swscan.apple.com/content/catalogs/others/index-14seed-14-13-12-10.16-10.15-10.14-10.13-10.12-10.11-10.10-10.9-mountainlion-lion-snowleopard-leopard.merged-1.sucatalog | grep Info.plist | grep -Evw '(Info.plist.integrityDataV1|InstallInfo.plist)' | sed -e s/"<string>"//g -e s/"<\/string>"//g -e s/\ //g); do
    curl -# $file | egrep -EA 1 '(>Build<|OSVersion)' | sed -e s/"<string>"//g -e s/"<\/string>"//g -e s/\ //g | sed -e s/"<key>"//g -e s/"<\/key>"//g -e s/\ //g
    echo $file | sed -e "s/Info.plist/InstallAssistant.pkg/g"
done
 
Last edited:
  • Like
Reactions: Bmju and Traace

gank41

macrumors 601
Mar 25, 2008
4,350
5,021
Looks like there's an issue with "createinstallmedia" in macOS 14 b2 (23A5276g). The following command, that worked for b1 does not work with b2:

sudo /Applications/Install\ macOS\ 14\ Beta.app/Contents/Resources/createinstallmedia --volume /Volumes/Untitled
 

gank41

macrumors 601
Mar 25, 2008
4,350
5,021
This worked for me:

sudo /Applications/Install\ macOS\ Sonoma\ beta.app/Contents/Resources/createinstallmedia --volume /Volumes/Untitled
 

tywebb13

macrumors 68040
Original poster
Apr 21, 2012
3,079
1,750
Yes as I explained before

"The command for future betas will probably change to

sudo /Applications/Install\ macOS\ Sonoma\ beta.app/Contents/Resources/createinstallmedia --volume /Volumes/Untitled

"

This is because the name of the installer changed for beta 2.

This change was to be expected as it has been this way for several previous versions of macOS. We don't know the name of it till the WWDC keynote and the first nameless beta is released soon after that - even though by then we know the name. Then beta 2 finally gets the name in the installer. It's a bit silly but that's the way it has been for a few years at least.

We expect another change too later when it becomes a release candidate and they drop "beta" from the name and then the command becomes

sudo /Applications/Install\ macOS\ Sonoma.app/Contents/Resources/createinstallmedia --volume /Volumes/Untitled

It gets a much nicer new installer icon too:

sonoma-beta-2-installer-icon.png


The beta 2 has Product ID 032-95852
 
Last edited:

tywebb13

macrumors 68040
Original poster
Apr 21, 2012
3,079
1,750
I wonder if they keep this new installer icon for the final release.
 

bogdanw

macrumors 603
Mar 10, 2009
6,114
3,021
So for many years apple have been distributing software updates via the various sucatalogs. Several of them will have the new Sonoma beta 1 InstallAssistant.pkg, for example at
You can search within that for Product ID 032-94352 and then you will find the link. That number is part of the link itself. So it looks like this:swcdn.apple.com...032-94352.../InstallAssistant.pkg
The easy way - Mr. Macintosh "macOS Sonoma Full Installer Database. Download Directly from Apple!" https://mrmacintosh.com/macos-sonoma-full-installer-database-download-directly-from-apple/

Another way - Get-InstallAssistant-pkg-links-from-Apple.sh https://gist.github.com/b0gdanw/26f528dda5abea7ce6fe633ca2ef1063
 
  • Like
Reactions: tywebb13

tywebb13

macrumors 68040
Original poster
Apr 21, 2012
3,079
1,750
I like both, but for Mr. Macintosh you'd have to wait till he puts it up. And for the github one you will have to comment out the CustomerSeed line and uncomment out the DeveloperSeed line

or alternatively run this code:

Code:
link=$( plutil -p /System/Library/PrivateFrameworks/Seeding.framework/Resources/SeedCatalogs.plist | grep 'DeveloperSeed' | sed -e s/'"DeveloperSeed" => "'//g -e s/'.gz"'//g -e s/\ //g )
for file in $(curl -# $link | grep Info.plist | grep -Evw '(Info.plist.integrityDataV1|InstallInfo.plist)' | sed -e s/"<string>"//g -e s/"<\/string>"//g -e s/\ //g); do
    curl -# $file | egrep -EA 1 '(>Build<|OSVersion)' | sed -e s/"<string>"//g -e s/"<\/string>"//g -e s/\ //g | sed -e s/"<key>"//g -e s/"<\/key>"//g -e s/\ //g
    echo $file | sed -e "s/Info.plist/InstallAssistant.pkg/g"
done

This assumes your SeedCatalogs.plist has the correct seed catalog, which in this case is


This should work if you are already on Sonoma, but anything lower won't have that seed catalog.

(And by "work" I mean for the new Sonoma InstallAssistant.pkg's to show up. If you are on an older system with an older seed catalog in your SeedCatalogs.plist the github sh file will still show many InstallAssistant.pkg's, just not necessarily the new Sonoma ones)

Another alternative if you are on an older system is to edit your SeedCatalogs.plist file to add in the correct seed catalog. I do not recommend this though because you really want the SeedCatalogs.plist file to concur with the system it is on. Sometimes some updates for older systems are not on the newer seed catalogs.
 
Last edited:

tywebb13

macrumors 68040
Original poster
Apr 21, 2012
3,079
1,750
OK. If you are on an older system and want to run a modified version of the github code - but without changing the SeedCatalogs.plist file in it's original location, how about this compromise.

Suppose you make a copy of SeedCatalogs.plist into your Documents folder and then edit the copy thusly:

Code:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>CustomerSeed</key>
    <string>https://swscan.apple.com/content/catalogs/others/index-14customerseed-14-13-12-10.16-10.15-10.14-10.13-10.12-10.11-10.10-10.9-mountainlion-lion-snowleopard-leopard.merged-1.sucatalog.gz</string>
    <key>DeveloperSeed</key>
    <string>https://swscan.apple.com/content/catalogs/others/index-14seed-14-13-12-10.16-10.15-10.14-10.13-10.12-10.11-10.10-10.9-mountainlion-lion-snowleopard-leopard.merged-1.sucatalog.gz</string>
    <key>PublicSeed</key>
    <string>https://swscan.apple.com/content/catalogs/others/index-14beta-14-13-12-10.16-10.15-10.14-10.13-10.12-10.11-10.10-10.9-mountainlion-lion-snowleopard-leopard.merged-1.sucatalog.gz</string>
</dict>
</plist>

One may then run the following modified version of the github code - and this will show up the new Sonoma betas - even on older systems.

Code:
link=$( plutil -p /Users/USERNAME/Documents/SeedCatalogs.plist | grep 'DeveloperSeed' | sed -e s/'"DeveloperSeed" => "'//g -e s/'.gz"'//g -e s/\ //g )
for file in $(curl -# $link | grep Info.plist | grep -Evw '(Info.plist.integrityDataV1|InstallInfo.plist)' | sed -e s/"<string>"//g -e s/"<\/string>"//g -e s/\ //g); do
    curl -# $file | egrep -EA 1 '(>Build<|OSVersion)' | sed -e s/"<string>"//g -e s/"<\/string>"//g -e s/\ //g | sed -e s/"<key>"//g -e s/"<\/key>"//g -e s/\ //g
    echo $file | sed -e "s/Info.plist/InstallAssistant.pkg/g"
done

Just replace USERNAME with your username on your computer.

I tried this modified code on Mojave and it did show up the new Sonoma beta.
 

bogdanw

macrumors 603
Mar 10, 2009
6,114
3,021
Copy-paste in Terminal or save as script
Code:
for file in $(curl -# https://swscan.apple.com/content/catalogs/others/index-14seed-14-13-12-10.16-10.15-10.14-10.13-10.12-10.11-10.10-10.9-mountainlion-lion-snowleopard-leopard.merged-1.sucatalog | grep Info.plist | grep -Evw '(Info.plist.integrityDataV1|InstallInfo.plist)' | sed -e s/"<string>"//g -e s/"<\/string>"//g -e s/\ //g); do
    curl -# $file | egrep -EA 1 '(>Build<|OSVersion)' | sed -e s/"<string>"//g -e s/"<\/string>"//g -e s/\ //g | sed -e s/"<key>"//g -e s/"<\/key>"//g -e s/\ //g
    echo $file | sed -e "s/Info.plist/InstallAssistant.pkg/g"
done

Build numbers released by Apple here https://developer.apple.com/news/releases/
macOS 14 beta 2 (23A5276g)
 
  • Like
Reactions: tywebb13

tywebb13

macrumors 68040
Original poster
Apr 21, 2012
3,079
1,750
Yes thanks. That simplifies it even more.

The problem before was that the code on github, although fine on Sonoma itself, wasn't showing up the Sonoma betas when used on older systems due to the older SeedCatalogs.plist file.
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.