So you've just setup Linux on your shiny new MacBook, but there's a problem. You're iSight camera doesn't work!

Here's the bottom line: Linux uses the uvc video drivers to manage video input devices. In order to get the iSight working, you will have to have the uvc modules loaded into your kernel and the iSight firmware available to be loaded as well.

Luckily, uvc video support is buily into >=2.6.26 kernels.

>=2.6.26 Kernels

There are a few ways to get the required firmware.  The first requires that you have an existing OS X installation.  If you’re doing a dual-boot installation you can find the firmware at the following path within your OS X partition:

/System/Library/Extensions/IOUSBFamily.kext/Contents/PlugIns/AppleUSBVideoSupport.kext/Contents/MacOS/AppleUSBVideoSupport

You might also be able to find the firmware file online.
 

Once you have the required firmware you’ll need to extract it on your system into the path /lib/firmware.  If you’re running a Debian-based system there is a package available that’ll do the extraction for you.  Use the following command to extract and install the firmware:

sudo aptitude install isight-firmware-tools
sudo cp ~/Desktop/AppleUSBSupportVideo /lib/firmware/
sudo ift-extract -a /lib/firmware/AppleUSBVideoSupport

This should create a file called isight.fw.  Once you have this file you can safely remove the package and the AppleUSBVideoSupport file.  Keep the isight.fw file for future installations.  This will let you avoid the firmware extraction in the future.

This is the most crutial part that often gets neglected. In order to activate your camera, you will now need to shutdown your system completely and then start it back up again. Due to complications with the apple hardware, a simple restart will not be sufficient. You must turn off the system before restarting.

Once it is back up, you can open cheese and test it. Now your iSight should be working! Enjoy!