This took me some time to figure out and the culprit is quite unusual, hence I decided to reproduce the solution here. If you get choppy sound and a weird beat of beeps when you play (low sound quality) flash videos under 64-bit Linux, then it is because of a change in memcpy provided by glibc. Linux Torwalds suggested the following fix which works for me:
Never again worry about losing your digital files. Time Machine automatically saves up-to-date copies of everything on your Mac — photos, music, videos, documents, applications, and settings. If you ever have the need, you can easily go back in time to recover anything.
That’s the marketing blub on Apple’s website for Time Machine. Of course, thousands of nerds came up with ways of accomplishing the same thing under Linux and among them probably hundreds using BTRFS‘ awesome snapshots. Since I couldn’t find a script I could easily drop on my machine I wrote my own … hence the title. It is written in Python (what else?) and only provides the bare minimum of functionality. It’s available on bitbucket. Now I have hourly backups which only store the diff and if more than one snapshots have the same diff it is also stored only once. What I haven’t done yet but probably should do is to protect my .snapshots directory from rm -rf ROOT_DIR by chmod 000.
I received my new Macbook Pro (i7, 4GB Ram, 256GB SSD, yay!) on Friday and succeeded in installing Linux on it by now. After some initial troubles the whole installation was far less difficult than last time (Macbook Pro 2,2). All in all the various Wikis (Debian, Ubuntu, Arch, Gentoo) on the matter paint a good picture. Two caveats though:
- I struggled most of the time getting Linux to boot. From past experience (and from documentation on the net) I “knew” that one shouldn’t install the bootloader to /dev/sda but to /dev/sda3. However, I couldn’t get this setup to boot. The trick is to use GRUB2 (default by now in most distributions) which supports EFI and install into /dev/sda.
- Another stumbling block was the touchpad. After editing hal config files for several hours I eventually figured out that hal is ignored by Debian’s X server. After realising this and using the xorg.conf from the Debian Wiki it worked eventually.
There are some issues remaining though:
- So far I didn’t manage to get the microphone to work.
- Battery life (at least what’s reported) is much worse under Linux (4h) than under OSX (9-10h). Part of the reason is that I’m using the NVIDIA card under Linux and OSX can switch to the embedded Intel card. I haven’t figured out how to switch under Linux yet.
- ATLAS (as shipped with Sage) doesn’t know the i7, thus building Sage takes ages. For some reason even with SAGE_FAT_BINARY=”yes” set.