i take no credit for this, just found it over on XDA.
Here's how to get this working
1. Search for Adfree Android on the market
2. Install and run
3. allow it to download and install new hosts file, it will copy it to your sdcard and try to replace /system/etc/hosts but fail (it should reboot the phone shortly)
3a. Phone may reboot, this is fine, don't worry. if it doesn't reboot, check your SD card for a file simply named "hosts". if it's there, then continue on.
4. Power off the phone and hold Volume Down and power.
5. Use volume down to select recovery
6. In clockwork recovery volume down to "partitions menu" and hit the track pad to select
7. Select "mount /system", "mount /sdcard" and "mount /data"
8. Plug in your usb cord and open a command line on your pc
9. enter adb shell and type: cp /sdcard/hosts /data/data/hosts (This copies the AdFree hosts file from the SD Card to the /data partition, where it can be edited by AdFree)
10. mv /system/etc/hosts /system/etc/hosts.bak (This renames the current hosts file, rather than deleting it, should you ever want to remove AdFree and return to the original hosts file)
11. ln -s /data/data/hosts /system/etc/hosts (This creates a symbolic link, which allows AdFree to edit the hosts file stored in /data while allowing the OS to use the file as if it were stored in /system. You won't need to reboot into recovery each time you want to update the hosts file!)
12. Reboot and enjoy.
EDIT: updated with new method. just did this myself and it works great. it updates on it's own now.
ANOTHER EDIT: I just had a guy PM me asking "what if the phone doesn't reboot on step 3?"
it may or may not reboot. bottom line is that we want the "hosts" file to get downloaded from Adfree onto our SD card. so if the phone doesn't do an instant reboot when getting the hosts, just check your SD card for a file named "hosts". if it is there, then you are good to continue on and follow the rest of the steps. let me know if you need any further help. i did it the old way about a week or so ago, and then did it the new way last night so that i could have Adfree automatically update the hosts file on its own. the new method does work flawlessly.
Here's how to get this working
1. Search for Adfree Android on the market
2. Install and run
3. allow it to download and install new hosts file, it will copy it to your sdcard and try to replace /system/etc/hosts but fail (it should reboot the phone shortly)
3a. Phone may reboot, this is fine, don't worry. if it doesn't reboot, check your SD card for a file simply named "hosts". if it's there, then continue on.
4. Power off the phone and hold Volume Down and power.
5. Use volume down to select recovery
6. In clockwork recovery volume down to "partitions menu" and hit the track pad to select
7. Select "mount /system", "mount /sdcard" and "mount /data"
8. Plug in your usb cord and open a command line on your pc
9. enter adb shell and type: cp /sdcard/hosts /data/data/hosts (This copies the AdFree hosts file from the SD Card to the /data partition, where it can be edited by AdFree)
10. mv /system/etc/hosts /system/etc/hosts.bak (This renames the current hosts file, rather than deleting it, should you ever want to remove AdFree and return to the original hosts file)
11. ln -s /data/data/hosts /system/etc/hosts (This creates a symbolic link, which allows AdFree to edit the hosts file stored in /data while allowing the OS to use the file as if it were stored in /system. You won't need to reboot into recovery each time you want to update the hosts file!)
12. Reboot and enjoy.
EDIT: updated with new method. just did this myself and it works great. it updates on it's own now.
ANOTHER EDIT: I just had a guy PM me asking "what if the phone doesn't reboot on step 3?"
it may or may not reboot. bottom line is that we want the "hosts" file to get downloaded from Adfree onto our SD card. so if the phone doesn't do an instant reboot when getting the hosts, just check your SD card for a file named "hosts". if it is there, then you are good to continue on and follow the rest of the steps. let me know if you need any further help. i did it the old way about a week or so ago, and then did it the new way last night so that i could have Adfree automatically update the hosts file on its own. the new method does work flawlessly.