Archive for the 'Mac OS X' Category

Is Your Machine Good Enough for Snow Leopard K64?

Monday, August 31st, 2009

“K64″ is what Apple refers to as the 64-bit version of the kernel beginning with Snow Leopard. As an end user, you really should not worry about the bitness of the kernel. If your Apple computer is not booting into K64 by default, you don’t need it—unless, of course, you know that you need it. [...]

Crafting a Tiny Mach-O Executable

Sunday, March 15th, 2009

The other day I came across this web page in which the author describes his experiment to create a tiny ELF executable that will run on Linux. The result: a 45-byte ELF executable that executes and returns a value. The executable is functionally equivalent to the one generated from compiling the following C program.

[...]

A TPM for Everyone

Sunday, March 8th, 2009

Suppose you have a Macintosh without a TPM. This, of course, is highly likely because only the first few x86-based Macintosh models had TPMs. Now suppose you really want to experiment with Trusted Computing or features of the TPM in general. Your needs could be development-related or they could be purely academic. Well, you [...]

Retrieving x86 Processor Information

Monday, March 2nd, 2009

The other day I needed to know within one of my experimental programs if the host x86 processor supports certain features. In many cases, the operating system provides interfaces that can answer such questions. Sometimes, the interfaces may not have the answer, or you may wish to avoid them for other reasons. (Say, you don’t [...]

Displaying the Physical Memory Map

Wednesday, February 25th, 2009

The Apple Kernel Debug Kit comes with a kernel gdb macros file (kgmacros) that contains numerous macros useful during low-level development and analysis. One of the macros is showbootermemorymap, which dumps the physical memory map from EFI. The information in this map is very useful for certain types of development.
Since I am often mobile—without ready [...]

XBinary: Extended Binary Format Support for Mac OS X

Tuesday, January 20th, 2009

XBinary is software that lets you add kernel-level support for executing arbitrary binary formats on Mac OS X. To read more about it and to download it, visit the XBinary page.

Extended Notes on AncientFS

Wednesday, December 17th, 2008

Here are some extended notes on understanding, compiling, and using AncientFS, the file system I talked about in the previous blog post.

More User-Space File System Goodies

Tuesday, December 16th, 2008

There has been much buzz about new features and functionality in MacFUSE 2.0. Besides the MacFUSE 2.0 release, there are still more new and interesting things to be discussed in the realm of user-space file systems. As I described and briefly demonstrated during my recent talk at the Googleplex, I wrote several new user-space file [...]

A Note on Automounting MacFUSE File Systems

Thursday, December 11th, 2008

Mac OS X, like many other Unix-like operating systems, includes the “autofs” file system layer that make automatic on-demand mounting of remote resources possible. See the man page for automount(8) for more details.
Such automatic mounting is orthogonal to and possible with MacFUSE. (NB: You will need MacFUSE 2.0 or above for this to work properly [...]

MacFUSE 2.0 is Here!

Monday, December 8th, 2008

It was a little over two years ago that I gave serious thought to making user-space file systems a reality on Mac OS X. The result of that work, MacFUSE, was introduced at the Macworld conference in January 2007. Since then, MacFUSE has come a long way. It’s been used in projects big and small [...]

A Note on Pathname Processing in HFSDebug

Monday, November 24th, 2008

A couple of weeks ago, I released HFSDebug 4. I’ve updated it to make HFSDebug’s pathname processing a little more sophisticated. Depending on how (and how seriously) you use HFSDebug, knowing the details could be useful.
When you specify a file system object to HFSDebug using a pathname, how HFSDebug will treat the pathname usually depends [...]

HFSDebug 4.0 and New HFS+ Features

Sunday, November 9th, 2008

I wrote HFSDebug in early 2004. I initially made it available as a software tool to help understand fragmentation in HFS+ volumes, although it could also be used to analyze several implementation details of HFS+. Eventually, I extended HFSDebug to be able to analyze all on-disk aspects of HFS+, along with the ability to compute [...]

GrabFS Source Code

Tuesday, August 19th, 2008

Earlier this year, I released GrabFS, a MacFUSE file system that shows “live” screenshots of Mac OS X applications. If you wish to understand how GrabFS works, you can now browse its source.
Enjoy.

New Install/Update Capabilities in MacFUSE

Friday, July 25th, 2008

MacFUSE has a new install/update mechanism that greatly simplifies and improves things both for end users and developers who use MacFUSE in their software.
The relevant wiki page has all the details.
Note that instead of Tiger- and Leopard-specific downloads, now there’s a single downloadable disk image containing a single installable package. The package, which third parties [...]

Extending HFSDebug

Wednesday, July 23rd, 2008

Recently, I had a need to know if any files or folders had been modified or created on an HFS+ volume in the past N seconds. There are many ways you could generate this type of information on Mac OS X.
To begin with, you could try asking Spotlight.
Besides Spotlight, Mac OS X has a rich [...]

New Version of MacFUSE

Monday, April 28th, 2008

Version 1.5 of MacFUSE is out.
The CHANGELOG has details of what’s new.


All contents of this site, unless otherwise noted, are ©1994-2010 Amit Singh. All Rights Reserved.