Championswimmer's Ultimate HOW-TO

Search This thread

THeLogiC

Senior Member
Sep 19, 2011
3,510
895
29
guys do check my signature
lots of love to all and thanks !!
atlast compiled the kernel properly :)

only problem I faced was creating ftf file.
doomlords ftf creator would just open terminal for a second and close the next moment after starting process

you kernel kitchen gives error loader.sin not found and also some directory not found error

So I just created kernel.sin and replaced it in a working kernel ftf.
wifi works too :)
thanks

ysatyze2.jpg
 
Last edited:

Mugsyfied

Senior Member
Sep 29, 2011
185
71
Thanks for all the help and development etc, your contributions will keep my old x10 chugging along for a while yet :)
Be safe and good luck on your journey.
 

scritch007

Senior Member
Jan 5, 2011
699
4,909
Reims
Thanks for this post, it's now in my bookmarks.

Very helpful, to have one place to find all those information.


@championswimmer

One improvement would be to update the Kernel part, with commands on linux to generate the ftf, since DoomLord script can be easily ported to linux. (Maybe you did it in your kernel_tools)
 

championswimmer

Inactive Recognized Developer
Oct 22, 2011
5,018
8,446
New Delhi
android.championswimmer.tk
Thanks for this post, it's now in my bookmarks.

Very helpful, to have one place to find all those information.


@championswimmer

One improvement would be to update the Kernel part, with commands on linux to generate the ftf, since DoomLord script can be easily ported to linux. (Maybe you did it in your kernel_tools)

Yeah
My kernel tools can do it
:)

Sent from my LT26i using xda app-developers app
 

Toledo_JAB

Retired Forum Moderator
Jan 16, 2011
3,076
3,142
Toledo
I still couldn't make any ftf file using doomlords tool or your tool.
I got error 'loader.sin nor found' if I remember correctly at that time

I always use dooms tool in win xp. Was the loader.sin in the .rar folder? I actually just downloaded & used it yesterday to make ftf for Ion, it made it but addresses are different so didn't work. :(


from my LT28at tweaked with Ice Cream all over it. :)
 

THeLogiC

Senior Member
Sep 19, 2011
3,510
895
29
I always use dooms tool in win xp. Was the loader.sin in the .rar folder? I actually just downloaded & used it yesterday to make ftf for Ion, it made it but addresses are different so didn't work. :(


from my LT28at tweaked with Ice Cream all over it. :)
I dont think it was. I manually tried to put loader.sin from another kernel in there but still got that error.

EDIT:
I tried dooms tool in win 7( immediately closes the cmd screen after starting ftf creating process)
champs tool in win7 and ubuntu.(gives out error for loader.sin)
 
Last edited:

championswimmer

Inactive Recognized Developer
Oct 22, 2011
5,018
8,446
New Delhi
android.championswimmer.tk
I dont think it was. I manually tried to put loader.sin from another kernel in there but still got that error.

EDIT:
I tried dooms tool in win 7( immediately closes the cmd screen after starting ftf creating process)
champs tool in win7 and ubuntu.(gives out error for loader.sin)

You need to name it as loader_unlocked_x10.sin or something like that
Check the script file to know for sure

Sent from my LT26i using xda app-developers app
 
  • Like
Reactions: THeLogiC

Top Liked Posts

  • There are no posts matching your filters.
  • 14
    after numerous requests here we go!!!

    no it's not complete yet, just starting...

    firstly i'll just link up all threads from where i took collected my info, and then i'll start wiriting my how-to

    it'll take time as my school and entrance exams are main priority at the moment but i'll do it in bits and pieces and i'll manage to pull it off before you x10 dies off .. ha ha ha

    ==========================================================================================================
    SIMPLE GUIDE TO COMPILE KERNEL FOR X10i/X10a

    =====================================================================================================
    COMPILE AOKP FOR ANY XPERIA PHONE

    =====================================================================================================
    REFERENCE TO COMPILE AOSP/AOKP/CM7/CM9 FOR X10i/X10a


    ==========================================================================================================


    firstly credits : >

    1. DoomLord -> whose tools and info thread are just awesome
    2. Zdzihu -> the biggest ever dev for x10 and for doing impossible feats
    3. Freexperia Team -> for supporting this device for 2 years
    4. Spaarc -> for his guide and his vast knowledge (guys!! this dude is 1 yr younger than me!!)
    5. Azuzu -> for his awesome windows based tools
    6. Androxyde -> flashtool and awesome shell scripts
    7. Colossus -> for being the best mod ever !!! (yes i mean it buddy) and for guiding me a lot
    8. Sahibunlimited -> for being me buddy and a really good friend to everybody here
    9. GregBradley -> for being having the most useful signature in xda (and having helped me out when i was a noob)
    10. LzVebz -> Pestering me to write this

    phew!!! hope that's all?? more left?? please pm me, i'lll add you

    EDIT

    11. pvyParts -> for showing how to work on apk files
    12. iridaki -> for being helpful and encouraging and pepping me up for all the good work i did and mostly for being an elder sister :)
    13. ~Pilot~ -> for keeping xda clean :)
    14. TAL333 -> for standing by me and believing in me
    12
    Compiling kernel

    So letme tell you how a kernel for x10 can be compiled

    1. install ubuntu (through wubi or in vmware will also do) but i prefer on a separate partition.

    2. Install the following packages
    git-core gnupg sun-java6-jdk flex bison gperf libsdl-dev libesd0-dev libwxgtk2.6-dev build-essential zip curl libncurses5-dev zlib1g-dev

    here's how you go about doing it

    Code:
    sudo apt-get install git-core gnupg flex bison gperf libsdl-dev libesd0-dev libwxgtk2.6-dev build-essential zip curl libncurses5-dev zlib1g-dev

    sun-java6-sdk is no more officially available through ubuntu repositories
    so you will need a workaround.... so here are some helpful articles
    http://www.gaggl.com/2011/10/installing-java6-jdk-on-ubuntu-11-10/
    http://superuser.com/questions/353983/how-do-i-install-the-sun-java-sdk-in-ubuntu-11-10-oneric
    http://softwareinabottle.wordpress.com/2011/11/17/install-sun-jdk-6-on-ubuntu-11-10/

    In case you are on a 64-bit version of ubuntu, (btw i strongly recommend using a 32 bit version for android development as you'll face various problems with 64-bit at various stages) you'll need these packages too

    ia32-libs lib32z1-dev lib32ncurses5-dev gcc-multilib g++-multilib

    3. Next you'll need a cross-compiler.
    a cross compiler is used to compile for a different architecture than from the one you are currently working on. in this case you are either on a i686 or amd64 pc while the kernel you are compiling is for an ARMv7 processor.


    for ubuntu, getting the Linaro GCC cross compiler for arm is getting as easy as
    Code:
    sudo apt-get install gcc-arm-linux-gnueabi

    4. Now you are pretty much set up to compile kernels. Next we need sources.
    So let me link you up to the most common available ones

    5. So the source you have downloaded will be either a tar or zip archive. Using archiver, extract it into a directory of your liking.

    6. Open terminal and 'cd' into the kernel directory. The kernel directory is the one which contains the folders arch, block, crypto, firmware, drivers .....
    for compiling kernel you need to be in the root of this direcrory.

    7. So here are a few codes that will get your kernel compiled

    To clean source directory : -
    Code:
    ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- make clean
    ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- make distclean
    To get default configuration
    Code:
    ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- make semc_es209ra_defconfig
    if you are compiling FXP kernel then instead of semc_es209ra_defconfig you need to write fxp_es209ra_defconfig , and likewise for DoomKernel you need to use doom_x10_defconfig

    To configure the kernel
    Code:
    ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- make menuconfig
    inside general setup you can name your kernel
    and inside power management setup you can setup which CPU governors will be present and which will be default
    do not mess to much with the driver setups or with "kernel hacking" area....
    do not touch things that you have no idea about

    Finally... to compile the kernel
    Code:
    ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- make

    If all goes well, you'll get this message
    Kernel: arch/arm/boot/Image is ready
    Kernel: arch/arm/boot/zImage is ready


    If you get stuck in between, nothing to fret about. Just post here what problem you faced, amd me or some other helpful soul will help you out :)

    8. I know you are thinking "whew!! are we done??"... ha ha ha!! no buddy!! not yet... much more work to do. :p
    Firstly from you kernel directory go to arch/arm/boot (using a file explorer, not a terminal) and inside you'll find a 2~3 MB sized file called zImage. Copy that file into a separate folder where you'll stach all your finished works.

    9. Now we need to compile the wifi modules.

    It is imperative to note here that wifi modules should be compiled immediately after kernel has been compiled. DO NOT run "make clean" or "make distclean" commands in the kernel folder before wifi modules have been compiled

    For compiling wifi, you'll need the "vendor" folder (which is there in official sony kernel sources but not present in Doom's or FXP's repo). So if you need just the vendor folder, you'll HAVE TO download the official kernel sources too.


    in terminal 'cd' to vendor/atheros/wlan/host/ folder
    edit the localmake.linux.inc file using a text editor
    Code:
    sudo gedit localmake.linux.inc

    edit the line ATH_CROSS_COMPILE_TYPE := arm-eabi- to ATH_CROSS_COMPILE_TYPE := arm-linux-gnueabi-

    also in the line
    # ATH_LINUXPATH := < kernel source path >
    remove the # (uncomment it) and insert the appropriate kernel source path (the folder that contains arch, crypto, firmware, drivers etc folders.

    now to compile wifi modules, run this code
    Code:
    ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- KERNEL_DIR=/path/to/kernel make
    of course, in place of "/path/to/kernel" type the actual path to kernel on your pc :p

    this will get your wifi module compiled


    go to the folder
    vendor/atheros/wlan/host/.output/QUALCOMM_ARM_NATIVEMMC_BSP_REV=3240-SDIO/image/
    and you'll find a file ar6000.ko
    transfer that file to the place where you kept your zImage safely earlier.


    10. PHew!! done?? ha ha .. no dude.. still not...more work left

    now to pack things up, you'll need a ramdisk.
    so lets steal a ramdisk from a already working kernel (for stock kernel take stock ramdisk, for cm7/cm9 take respective ramdisk)

    take any kernel and unpack it using instructions given here
    the file ending with xyz.cpio.gz is the ramdisk. rename the file into "ramdisk" (without any extension) and put this file into the folder where you kept your zImage and wifi module.

    Now transfer all these three files into a folder which is accessible from your Windows partition (oops... yeah... without windows you cannot finish this job)

    Rest of the steps that follow are to be done on Windows (i have not tried on WINE)


    rename zImage to "image"
    now using this tool (courtesy DoomLord) pack your ramdisk and image into a flashable .ftf file

    also make a copy of the file ar6000.ko and name it wifi.ko
    both these ar6000.ko and wifi.ko files are supposed to be in the folder /system/lib/module of your mobile (please create appropriate flashable zip for the same)

    ===============================================================================================================
    If you found this Guide helpful, please remember to press the thanks button ;P
    ================================================================================================================
    7
    Ok so as they say "safety first"
    Let me give you your CRASH HELMET

    It is said that x10 is UNBRICKABLE, though that is true but not hard and fast rule. Jerpelea and Doomlord have bricked x10 devices before and it's not all that impossible. Still, if you keep care of following things, you'll never brick your phone

    1. NEVER DISCONNECT USB CABLE while flashing/bootloader unlocking/pccompanion upgrade is going on
    2. Be extremely careful while using the_laser or 9Lukas5's unlock procedure. It changes device partition and mapper modules so they are delicate ares and can brick your device if procedure is not followed

    3. DO NOT PANIC, THINGS CAN BE SET RIGHT. BE CALM, BE PATIENT, ASK FOR HELP AT XDA

    =======================================================================================================================

    Ok so, there can be bad flashes or whatever..... what to do if device does not boot up??

    1. If the problem is about RED flashing led, then just plug your phone into a charger and wait over night ;) it's a low charge problem. Once charged, all will be ok

    2. If you face boot loop and you just do not know what to do (i.e. you cannot go to recovery too) then do this
    a.) either download PC companion and update/upgrade your phone
    OR
    b.) download latest flashtool and flash a 2.1 for 2.3.3 firmware (that you get in .ftf format) that will set you on track
    5
    Ok, so lets get to our stuff fast

    Her we begin with some info about how a ROM works

    when cooking/porting roms, you are concerned with only a few folders

    download any randon ROM zip and unzip it and see what it contains

    1. /system/app -> this folder contains all apk files of apps

    2. /system/framework -> this folder contains lots of .jar files that defines how the base operating system will run and function

    3. /system/lib -> lots of .so files that are like drivers (yep .dll files in windows), these specify how the software communicates with various hardware components

    4. /system/etc -> very dangerous folder contains lots of important configurations

    5. /system/etc/permissions -> these contain lots of xml files that are required to define how the .jar files in framwork folder will work

    ok so i'll elaborate point 2 and 5 a little more taking example of the panorama beta app by SE. it requires the com.sonyericsson.android.seee.jar file in framework folder to work but if you just keep the jar file, it'll not work. you need to sort out its permissions too and for that you need to put com.sonyericsson.android.seee.xml file in permissions folder

    also the etc folder contains two some files called
    gps.conf (which defines which gps server the device will use)
    hosts (this defines which websites will be blocked .... yes that is your adblocker file :p)
    apns.xml (which defines your apn configuration)

    screwing up these files can cause you internet/gps/data traffic problems. also intelligent editing of these fils can give you better gps/data too