Skip to main content
  1. Blog
  2. Article

Canonical
9 March 2010

OS X Ubuntu USB Creator


I've spent some time attempting to make a Cocoa that lets you burn an Ubuntu ISO to a USB memory stick on OS X.

I think I've got as far as I'm gonna get with it now, sadly.


How far I got...

  • The UI is pretty concise
  • A USB stick gets detected when plugged in
  • The right signal is sent to the dd process and parses the progress for the progress bar
Major outstanding issues

  • It's really SLOW. I'm not familiar with how the dd command line utility works -- people keep talking about 'eraseblocks' and suchlike and my eyes glaze over..
  • It doesn't detect and inform the user when the write is complete
  • It doesn't seem to create a bootable device
  • I can't see how to automatically remount a device after I've unmounted it with diskutil
  • I'm not amazingly confident that once I've detected the device a volume resides on I'm not then going to end up destroying all the data on the wrong drive 
The project is on Launchpad here: https://code.launchpad.net/~michaelforrest/ubuntuusbcreator-osx/trunk

It would be pretty awesome if you were able to help out.  



Related posts

Challenges designers face in open source (and how to fix them)

Open source powers up to 90% of modern software, yet many projects lack usability. Canonical’s Design team surveyed 115 cross-functional professionals to uncover the 4 core...

Why web engineering is great

Hi, I’m Johann! I’m an engineering manager in Canonical’s web team. For the larger part of my 15 years of work experience as engineer, I’ve been working in web development....

Canonical’s recipe for High Performance Computing

In essence, High Performance Computing (HPC) is quite simple. Speed and scale. In practice, the concept is quite complex and hard to achieve. It is not dissimilar to what...

Web team – hack week 2023

Today, around 96% of software projects utilize open source in some way. The web team here at Canonical is passionate about Open source. We lead with an open-by-default approach...