A better (and faster) way to make bootable Lion Disk

Discussion in 'Mac OS X Lion (10.7)' started by levo, Jul 20, 2011.

  1. macrumors newbie

    Joined:
    Jul 20, 2011
    #1
    If you just restore the dmg to a flash drive, during installation of Lion, it creates a restore partition on your drive, reboots your mac, and installs from that partition. Thanks to hackint0shers, you can create a "classic" boot disk that just installs from your flash drive. Credit goes to original creator of the script, I've just made small edits..

    download the script:
    http://www.mediafire.com/?02i0a5tt0uu4o3q

    you can check the bash script with textedit (to be safe)

    - plug your flash drive, format/partition it with disk utility (guid/mac os extended)
    - open terminal, type sudo
    - drag the script to the terminal
    - drag the Install Mac OS X Lion.app file to the terminal
    - and drag your flash drive to the terminal

    you will end up with something like
    sudo /download/mkboot /download/Install\ Mac\ OS\ X\ Lion.app /Volumes/Flash

    The script will mount the installer .dmg, restore it to the flash disk, copy packages to the disk, copy kernel to the disk and eject image&disk

    Than you can plug the flash disk, power on your mac and hold alt key to select the flash disk and install Lion..

    here is the mkboot, just in case...

    Code:
    #!/bin/bash -e
    
    function usage() {
      echo "Usage: `basename $0` <Lion install app> <Target volume>" 1>&2
    }
    
    if [ $# -ne 2 ]; then
      usage
      exit 1
    fi
    
    LION_INSTALL_APP=$1
    TARGET_VOLUME=$2
    BASE_TARGET='/Volumes/Mac OS X Base System'
    IN_APP_DMG='Contents/SharedSupport/InstallESD.dmg'
    SCRIPT_DIR=`dirname $0`
    
    if [ ! -d "$LION_INSTALL_APP" ]; then
      echo "$LION_INSTALL_APP: No such file" 1>&2
      usage
      exit 2
    fi
    
    if [ ! -d "$TARGET_VOLUME" ]; then
      echo "$TARGET_VOLUME: No such directory" 1>&2
      usage
      exit 3
    fi
    
    if [ $EUID -ne 0 ]; then
       echo "This script must be run as root" 1>&2
       exit 4
    fi
    
    function echob() {
      echo "`tput bold`$1`tput sgr0`"
    }
    
    echob "Attaching OS X Lion..."
    hdiutil attach -mountpoint $SCRIPT_DIR/lioninst "$LION_INSTALL_APP/$IN_APP_DMG"
    
    pushd `dirname $0` > /dev/null
    
    echob "Restoring BaseSystem.dmg to $TARGET_VOLUME..."
    asr --source lioninst/BaseSystem.dmg --target "$TARGET_VOLUME" --erase --noprompt
    
    echob "Adopting on-disk ownership on $BASE_TARGET..."
    vsdbutil -a "$BASE_TARGET"
    
    echob "Copying Packages from OS X Lion main image..."
    rm "$BASE_TARGET/System/Installation/Packages"
    rsync -r --progress lioninst/Packages "$BASE_TARGET/System/Installation/"
    
    echob "Copying mach_kernel from OS X Lion main image..."
    cp -r lioninst/mach_kernel "$BASE_TARGET"
    
    echob "Detaching OS X Lion main image..."
    hdiutil detach lioninst
    
    echob "Ejecting $BASE_TARGET..."
    diskutil eject "$BASE_TARGET"
    
    echob "All done."
    
    popd > /dev/null
    
     
  2. macrumors 6502a

    Joined:
    Jul 5, 2011
    #2
    Looks needlessly complicated to me. For a one time master boot copy, finding the dmg and using Disk Utility works just fine.
     
  3. macrumors 68000

    Joined:
    Aug 11, 2009
    #3
    It took me longer to figure all that out than it did to just burn a dvd from the dmg file.
     
  4. macrumors 68030

    Joined:
    Feb 26, 2011
    Location:
    Cincinnati, OH
    #4
    I have to agree with Steve's Barber, the average user is not going to want to do that. My Dad won't want to do that :D
     
  5. macrumors member

    Joined:
    Jul 16, 2010
    Location:
    Los Angeles, CA
    #5
    Thanks for the script. Just perfect for a hackint0sh clean install.

    Kris
     
  6. macrumors 6502

    Joined:
    Sep 15, 2008
    #6
    Why so complicated? Just do it in Disk Utility.

    Plug in flash drive (or external hard drive. I made a 5gb partition on my external)
    Open Disk Utility
    Drag InstallESD.dmg to the list of drives/images
    Select InstallESD.dmg
    Drag destination drive to destination box
    Restore

    Note that this will automatically reformat the destination drive, so make sure its empty or back it up if its not.

    And yes, it's bootable.
     
  7. thread starter macrumors newbie

    Joined:
    Jul 20, 2011
    #7
    Well, I've already explained the difference, if you just restore, that disk creates a restore partition on your mac, copies required files to the disk, reboots, and installs from the harddisk. And installing from and to the same disk is relatively slow.

    With this script, you just boot from the flash drive and install.. Both ways work.. result is the same..
     
  8. macrumors member

    Joined:
    Apr 29, 2010
    #8
    Will this script still create a recovery partition on the Mac?
     

Share This Page