[Optimus One, P500, V Q&A, Help & Troubleshooting] engr_exxi:
Create a file name 40int2ext then paste this.

Open notepad or notepad++.

Save file as 40int2ext

delete .txt extension at filename. (note you should set your pc to show extension file names)

You must have an ext partition at your sd card. I use ext4. You could choose among ext2/3/4 though.

As cronmod suggest the maximum size for partition must be 1GB/100mb of internal storage. I used about 512mb

From cronmod's int2ext

#!/system/bin/sh
#####################################
## CronMod INT2EXT+ - 02/21/2013 ##
## Written by CronicCorey [MENTION=243864]xda[/MENTION] ##
## 40int2ext ##
#####################################
## Thanks to Mastermind1024 [MENTION=3964321]Xda F[/MENTION]or helping to solve the IMEI and Baseband issues on some devices
## Thanks to vvFICKvv, DK75, and Dark Passenger [MENTION=3964321]Xda F[/MENTION]or help to fix compatibility issues with Android 4.2.x
## Thanks to Mortaromarcello [MENTION=4166799]github[/MENTION] for code to check if mmcblk0p2 exists

## Only continue if mmcblk0p2 exists
if [ ! -e /dev/block/mmcblk0p2 ]
then
exit
fi;

## Set SD cache size
SD_CACHE=/sys/devices/virtual/bdi/179:0/read_ahead_kb
if [ -e $SD_CACHE ]
then
busybox echo "1024" > $SD_CACHE;
fi;

## Make /sd-ext directory if needed and unmount /sd-ext if it already mounted
if [ ! -e /sd-ext ]
then
busybox mount -o remount,rw /;
busybox mkdir /sd-ext;
busybox mount -o remount,ro /;
else
busybox umount /sd-ext;
fi;

## Move /data mount point to /sd-ext
INT_DATA=$(busybox mountpoint -n /data | cut -d ' ' -f1)
busybox umount /data;
busybox mount $INT_DATA /sd-ext;

## Mount mmcblk0p2 to /data
busybox mount -o noatime,nodiratime,nosuid,nodev /dev/block/mmcblk0p2 /data;
busybox chown 1000:1000 /data;
busybox chmod 771 /data;

## Move existing files
if [ ! -e /data/app ]
then
busybox mv /sd-ext/* /data;
fi;

## Move /data, /misc, /nvram, /property, and /radio back to /sd-ext
for i in data misc nvram property radio;
do
if [ ! -e /sd-ext/$i ] && [ -e /data/$i ]
then
busybox mv /data/$i /sd-ext;
busybox mkdir /data/$i;
fi;

## Make Binds
if [ -e /data/$i ]
then
busybox mount -o bind /sd-ext/$i /data/$i;
fi;
done;

## Unmount /sd-ext
busybox umount /sd-ext;

sync;

############################################################################################################################################################

########################################################
## Bind Cache by CyanogenMod ##
## bind mount /data/local/download to /cache/download ##
## if cache partition is too small ##
########################################################

CACHESIZE=$(df -k /cache | tail -n1 | tr -s ' ' | cut -d ' ' -f2)
DATAONLY=$(getprop dalvik.vm.dexopt-data-only)
if [ "$DATAONLY" = "1" ]
then
NEEDED=60000
else
NEEDED=105000
fi;

if [ $CACHESIZE -lt $NEEDED ]
then
mount -o bind /data/local/download /cache/download;
fi;

rm /cache/download/downloadfile*.apk >/dev/null 2>&1;

sync;

############################################################################################################################################################

######################################################################
## Automatic ZipAlign by Wes Garner ##
## ZipAlign files in /data that have not been previously ZipAligned ##
## Thanks to oknowton for the changes ##
######################################################################

LOG_FILE=/data/zipalign.log
if [ -e $LOG_FILE ]; then
rm $LOG_FILE;
fi;

echo "Starting Automatic ZipAlign" | tee -a $LOG_FILE;
for apk in /data/app/*.apk ; do
zipalign -c 4 $apk;
ZIPCHECK=$?;
if [ $ZIPCHECK -eq 1 ]; then
echo ZipAligning $(basename $apk) | tee -a $LOG_FILE;
zipalign -f 4 $apk /cache/$(basename $apk);
if [ -e /cache/$(basename $apk) ]; then
cp -f -p /cache/$(basename $apk) $apk | tee -a $LOG_FILE;
rm /cache/$(basename $apk);
else
echo ZipAligning $(basename $apk) Failed | tee -a $LOG_FILE;
fi;
else
echo ZipAlign already completed on $apk | tee -a $LOG_FILE;
fi;
done;
echo "Automatic ZipAlign finished" | tee -a $LOG_FILE;

I used it and it works