Tag Archives: mac

UDF (a FAT32 replacement) Part 3

I tested UDF and exFAT over a fairly wide range of non-computer devices, and none of the devices could read or write to it. If you need something that will work with non-computers, stick to FAT32. If you just need interoperability between computers (but don’t need to boot from the drive), switch over to UDF.

I UDF and exFAT did not work with:

I plan on testing UDF and exFAT with a few phones and will update this post when I do.

UDF (a FAT32 replacement) Part 2

Comparison of cross platform filesystems for flash memory and/or external hard drives.

The Universal Disk Format (UDF) is maintained by Optical Storage Technology Association while FAT32 and exFAT are maintained by Microsoft.

FAT32’s primary limitation is its 4GB file size limit. Microsoft also recommends limiting Volumes formatted in FAT32 to be limited to 32 GB, although many implementations support larger volumes.

Microsoft created exFAT to get around the limitations of FAT32 relating to file and volume size limitations.

Overall, exFAT and UDF appear to be very comparable. They both support Unicode filenames and long filenames.
UDF supports a journaling and ECC (Error Correction Codes). The MacOS format utility provides an option for specifying the number of blocks to use for ECC. I assumed that this option was some type of ratio, but when I changed the number from 1 to 2, my formatted drive had exactly one block less space available. UDF “journaling” features are designed around optical media, so it is unclear if flash and hard drive implementations of UDF use the Logical Volume Integrity Descriptors.

Overall, FAT32 has the best compatibility. It is supported by nearly every device from phones, to cameras, to picture frames.

If you are only concerned with accessing your data from a computer, UDF is probably the file system to pick since Linux’s support for exFAT is not 100%.

Next I’m going to explore the compatibility of UDF and exFAT in other devices.

References

  1. UDF Spec – http://www.osta.org/specs/pdf/udf260.pdf
  2. FAT32 Spec – http://msdn.microsoft.com/en-us/library/windows/hardware/gg463080.aspx
  3. exFAT Spec – unable to find
  4. exFAT description – http://support.microsoft.com/kb/955704
  5. exFAT description – http://en.wikipedia.org/wiki/ExFAT

UDF (a FAT32 Replacement) Part 1

I’m always hearing about how FAT32 is a poor choice for a filesystem, but it’s also the universal filesystem that Mac, Windows, and Linux can all natively read and write. A few quick searches turned up the Universal Disk Format (UDF). It started off life as ISO 9660 (CD File Format), which we know pretty much all operating systems can read. As UDF has gone through a few versions, support for read/write block devices was added. I have verified that MacOS Mountain Lion, Windows 7, and Ubuntu 12.10 can all read and write to a UDF formatted flash drive. For reference I used a Toshiba 8GB Flash Drive.

To format a flash drive as UDF using MacOS:

  1. Plug the drive in
  2. Open Disk Utility
  3. Select the mounted partition of the flash drive, and click “Unmount”
    DiskUtility-Unmount
  4. Select the physical disk and click “Info”. This will tell you which device the disk is currently identified as. In this case, it is disk2.
    DiskUtility-Info
  5. Open Terminal with an Administrator account
  6. Type sudo newfs_udf /dev/<disk_from_step_4> (e.g. sudo newfs_udf /dev/disk2)
  7. You’re done.

The defaults for newfs_udf should be left alone, as the program picks the appropriate values for your drive. The one value you might want to edit is the -ecc-in-blks (Error correction code size). I will follow up on ECC in the comparison of file systems.

Coming next, a comparison of UDF, exFAT, and FAT32.

Logitech N305 on a Mac

I love my Logitech VX Nano mouse for it’s size, weight, battery life, tracking, and scrolling. I wanted to unobtrusively add a number pad into my computing setup, but figured I’d only use it occasionally. I’d decided to “upgrade” to a Logitech Anywhere MX and a Logitech N305 since I could use them with a single Unifying Receiver. The only problem is I’m trying to use these with a Mac…

The Logitech Anywhere MX works great. I love the convenience of the on/off slider and tracking on glass is neat, but the extra weight and reduced battery life make it about equal to the VX Nano in my opinion.

I ran into a number of problems with the Logitech N305. The product page says it only works with Windows, but I figured “Hey it’s a keyboard, of course it will work.” Well, I was wrong. Logitech Control Center for Mac doesn’t know about the N305. Ok, I pulled my Unifying Receiver, plugged it into a Windows 7 box with Logitech Control Center, and paired my N305 with the receiver. With the receiver back in my Mac, it was time to see if there was any key mapping issues. Everything looked good typing a bit in TextWrangler, and everything look good. Then I tried to do some accounting in Excel and that’s when the problems started.

For some reason the N305 seems to send a backspace after a pause in typing. If I typed “1”, a “1” would appear and then disappear. If I typed “12”, I would get “12” and then “1”. Typing “12“, would get “12” and I would be editing the next cell. I avoided using the number pad with Excel for a while, but that’s the primary use for a number pad, so I broke down and installed KeyRemap. To install, I had to change my installer permissions. You do have to restart after installing KeyRemap.

Once I restarted, getting everything working was as easy as clicking the new square, key icon in my menu bar, selecting “Open KeyRemap4MacBook Preferences…”, searching for “N305” and checking the “Logitech N305 hack”. Now everything works as expected on my N305 numberpad.

MacOS WDE

I decided I should get around to encrypting the data on my Mac hard drives, so a thief would not be able to access potentially sensitive information if I got my laptop stolen. I wanted a Whole Disk Encryption solution that works similar to Symantec PGP Whole Disk Encryption or TrueCrypt, but I didn’t want to pay for Symantec/PGP and (as far as I can tell) TrueCrypt doesn’t support System Encryption for Mac.

When FileVault first came out, I wasn’t too impressed. It seemed like a hack where Apple was just shoehorning user directories into encrypted disk images. Then I heard about performing whole disk encryption using FileVault 2. This sounded pretty good and Apple seems to be doing security right so I decided to explore the FileVault 2 option.

First I went int System Preferences -> Security & Privacy -> FileVault. As I read about FileVault I found it is designed to encrypt the disk encryption key with a key derived from each user’s password. I didn’t want my disk encryption key protected by weak passwords and I didn’t want to be inconvenienced by having to enter extremely long/strong passwords for normal unlocking of the computer. It only took a slight hack of MacOS built in features to accomplish this.

Mac OS WDE Steps

  1. Create a new Administrator account. This will be your unlocking account, so name it and create a password accordingly.
    Note: We are creating a separate account, because FileVault can only be enabled from an Administrator account, but you cannot remove the ability to unlock the drive once it has been granted.
  2. Logout and login with the new unlocking account
  3. Open System Preferences -> Security & Privacy -> FileVault
  4. Click “Turn On FileVault…”
  5. Follow the steps to turn on FileVault. I chose not to send a recovery key to Apple.
  6. Wait for the encryption to finish.
  7. Logout with your unlocking account.
  8. Login with another Administrator account.
  9. Open System Preferences -> Users & Groups
  10. Select the unlocking account and uncheck “Allow user to administer this computer”
  11. Check “Enable parental controls” and click “Open Parental Controls…”
  12. Now restrict this account, so it is unusable for general use and can only reasonably be used to unlock the hard drive.
    1. Under Apps
      1. Check “Use Simple Finder”
      2. Check “Limit Applications”
      3. Uncheck all “Allowed Apps:”.
        Note: I went back and allowed the GoogleSoftwareUpdateAgent and SIMBL Agent, because these were giving me permission errors when logging in.
    2. Under Web
      1. Select “Allow access only to these websites” and do not include any websites in the list.
    3. Under People, deselect all options
    4. Don’t make any changes under “Time Limits”
    5. Under Other
      1. Check all option.
        Note: Checking “Disable changing the password” is especially important if you share the password to allow a few people to unlock the computer.

Now when you boot your computer, you will be presented by a screen asking for the password to your unlocking account. Once you login to the unlocking account, you will not have access to any applications, so the only reasonable thing to do is logout. Then you will have the option to login to on of the other accounts on the system.