installing archlinux+luks+dm-crypt+lvm on macbook pro

first, i installed a new hard disk into my macbook. put in the osx install dvd, formatted the disk to have only one 28GB partition for osx. this was all really easy and straight forward. after booting into osx, i installed refit. first problems i had were trying to use a usb stick to install from. my macbook and refit weren't having any of it. anyway, to get down to installing all this fun stuff. once booted into the arch install cd, the first thing i did was start up parted and add a 100mb sda3 which will be used for /boot and then made sda4 use the rest. after that, it was install arch like normal. only difference was at the partition disks stage, i just went directly to manually configure block devices. sda3 was just a normal ext2 partition, mountpoint /boot. sda4 was made into a dm_crypt device. that new device was then used as a LVM2 physical volume. that lvm-pv was then used to make an lvm volume group. that volume group i used to make three logical volums: root, home, and swap. root and home were partitioned as ext4 and mounted to / and /home respectively. swap was swap. after that, everything was just pretty straight forward. and a normal install. the problems came when it was time to install grub. i had to exit the installer (by that time all the files were written to the disks, so i didn't need it anymore). i mounted all my disks using something like this:
# mkdir /fake
# cryptsetup luksOpen /dev/sda4 nameOfCryptDevice
# vgchange -ay
# mount /dev/volgroup/root /fake
# mount /dev/volgroup/home /fake/home
# mount /dev/sda3 /fake/boot
# mount -t proc proc /fake/proc
# mount -t sysfs sys /fake/sys
# mount -o bind /dev /fake/dev
# chroot /fake /bin/bash
# grep -v rootfs /proc/mounts >/etc/mtab
now that i've got updated mounts into my chroot, i could work with grub. this is what the installer tried to do and failed:
grub> device (hd0,2) /dev/sda
grub> root (hd0,2)
grub> setup (hd0,2)
grub> quit
now grub works in refit and shows the little tux penguin! yay. lastly, i fixed my mkinitcpio stuff and made sure the HOOKS line only contained these things in order with no repeats:
HOOKS="... usbinput keymap encrypt lvm2 filesystems"
then i ran
# mkinitcpio -p kernel26
and watched the stuff go by. once that was done, i left the chroot and unmounted everything
# umount /fake/{proc,sys,dev,home,boot}
# umount /fake
# vgchange -an volgroup
# cryptsetup luksClose nameOfCryptDevice
# reboot
tada!