Create Bootable Installer Directly from Downloaded File

The following steps can be used to create a USB installer for Yosemite.

  1. If you have not already downloaded then InstallMacOSX.dmg file for Yosemite, then use instructions on the Apple website "How to download macOS" to download this file.

  2. Use the Disk Utility to erase a 16 GB or larger flash drive. If the Disk Utility window has a View pulldown menu, make sure Show All Devices is selected. Highlight the flash drive, then click on the Erase button. Use the setting shown in the image below.

    Next, click on the Erase button. When finished erasing, click on the Done button.

  3. Use the Finder application to open InstallMacOSX.dmg.

  4. Enter the commands given below. A folder named Yosemite will be created in the /tmp folder to hold temporary files.

    Note: The easiest way to enter the commands is to copy from this document and paste in the Terminal window.

    rm -rf /tmp/Yosemite
    pkgutil --expand /Volumes/Install\ OS\ X/InstallMacOSX.pkg /tmp/Yosemite
    diskutil eject Install\ OS\ X
    cd /tmp/Yosemite
    hdiutil attach InstallMacOSX.pkg/InstallESD.dmg  -noverify -nobrowse -mountpoint /Volumes/esd
    sudo asr restore -source /Volumes/esd/BaseSystem.dmg -target /Volumes/MyVolume -noprompt -noverify -erase

    After entering the last command given above, you may get a message similar to the one given below.

    asr: Couldn't personalize volume /Volumes/OS X Base System

    Some versions of macOS will produce this message while other versions do not. I suspect this is an fatal message because an exit status of 1 was returned.

    Inspection has determined that the part of the command that failed is unimportant.

    Therefore, I was able to ignore this error. However, the error can also be avoided by applying the following steps given in the section below titled Alternative to Using the asr Command.

  5. To finish creating the bootable USB flash drive Yosemite installer, enter the commands given below.

    diskutil rename OS\ X\ Base\ System Install\ Yosemite
    rm /Volumes/Install\ Yosemite/System/Installation/Packages
    cp -rp /Volumes/esd/Packages /Volumes/Install\ Yosemite/System/Installation
    cp -rp /Volumes/esd/BaseSystem.chunklist /Volumes/Install\ Yosemite/
    cp -rp /Volumes/esd/BaseSystem.dmg /Volumes/Install\ Yosemite/
    hdiutil detach /Volumes/esd
    sudo bless --folder /Volumes/Install\ Yosemite/System/Library/CoreServices --label Install\ Yosemite
    cp /Volumes/Install\ Yosemite/Install\ OS\ X\ Yosemite.app/Contents/Resources/InstallAssistant.icns /Volumes/Install\ Yosemite/.VolumeIcon.icns
    cd "$HOME"
    rm -r /tmp/Yosemite
    diskutil eject Install\ Yosemite
  6. Remove the flash drive. You are done.

Alternative to Using the asr Command

The command given below may generate a error message and/or hang depending on the version of macOS and perhaps the model Mac you are using.

sudo asr restore -source /Volumes/esd/BaseSystem.dmg -target /Volumes/MyVolume -noprompt -noverify -erase

You can avoid entering the above command by following the steps given below.

  1. If the volume on the USB flash drive is no longer labeled MyVolume, then use the Disk Utility to erase the flash drive. Highlight the flash drive, then click on the Erase button. Use the setting shown in the image below.

    Next, click on the Erase button. When finished erasing, click on the Done button.

  2. Enter the following command to create a sparse flash drive image.

    hdiutil create -type SPARSE -size 10g -layout MBRSPUD -fs HFS+J -volname MyImage -attach /tmp/Yosemite/MyImage


  3. Basically, you want to restore to volume MyImage from the hidden file BaseSystem.dmg. The hidden file BaseSystem.dmg is shown in the Finder window image shown below. The drive OS X Install ESD can be found in the hidden volume Volumes in the root folder.

    There are various ways to view hidden files. These ways depend on the version of OS X or macOS you are using. You may have to search the web for a way that works for you.

    Highlight the MyImage volume shown in the Disk Utility main window. Click on the Restore button, then the Image button. Select the BaseSystem.dmg file, as shown below. Next, click on the Restore button.

    After a successful restore, you should see the image shown below. You can click on the Done button and quit the Disk Utility.

    Also, you should get the following popup.

  4. Enter the following commands to clone to the flash drive.

    Note: The dd command takes a long time to complete. See this answer to track the progress of the dd command. The bytes to be transferred is approximately 10 GB.

    getdsk() { local "x=$(diskutil info "$2" | grep Part\ of\ Whole)"; eval $1'="/dev/r${x##* }"'; }
    getdsk DSK1 OS\ X\ Base\ System
    getdsk DSK2 MyVolume
    diskutil unmountdisk $DSK1
    diskutil unmountdisk $DSK2
    sudo dd if=$DSK1 of=$DSK2 bs=1m
    diskutil eject $DSK1
    diskutil unmountdisk $DSK2
    diskutil mountdisk $DSK2


    Note: Since the original will be immediately ejected and eventually deleted, I did not bother to use the hfs.util command to change the UUID of the clone.

You can now proceed with the rest of the steps.