Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

I have an SSD installed in my MacBook Pro, and have successfully implemented a tweak that disables noatime on the boot drive:

http://blog.alutam.com/2012/04/01/optimizing-macos-x-lion-for-ssd/#noatime

This isn't where I originally found this hint, but that site has gone down. Nevertheless, it's more-or-less identical.

I've decided I'd like to implement FileVault 2 Full-Disk Encryption (FDE) on this SSD, but I don't want to lose the benefits of the "noatime" tweak. Regarding FileVault 2: it transpires there are several ways to implement FDE. The method I'm going to use involves backing up the contents of the drive, then re-formatting the SSD with Encrypted HFS, before copying the contents of the drive back again. According to the Apple documentation, this should cause the EFI to prompt for the Encrypted HFS password on boot, before proceeding to boot as normal to the Login screen. The benefit of this method is that you don't have to log-in automatically to a user account, which is unavoidable using the standard FileVault 2 method.

So, what I'd like to know is: will the LaunchDaemon method for enabling "noatime" on the boot drive work with the FileVault encryption I intend to implement? If not, does anyone know how it could be implemented?

A side question would be: has anyone here attempted the FDE method I describe? I don't have the link to the official Apple documentation where that method is outlined to hand, but I could supply it if requested, I suppose.

Thanks.

share|improve this question

1 Answer 1

up vote 4 down vote accepted

Entering the following in Terminal will work to implement noatime flag on boot drive with FDE activated as used by FileVault 2 on OS X 10.8 Mountain Lion.

First elevate the user to give super user permissions

sudo su

Then copy and paste the following to create the plist file:

cat > /Library/LaunchDaemons/com.nullvision.noatime.plist << DELIM
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" 
        "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
    <dict>
        <key>Label</key>
        <string>com.nullvision.noatime</string>
        <key>ProgramArguments</key>
        <array>
            <string>mount</string>
            <string>-uwo</string>
            <string>noatime</string>
            <string>/</string>
        </array>
        <key>RunAtLoad</key>
        <true/>
    </dict>
</plist>
DELIM

Using the su account should set the correct permissions. Then activate the file using:

launchctl load /Library/LaunchDaemons/com.nullvision.noatime.plist

Now you can exit the super user account

exit

To check the plist has been loaded type the following and do the same after a restart to ensure the change is persistent:

mount | grep " / "

If everything has worked you should see

noatime
listed amongst the mount attributes, e.g.
/dev/disk1 on / (hfs, local, journaled, noatime)

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.