[G1 Q&A, Help & Troubleshooting] kchau:
so, ive been following this thread

http://xdaforums.com/showthread.php?p=4379172

with this a2sd, it doesnt boot:

#!/system/bin/sh
#
# Apps2SD using symlinks and bind mounts
# shade@chemlab.org (cyanogen)
#

echo "--- Welcome to Android/CyanogenMod!";

sysctl -p

# execute any postinstall script then kill it
if [ -e /data/firstboot.sh ];
then
echo "--- Executing firstboot.sh";
/system/bin/sh /data/firstboot.sh;
rm -f /data/firstboot.sh;
fi;

if [ -e /dev/block/mmcblk0p2 ];
then
echo "--- Checking ext filesystems";

# fsck the sdcard filesystem first
e2fsck -y /dev/block/mmcblk0p4;

# set property with exit code in case an error occurs
setprop cm.e2fsck.errors $?;

# mount and set perms
busybox mount -o noatime,nodiratime -t auto /dev/block/mmcblk0p4 /system/sd;
busybox chown 1000:1000 /system/sd;
busybox chmod 771 /system/sd;

# clean up any old symlinks, create data directories
for i in dalvik-cache data;
do
if [ -h /data/$i ];
then
rm /data/$i;
fi;
if [ ! -d /data/$i ];
then
mkdir /data/$i;
busybox chown 1000:1000 /data/$i;
busybox chmod 771 /data/$i;
fi;
done;

# don't allow /data/data on sd because of upgrade issues - move it if possible
if [ -d /system/sd/data ];
then
busybox cp -a /system/sd/data/* /data/data/;
busybox rm -rf /system/sd/data;
fi;

# move apps and dalvik cache from internal memory to sdcard
for i in app app-private dalvik-cache;
do
if [ ! -d /system/sd/$i ];
then
mkdir /system/sd/$i;
fi

busybox chown 1000:1000 /system/sd/$i;
busybox chmod 771 /system/sd/$i

if [ -d /data/$i ] && [ ! -h /data/$i ];
then
busybox cp -a /data/$i/* /system/sd/$i/;
busybox rm -f /data/$i/*;
fi;
done;

# symlink app dirs - they must be on the same filesystem
for i in app app-private;
do
if [ -d /data/$i ] && [ ! -h /data/$i ];
then
busybox rm -rf /data/$i;
busybox ln -s /system/sd/$i /data/$i;
fi;
done;

# bind mount dalvik-cache so we can still boot without the sdcard
busybox mount -o bind /system/sd/dalvik-cache /data/dalvik-cache;
busybox chown 1000:1000 /data/dalvik-cache;
busybox chmod 771 /data/dalvik-cache;

# clean up old whiteouts
for i in local misc property system tombstones data;
do
if [ -h /system/sd/$i ]; then rm -f /system/sd/$i; fi
done;

# please don't put odex files in the app directory people!
# it causes dexopt to crash when switching builds!
busybox rm -f /system/sd/app/*.odex

# call a userinit.sh script if it's present on the sdcard
# otherwise just enable compcache with no backing swap
if [ -e /system/sd/userinit.sh ];
then
echo "--- Executing userinit.sh"
busybox chmod +x /system/sd/userinit.sh
/system/bin/sh /system/sd/userinit.sh;
else
modprobe ramzswap;
/system/bin/rzscontrol /dev/block/ramzswap0 --init
swapon /dev/block/ramzswap0
fi

setprop cm.a2sd.active 1;

echo "+++ Apps-to-SD successfully enabled";

else

# replace symlinks with directories so we can boot without sd
for i in app app-private;
do
if [ -h /data/$i ];
then
rm -f /data/$i;
mkdir /data/$i;
busybox chown 1000:1000 /data/$i;
busybox chmod 771 /data/$i;
fi;
done;

modprobe ramzswap;
/system/bin/rzscontrol /dev/block/ramzswap0 --init
swapon /dev/block/ramzswap0

setprop cm.a2sd.active 0;
fi;

sync;

setprop cm.filesystem.ready 1;

with this a2sd, no swap shows up when i go adb shell free:

#!/system/bin/sh
#
# Apps2SD using symlinks and bind mounts
# shade@chemlab.org (cyanogen)
#

echo "--- Welcome to Android/CyanogenMod!";

sysctl -p

# execute any postinstall script then kill it
if [ -e /data/firstboot.sh ];
then
echo "--- Executing firstboot.sh";
/system/bin/sh /data/firstboot.sh;
rm -f /data/firstboot.sh;
fi;

if [ -e /dev/block/mmcblk0p2 ];
then
echo "--- Checking ext filesystems";

# fsck the sdcard filesystem first
e2fsck -y /dev/block/mmcblk0p2;

# set property with exit code in case an error occurs
setprop cm.e2fsck.errors $?;

# mount and set perms
busybox mount -o noatime,nodiratime -t auto /dev/block/mmcblk0p2 /system/sd;
busybox chown 1000:1000 /system/sd;
busybox chmod 771 /system/sd;

fi;

sync;

setprop cm.filesystem.ready 1;

and with the default a2sd, no boot.

and this is my user.conf

# General parameters
general{
apps2sd=0	# this is useless here, require a modified a2sd script
media2sd=0	# moves the medias to sd if /system/sd/media exists
}

#compcache related parameters
compcache{
compcache_en=1	# enable(1) or disable(0) compcache
cc_disksize=70	# Ram swap disksize - any number between 1 to 95 should work
cc_memlimit=18	# Limit the memory usage for backing swap (cc .5x known issue-defaults to 15% of total RAM)
cc_backingswap_en=0	# enable(1) or disable(0) backing swap
cc_backingswap=/dev/block/mmcblk0p2 # pointing to the backingswap partition device
cc_swappiness=60 # default 60
}

#Linux swap parameters
#
# linux swap can only be enabled if cc_backingswap_en is set to "0"
#
linux_swap{
linux_swap_en=1	# enable(1) or disable(0) linux swap
linux_swap_partition=/dev/block/mmcblk0p2 # swap partition device
swappiness=60 # default 60
}

partition 1 is my fat32 which is whatever 8 gigs minus 64

partition 2 is 64 megs of linux_swap