Introduction 
Here's a tutorial that covers the installation of a previously built or downloaded Free Android Image,we will assume that: 
 * you don't have the engineering bootloader
 * you have root access
 * you have a blank vfat sdcard in your android phone with enough free space
 Howto 
 * /!\ first backup your curent version...in case something is wrong we need it
 * then if you want the proprietary wifi firmware,execute the following command on your computer(/!\ the firmware is proprietary,we don't know what it does and we are not even allowed to redistribute it):
{{{
 ./adb pull /system/etc/wifi/Fw1251r1c.bin ./
}}}
 * dowload an image that can flash our Free Android, like cm-recovery-1.4.img for instance (/!\ we didn't check cm-recovery-1.4.img's freedom) 
{{{
wget http://n0rp.chemlab.org/android/cm-recovery-1.4.img
}}}
Then we will boot on the image that will flash our android:
 * shutdown your phone if it isn't shut down
 * press the camera button first,keep pressing it while pressing the power button...that will give you a screen with skateboarders
 * use fastboot to boot:
{{{
./fastboot boot cm-recovery-1.4.img
}}}
 * press on the back button(<-) that is under the menu button at the right of the trackball
it will boot
 * backup your image selecting "nandroid v2.2 backup" 
 * then use adb to push your images but first we need to look where to push them:
{{{
./adb shell
mount -t vfat /dev/block/mmcblk0p1 /sdcard
ls -d /sdcard/nandroid/*/*                   
/sdcard/nandroid/HT935NG03334/CBDMRS12-20090917-1455
exit
}}}
 * write down the last line before the exit command,because it will differ from device to device
 * push the images:
{{{
./adb shell
mount -t vfat /dev/block/mmcblk0p1 /sdcard
exit
./adb push boot.img /sdcard/nandroid/HT935NG03334/CBDMRS12-20090917-1455
./adb push system.img /sdcard/nandroid/HT935NG03334/CBDMRS12-20090917-1455
}}}
 * then we need to compute the md5sums:
{{{
./adb shell
md5sum /sdcard/nandroid/HT935NG03334/CBDMRS12-20090917-1455/system.img 
a491db2000489c7fb7c5f7fe4b103b8c  boot.img
md5sum /sdcard/nandroid/HT935NG03334/CBDMRS12-20090917-1455/system.img 
610b10a715ea1a5db4e6badd6a8a2989  system.img
}}}
 * write down the result of both md5sum commands
 * download the nandroid.md5 file
{{{
./adb pull /sdcard/nandroid/HT935NG03334/CBDMRS12-20090917-1455/nandroid.md5 ./
}}}
 * change the lines where there is boot.img and system.img to the ones you've writed down previously
 * push them:
{{{
./adb push nandroid.md5 /sdcard/nandroid/HT935NG03936/CBDMRS12-20090917-1455/nandroid.md5 
}}}
 * umount the sdcard
{{{
./adb shell
umount /sdcard
}}}
 * then select "restore the lastest backup" on the screen,with the trackball
 * press home like it is said
 * then select "wipe  data/factory reset" on the screen,with the trackball /!\ it will erase all the data of your phone...
 * then select reboot system now
 * then do the following(while the system is booting because the boot will take longer than usual):
{{{
./adb shell
	}}}