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

levo

macrumors newbie
Original poster
Jul 20, 2011
3
0
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
 

Steve's Barber

macrumors 6502a
Jul 5, 2011
774
0
Looks needlessly complicated to me. For a one time master boot copy, finding the dmg and using Disk Utility works just fine.
 

bozzykid

macrumors 68020
Aug 11, 2009
2,177
238
It took me longer to figure all that out than it did to just burn a dvd from the dmg file.
 

Kris404

macrumors member
Jul 16, 2010
33
4
Los Angeles, CA
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
Thanks for the script. Just perfect for a hackint0sh clean install.

Kris
 

VTECaddict

macrumors 6502
Sep 15, 2008
373
23
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.
 

levo

macrumors newbie
Original poster
Jul 20, 2011
3
0
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.
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..
 

Similar threads

  • martonn12331
3
Replies
3
Views
1K
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.