Mounting an Mac OS X install DVD in Ubuntu 14.04
This document describes how to use a Linux computer to extract the BaseSystem.dmg image file from an Mac OS X (10.7+) installation DVD. The image file can be used to create a recovery disk, i.e. by using the Mac OS X "Disk Utility" to write it to an HSF+ partition on an USB-stick.
The USB-stick should contain an GUID partition table to be usable as a startup disk. Accessing DVD partitions The DVD device is /dev/sr0. The DVD contains multiple partitions and can't be mounted the usual way:
bash$> mount -t hfsplus /dev/sr0 /mnt/disk1 mount: /dev/sr0 is write-protected, mounting read-only mount: wrong fs type, bad option, bad superblock on /dev/sr0, missing codepage or helper program, or other error In some cases useful info is found in syslog - try dmesg | tail or so
We can't create block devices (one for each partition on the DVD) directly using partx, we have to access them thru a loop device:
bash$> partx -a /dev/sr0 partx: /dev/sr0: error adding partitions 1-4 bash$>modprobe loop bash$>/sbin/losetup /dev/loop0 /dev/sr0 losetup: /dev/sr0: warning: file smaller than 512 bytes, the loop device maybe be useless or invisible for system tools. bash$>partx -av /dev/loop0 partition: none, disk: /dev/loop0, lower: 0, upper: 0 /dev/loop0: partition table type 'mac' detected /dev/loop0: partition #1 added /dev/loop0: partition #2 added /dev/loop0: partition #3 added /dev/loop0: partition #4 added
Listing filesystems Let's examine the type of filesystem on the DVD:
bash$>file -s /dev/loop0* /dev/loop0: Apple Driver Map, blocksize 2048, blockcount 2043557, devtype 0, devid 0, descriptors 0, contains[@0x800]: Apple Partition Map, map block count 4, start block 1, block count 15, name Apple, type Apple_partition_map, contains[@0x1000]: Apple Partition Map, map block count 4, start block 16, block count 1, name Macintosh, type Apple_Driver_ATAPI, contains[@0x1800]: Apple Partition Map, map block count 4, start block 18, block count 2043536, name disk image, type Apple_HFS, contains[@0x2000]: Apple Partition Map, map block count 4, start block 2043554, block count 3, type Apple_Free /dev/loop0p1: Apple Partition Map, map block count 4, start block 1, block count 15, name Apple, type Apple_partition_map /dev/loop0p2: data /dev/loop0p3: Macintosh HFS Extended version 4 data last mounted by: '10.0', created: Wed Aug 17 15:04:13 2011, last modified: Thu Aug 18 01:47:54 2011, last checked: Thu Aug 18 00:04:13 2011, block size: 4096, number of blocks: 1021768, free blocks: 91314 /dev/loop0p4: data
Mounting the HFS+ partition The third partition contains the Mac OS X setup files. This shows how to mount this partition on the DVD:
bash$>mount -t hfsplus -o ro /dev/loop0p3 /mnt/disk1 mount: /dev/loop0p3 is write-protected, mounting read-only bash$>mount | grep hfs /dev/loop0p3 on /mnt/disk1 type hfsplus (ro)
DVD Content With the DVD partition mounted, all that remains is to transfer the BaseSystem.dmg file to a Mac OS X computer. The DVD content should look something like this:
bash$>ls -l /mnt/disk1/ total 480884 -rw-r--r-- 1 root cdrw 1876 Aug 18 2011 BaseSystem.chunklist -rw-r--r-- 1 root qemu 451942804 Aug 18 2011 BaseSystem.dmg drwxr-xr-x 1 root root 3 Aug 17 2011 Install Mac OS X Lion.app drwxr-xr-x 1 root root 3 Jun 17 2011 Library -r--r--r-- 1 root root 46516 Jun 8 2010 MacOSX_Media_Background.png drwxr-xr-x 1 root root 51 Aug 18 2011 Packages drwxr-xr-x 1 root root 3 Jun 17 2011 System -rw-r--r-- 1 root cdrw 859312 Aug 18 2011 boot.efi -rw-r--r-- 1 root cdrw 23995042 Aug 18 2011 kernelcache -rw-r--r-- 1 root root 15565140 Jul 27 2011 mach_kernel drwxr-xr-x 1 root root 3 Jun 17 2011 private drwxr-xr-x 1 root root 4 Aug 18 2011 usr