[Tool] BlendMIUI Speed-Porting Software [V04.7] [Add NEO V][Fully working Auto-Flash] - Xperia Arc Android Development

Since I don't have much time to keep on updating my BlendMIUI so I decided to writte a program to give you guys the chance to build BlendMIUI for your own with latest MIUI sources in just few minutes!
Q:What is BlendMIUI Speed-Porting Software For XPERIA 2011
Ans:This is a short program trying to help you guys to build your own BlendMIUI rom for Xperia 2011 in just few minutes.
Q:How to use it?
Unlock Bootloader first!
1.Download BMSPS(BlendMIUI Speed-Porting Software) then unpack it to anywhere you like(Windows environment).Btw,you should install JAVA SE JRE first or it won't works because it needs JAVA environment to sign the rom.You can goto oracle.com/java to download the latest Java SE JRE.
2.Download latest MIUI rom for Desire HD from miui.us(or anywhere you want).
3.Rename the rom you just downloaded as MIUI.zip then put it into BMSPS/MIUI_DHD_ROM directory.(Do not rename it as MIUI.zip.zip!)
4.Run BMSPS_luancher.exe to start.
5.Do as follows then it will automatically create update.zip under the BMSPS directory.
Then you have two choices:
=>Help youself:
6.Put the update.zip rom to your SD-card.
7.Flash BlendMIUI kernel(I have put it into \BlendMIUI-kernel directory) or DooMKernel for MIUI.
8.Use CWM-recovery to flash the update.zip rom.
=>Use Auto-Flash Function
You don't need to do anything on your phone,it will help you to do all works automatically and boot into the new system!
Features:
1.Support Devices: Xperia Arc,Xperia Arc S,Xperia NEO,Xperia NEO V,Xperia Ray.
2.Latest CM7.2.0 rebuilted sources as base.
3.Automatically port MIUI for your device then output unpdate.zip and sign the rom to let you flash it into your device directly.
4.Your choice Function (addons)
5.Fully working Auto-Flash Function
P.S: CM7 sources and kernel for XPERIA RAY are come from bheremans.
Changelog for Version 02:
1.Add moded Packageinstall to let you chose where you would like to install your apps including SD-card.
2.Fixed function to remind you to install java-jre if update.zip is not created.
3.Small changes.
Changelog for Version 03:
1.Fixed PackageInstaller and Torch FC problem when using the ROM from www.miui.com as base.
2.Automatically recognize MIUI version (Depends on the MIUI rom you use) and change Build version for porting rom.
3.Add "Your Choice" function to help you customize your own BlendMIUI rom(BlendUI,DSPManager,Tweaks,Audios from SE).
4.[For DEVs] Whole-New Source code:More easy to read,more easy to add new language(I mean the BMSPS itself) and new functions.
Changelog for Version 04:
1.Disable echoing information for better display.
2.Fixes and improve performance of BMSPS.
3.Add "Auto-Flash" function to help you flash BlendMIUI automatically
Changelog for Version 04.3:
1.Add Xperia Ray ST18i support(All sources for Xperia Ray are come from bheremans).
2.Fixed Auto-Flash function.
3.Fixed ADB Detective bug which cause the software stuck at entering into Auto-Flash function when you input "yes".
Changelog for Version 04.7:
1.Add Xperia Neo V support.
2.Fully working Auto-Flash function (You don't need to do anything on your phone now until it boots into the new system.BMSPS will help you to do everything automatically.)
3.Some small changes
WARNING:This is not an update-package and you'd better delete all old files if you have installed early version of BMSPS.
Make sure you have unlocked bootloader before using this tool.Baseband 56 is recommanded.
Download links:
BMSPS V04.7: http://www.mediafire.com/?4xxna5rim6txmmn
Latest Source Code @ github.com/JasonStein
[Credit]
Bheremans,Eamars,FXP,DooMloRd,enzo...
Please report bugs with screenshots!

Great...!!!
Only one question...!!! What about the kernel...???

great tool !
Now everyone can make his own personal miUI !
thanks man

adiktz said:
Great...!!!
Only one question...!!! What about the kernel...???
Click to expand...
Click to collapse
here is what he said for the kernel.
7.Flash BlendMIUI kernel(I have put it into \BlendMIUI-kernel directory) or DooMKernel for MIUI.
Click to expand...
Click to collapse

Sounds so cool! thanks

Just tried it for 1.11.18 and it works perfectly, a million thanks!
EDIT:
Because I'm lazy and I don't wanna boot into Win7 each time (I just have it for gaming), I compiled the BMSPS_launcher for use on my Fedora installation. I thought I'd upload it here, if anyone else using Linux wants to give it a try.
You just need the zip and unzip packages installed, in addition to the pre-requisites mentioned by Jason.
I attached the modified source file and the binaries for 32 and 64-bit installations.
@Jason: I hope this is fine with you. If not, let me know and I'll remove them. Thanks again for all your work.

Wow! So nice of you guy.
Sent from my LT15i using XDA App

crimilde said:
Just tried it for 1.11.18 and it works perfectly, a million thanks!
EDIT:
Because I'm lazy and I don't wanna boot into Win7 each time (I just have it for gaming), I compiled the BMSPS_launcher for use on my Fedora installation. I thought I'd upload it here, if anyone else using Linux wants to give it a try.
You just need the zip and unzip packages installed, in addition to the pre-requisites mentioned by Jason.
I attached the modified source file and the binaries for 32 and 64-bit installations.
@Jason: I hope this is fine with you. If not, let me know and I'll remove them. Thanks again for all your work.
Click to expand...
Click to collapse
Sure,go ahead,it would be much convenient to Linux users.
Btw I have updated my latest sources on github and I will keep on adding more functions to BMSPS.

crimilde said:
Just tried it for 1.11.18 and it works perfectly, a million thanks!
EDIT:
Because I'm lazy and I don't wanna boot into Win7 each time (I just have it for gaming), I compiled the BMSPS_launcher for use on my Fedora installation. I thought I'd upload it here, if anyone else using Linux wants to give it a try.
You just need the zip and unzip packages installed, in addition to the pre-requisites mentioned by Jason.
I attached the modified source file and the binaries for 32 and 64-bit installations.
@Jason: I hope this is fine with you. If not, let me know and I'll remove them. Thanks again for all your work.
Click to expand...
Click to collapse
Btw you can compiled it for Linux and pack whole things into an package like what I did and give me the download link so that I can attach it to my post.

crimilde said:
Just tried it for 1.11.18 and it works perfectly, a million thanks!
EDIT:
Because I'm lazy and I don't wanna boot into Win7 each time (I just have it for gaming), I compiled the BMSPS_launcher for use on my Fedora installation. I thought I'd upload it here, if anyone else using Linux wants to give it a try.
You just need the zip and unzip packages installed, in addition to the pre-requisites mentioned by Jason.
I attached the modified source file and the binaries for 32 and 64-bit installations.
@Jason: I hope this is fine with you. If not, let me know and I'll remove them. Thanks again for all your work.
Click to expand...
Click to collapse
I have checked your file,there is a mistake:
Code:
if( Device==1 )
{
chdir("DATA/LT15i/");
system("zip -r -u ../../temp.zip *");
}
should be:
Code:
if( Device==1 || Device==2)
{
chdir("DATA/LT15i/");
system("zip -r -u ../../temp.zip *");
}
Cuz LT15i & LT18i share most files

WOW really thanks i just updated my BlendMIUI it works like a charm !
thank you soo much
Edit: Thanks for adding DSPManager !! ^_^
it works soo great on my ARC !!

JasonStein said:
I have checked your file,there is a mistake:
Code:
if( Device==1 )
{
chdir("DATA/LT15i/");
system("zip -r -u ../../temp.zip *");
}
should be:
Code:
if( Device==1 || Device==2)
{
chdir("DATA/LT15i/");
system("zip -r -u ../../temp.zip *");
}
Cuz LT15i & LT18i share most files
Click to expand...
Click to collapse
Ooops, you're right, I must've deleted it by mistake. Thanks for pointing it out!
I'll recompile the thing tomorrow morning and send you the package.
Sent from my LT15i using xda premium

Is there any way to edit this rom to something we want like which APKS are installed and default launcher that kinda stuff?

this is great. it would be accelent if i could chose the language that i whant to install instead of english(not in the cmd window, but for the ROM itself).
can you make a feature for this? only then you will not only be A king you will be THE king.

@Jason: Ok so I've compiled the v2 you posted for Linux 32bit/64bit and archived the whole thing:
EDIT: Reuploaded
http://www.mediafire.com/?9uemvociipaopnn
PS - the source code is attached to the post for your reference. I commented out the Windows-specific lines (instead of deleting them) and put the Linux version below for an easier comparison.
Just one thing, I noticed that even if the update.zip was properly signed and created, the program would still display "5. Failed!" but then clear the screen and show that update.zip was successfully created...
I added an extra condition like below in the Show_Progress function and now it's fine:
Code:
if( i==5 && Step==5 && Out_Check()==0 ) printf("Failed!\n");

crimilde said:
@Jason: Ok so I've compiled the v2 you posted for Linux 32bit/64bit and archived the whole thing:
http://www.mediafire.com/?8vz0xxpyq69afo3
PS - the source code is attached to the post for your reference. I commented out the Windows-specific lines (instead of deleting them) and put the Linux version below for an easier comparison.
Just one thing, I noticed that even if the update.zip was properly signed and created, the program would still display "5. Failed!" but then clear the screen and show that update.zip was successfully created...
I added an extra condition like below in the Show_Progress function and now it's fine:
Code:
if( i==5 && Step==5 && Out_Check()==0 ) printf("Failed!\n");
Click to expand...
Click to collapse
Yes,I made a little mistake:
Code:
void Sign_Rom()
{
Show_Progress(4);
system("java -jar signapk.jar testkey.x509.pem testkey.pk8 temp.zip update.zip");
system("del temp.zip");
Show_Progress(5); // Delete this line!!!
}
Code:
Show_Progress(5);
shouldn't be there.Just remove this line and it will be fine.

I will keep on updating my source code to add more useful functions to give you more choices and let it become not only a speed-porting software but also an MIUI rom customization tool.The early version of BMSPS is quite short with some basic functions and it's not written in a standard way.I'm going to do some changes and if you like to contribute to it,you can always fork my source code and add your own things including some useful functions and I will be appreciate.
P.S:
I will release next version of BMSPS with some useful functions before MIUI 1.11.25 released.

JasonStein said:
Yes,I made a little mistake:
Code:
void Sign_Rom()
{
Show_Progress(4);
system("java -jar signapk.jar testkey.x509.pem testkey.pk8 temp.zip update.zip");
system("del temp.zip");
Show_Progress(5); // Delete this line!!!
}
Code:
Show_Progress(5);
shouldn't be there.Just remove this line and it will be fine.
Click to expand...
Click to collapse
Yeah, you're right, it's better to just remove that line instead of adding an extra condition. I'm reuploading now and I'll update the link in my post above once it's done.

crimilde said:
Yeah, you're right, it's better to just remove that line instead of adding an extra condition. I'm reuploading now and I'll update the link in my post above once it's done.
Click to expand...
Click to collapse
And it's done.

Thanks. Updated the MIUI to the latest version. This is so awesome

Related

Newbie AOSP question and sharing

Hi all,
Having a rooted Nexus one in my hand, I have been playing around with many of the custom ROMs and kernel over the past few months. (Thanks to nandroid backup)
For ROMs, I have been playing around with CM, LeoFroyo, Modaco, Kang-o-rama, ... stock FRF91 deoxed by Geo411m...etc.
For kernel, have been happy in using the intersectRaven's one dated at 0802 (stable one for me...)
Just a few days before, I have setup a Ubuntu... install the jdk 1.5; git; repo; .... and all necessary files for compiling the source from git://android.git.kernel.org/platform/manifest.git -b froyo
Getting the source and compiling are very time consuming jobs because my network speed and computer are not very fast
So, I have successful compile the source, running lunch full_passion-userdebug ; make -j4 for my dual core machine, and find the system.img
I also download and install the dsixda kitchen, based on Leo's ROM, I have replaced it with my newest compiled apps (apks..) and pngs (black status bar ) and also replace the zImage from intersectRaven's kernel into my boot.img. After flashing the ROM in recovery, I am so lucky that my phone can boot up =_= with everything very smooth and OK.
Now, I have a few questions, as a newbie developer (sincerely asking for help~)
1) How can I get the latest google apps (gapps), and where can I get it? Are there any 'source code' for gapps? How to compile them?
2) If I want to get the source again (e.g. get the newest source of browser.apk), how & what command should I use?
3) If I want to modify the system settings, that is "Settings -> About Phone", which file should I modify?
4) After I get the source of AOSP, compilied them, is it mean that I have the rom deoxed? (Because I can see system/apps/ and all apps are breaking down into apks)
5) I enjoy using good things from others (e.g. LeoParts from Leo's ROM. Can I merge it into my rom and re-distribute after that? How?)
6) Is it necessary to sign *all* apk before they can be run on the phone?
7) I use dsixda kitchen and use testsign.jar. Just want to ask will the signing expires? And is it OK to distribute the ROM using test signing?
I know I get so many questions and they are so 'newbie...'. Sincerely hope that experts in this forum can answer my questions.
Once again, thanks all the ROM / Kernel makers in motivating me to custom the AOSP ROM myself.
Many thanks for all of your help.
ardatdat said:
1) How can I get the latest google apps (gapps), and where can I get it? Are there any 'source code' for gapps? How to compile them?
Click to expand...
Click to collapse
GApps are proprietary, closed-source applications... you can get them from http://mirror.kanged.net/gapps/gapps-hdpi-20100814-signed.zip
ardatdat said:
2) If I want to get the source again (e.g. get the newest source of browser.apk), how & what command should I use?
Click to expand...
Click to collapse
repo sync and then rebuild
ardatdat said:
3) If I want to modify the system settings, that is "Settings -> About Phone", which file should I modify?
Click to expand...
Click to collapse
Change the values in build.prop in /system or system.img
ardatdat said:
4) After I get the source of AOSP, compilied them, is it mean that I have the rom deoxed? (Because I can see system/apps/ and all apps are breaking down into apks)
Click to expand...
Click to collapse
AFAIK, yes, they are de-odexed. I believe you need to odex them later if you wish.
ardatdat said:
5) I enjoy using good things from others (e.g. LeoParts from Leo's ROM. Can I merge it into my rom and re-distribute after that? How?)
Click to expand...
Click to collapse
git merge (I forgot the detailed steps), repo sync and build
ardatdat said:
6) Is it necessary to sign *all* apk before they can be run on the phone?
Click to expand...
Click to collapse
Yes, I believe this is a must.
ardatdat said:
7) I use dsixda kitchen and use testsign.jar. Just want to ask will the signing expires? And is it OK to distribute the ROM using test signing?
Click to expand...
Click to collapse
This should be fine... most, if not all, custom ROMs are signed with test keys...
Hope I've been able to help a bit, if not much... have fun building!!! Ask the ROM gurus on twitter...
Thanks, a quick question:
Will repo sync re-download all the source???
I remember I need many hours in download the -b froyo branch.
Any get latest command that only get the difference?
Also, if I only want to get a particular folder, e.g. packages/apps/Browser, what is the command? Thanks.
repo sync takes several hours the first time... but every successive sync is a delta/differential sync... depending on the number of changes in the repository, it could finish in a few minutes. I'm not sure about syncing a particular folder, I just know about syncing a particular branch (which you have done using -b). Need to look it up...

Custom ROM binary file stage (AKA MIUI hacking environment)

Hey stalkers
See our MIUI dev progress has came to none. But I had some extra time today so I brought you a present:
http://www.mediafire.com/?g0lo47dcf1fylnx
or
http://www.multiupload.com/YDAQUOW478
(Thanks @efan0388 and @coolnow!)
What it does:
The makeImage script takes the CombinedKernel and CombinedFramework directories and creates an update-signed.zip file.
Currently it has CM7 weekly in it. It currently creates a bootable CM7 system you can make sweet CWM love with.
It runs and works on Ubuntu 11.04+. If you are using 64bit remember to install lib32-stdc++6.
You'll need cpio and gzip to be installed. No reason why it should not work on other distros.
In the ./bin dir you'll see some convenience scripts.
Why is this helpful
When you want to make changes to the binary CM file tree and make a quick ROM. AKA MIUI hacking (what I've used it for).
Please suggest any changes!
Thank you very much!
have any photo screen to show ....... ^^
Its a terminal script, screenies wont show a lot really.
Sent from my MB860 using XDA App

[TOOL] guestekrnL doItYourself STOCK KERNEL BUILDER for dummies - MAKE UR OWN KERNEL!

Ohai, everypwny!​Wanna impress your girlfriend without spending any money? Show her your love through compiling her your own O2X stock kernel! ​
Requirements: A PC capable of running a virtual Linux machine -- if your PC isn't much older than 5-6 years there shouldn't be a problem. Just make sure you have enough RAM (at least 1,5 - 2 GB recommended) -- no programming - or special linux knowledge required!
## Info: The VMWare image has been created by Jonas Hendrickx for XDA (I just altered/modified it for my needs).
5 simple steps to success: -- EVERYONE can do that!
Download and install Vmware Player (Freeware): http://www.vmware.com/go/get-player (VirtualBox will work too if you like this app better)
Download the file "guestekrnL_doItYourself_developer.rar" (http://guendhoer.com:9000/guestekrnL_doItYourself_developer.rar or https://docs.google.com/open?id=0B5HJ_FpcC9ymM3ZCS0l5RFJtZnc , 1.5GB) and unpack it (using WinRar or 7Zip or...) to any folder of your choice, and afterwards double-click the file "Android Developer.vmx" -- or alternatively open VMware Player first and then import the virtual machine located in the unpacked .rar contents
Click "I copied it" and wait until virtual machine starts up, login with password "root"
Open folder "kernel_source" (on Desktop), double-click file "buildkernel" and click "run in terminal"
Wait until terminal window closes, and start using your new kernel located in folder Desktop/kernel_source/guestekrnL_BUILDS
After this an exact copy of current guestekrnL "SR99R100.1PI.1337-GoodBye" has been built and packaged to a flashable CWM-Zip.
Possible things you can easily change yourself for making your own different/improved kernel versions:
Use a different compilation toolchain
(p.ex. http://releases.linaro.org/<choose a release version>/components/android/toolchain/<choose a gcc version>/)
download the file "android-toolchain-eabi-linaro-..." and replace the folder "android-toolchain-eabi" on Desktop of virtual machine with the unpacked content of the downloaded file
There are many different builds of linaro toolchains available, resulting in different smoothness, battery life and stability of the built kernel. Important:
[*]After toolchain change you have to edit the file "buildkernel" (rightclick -> open with gedit) and change the gcc version number to the one of your new toolchain (you find it here: Desktop/android-toolchain-eabi/lib/gcc/arm-eabi/<gcc version number>), save the file afterwards
Attention: if you switch to a toolchain newer than september 2011, you MUST change
# CONFIG_ALLOW_CPU_ALIGNMENT is not set
Click to expand...
Click to collapse
to
CONFIG_ALLOW_CPU_ALIGNMENT=y
Click to expand...
Click to collapse
in file Desktop/kernel_source/arch/arm/configs/gueste_defconfig -- otherwise kernel won't boot!
Only use toolchains with a number up to "4.6" in name, the newer ones ("4.7") are for ICS and not Gingerbread!
NOT every new toolchain will work with O2X stock kernels -> p.ex. 4.6.4 might not work while 4.6.2 works. Every toolchain older or equal to september 2011 should work BUT maybe you will have to remove some of the build flags not recognized by the older chain.
Always check Desktop/kernel_source/guestekrnL_BUILDS/build.log for errors after you made a new kernel build, especially at the bottom of the file. (Warnings don't matter.)
Use a different version-name for the built kernel
right-click file "buildkernel" in kernel_source folder -> open with gedit -> change kernelVersion there
Use a different general name for the built kernel (other than "guestekrnL")
double-click file "Makefile" in kernel_source folder -> click "Display" -> change kernel name there (change ".9-guestekrnL" to ".9-<yourKernelName>")
Attention: the Android app GuesteOC won't work if it doesn't find the String "guestekrnL" in kernel name! You then have to use the function-reduced version of the OC app by TrymHansen available for all kernels!
Use different build optimization flags
double-click file "Makefile" in kernel_source folder -> click "Display" -> search "CFLAGS_GUESTE" -> edit the build flags there
you find a good overview + explainations of available build flags here http://gcc.gnu.org/onlinedocs/gcc-4.5.3/gcc/Optimize-Options.html
and an interesting article on which flags the toolchain guys use here: http://www.linaro.org/linaro-blog/2...aro-android-2011-10-and-future-optimizations/
it is completely up to YOU which flags to use and not to use!
Stock standard would be:
CFLAGS_GUESTE = -O2
Click to expand...
Click to collapse
while the flags of current guestekrnL are:
CFLAGS_GUESTE = -O3 -ffast-math \
-mtune=cortex-a9 -march=armv7-a \
-mfloat-abi=softfp -mfpu=vfpv3-d16 \
-fsingle-precision-constant -fgraphite-identity \
-ftree-loop-distribution -ftree-loop-linear \
-floop-interchange -floop-strip-mine -floop-block \
-fmodulo-sched -fmodulo-sched-allow-regmoves \
-fno-inline-functions
Click to expand...
Click to collapse
if you have many flags like above, make line-breaks using slashes like above and only put 2-3 flags in one line!
Use different basic kernel configuration values
open folder "kernel_source", click the search-icon, search for "gueste"
edit the 2 files "guestekrnl.c" and "guestekrnl.h" of the result set according to your needs
guestekrnl.c and guestekrnl.h contain many default voltage/speed/... values, you can change them easily there
if you change MAX_OVERCLOCK to a higher value, you might need to change MAX_VOLTAGE as well and have to alter the whole cpu voltage and frequency table (see next point)
Help & explainations here: http://forum.xda-developers.com/showpost.php?p=26696158&postcount=25
Change CPU scaling voltages and speed steps
Edit the file Desktop/kernel_source/arch/arm/mach-tegra/nvrm/core/common/nvrm_clocks_limits.c and alter the two arrays "FakeShmooVoltages[]" and "FakepScaledCpuLimits"
the difference from one voltage step to another one needs to be lower or equal than 100mV;; too low voltages for a step results in freezes !!
the values for MAX_VOLTAGE and MAX_OVERCLOCK are located in file guestekrnL.h!
Help & explainations here: http://forum.xda-developers.com/showpost.php?p=26696158&postcount=25
Example of creating a kernel overclockable to 1.5 GHz: http://forum.xda-developers.com/showpost.php?p=26759653&postcount=58
Enable/Disable kernel features you want to use or don't want to use
open folder "kernel_source", click the search-icon, search for "gueste", edit the file "gueste_defconfig" according to your needs
"<featureName>=y" means the feature is enabled
"#<featureName> is not set" means the feature is disabled
Google for more information about what the different kernel features do, just past the kernel feature name in Google and you will find a description for most of them
Change the text shown to user on CWM installation of kernel
Edit the file Desktop/kernel_source/zipstructure/META-INF/com/google/android/updater-script according to your needs
If you are completely bad-ass you can also compile the compilation toolchain from the official sources yourself instead of using a prebuilt one (even if the prebuilt ones tend to be much more stable than the self-compiled ones)
Useful & important additional tipps/hints: Check this out
Info: If you ever stop the compilation progress before finishing, you have to edit the file "Makefile" in kernel folder and remove the version number from the version string (so only .9-guestekrnL should remain), otherwise you will have double version number in next kernel build.
Start being a kernel developer for XDA right now, today!
Advantages:
- U can impress many users by presenting them your hard work
- You will be acknowledged
- You will be able to easily express your creativity to the world wide web
- And much much more ,,, Sign up today! Oh, wait, no signup needed
If you think you have created an extremely good version of guestekrnL or maybe a completely new kernel, think about posting it here in the thread (I will link the posted kernels here in first posting) or open your own thread for your new kernel, it is up to you
As always I'm not responsible for any harm you might do to your system
Wanna build other stock sources than the ones of guestekrnL? Check this out
Awesome, Stefan!
Downloading...
Yeehhaawwwww!!! This is what im searching for.. thank you very very very much..
Edit: You need to edit your post.. looks unorganized.. quite difficult to read..
Sent from my LG-P990 using XDA
ghadap said:
Yeehhaawwwww!!! This is what im searching for.. thank you very very very much..
Edit: You need to edit your post.. looks unorganized.. quite difficult to read..
Sent from my LG-P990 using XDA
Click to expand...
Click to collapse
Thx I restructured a bit
Great work!
sent from my wii remote
You are great, thx!!!
Hy Stefan,
thx a lot
Herzlichen Dank
Craxx
Direct download Link from my own FTP server coming soon, because some users might have problems with download of the 1.5GB .rar from current mirror
Stefan Gündhör said:
Ohai, everypwny!​Wanna impress your girlfriend without spending money? Show her your love through compiling her your own O2X stock kernel! ​
Click to expand...
Click to collapse
LOL..! I can't think of any more evil scheme that this . Great work, Stefan..!
OH, on afterthoughts, a better thing that serves the purpose would be "How to build a theme..."
Yes Stefan, i have tried 3 times and download stops after around 300 MB, so i wait for direct download link
This is so awesome! Thanks alot!
Sent from my LG-P990 using Tapatalk
Great initiative Stefan. Download stops at ~300MB for me as well, looking forward to trying it.
Are the guestekrnl-scripts included in the finished kernel installer? (Just wondering if GuesteOC will work out of the box.)
TrymHansen said:
Great initiative Stefan. Download stops at ~300MB for me as well, looking forward to trying it.
Are the guestekrnl-scripts included in the finished kernel installer? (Just wondering if GuesteOC will work out of the box.)
Click to expand...
Click to collapse
Yeah I'm just uploading to a new FTP mirror, will take about 2 more hours I guess!
And yeah, the exact zipstructure of current guestekrnL release will be built automatically, including GuesteOC v2.1.5 + Myrt UV GUI, all working out of the box!
(In fact the most actual guestekrnL release was built exactly the way I describe it in first posting: I ran the virtual machine and double-clicked/ran the buildkernel-script. That's it.)
great tutorial Stefan...made it look very simple....NOTHING IS IMPOSSIBLE IN THIS WORLD..I am going to try doing it myself Stefan...as they say...the modern world is a place where a butcher can become a goldsmith, a carpenter can be a captain of the ship and a cleaner can be a pilot....
Thanks for the make urself tool kit mate.I am sure that we will find a lot of Kernels floating in this forum....
just a matter how many are good like urs or temaseks or vadonkas or so many others....time will tell that...have to wait to see that.
I appreciate the hard work put by you to make it so simple for starters and noobs morons like me to understand.
THANKS THANKS THANKS a million.I really mean it truthfully my friend
Stefan, will your tutorial works with original source (eg, V20q) and others (eg, spica HP)? and which file/folder to make our kernel support ext4?
My idea was using stock kernel but add ext4..
Downloading with FF stopped at 500MB, but with Free Download Manager, I could download it without problems.
The sources are very cool. Playing a bit around with them...
ghadap said:
Stefan, will your tutorial works with original source (eg, V20q) and others (eg, spica HP)? and which file/folder to make our kernel support ext4?
My idea was using stock kernel but add ext4..
Click to expand...
Click to collapse
Example of building unchanged stock kernel and only add ext4 compatibility:
start the kernelBuilder,
delete all folders located in Desktop/kernel_source except the folders "guestekrnl_BUILDS" and "zipstructure"
delete all files located in Desktop/kernel_source except the file "buildkernel"
edit the file "buildkernel" (rightClick-> open with gEdit) and change line
make ARCH=arm gueste${1}_defconfig;
Click to expand...
Click to collapse
to
make ARCH=arm star_ifx${1}_defconfig;
Click to expand...
Click to collapse
if you use v20 sources or to
make ARCH=arm star_rev_f_android${1}_defconfig;
Click to expand...
Click to collapse
if you use v10 sources
Download the official kernel sources you want from http://www.lg.com/global/support/opensource/opensource-detail.jsp?detailCustomerModelCode=LGP990
Extract the sources until you get a folder kalled "kernel"
copy the contents from inside "kernel" folder to Desktop/kernel_source
edit file Desktop/kernel_source/drivers/net/wireless/bcm4329/Makefile -> change line
-Wall -Wstrict-prototypes -Werror \
Click to expand...
Click to collapse
to
-Wall -Wstrict-prototypes \
Click to expand...
Click to collapse
edit file Desktop/kernel_source/arch/arm/configs/star_ifx_defconfig (or star_rev_f_android_defconfig): enable ext4 through replacing ext4 config (search for it in the file) with following:
CONFIG_EXT4_FS=y
CONFIG_EXT4_FS_XATTR=y
# CONFIG_EXT4_FS_POSIX_ACL is not set
# CONFIG_EXT4_FS_SECURITY is not set
# CONFIG_EXT4_DEBUG is not set
CONFIG_JBD=y
# CONFIG_JBD_DEBUG is not set
CONFIG_JBD2=y
# CONFIG_JBD2_DEBUG is not set
Click to expand...
Click to collapse
run the buildkernel script, kernel will be built
Attention: don't use linaro/gcc toolchain newer than september 2011, otherwise kernel won't boot without additional modifications (the included default toolchain will work fine)
For every other stock kernel sources (in order to compile & zip-package them using kernelBuilder) the procedure should work similar!
Spica horsepower kernel however won't work that way, because spica does not upload his defconfig to his sources @GitHub (thus making rebuilding more difficult).
And default defconfig of stock kernel won't work with spica kernel. (Without the right defconfig the kernel does not boot.)
Older spica kernels (older than SR3) completely won't work and can't be rebuilt because spica never offered full sources @GitHub until SR3.
So in order to get a current spica kernel source working, you have to additionally
install the kernel you want to rebuild first on your phone and then
copy the file /proc/config.gz first to your internal SD and then to your PC,
unpack it and then rename the file you get to "spica_defconfig" and
place it in Desktop/kernel_source/arch/arm/configs/
finally edit the buildkernel file again so you have
make ARCH=arm spica${1}_defconfig;
Click to expand...
Click to collapse
in there!
In order to see the differences of guestekrnL compared to stock kernel, Download Meld Diff Viewer in App Store of virtual linux machine and make a folder-comparison of folder Desktop/kernel_source and a folder where you keep unchanged v10E kernel sources!
New direct download mirrors online! (Thx to cojo & myself ) Please report if the .rar files are error-free thx!
Additional tipps/hints:
change your keyboard layout to the one of your language/country (right-click top right most left icon and choose "change keyboard layout")
use versioning! :
double-click "Terminal" on desktop
enter "sudo apt-get install git-core git-gui" (internet connection is required)
enter the password ("root") , confirm installation, after install exit the window
enter "cd Desktop/kernel_source"
enter "git init"
enter "git add ./"
enter "git commit -a" then enter "first commit" & save & exit (the keyboard combinations for this are shown)
enter "git gui" and in first menu click "visualize master's history" -> you will see all commits and changes you made in each commit there
everytime you have made a few changes to the kernel, run "git commit -a" again (and if you add new file git add ./), so a new commit will be added to the commit history and you can see all changes there
use a diff viewer (Meld Diff Viewer of virtual machine linux software repository) for comparing guestekrnL sources with unchanged v10E stock kernel sources, so you can understand custom kernel making better! -- you can find orig sources here http://www.lg.com/global/support/opensource/opensource-detail.jsp?detailCustomerModelCode=LGP990 , download the v10E archive and unpack until you get a folder called "kernel", make a folder-comparison with Meld Diff Viewer afterwards!
Just take your time, begin with only compiling the kernel without changes (and try if it boots) and then slowly change more and more stuff, don't change too many things at once, always compile&try the kernel between more changes.
Learn by viewing the commits other developers make for their kernels, but pay attention that some commits might not be complete or incompatible with your kernel! Some commits of CM7 kernels can be useful, but not all will be compatible. When I started I learned much by just reading the commits of ironkrnL, from this commit page upwards: https://github.com/SetiroN/lge-kernel-star/commits/v2?page=5 (only the things "SetIron" directly commited) -- Please note that my own git repo is a mess, as I don't split up changes to single commits, I just make a commit for all changes a new kernel version has, so my repo won't help u much in learning
Always check Desktop/kernel_source/guestekrnL_BUILDS/build.log for errors after you made a new kernel build, especially at the bottom of the file. (Warnings don't matter.)
Stefan Gündhör said:
New direct download mirrors online! (Thx to cojo & myself ) Please report if the .rar files are error-free thx!
Click to expand...
Click to collapse
Downloaded from Google Docs and unpacked without incident. Now compiling under VirtualBox, which also worked without any modification.
...and as I was writing this it finished. Whole compilation job took less than 2 mins on a 4-core VM. ;-)

[GUIDE] dsixda's Android Kitchen - Now supports GS3 I9300 (Windows/Linux/Mac)

dsixda's Android Kitchen - Now for Samsung Galaxy SIII GT-I9300
Compatible with Windows (Cygwin) / Linux / Mac OS X
The following is a guide to assist you with creating your own Samsung Galaxy SIII GT-I9300(T) custom ROMs with the kitchen. This is NOT a guide to help you become Cyanogen or do fancy things with AOSP, but it may be your springboard to bigger things in the future.
Some of you already know about the Android Kitchen. It is a project I started on back in February 2010 to help newbies create their own custom ROMs and learn more about Android. As of the latest versions, you can now create your own Galaxy S3 I9300 ROMs with the kitchen.
NOTE: This guide may also work for other Samsung devices. So if you were told to come here and you have a different device, it was not an error - just make sure you use a base ROM from your own device, not from the I9300! For all other Galaxy S3 variants, this guide might not be exactly the one you're looking for. There may be support for your S3 device in the kitchen, but I'd need to post different instructions. Check the first post of the kitchen thread for any updates for linked instructions.
I'd like to thank klander for testing and providing feedback, which is always appreciated!
[MAIN PAGE] [RELEASE NOTES] [FAQ - page 1] [FAQ - page 2]
​
PROCEDURE FOR MAKING YOUR ROM:
NOTE: If you have a non-I9300 device and were told to follow these instructions, then use a base ROM from that device, NOT a ROM meant for the I9300!! The same steps below, however, (and common sense) should be used.
First, you need a rooted Samsung Galaxy S3 I9300 with a custom recovery menu, which allows flashing of custom ROMs.
Visit the Android Kitchen thread to download the kitchen. Then, follow the link to the FAQ which will show you how to install it on Windows, Linux or Mac OS X. Ensure you read the FAQ carefully.
Put one or more of your base ROM(s) under the original_update folder. For the Samsung Galaxy S3 I9300, there is support for the following formats (that I know of) which can be placed in that folder:
Stock firmware:
system.img, boot.img, cache.img (and optionally: modem.bin)
TAR/ZIP file containing the above. NOTE: If the TAR file name ends with "MD5", remove the MD5 part from the name.
OR Custom ROM:
must be a ZIP file created by the kitchen from the stock firmware (NOTE: The kitchen may NOT support custom ROMs created through other methods such as CyanogenMod, due to potential file structure incompatibility issues)
OR Nandroid backup from custom recovery image:
system.img, cache.img and boot.img
system.ext4.tar, cache.ext4.tar and boot.img
Here are some basic steps to creating your first ROM after you have your base of files under original_update (more options are available in the kitchen):
Start the kitchen with: ./menu
Create a working folder (by choosing your base ROM)
Root your ROM
Add Busybox
Optional: Disable boot sounds
Optional: In the Advanced options menu: De-odex your ROM (your mileage may vary as to whether this works 100%)
Optional: Add or remove the modem.bin from your working folder
Build ROM
The ROM is built into a ZIP file meant for flashing from the custom recovery menu. No Odin. Make a Nandroid backup of your current system before you flash anything!
Some notes:
Just select the defaults whenever you are asked about something in the kitchen and are unsure whether to type 'y' or 'n'.
There are lots of questions answered in the FAQ in Posts 3 and 4 of the main Android Kitchen thread. So please go through that first if you have any issues.
For the benefit of other readers and to prevent confusion, please only discuss the Samsung Galaxy SIII GT-I9300 in this thread!
Most of all, have patience, take your time and enjoy!!
just what i need
I have a de-bloat script if you want a copy to convert to a kitchen script. It's perl calling system values and the kitchen.
Are we still meant to be extracting the img files manually to get them working?
Kangburra said:
I have a de-bloat script if you want a copy to convert to a kitchen script. It's perl calling system values and the kitchen.
Click to expand...
Click to collapse
I'm not doing additional work, but if you'd like you could make a plugin for the kitchen, which would go under the /scripts/plugins folder and can be accessed from the Advanced menu of the kitchen. I can advertise it in the kitchen thread (in the plugins section) as a separate download under your name.
Are we still meant to be extracting the img files manually to get them working?
Click to expand...
Click to collapse
With Cygwin the kitchen will give you instructions on which program to open and how to use it (manually). The programs are found in the kitchen.
With Linux/Mac, it is all automated and very quick.
Just when I thought this kitchen was a goner, you came along and made it work again
I have just put the French zip into the kitchen and it fails to extract the img files.
Available ROMs:
(1) I9300XXDLIH_I9300VFGDLJ1_SFR.zip
Enter selection number (default=1, cancel=0, r=refresh):
Selected I9300XXDLIH_I9300VFGDLJ1_SFR.zip
The new working folder will be named WORKING_101712_171605
Change the name (y/n)? (default: n):
Creating working folder WORKING_101712_171605 ...
Extracting ROM ...
Error: No system folder found!
Press Enter to continue
Click to expand...
Click to collapse
It works after manually extracting so no big deal
Kangburra said:
I have just put the French zip into the kitchen and it fails to extract the img files.
It works after manually extracting so no big deal
Click to expand...
Click to collapse
If the zip contains a tar file then it's not going to work, you need to unzip the tar file.
The best tool for deodex Roms!
THANKS dsixda! :good:
Regards
adesirello (AndyX ROM)
Awesome job mate :good:
tomorrow`s homework !
thanx !
Perfect! Just two days ago i was think at dsixda kitchen! I don`t have enough thanks for this!
Great.
Just what i was looking for.
dsixda said:
dsixda's Android Kitchen - Now for Samsung Galaxy SIII GT-I9300
Compatible with Windows (Cygwin) / Linux / Mac OS X
The following is a guide to assist you with creating your own Samsung Galaxy SIII GT-I9300(T) custom ROMs with the kitchen. This is NOT a guide to help you become Cyanogen or do fancy things with AOSP, but it may be your springboard to bigger things in the future.
Some of you already know about the Android Kitchen. It is a project I started on back in February 2010 to help newbies create their own custom ROMs and learn more about Android. As of the latest versions, you can now create your own Galaxy S3 I9300 ROMs with the kitchen.
IMPORTANT: For all other Galaxy S3 variants, this guide may not be exactly the one you're looking for. There may be support for your S3 device in the kitchen, but I'd need to post different instructions. Check the first post of the kitchen thread for any updates for linked instructions.
Click to expand...
Click to collapse
just wanted to let u know that when cooking my rom with ur kitchen, awesome by the way, i was getting constant hang at logo on boot. i went back to the beginning as it worked and booted and just added bit by bit until i found the issue. the issue was adding busybox install run parts. it took me a day to figure this out. i went through kernel to framework and nothing fixed this issue where booting just to logo then stuck. finally deleted working folder, went back to a basic rom, slowly added root, then busybox, deodex etc. i dont know if this issue is specific to just me and my particular build but just putting it out there for others wanting to use this excellent kitchen on their i9305.
L335K1 said:
just wanted to let u know that when cooking my rom with ur kitchen, awesome by the way, i was getting constant hang at logo on boot. i went back to the beginning as it worked and booted and just added bit by bit until i found the issue. the issue was adding busybox install run parts. it took me a day to figure this out. i went through kernel to framework and nothing fixed this issue where booting just to logo then stuck. finally deleted working folder, went back to a basic rom, slowly added root, then busybox, deodex etc. i dont know if this issue is specific to just me and my particular build but just putting it out there for others wanting to use this excellent kitchen on their i9305.
Click to expand...
Click to collapse
Did you create a /system/etc/init.d folder with your custom scripts after enabling the Busybox Run-parts? That option is quite old but I have not seen anyone try or test it with any of the Galaxies. Maybe when you have time next time, do a logcat while it boots and see what the problem is (assuming you had the init.d folder created already). Thanks
dsixda said:
Did you create a /system/etc/init.d folder with your custom scripts after enabling the Busybox Run-parts? That option is quite old but I have not seen anyone try or test it with any of the Galaxies. Maybe when you have time next time, do a logcat while it boots and see what the problem is (assuming you had the init.d folder created already). Thanks
Click to expand...
Click to collapse
yea i created the init.d folder first, (using v29 so it gives u warning anyways), but it still does this. i have to add init.d support manually through my script. but this is awesome, i just gotta remember not to use that feature.. i did both logcat and recovery logs but couldnt make heads or tails of it. it was easier to go back through ur kitchen, add 1 feature at a time until i found the culprit. thanks heaps
Please link to download the kitchen, thank you very much.
misacek said:
Please link to download the kitchen, thank you very much.
Click to expand...
Click to collapse
First post.
This is great!
Thanks dsixda.
YZ.
Please not see me? can give direct link? thank you very much
misacek said:
Please not see me? can give direct link? thank you very much
Click to expand...
Click to collapse
If you refuse to or are unable to read post #1 then you'll have trouble using - and even installing - the kitchen.

Porting AOSP from source

ok, i'm trying to port and boot the AOSP source from google for 4.1.2 JB x86, first of all, i follow the next guide to build my own compiling machine http://forum.xda-developers.com/showthread.php?t=2762390 but i download in the step 12 the repo of google AOSP (repo init -u https://android.googlesource.com/platform/manifest -b android-4.1.2_r2.1 & repo sync)
Start the enviroment with: . build/envsetup.sh
and download download the source from motorola to get some propertary files http://sourceforge.net/projects/razr-i.motorola/files/LATAM/9.8.2I-50_SML-29/
now, the git have some instructions like you see in the README file inside the source, this say:
1. Create a workspace containing "vanilla" JB release from Google.
Done
Click to expand...
Click to collapse
ou may need to apply the following change in build repo to prevent the build from aborting when unexpected user tag is found on some modules:
[SOURCE] diff --git a/core/base_rules.mk b/core/base_rules.mk
index 3c11673..ecf611d 100644
--- a/core/base_rules.mk
+++ b/core/base_rules.mk
@@ -99,7 +99,7 @@ ifneq ($(filter $(LOCAL_MODULE_TAGS),user),)
$(warning * PRODUCT_PACKAGES section of)
$(warning * build/target/product/core.mk)
$(warning * )
- $(error user tag detected on new module - user tags are only supported on legacy modules)
+ $(warning user tag detected on new module - user tags are only supported on legacy modules)
endif
endif [/SOURCE]
i'm trying to do this step, but nothings seems happen...
The second step says that all we need is overlaying the Motorola repos on top of the AOSP repos, but in the Terminal i don't know some commands ('cause always i work on Windows ).
i need just a little help in here, i'm tryin to compare both sources, but in windows i've a tool called WINMERGE, in linux i don't know if we have something like that. I don't wanna overlay the repos, i want to compare the files and re-write the AOSP source with some parts of the motosource and get AOSP software with motorola hardware working.
thks to all, sorry for my bad english, i don't use translator
I always used meld. Meld is an 2to3 way comparing tool, that compares folders (date), files (versions) and text. It is almost like winmerge, just a little bit different. U can look it up in the app store of whatever ubuntu/linux version you have.
As for the defferences between aosp and moto. There are a number of differences. The most can be located in the system/core where moto has changed the behavior of how init works and some x86 implementations (especially pixelflinger). The next BIG thing is the bionic (libc). It has many x86 implementations and i am not sure if u can overlay them without trouble into aosp source.
Good luck!
Hazou said:
I always used meld. Meld is an 2to3 way comparing tool, that compares folders (date), files (versions) and text. It is almost like winmerge, just a little bit different. U can look it up in the app store of whatever ubuntu/linux version you have.
Click to expand...
Click to collapse
yeah, i'm using meld, it's amazig 'cause i can copy the files from one to another place, by the way, i'm using Ubuntu 14.04, with JVM 1.70 but 've some errors in the moment to build ...
As for the defferences between aosp and moto. There are a number of differences. The most can be located in the system/core where moto has changed the behavior of how init works and some x86 implementations (especially pixelflinger). The next BIG thing is the bionic (libc). It has many x86 implementations and i am not sure if u can overlay them without trouble into aosp source.
Good luck!
Click to expand...
Click to collapse
yeah, i see the both codes and check the changes, in some lines the works of moto it's amazing, but whe need more dev's to check all the changes to implement for porting ROMS
Lenovo has recently provided a software update which upgrades Android to version 4.3 for the k900, so i'm going to download the repo AOSP from google and later try to port 4.3

Categories

Resources