Bug #46999 DMG fails to mount giving an error "No mountable file system"
Submitted: 30 Aug 2009 20:54 Modified: 14 Sep 2009 9:33
Reporter: Jason Kenney Email Updates:
Status: Closed Impact on me:
Category:MySQL Server: Packaging Severity:S2 (Serious)
Version:5.1 and 5.4 OS:MacOS (10.6)
Assigned to: Daniel Fischer CPU Architecture:Any
Tags: dmg 5.1 5.4

[30 Aug 2009 20:54] Jason Kenney
If a user downloads the DMG file for mysql server 5.1 or 5.4 and tries to mount it while running OSX in 64 bit mode (the kernel). The System will give an error "No mountable file system".

How to repeat:
1. Boot into 64 bit kernel mode (hold down the 6 and 4 during startup... or just boot an XServe).

2. Download and/or open a Mysql DMG file (5.1 and 5.4 both architectures report the problem). (Safari will report a different error... but will still not mount the dmg).


Suggested fix:
My current investigation reveals that the DMG files are using the UFS file system. And that the UFS Kernel Extension is 32 bit only, which means 64 bit Snow Leopard does not support UFS.

If you can please repackage the files as HFS+ (aka Mac OS Extended) This should fix the problem.
[1 Sep 2009 14:04] Valeriy Kravchuk
Thank you for the problem report. Indeed:

/dev/disk4s1 on /Volumes/mysql-5.1.37-osx10.5-x86_64 (ufs, asynchronous, local, nodev, nosuid, read-only, noowners, quarantine, mounted by openxs)

Sounds like a reasonable feature request for 64-bit Mac OS X 10.6 support.
[6 Sep 2009 15:18] Gabe Nydick
Temporary Workaround If you have a Linux Box...

1) convert DMG to cdr

  hdiutil convert mysql-5.1.38-osx10.5-x86_64.dmg -format UDTO \ 
    -o mysql-5.1.38-osx10.5-x86_64

2) transfer mysql-5.1.38-osx10.5-x86_64.cdr to your linux machine

3) create loop device for it

  sudo kpartx -a mysql-5.1.38-osx10.5-x86_64.cdr -p M
  # the "-p" flag will use the M as the delimiter for the partitions in case
  you have multiple loop devices and need help identifying it.

  it will show up in /dev/mapper/loop<X>M1 where X is arbitrary depending on how
  many loop devices you currently have setup.

4) mount the ufs file system

  mount -t ufs -o ufstype=openstep /dev/mapper/loop<X>M1  /<some mount point>

You can then copy the files where ever you'd like.
[14 Sep 2009 9:33] Daniel Fischer
Mac OS X disk images produced in the future will use HFS+ instead of UFS.