Porting MIUI over our Ideos X 6 ?????? - Huawei Ideos X6

With guides from across the XDA forum, I have started to port MIUI latest version on our device.
I followed every guide and then tried but it won't get update ........
If anyone would like to help me then please help me...........
I followed following instruction.........
"
then download a stable gingerbread 2.3.3 version that is compatible with the files. ( I always use the great z and j for sources).
the next step is to get the formels rom ready by deleting the boot image and the data folder. Next step is to go to the etc folder and delete firmware folder... also delete ap2sd init script from the init folder)
then go to lib folder and delete hw and modules.
now it is time to add files. I know the miui files pretty good now so the list has shortened greatly.
now use your stable gb rom source to replace the folders I had you delet above
you may have to change other files depending on the rom i.e. bluetooth/dhcpd and others.
to start in the etc folder you need to add
apns-conf
dbus
dualmic
gps
hosts
hw-config
init.bt
init.gold
init.local
mediaprofiles
mke2fs
profile
resolve
sensors
sysctl
vold
now to the lib folder all files start with lib
cm
dll
dsm
dss
gsl
miscta
oem-rapi
pbmilb
qmi
diag
mmgsdilib
nv
onrpc
queue
ril-qc-1
wms
auth
sdi-exp
wmsts
mmipl
oemcamera
mmjpeg
there are other files but I think that is enough to get bootscreen... if not let me know and I will list the other misc ones.
now the bin files
akmd2
am
bmgr
bmiloader
chargemon
charger
compache
eeprom
fixpermisions
gdbserver
handlecompache
hciqcomminit
ime
input
monkey
pm
port-bridge
qmuxd
recevent
svc
sysinit
updatemiscta
wlanmac
wlantool
wmiconfig"
then I archive the same and tried to update it through recovery .................
but it didn't work .....................
Help me.....

Related

[HOWTO] Cook your custom rom for LG P500

Hi there, we are going to use excellent dsixda's HTC Android Kitchen to cook our custom ROMs for LG P500. The list of the things we are going to need:
Original ROM (Check this thread)
LG Utils 0.4.2 (Check this URL)
DzDecryptor v1.0b(Check this thread)
Cygwin (Check this URL
Unyaffsmbn (Check this thread)
Dsixda's HTC Android Kitchen (Check this thread)
Note: I have a "romcooking" folder on my home (C:\Users\Patricio\romcooking), inside i have all the utils needed, and the .kdz file for the stock ROM. I recommend to use tab to complete filenames since they are too long.
First we need to get a dz from the kdz (original firmware), extract LG Utils 0.4.2 and open KP500-Utils-EN.exe (You need to run this as administrator, or else you are getting an empty .cab file), select the I option (Extract files from KDZ file), and type the route to your .kdz file (Mine is C:\Users\Patricio\romcooking\V10A_00.kdz). Now, you must have a V10A_00.cab (Or another name, it depends on the stock rom you downloaded), open it with a extractor like 7zip or similar and extract the file "LGP500AT-00-V10a-EUR-XX-SEP-25-2010+0.dz" or similar to our romcooking folder.
Then we are going to uncompress the .dz with DZDecrypt (Press Win + R, type cmd and enter, then you cd to the folder where DzDecrypt is located (ex:
Code:
cd C:\Users\Patricio\romcooking\DZDecryptor_v1.0b
then we type:
Code:
DZDecrypt.exe "C:\Users\Patricio\romcooking\LGP500AT-00-V10a-EUR-XX-SEP-25-2010+0.dz" C:\Users\Patricio\romcooking\stockrom
This is going to create a "stockrom" folder in our original romcooking folder, you are going to see a lot of files in the stockrom folder, the important ones are boot.img and system.mbn (DZDecrypt should have merged your system.mbn_0, system.mbn_1 and system.mbn_2)
We need to install cygwin, open the setup.exe, just keep hitting next until you are on the select packages screen, go to "Devel" menu and select to install gcc, gdb and make, in "Interpreters" check perl, in "Archive" check zip and unzip, in "Web" check wget, in "Editors" check nano and vim and in "Utils" select cpio, util-linux and ncurses. Make some tea and wait for the cygwin install to finish and we are ready to go to the next step.
We are going to compile unyaffsmbn, copy the extracted files from unyaffsmbn, system.mbn and boot.img to C:\cygwin\home\Patricio, now fire up cygwin and compile unyaffsmbn with:
Code:
gcc -o unyaffsmbn unyaffsmbn.c
Now uncompress system.mbn, delete symlinks of bin/ and zip everything with:
Code:
mkdir system
cd system
../unyaffsmbn.exe ../system.mbn
find bin -type l -exec rm {} +
cd ..
zip -r stockrom.zip boot.img system/
We are ready to go to the kitchen (We have a stockrom.zip on C:\cygwin\home\Patricio, remember that)
Now we are going to use dsixda's HTC Android Kitchen, we need to have installed JDK. After we have downloaded and uncompressed the kitchen (Mine is in C:\cygwin\home\Patricio\kitchen), we need to put the ziped file we got in the previous step into the original_update folder of the kitchen. We are ready to go! fire up cygwin and cd to the kitchen location and exec ./menu , select option 1, you should see the zip file, put the number of it, and you are ready to go (It will create a WORKING_XXXXXX_XXXXXX folder, you can modify the files in WORKING_XXXX_XXXXX/system, add APKs, modify the apns file, etc).
This command also gives us a lot of options for our rom: enable root, add busybox, deodex our files, zipalign, etc. If you are going to edit text files, use an editor like Notepad++ or any other program that can open/edit/save files in linux compliant style. It's pretty easy to use the kitchen, just check the official thread for options or help
The common options i use are:
Add root permission (option 2), press f when asked and you are done
Add Busybox
Change name of the rom, easy cake
Advanced options, press 0
Add /data/app functionality
Add Apps2SD
Add custom boot animation functionality
Deodex files in your ROM
And Finally: Zipalign all *.apk files to optimize RAM usage
That should do the trick, when you are ready to cook your rom, just type 99, wait for it to build and it should be in the OUTPUT_ZIP folder in your kitchen folder.
Took info from this thread (About decompressing .dz and .mbn, and making it to work with the kitchen), and info from ruigui and tritant in this thread. The awesome android kitchen by dsixda. Sorry if i forgot to mention any work, just post it or pm me
If you have anything you want to add to the guide, just post it
You don't need to dual boot to linux. It can be done with cygwin.
When you follow dsixda's guide to install kitchen, do as said but don't install cygwin from that guide.
Instead, download from official site, choose default options, but add these packages (it will be compliant with kitchen and give a little extra funcionality):
Devel: gcc, gdb, make
Interpreters: perl
Utils: cpio, util-linux, ncurses
Archive: zip, unzip
Web: wget
Editors: vi, nano
Good guide, nicely done
EDIT:
In my wife's machine (using windows 7 64bit. i'm without computer, for now....), i've installed cygwin as said above.
Then added two folders to my home dir:
kitchen and unyaffsmbn
In kitchen, use the kitchen
In unyaffsmbn, copy the files from unyaffsmbn.zip to that dir, then compile it there
EDIT2:
If you edit text files under windows, USE NOTEPAD++, or any other program that can open/edit/save files in linux compliant style.
There are differences in Windows and Linux when ENTER is pressed, and you'll have issues when trying to flash or run your custom ROM
hi there... thanks a lot for your guide.
I'm trying to do the things you wrote step by step... I have extracted the dz file successfully, then I extracted the content using DZDecrypter... I found three files called system.mbn0, system.mbn1 and system.mbn2. The first and second are 80 Mbytes, the third just 17... Which one is the correct? When I try to use the command "unyaffsmbn system.mbn" (obviously I renamed the first and then the second) I get an error message ("impossible to execute binary file", or somenthing like that... I don't know how's in english because I'm italian).. Is that concerning to the presence of those three different files? Did somethind go wrong with the extracting process? Or maybe I didn't do somenthing important? Before doing this, I installed "build-essential" and did "gcc -o unyaffsmbn unyaffs.h" but apparently nothing happend... I got neither errors nor processes...
can you help me?
Awesome bro, I can try to make custom rom with indian version, ty.
vinnux said:
hi there... thanks a lot for your guide.
I'm trying to do the things you wrote step by step... I have extracted the dz file successfully, then I extracted the content using DZDecrypter... I found three files called system.mbn0, system.mbn1 and system.mbn2. The first and second are 80 Mbytes, the third just 17... Which one is the correct? When I try to use the command "unyaffsmbn system.mbn" (obviously I renamed the first and then the second) I get an error message ("impossible to execute binary file", or somenthing like that... I don't know how's in english because I'm italian).. Is that concerning to the presence of those three different files? Did somethind go wrong with the extracting process? Or maybe I didn't do somenthing important? Before doing this, I installed "build-essential" and did "gcc -o unyaffsmbn unyaffs.h" but apparently nothing happend... I got neither errors nor processes...
can you help me?
Click to expand...
Click to collapse
you shouldn't get three system.mbn files, did you used the 1.0b of DzDecryptor? when i used it, it said something about merging, i think that it gets the three files and then combines them to get a proper system.mbn
I used the downloaded version from the link you posted. At least I guess... :/ Well I'm going to try again soon! Thanks a lot again for your guide!
Sent from my LG-P500 using XDA App
Other methode for exctract mbn file, not need to connect the phone.
Windows only....
(1) Download LG-Utils 0.4.2: http://www.assembla.com/spaces/ks360...tils-0.4.2.zip
(2) Run KP500-Utils-EN.exe (or whatever language you prefer out of the available choices) and select I to extract the KDZ.
(3) Open the resulting CAB file and extract the DZ file.
(4) Download DZExtract: http://www.frenchcoder.com/upload/DZExtract-V0.2.zip
(5) Use DZExtract to extract the MBN files:
DZExtract -x GW620RAT-V10c-OCT-21-2009-RGS-CA_DZ+0.dz C:\extractedTo\
after compiling and chmod I do:
Code:
[email protected]:~/work/unyaffsmbn$ unyaffsmbn system.mbn
unyaffsmbn: command not found
both files are in that folder. Am I doing anything wrong?
Cheers.
@tritant - LG-Utils link not working
So.... You MUST compile unyaffsmbn first. Only then you'll have an "executable".
Code:
gcc unyaffsmbn.c -o unyaffsmbn
Then copy system.mbn to unyaffsmbn folder.
After that, do:
Code:
cd PATH_TO_UNYAFFSMBN
./unyaffsmbn system.mbn
You missed the ./
You can download lg utils from here
tuxcomputing said:
after compiling and chmod I do:
Code:
[email protected]:~/work/unyaffsmbn$ unyaffsmbn system.mbn
unyaffsmbn: command not found
both files are in that folder. Am I doing anything wrong?
Cheers.
@tritant - LG-Utils link not working
Click to expand...
Click to collapse
'course I compiled
of course your method worked and the one in the first post didn't...
exist only a windows version of dzextract?
ioshi said:
exist only a windows version of dzextract?
Click to expand...
Click to collapse
couldn't find a linux version, sorry.
btw, i'm rewriting the guide, hope to update it soon
please add the compiling method from ruigui (in the previous page). For some reason that's the only way I was able to compile on Ubuntu 10.
Cheers
It was a typo in first post (he switched file to be used in gcc).
Give the man some time to reorganize his thread
I did not mean to be rude by any means!
I appreciate the effort to create the how-to! Hopefully people will read the thread if they get stuck and use the right commands so that they don't abandon the idea of creating their own ROM
I also didnt want to call you rude... Sorry...
But we were exhanging some pms and he is redoing this tutorial.
Sometimes we make mistakes while typing long posts
installation aborted
thanks for this great tutorial
everything works like a charm , but when i flash my new rom i have an error says no enough space while writing boot image
any idea?
Update: okay i solved the problem, it seems that i missed up with the boot settings!
I finally made the zip file, but when I start the kitchen and select it, i find this:
"Warning: No META-INF folder found under working folder!
Warning: No META-INF/com/google/android folder found, creating it.
Did not find an update-script. Shall I create one (y/n)? (default: y): "
is that normal? and what should I do? :/
vinnux said:
I finally made the zip file, but when I start the kitchen and select it, i find this:
"Warning: No META-INF folder found under working folder!
Warning: No META-INF/com/google/android folder found, creating it.
Did not find an update-script. Shall I create one (y/n)? (default: y): "
is that normal? and what should I do? :/
Click to expand...
Click to collapse
yes this is normal, i got that warning, and i entered "yes" to create one, and everything went just fine!
good luck
For me, work with wine on linux mandriva 2010.2
[[email protected] rootlg]$ wine DZDecrypt.exe "LGP500AT-00-V10b-EUR-XX-OCT-01-2010+0-DZ.dz" rom
DZ-Decryptor v1.0b *ALPHA RELEASE* by BIGB0SS from COPS.
[■] Opening file "LGP500AT-00-V10b-EUR-XX-OCT-01-2010+0-DZ.dz".
[■] Allocated memory: 280 Mo.
[■] Unpacking informations:
- Unpacking "amss.mbn" (Packed:008D2935 - Unpacked:010F6000).
- Unpacking "partition.mbn" (Packed:000000E9 - Unpacked:00000390).
- Unpacking "qcsblhd_cfgdata.mbn" (Packed:00000240 - Unpacked:00002534).
- Unpacking "qcsbl.mbn" (Packed:00007D88 - Unpacked:0000DFF0).
- Unpacking "oemsblhd.mbn" (Packed:00000026 - Unpacked:00000028).
- Unpacking "oemsbl.mbn" (Packed:0002C637 - Unpacked:0005EFB4).
- Unpacking "amsshd.mbn" (Packed:00000028 - Unpacked:00000028).
- Unpacking "appsboothd.mbn" (Packed:00000022 - Unpacked:00000028).
- Unpacking "appsboot.mbn" (Packed:00008A6F - Unpacked:0000D484).
- Unpacking "boot.img" (Packed:00385B3F - Unpacked:0038A800).
- Unpacking "system.mbn_0" (Packed:0307280E - Unpacked:05000000).
- Merging "system.mbn_1" (Packed:028EAA5A - Unpacked:05000000).
- Merging "system.mbn_2" (Packed:00738F81 - Unpacked:01003F40).
- Unpacking "recovery.img" (Packed:003BE683 - Unpacked:003C3800).
- Unpacking "splash.img" (Packed:00001C3A - Unpacked:0004B000).
[■] SubFiles: 0x780C3E84. (DzCreator)
[■] Closing file "LGP500AT-00-V10b-EUR-XX-OCT-01-2010+0-DZ.dz".

how to create galaxy s update script

hi every body
can any one explain how to creat update script for galaxy s , im trying to cook rom based on xxjpy but usually i have problem with update script , i need to know how to create it incompatible with rom files and arrangment , whats the code and its functions we will write it in script and depend on what , finally in detail so i can create my own
thanksssssssssss
Well, the best thing to do is to google for some update scripts and modify ,but if you really want to write your own script from scratch don`t use notepad, use notepad++ or something like that.
here is an example and please try to understand it, follow line by line and see what it does :
show_progress 0.1 0 >this fills the progress bar
copy_dir PACKAGE:ghost TMP:/ghost > copy from your .zip (/ directory) to internal TMP folder which is in the ramdisk (all folders that are CAPITALISED are located in ramdisk)
set_perm 0 0 755 TMP:/ghost/test > setting permission to execute the test file
show_progress 0.1 10
copy_dir PACKAGE:system SYSTEM: this copies from /zip/system directory to that SYSTEM in ramdisk
show_progress 0.2 0
format CACHE: formats cache folder
delete_recursive SYSTEM: this deletes SYSTEM folder
symlink toolbox SYSTEM:bin/cat this creates virtual shortcuts google it for more
symlink toolbox SYSTEM:bin/chmod
what i`ve told you here is how i understand it... best for you is to try to download an update.zip and see what it does(opening that update script and see where it leads to)
Thanks my dear to reply me but is there web site that if i open it i will know and study and understand how to write it and create command to complete the script
yeah . google : how to make android update scripts
try to make some simple update.zips like adding an app to your phone via recovery .... put some print_ui in it so you can debug it...and furthermore try to flash your phone with another firmware...with a custom update script made by you.

[Q] in-depth explanation of files in rom.zip

hey guys.. i been looking around everywhere to try and get a good explanation of the files inside the rom.zip... like what the files are in the META-INF? and what are all the files inside the system folder? how do i know what to change and what not to change.. lol sorry but if anyone could possibly give me a more in depth explanation i would appreciate it greatly!!!
i dont have answer but i would also like to know this... since im just trying to learn how be a dev...
lol seems no one can help us... but this did help a little... http://forum.androidcentral.com/hacking/6037-general-rom-faq.html
Hi
The files in META-INF are just that, meta files they contain information about the files that are part of the rom.. specifically CERT.* and MANIFEST.MF contain the SHA1 hash of each file in the rom when you flash the rom your recovery environment hashes each file and checks it against the manifest. These files are created during the signing process.
META-INF/com/google/android/updater-script tells the recovery environment what to actually do. such as format /system then extract system to /system on the phone, set permissions for each file and the correct kernel to your boot.img then reflash it
the files in /system are the actual operating system and are in a UNIX-ish layout
executable's in bin & xbin, system apks in app, configuration files in etc, libraries in lib, ringtones and bootanim in media
rattking said:
Hi
The files in META-INF are just that, meta files they contain information about the files that are part of the rom.. specifically CERT.* and MANIFEST.MF contain the SHA1 hash of each file in the rom when you flash the rom your recovery environment hashes each file and checks it against the manifest. These files are created during the signing process.
META-INF/com/google/android/updater-script tells the recovery environment what to actually do. such as format /system then extract system to /system on the phone, set permissions for each file and the correct kernel to your boot.img then reflash it
the files in /system are the actual operating system and are in a UNIX-ish layout
executable's in bin & xbin, system apks in app, configuration files in etc, libraries in lib, ringtones and bootanim in media
Click to expand...
Click to collapse
wow rattking thank you very much!! that was the best description anyone has ever given me!!! lol that was very helpful!! is there a place where you learn this from? or did you just figure it out as you went..?

[Guide]How to Port roms to your mobile

This guide will help you in porting ROM's to different devices. Although it my not work 100% of the time, it should you show the steps involved in porting a ROM but also which files are important to a device's functionality.
Some handy tools to have before starting:
- The Android SDK, this contains ADB logcat which is a hugely important tool in ROM development. It lets us know what is perhaps causing an app to F/C or a ROM to bootloop. See our guide on how to set this up HERE
- Notepad++ , very useful for altering scripts.
- Patience, getting ports to boot can sometimes take a lot of effort and time but hopefully this guide will show you the quickest and easiest way to get your ported ROM booting.
Okay first decide which ROM you would like to port, don't port HDPI ROM's to MDPI devices or vice versa it just won't work.And it's best to start with the easy and simple ports to get some experience behind you before you go off porting Sense 3.0 to your X10.
Let's get started...
Porting is fairly easy and requires only some folders, files and a boot.img to be replaced.
Now because this is a universal guide I can only tell you how to get the basic hardware working on your port. AOSP ROMs are fairly easy to figure out so you won't have much trouble figuring out what needs replacing. Manufacturer specific ROMs such as Sense 3.0 ROMs are bit more difficult to figure out but the basic skills you will be taught here can be applied in principle to those ROMs.
1. First off lets start with the biggie, the kernel. Those of you familiar with linux will know how important the kernel is a to system, I won't go into detail here but if your kernel isn't specific to your device then your ROM won't boot. The kernel is contained within the boot.img of your ROM's zip (or zImage if it's a Samsung). During flashing it is unpacked and wrote to the system.
To replace the kernel we need to decompile it and no this isn't as easy as opening it winzip. The best way to do this is using Linux; we can use a combination of both perl scripts and terminal commands.
In order for us too see the kernel files contained within the boot.img, we need to first unpack it and this will extract the kernel binary and the ramdisk. What you need at this point is the split_bootimg.zip. This contains a perl script which will extract both files and display the boot.img header, the kernel command line and the board name (if specified).
An example of the output would be:
Page size: 2048 (0x00000800)
Kernel size: 1388548 (0x00153004)
Ramdisk size: 141518 (0x000228ce)
Second size: 0 (0x00000000)
Board name:
Command line: no_console_suspend=1
So how to use this perl script you ask? Well...
First open a terminal and cd to the directory which contains the perl scripts you just downloaded. Next, type this command: "perl split_bootimg.pl boot.img" and that will extract the kernel to your current directory.
Now, we need to extract the ramdisk, the ramdisk has been unpacked from the boot.img and is sitting your current directory with the file name "boot.img-ramdisk.gz", at the moment this still isn't useful to us so we need to un-gzip and then un-cpio it.
So for that we need the Linux terminal. So again from the terminal or using the same terminal enter these commands:
mkdir ramdisk < Creates a directory where we can store the ramdisk
cd ramdisk < Changes our current directory to that of the ramdisk
gzip -dc ../boot.img-ramdisk.gz | cpio -i < Will un-gzip and un-cpio ramdisk
Okay so now we can see all the ramdisk files:
./init.devicename.rc
./default.prop
./proc
./dev
./init.rc
./init
./sys
./init.goldfish.rc
./sbin
./sbin/adbd
./system
./data
So what's important here is the "init.devicename.rc" and "unvented.device.rc". This is the target devices .rc files contained within the ramdisk, now all we have to do here is rename this .rc file to that of the device you are porting to, e.g: "init.trout.rc" > "init.hero.rc"
Some devices ramdisk differ and may not contain "unvented.device.rc" so if this is case for you,then begin by renaming the init.device.rc to your model id and leave it at that. If you get problems well.. that's what the live support is for.
The other file which may be of use to us here is "init.rc", this contains all the system wide kernel properties which we can change to our liking but we'll leave as it is for now.
So now we've edited the ramdisk, we need to change the kernel so that the one the ROM uses is actually specific to our device, when we used the split_bootimg perl script it also unpacked the kernel and that is also in our current directory with the filename "boot.img-kernel".
Easiest way to replace the kernel is to take a kernel update zip for your device, un-zip it and rename the zImage file to "boot.img-kernel" and copy and replace the file of the same name in your directory.
Okay, now that's all done, we need to pack this back up into something that android can understand when it's being flashed. So we need to make a new boot.img from the files we have in our current directory.
First, we need to pack the ramdisk back up into it's original state, so again we need to use the Linux terminal. The command that will do this is this:
find . | cpio -o -H newc | gzip > ../newramdisk.cpio.gz
Remember the ../ is the path to the directory of your ramdisk, remember to remove anything that won't be used by the kernel as cpio will include EVERYTHING in the working directory.
Okay now that the ramdisk is back in it's original format we need to repack the kernel and ramdisk into the boot.img.
So back into the terminal we go and this time we're going to use the "repack-bootimg" perl script (as if that wasn't obvious enough). The command you will ise here is esentially the same to the one we used to split it, so:
"perl repack-bootimg.pl ../path to kernel ../path to ramdisk directory ../path to outfile"
And the boot.img is complete!
So if we look back to the ROM we are porting we can see that we need to put the boot.img into the root of the zip, this will hold true for almost every Android ROM. Next we need to replace some of the files which allow the hardware and keys to work. This is the easy part.
Go into the root of the zip and follow this path to the kernel modules; "/system/lib/modules" Delete all the files you find here.
Now take the kernel modules which came along with the kernel you added to the boot.img and copy them there. Next follow this path to the propietary hardware files;
"/system/lib/hw" Delete all the files you find here.
Again this as simple as taking the files from a ROM meant for your device and copying them into this directory. So what we've done there is added the kernel modules that we can set symlinks to in the updater-script and contain the modules needed for things like WiFi, bluetooth etc. The "/hw" directory as you can see contains the files which control the sensors and lights such as GPS and the accelerometer.
Next, we can look at making sure the hard and soft keys work, the files which contain the layout of your device keys can be found in;
"/system/usr/keylayout" and "/system/usr/keychars"
Touch only those 2 directories.
Delete all the files in here and copy the ones from your device (following the same directory) here.
Okay now to finish off we need to copy over the mount point information for your device and the WiFi drivers.
Follow this path; "/system/etc" and delete only these files and directories.
- vold.fstab
- /wifi
- /ppp
Now follow the same path in a ROM for your device and copy over these files.
Okay we're done!
Before flashing take a look and some guides which show you how to write updater-scripts, incase you need to create important symbolic links.
Happy Porting!
**mod edit** credits to JieeHD from the VillainROM team for this guide! original thread here: http://www.freeyourandroid.com/guide/porting-android
reserved for future......
Hey,how did i help in this?
PS:i m thinking of buying this phone.....is it any good?
i have both the galaxy sl and spice mi 410 i copied from your thread so had to give you credit even though you are not the original poster
spice mi 410 competely outshines galaxy sl so much so that i hardly use sl hooked to this at i.6ghz its lightning fast great plays any game hardly random reboots though average camera galaxy sl better
side note :if you could build succh a nice rom with sl god knows what good you can do with mi 410 please buy it haha
cranium rocks
oh cool............i had forgotten about that thread
2nd hand for 9999 only.................
Hey that's my tutorial... Hope it helps someone....
Sent from my SAMSUNG-SGH-I777 using xda premium
rdannar said:
Hey that's my tutorial... Hope it helps someone....
Sent from my SAMSUNG-SGH-I777 using xda premium
Click to expand...
Click to collapse
than credit to you i am just sharing with everyone "hope it helps someone"
Thank you!!! Will try too port a gt-I9100 rom to a gt-I9100G.
Hope it will be easy with this guide.
Dear Preyesh1.... Could you add the credit to the creator of this guide or at least you mention the url source because I've seen this guide just exactly as in this thread somewhere in the internet.
Except if this guide is pure of yours.
Just to remind...
Edited: Never mind... The creator has been here after all...
I have some questions:
so this means you can take the U9000 android 2.2.2 kernel and merge with ICS?
or does this only works with kernel coming from a GB build to another GB build?
It will help me cause I'm gonna use it soon
Sent from my Triumph using XDA
ziggy46 said:
It will help me cause I'm gonna use it soon
Sent from my Triumph using XDA
Click to expand...
Click to collapse
Hey are you going to port your rom to your device this will be great...!!
I wanna try this great tutorial
Sent from my Droid using Tapatalk
Nice plagiarism.
I mean look at that OP. You've selected the entire article, hit copy, hit new post here, hit paste then hit submit. That's plagiarism of the laziest kind you could have at the very least put some effort in, formatted the text, used code blocks etc.
My word.
edit:
preyesh1 said:
See our guide on how to set this up HERE
Click to expand...
Click to collapse
Hahahahaha.

[GUIDE] How to port MIUIv4 to our device

I want to share this to make everyone know how I port it to our device so I shouldn't share it to just one or two people.
It is based on this proxuser thread, credit goes to him. I just make it details and make it work for our device.
We will make MIUIv4 framework to run on top of CM9/AOSP base. So we should prepare CM9 base and MIUIv4 to port. You can use any MIUIv4 to port but you can try by choosing the one which similar hardware with our device.
- Prepare extracted CM9 base rom in folder A, and extracted MIUIv4 rom in folder B. Copy file framework.jar, framework-res.apk and services.jar at /system/framework from CM9 folder save them in folder C. After here, we will port from folder B to folder A.
- Remove folder /system/framework and /system/app in folder A and replace them from folder B.
- Remove /system/app/nfc.apk, since our device don't have this feature.
- Copy all *.db and *.td at /system/etc from B to A.
- replace media folder in /system/media at folder B to folder A.
- copy content-types.properties file to /system/lib from B to A.
- copy miui-framework.xml at etc/permission
- copy /system/xbin/invoke-as and /system/xbin/su from folder B to A
- copy /system/lib/liblbesecs.so from folder B to A
- add this lines to updater-script file in folder B:
set_perm(0, 0, 06755, "/system/xbin/invoke-as");
set_perm(0, 0, 0755, "/system/lib/liblbesec.so");
- change values from build.prop
ro.build.version.incremental=2.x.x (version number of MIUIv4)
ro.config.ringtone=MI.ogg
ro.config.notification_sound=FadeIn.ogg
ro.config.alarm_alert=GoodMorning.ogg
ro.config.sms_received_sound=FadeIn.ogg
ro.config.sms_delivered_sound=MessageComplete.ogg
Test the new port:
Now pack folder B to zip files and sign it and flash it using CWM. You should prepare the other working rom to get back to previous rom .
Use adb logcat to debug, and see the result. If it doesn't shown anything, then we should replace libandroid_runtime.so from MIUIv4, but not in my case, I kept it from CM9.
Our device is based on Qualcomm so with our new CM9 theme engine will affected, it will got hung on boot with unresolved at android/content/res/AssetManager. Just break the logcat when it shown some lines with "died" things and scroll up, you'll find it.
So here is the next step which will take more time. You should able to decompile and recompile jar/apk files, Google it for that, it's very easy to do that. We'll go for smaling and baksmaling here. And for comparing, use an application such as winmerge for windows or Meld for linux.
Remember that we have some files in folder C from CM9 and we'll use that as source for smaling steps.
- find /smali/android/content/res/assetManager.smali from framework.jar on Miuiv4 and compare it with the same file from CM9 one, replace all missing lines.
- copy missing method in /smali/android/hardware/Camera.smali
- copy missing method in /smali/android/os/Power.smali, method SetUnstableMemoryState the important one.
- copy /smali/android/server/BluetoothA2dpService*.smali
- copy /smali/android/content/res/PackageRedirectionMap*.smali
- copy /smali/org/codeaurora/Performance.smali
- copy smali/android/media/MediaRecorder*.smali
- copy /smali/android/view/GLES20Canvas*.smali
- copy /smali/android/net/wifi/WifiNative.smali
- copy /smali/android/graphics/paint*.smali
I found them by watching logcat, fixing one by one error on each boot, so now you can save much time by using this guide.
If still stuck, I look for some lines like this:
E/dalvikvm( 234): ERROR: couldn't find native method
E/dalvikvm( 234): Requested: Lxxxxxxx/xxxxxxx/xxxxxxxx;.yyyyyyyyyyyyyZ)I
E/JNIHelp ( 234): RegisterNatives failed for 'xxxxxxx/xxxxxxx/xxxxxxxx', aborting
F/libc ( 234): Fatal signal zzzzzz at 0xdeadbaad (code=1)
Then the problem is in xxxxxxx/xxxxxxx/xxxxxxxx.smali file, try to fix it first by adding missing lines in it if possible or copy xxxxxxx/xxxxxxx/xxxxxxxx*.smali if there is so many different lines.
You should see the MIUIv4 lockscreen if you done fixing all those problem.
After this we can fixing anothers, like 2G/3G data and headset.
To fix headset, it's in WiredServiceObserver.smali in framework-res.apk, find the path string which contain "h2w" word with "headset_sensor" word, remember just paths string, no else. It should be 3 words to replace.
Now to fix 2G/3G data,
replace RIL*.smali and copy LGEQualcommRIL*.smali at path
/smali/com/android/internal/telephony ín framework.jar.
You also need to patch PhoneFactory.smali to construct your class instead of RIL:
find "RIL" word (there will be 2 entries) and replace them to "LGEQualcommRIL".
Fuih..... That what I've learned of porting MIUIv4 guys...
Soon will be born more porters... Great!!!
Happy porting...!!!!
CacingKalung said:
I want to share this to make everyone of you know how I port it to our device so I shouldn't share it to just one or two people.
It is based on this proxuser thread, credit goes to him. I just make it details and make it work for our device.
We will make MIUIv4 framework to run on top of CM9/AOSP base. So we should prepare CM9 base and MIUIv4 to port. You can use any MIUIv4 to port but you can try by choosing the one which similar hardware with our device.
- Prepare extracted CM9 base rom in folder A, and extracted MIUIv4 rom in folder B. Copy file framework.jar, framework-res.apk and services.jar at /system/framework from CM9 folder save them in folder C. After here, we will port from folder B to folder A.
- Remove folder /system/framework and /system/app in folder A and replace them from folder B.
- Remove /system/app/nfc.apk, since our device don't have this feature.
- Copy all *.db and *.td at /system/etc from B to A.
- replace media folder in /system/media at folder B to folder A.
- copy content-types.properties file to /system/lib from B to A.
- copy miui-framework.xml at etc/permission
- copy /system/xbin/invoke-as and /system/xbin/su from folder B to A
- copy /system/lib/liblbesecs.so from folder B to A
- add this lines to updater-script file in folder B:
set_perm(0, 0, 06755, "/system/xbin/invoke-as");
set_perm(0, 0, 0755, "/system/lib/liblbesec.so");
- change values from build.prop
ro.build.version.incremental=2.x.x (version number of MIUIv4)
ro.config.ringtone=MI.ogg
ro.config.notification_sound=FadeIn.ogg
ro.config.alarm_alert=GoodMorning.ogg
ro.config.sms_received_sound=FadeIn.ogg
ro.config.sms_delivered_sound=MessageComplete.ogg
Test the new port:
Now pack folder B to zip files and sign it and flash it using CWM. You should prepare the other working rom to get back to previous rom .
Use adb logcat to debug, and see the result. If it doesn't shown anything, then we should replace libandroid_runtime.so from MIUIv4, but not in my case, I kept it from CM9.
Our device is based on Qualcomm so with our new CM9 theme engine will affected, it will got hung on boot with unresolved at android/content/res/AssetManager. Just break the logcat when it shown some lines with "died" things and scroll up, you'll find it.
So here is the next step which will take more time. You should able to decompile and recompile jar/apk files, Google it for that, it's very easy to do that. We'll go for smaling and baksmaling here. And for comparing, use an application such as winmerge for windows or Meld for linux.
Remember that we have some files in folder C from CM9 and we'll use that as source for smaling steps.
- find /smali/android/content/res/assetManager.smali from framework.jar on Miuiv4 and compare it with the same file from CM9 one, replace all missing lines.
- copy missing method in /smali/android/hardware/Camera.smali
- copy missing method in /smali/android/os/Power.smali, method SetUnstableMemoryState the important one.
- copy /smali/android/server/BluetoothA2dpService*.smali
- copy /smali/android/content/res/PackageRedirectionMap*.smali
- copy /smali/org/codeaurora/Performance.smali
- copy smali/android/media/MediaRecorder*.smali
- copy /smali/android/view/GLES20Canvas*.smali
- copy /smali/android/net/wifi/WifiNative.smali
- copy /smali/android/graphics/paint*.smali
I found them by watching logcat, fixing one by one error on each boot, so now you can skip much time by using this guide.
If still stuck, I look for some lines like this:
E/dalvikvm( 234): ERROR: couldn't find native method
E/dalvikvm( 234): Requested: Lxxxxxxx/xxxxxxx/xxxxxxxx;.yyyyyyyyyyyyyZ)I
E/JNIHelp ( 234): RegisterNatives failed for 'xxxxxxx/xxxxxxx/xxxxxxxx', aborting
F/libc ( 234): Fatal signal zzzzzz at 0xdeadbaad (code=1)
Then the problem is in xxxxxxx/xxxxxxx/xxxxxxxx.smali file, try to fix it first by adding missing lines in it if possible or copy xxxxxxx/xxxxxxx/xxxxxxxx*.smali if there is to many different.
You should see the MIUIv4 lockscreen if you done fixing all those problem.
After this we can fixing anothers, like 2G/3G data and headset.
To fix headset, it's in WiredServiceObserver.smali in framework-res.apk, find the path with contain "h2w" word with "headset_sensor" word, remember just paths string, no else. It should be 3 words to replace.
Now to fix 2G/3G data,
replace RIL*.smali and copy LGEQualcommRIL*.smali at path
/smali/com/android/internal/telephony ín framework.jar.
You also need to patch PhoneFactory.smali to construct your class instead of RIL:
find "RIL" word (there will be 2 entries) and replace them to "LGEQualcommRIL".
Fuih..... That what I've learned of porting MIUIv4 guys...
Soon will be born more porters... Great!!!
Happy porting...!!!!
Click to expand...
Click to collapse
owh yeah so I just forget change the ril.smail on the framework..try again..thanks my sifu...
any plan for jelly bean port??
Sent from my FIH-FB0 using xda
2.6.15 and 2.6.22 boot loop
comdevx said:
2.6.15 and 2.6.22 boot loop
Click to expand...
Click to collapse
if you get boot loop,now you almost get the miui working and please follow this step
So here is the next step which will take more time. You should able to decompile and recompile jar/apk files, Google it for that, it's very easy to do that. We'll go for smaling and baksmaling here. And for comparing, use an application such as winmerge for windows or Meld for linux.
Remember that we have some files in folder C from CM9 and we'll use that as source for smaling steps.
- find /smali/android/content/res/assetManager.smali from framework.jar on Miuiv4 and compare it with the same file from CM9 one, replace all missing lines.
- copy missing method in /smali/android/hardware/Camera.smali
- copy missing method in /smali/android/os/Power.smali, method SetUnstableMemoryState the important one.
- copy /smali/android/server/BluetoothA2dpService*.smali
- copy /smali/android/content/res/PackageRedirectionMap*.smali
- copy /smali/org/codeaurora/Performance.smali
- copy smali/android/media/MediaRecorder*.smali
- copy /smali/android/view/GLES20Canvas*.smali
- copy /smali/android/net/wifi/WifiNative.smali
- copy /smali/android/graphics/paint*.smali
---------- Post added at 06:20 AM ---------- Previous post was at 06:17 AM ----------
abenagiel said:
any plan for jelly bean port??
Sent from my FIH-FB0 using xda
Click to expand...
Click to collapse
i think for driver rom jelly bean not still support for driver qulcomm(adreno) and need new baseband...
comdevx said:
2.6.15 and 2.6.22 boot loop
Click to expand...
Click to collapse
Read carefully my guide and if ypu still stuck at boot, look at logcat and look at deadbad fatal error and again... follow above guide at deadbaad error.
Sent from my bike using Tapatalk
CacingKalung said:
So here is the next step which will take more time. You should able to decompile and recompile jar/apk files, Google it for that, it's very easy to do that. We'll go for smaling and baksmaling here. And for comparing, use an application such as winmerge for windows or Meld for linux.
Remember that we have some files in folder C from CM9 and we'll use that as source for smaling steps.
- find /smali/android/content/res/assetManager.smali from framework.jar on Miuiv4 and compare it with the same file from CM9 one, replace all missing lines.
- copy missing method in /smali/android/hardware/Camera.smali
- copy missing method in /smali/android/os/Power.smali, method SetUnstableMemoryState the important one.
- copy /smali/android/server/BluetoothA2dpService*.smali
- copy /smali/android/content/res/PackageRedirectionMap*.smali
- copy /smali/org/codeaurora/Performance.smali
- copy smali/android/media/MediaRecorder*.smali
- copy /smali/android/view/GLES20Canvas*.smali
- copy /smali/android/net/wifi/WifiNative.smali
- copy /smali/android/graphics/paint*.smali
I found them by watching logcat, fixing one by one error on each boot, so now you can save much time by using this guide.
If still stuck, I look for some lines like this:
E/dalvikvm( 234): ERROR: couldn't find native method
E/dalvikvm( 234): Requested: Lxxxxxxx/xxxxxxx/xxxxxxxx;.yyyyyyyyyyyyyZ)I
E/JNIHelp ( 234): RegisterNatives failed for 'xxxxxxx/xxxxxxx/xxxxxxxx', aborting
F/libc ( 234): Fatal signal zzzzzz at 0xdeadbaad (code=1)
Then the problem is in xxxxxxx/xxxxxxx/xxxxxxxx.smali file, try to fix it first by adding missing lines in it if possible or copy xxxxxxx/xxxxxxx/xxxxxxxx*.smali if there is so many different lines.
You should see the MIUIv4 lockscreen if you done fixing all those problem.
After this we can fixing anothers, like 2G/3G data and headset.
To fix headset, it's in WiredServiceObserver.smali in framework-res.apk, find the path string which contain "h2w" word with "headset_sensor" word, remember just paths string, no else. It should be 3 words to replace.
Now to fix 2G/3G data,
replace RIL*.smali and copy LGEQualcommRIL*.smali at path
/smali/com/android/internal/telephony ín framework.jar.
You also need to patch PhoneFactory.smali to construct your class instead of RIL:
find "RIL" word (there will be 2 entries) and replace them to "LGEQualcommRIL".
Fuih..... That what I've learned of porting MIUIv4 guys...
Soon will be born more porters... Great!!!
Happy porting...!!!!
Click to expand...
Click to collapse
Hey bro replace text from d smali files to cm9 files and repack cm9 jar or miui jar??
a2441918 said:
Hey bro replace text from d smali files to cm9 files and repack cm9 jar or miui jar??
Click to expand...
Click to collapse
from cm9 to miui. repack miui jar.
CacingKalung said:
from cm9 to miui. repack miui jar.
Click to expand...
Click to collapse
bro in cm9 base assetmanager.smali its given like this
invoke-direct {v0}, Ljava/lang/Object;-><init>()V
but in miui, assetmanager.smali is given like
invoke-direct/range {v0 .. v0}, Ljava/lang/Object;-><init>()V
So replace only the missing lines or also correct these lines??
and bro in cm9 bluetootha2dpservice$1.smali the line is
move-result-object v5
.line 113
.local v5, action:Ljava/lang/String;
const-string v28, "android.bluetooth.adapter.action.STATE_CHANGED"
but in miui bluetootha2dpservice$1.smali
.line 72
invoke-virtual {p2}, Landroid/content/Intent;->getAction()Ljava/lang/String;
what to do bro??
for asset manager, just missing lines, no need to correct others.
For bluetootha2dp, replace smali files.
Sent from my bike using Tapatalk 2
Hey mate, nice guide, seems that partially matches porting of TouchWiz I'm doing right now, some errors are similiar. Will keep track on this while porting.
mesaj said:
Hey mate, nice guide, seems that partially matches porting of TouchWiz I'm doing right now, some errors are similiar. Will keep track on this while porting.
Click to expand...
Click to collapse
Good... hope you can share your work with us so we can taste it
Sent from my bike using Tapatalk 2
CacingKalung said:
Good... hope you can share your work with us so we can taste it
Sent from my bike using Tapatalk 2
Click to expand...
Click to collapse
Unfortunatelly, I can't as I'm porting to Samsung Galaxy S2 from S3 May just share some experiences during process.
There's a lot of work with resizing & need first to boot it, that I'm currently working on.
I've got a request on this guide, just to add some more bbcode formatting.
Thanks for all this, hope It'll be helpful.
mesaj said:
Unfortunatelly, I can't as I'm porting to Samsung Galaxy S2 from S3 May just share some experiences during process.
There's a lot of work with resizing & need first to boot it, that I'm currently working on.
I've got a request on this guide, just to add some more bbcode formatting.
Thanks for all this, hope It'll be helpful.
Click to expand...
Click to collapse
No problem... good luck.
Sent from my bike using Tapatalk 2
@cacingkalung
hye mate I need you help this is framework MIUI.US the latest..can you decomplie this framework.jar because I can't get decomplie this file and get error when decomplie and complied using window,can you only help me replaced the RIL.smail and LEG.smail to get mobile data working 2g/3g...
thanks..hope you will help me
elol said:
hye mate I need you help this is framework MIUI.US the latest..can you decomplie this framework.jar because I can't get decomplie this file and get error when decomplie and complied using window,can you only help me replaced the RIL.smail and LEG.smail to get mobile data working 2g/3g...
thanks..hope you will help me
Click to expand...
Click to collapse
@Elol, Yes, I also faced problems when decompiling MIUI.us framework.jar using windows.

Categories

Resources