[XPERIA X8 Android Development] a-k-t-w:
Because propoff2 got himself banned, I've decided to re-create his threads for you, hopefully with easier to follow instructions than before.

X8 Android 2.1-rus

X8 Android 1.6

Modified Image (x8.img)

Data.img

Busybox, Rootshell, Chargemon

(If for whatever reason any of the above links don't work, scroll down and see propc's post.)

Before moving on, decide whether you want to boot the rom from the sdcard or from the internal memory, then use the correct instructions to do so.

If you've tried this method and REALLY don't like the customized rom, then see this thread for how to install a clean, pre-rooted rom! :D

==BOOTING CUSTOM ROM FROM SD==

Before you begin, put chargemon, busybox, rootshell, x8.img and data.img onto the sdcard.

1. Flash 1.6 firmware to the phone.

2. Root the phone.

3. Copy the files rootshell, chargemon and busybox to /system/bin

(You can do this by putting the files on the sdcard, and using a file manager such as root explorer to copy the files into /system/bin. Command line instructions will be here soonish. This guide is still a WIP).

4. Chmod the files.

chmod 4755 /system/bin/rootshell
chmod 755 /system/bin/busybox
chmod 777 /system/bin/chargemon

5. Copy both x8.img (/system) and data.img (/data) to the sdcard.

6. Flash 2.1 kernel using this flashing utility. (The GUI version is perfectly fine to use.)

Remember to remove system.sin and userdata.sin from the flash files!

7. Reboot and hope it works.

==BOOT CUSTOM ROM FROM INTERNAL MEMORY==

Before you being, copy x8.img and busybox on to the sdcard.

1. Follow steps 1-2 from the instructions above.

2. Copy busybox to /data/local/tmp

cd /data/local/tmp
cat /sdcard/busybox > /data/local/tmp/busybox

3. Chmod busybox.

chmod 755 busybox

4. Using busybox, remount /system as rewriteable.

./busybox mount -o remount,rw /system
./busybox sh

5. Mount x8.img.

./busybox mkdir /data/local/tmp/1
./busybox losetup /dev/block/loop1 /sdcard/x8.img
./busybox mount -t ext2 -o rw,noatime,nodiratime /dev/block/loop1 /data/local/tmp/1

6. Remove the contents of /system. ADVICE: Remove the folders one by one, leave /system/bin and /system/app last! That way your phone is less likely to crash whilst doing this step. DO NOT TRY AND USE YOUR PHONE WHILE DOING THIS, YOUR PHONE IS CERTAIN TO CRASH! Make sure the phone is locked.

./busybox rm -rf /system/media
./busybox rm -rf /system/usr
./busybox rm -rf /system/etc
./busybox rm -rf /system/lib
./busybox rm -rf /system/xbin
./busybox rm -rf /system/framework
./busybox rm -rf /system/fonts
./busybox rm -rf /system/drm
./busybox rm -rf /system/build.prop
./busybox rm -rf /system/app
./busybox rm -rf /system/bin

7. Now copy the files into the phone's internal memory. Again, we have to copy these over one by one, as the phone WILL run out of memory during this process! Most important files go first.

./busybox cp -prfR /data/local/tmp/1/bin /system/
./busybox cp -prfR /data/local/tmp/1/xbin /system/
./busybox cp -prfR /data/local/tmp/1/etc /system/
./busybox cp -prfR /data/local/tmp/1/usr /system/
./busybox cp -prf /data/local/tmp/1/build.prop /system/
./busybox cp -prfR /data/local/tmp/1/lib /system/
./busybox cp -prfR /data/local/tmp/1/framework /system/
./busybox cp -prfR /data/local/tmp/1/fonts /system/
./busybox cp -prfR /data/local/tmp/1/drm /system/
./busybox cp -prfR /data/local/tmp/1/media /system/
./busybox cp -prfR /data/local/tmp/1/app /system/

Hopefully you won't run out of space until you try and copy /app over. No worries! Your phone will still start, and you can easily restore those files after.

8. Flash the 2.1 kernel, and userdata.

Unlike in the previous instructions, you only want to remove system.sin from the flash files! Put userdata.sin back if you've removed it!

9. Turn on your phone and just hope you didn't mess up! :D

==APPS ON SD==

See this thread: App2SD Mod (Moves dalvik cache to SD) Instructions

ARGH!! MY PHONE IS STUCK IN A ETERNAL REBOOT? WHAT DO I DO?!

Well, if you know for sure what you did, and don't fancy reflashing all over again, then just plug in your phone and use adb to shell into the phone. Quickly fix the problem before the phone reboots!

Just putting this out there: These instructions were roughly written up. If you're having issues, don't be afraid to ask! If you spot any mistakes, please let me know! I'll expand on these instructions later.

All credits go to pulpoff2, for figuring out this solution, and propc for re-uploading the files, discovering steps 6 and 7 in the internal memory instructions, and for helping me fix these instructions multiple times. :D