Actually you can use FSL BSP to run android on QSB directly.
For example, if you are using Android R103, you can try the following:
1. Build one bootloader for MX53 QS.
$ cd ~/myandroid/bootable/bootloader/uboot-imx
$ make distclean
$ make mx53_loco_config
$ make
2. Build the Kernel
$ cd ~/myandroid/kernel_imx
$ make imx5_android_defconfig
$ make uImage
3. Reuse SMD android rootfs and make some minor changes for LOCO;
$ cd ~/myandroid
$ source build/envsetup.sh
$ lunch imx53_smd-user
$ make
4. Modify the init.freescale.rc in the ramdisk to fix the screen rotation issue:
$ cd ~/myandroid/out/target/product/imx53_smd
$ cp -r root root_loco
$ cd root_loco
$ vim init.freescale.rc (modify the init.freescale.rc by comment out this statement: setprop ro.sf.hwrotation 270)
$ find . | cpio --create --format='newc' | gzip > ../ramdisk-loco.img
$ cd ..
$ mkimage -A arm -O linux -T ramdisk -C none -a 0x70308000 -n "Android Root Filesystem" -d ./ramdisk-loco.img ./uramdisk-loco.img
5. Program the uboot.bin, uImage, system.img, recovery.img and uramdisk-loco.img to a TF card and boot from QSB board. The uboot cmd are as follows:
setenv ethaddr 00:04:9f:01:57:8B
setenv fec_addr 00:04:9f:01:57:8B
setenv loadaddr 0x70800000
setenv rd_loadaddr 0x70D00000
setenv bootcmd 'run bootcmd_SD; bootm ${loadaddr} ${rd_loadaddr}'
setenv bootcmd_SD 'mmc read 0 ${loadaddr} 0x800 0x2000; mmc read 0 ${rd_loadaddr} 0x3000 0x300;'
setenv bootargs 'console=ttymxc0 init=/init androidboot.console=ttymxc0 ldb=off gpu_nommu, gpu_memory=64M video=mxcdi1fb:GBR24,VGA-XGA di1_primary vga'
saveenv
6. To make sdcard and extsd mounted correctly, it needs to modify the vold.fstab. In order not to change the default vold.fstab in the build env. Thus, suggest to do it in this way. Boot up the QSB and then do the following changes in the console:
# mount -o remount,rw /dev/block/mmcblk0p2 /system ß to make the system partition writable
# bash
bash-3.2# busybox vi /system/etc/vold.fstab ß busybox is installed in R10.3 now, so we have vi to edit the file directly