Installing OS X Snow Leopard From a USB Drive

Just like with most other versions of OS X, 10.6 Snow Leopard can be installed from a USB drive which is especially beneficial if you’re a Macbook Air user…

Before you start make sure that you have enough space , Leopard is just a shy over 6.2Gigs, and that your USB drive is bootable.

  1. Using DiskUtility select the USB drive
  2. Format it as Mac OS Extended (Journaled.) Give it a sensible name in case you need it later
  3. Still in Disk Utility, use the restore option with source = DVD and destination = USB drive
  4. Start the restore and wait. Should be less than 15 minutes
  5. Connect the USB drive to the MAC and reboot / boot it holding the option/alt key down until you see a list of available volumes.
  6. Select the USB volume and install.

Grand Central Dispatch ported to FreeBSD

Those who know me know that I am a huge proponent of FreeBSD. Since I first toyed around with it with version 2 and got comfortable starting with version 3 it has consistently impressed me with it’s features and abilities. Now Apple’s Grand Central Dispatch, which was recently open sourced, has been ported to FreeBSD from OS X and is planned to be included by default in FreeBSD 8.1. Also known as libdispatch, the API allows the use of function-based callbacks but will also support blocks if built using FreeBSD’s clang compiler package. FreeBSD’s porting efforts should help to make GCD easier to port to other operating systems with conventional Unix or Unix-like kernels, including OpenBSD, NetBSD, Linux, and Solaris.

If you’re new to FreeBSD a key thing about it is its release process.

Murray Stokely recently released the FreeBSD Release Engineering paper which goes to great length in detailing the different phases of the release engineering process leading up to the actual system build as well as the actual build process and very important discussion on the future directions of developmen. I would highly recommend reading through it. Here’s an excerpt:

This paper describes the approach used by the FreeBSD release engineering team to make production quality releases of the FreeBSD Operating System. It details the methodology used for the official FreeBSD releases and describes the tools available for those interested in producing customized FreeBSD releases for corporate rollouts or commercial productization.

The development of FreeBSD is a very open process. FreeBSD is comprised of contributions from thousands of people around the world. The FreeBSD Project provides anonymous CVS[1] access to the general public so that others can have access to log messages, diffs (patches) between development branches, and other productivity enhancements that formal source code management provides. This has been a huge help in attracting more talented developers to FreeBSD. However, I think everyone would agree that chaos would soon manifest if write access was opened up to everyone on the Internet. Therefore only a “select” group of nearly 300 people are given write access to the CVS repository. These committers[5] are responsible for the bulk of FreeBSD development. An elected core-team[6] of very senior developers provides some level of direction over the project.

The rapid pace of FreeBSD development leaves little time for polishing the development system into a production quality release. To solve this dilemma, development continues on two parallel tracks. The main development branch is the HEAD or trunk of our CVS tree, known as “FreeBSD-CURRENT” or “-CURRENT” for short.

A more stable branch is maintained, known as “FreeBSD-STABLE” or “-STABLE” for short. Both branches live in a master CVS repository in California and are replicated via CVSup[2] to mirrors all over the world. FreeBSD-CURRENT[7] is the “bleeding-edge” of FreeBSD development where all new changes first enter the system. FreeBSD-STABLE is the development branch from which major releases are made. Changes go into this branch at a different pace, and with the general assumption that they have first gone into FreeBSD-CURRENT and have been thoroughly tested by our user community.

In the interim period between releases, monthly snapshots are built automatically by the FreeBSD Project build machines and made available for download from The widespread availability of binary release snapshots, and the tendency of our user community to keep up with -STABLE development with CVSup and “make world”[7] helps to keep FreeBSD-STABLE in a very reliable condition even before the quality assurance activities ramp up pending a major release.

Full Paper here

10.6 Snow Leopard Install

Snow Leopard will offer a number of significant improvements to the installation process.

  1. Erase and Install: Though still available via Disk Utility to the uninitiated it will appear to have been removed. So should one ever need to reinstall Snow Leopard, it will automatically archive and then install. What does that mean? Essentially a faster install with no, or fewer post install updates as the installer will leave any updated files alone…
  2. SMART: It won’t install on a hard drive that reports SMART failures.
  3. Haxies: The Snow Leopard installer will scan for known problem software and move it to a folder labeled “Incompatible Software.”
  4. Pulling the power: Should there be a power failure during the installation, it will pick right back up from where it was interrupted.
  5. Install files: The installer copies most files to the disk and runs them from there. A nice feature that should you have ever tried my instructions here in the past. Oh, it also cleans up after itself.
  6. Footprint:
  • Printer drivers are reined in. Only those needed get dropped onto the drive.
  • Quicktime is, unbelievably, optional. If you have a pro license for 7, Quicktime X will not overwrite it.
  • Rosetta is optional, though at this point PPC is nigh on being dismissed… Sigh.