This probably belongs in the developer section, but I don't have permission to post there yet)
This work is very preliminary. It isn't really anything more than a starting point right now. It DOES NOT yet provide a faithful representation of a custom ROM in the emulator.
Current status:
emulator running 2.6.29 kernel with a combination of frankenstein of the emulator and devoid-franco system image.
I've been working to get a custom ROM working in the Android SDK emulator. There are several reasons for this, but in the end, it makes it a lot easier to test out different tweaks to get the ROM working as I'd like (I need some functions provided on the P509 ROM that aren't provided on any custom ROMS, and reinstalling the APKs isn't sufficient). I spent a lot of time looking for a thread about this, but nothing I could find discusses the specifics of working with a P500 based device
Things I've learned:
a) you need a kernel specifically compiled for the emulator, and the ramdisk image needs to be built to work with an emulator. For the moment i am using the SDK kernel (2.6.29) and ramdisk image to get going
b) the p509 libraries aren't compatible with the emulator, I needed to copy the libraries from the supplied emulator image
Here are some notes I took. I'll try to flush this out more as I make further progress:
Tools you will need:
Android SDK and 2.2 platform files (android-8)
unyaffs
mkfs.yaffs2.x86
a copy of the ROM image to install (devoid.franco.v5 in my case)
before beginning you should build a stock 2.2 emulator env to ensure everything is working (from sdk/tools run):
android list targets
find the id for 2.2 (was '4' for me)
android create avd -n test-froyo -t 4
(I used all defaults, except I set the RAM to 512MB and screen to HVGA)
emulator -avd test-froyo -show-kernel
(this should eventually bring up a running froyo)
you'll need to know where the avd lives. In linux, it should be in ~/.android/avd/test-froyo
I'm working on linux, but this should work in Windows if you can find a compiled version of mkfs.yaffs2 for windows (I've seen a compiled unyaffs version out there)
1) unzip the rom image. it should create a system/ directory.
We should execute the updater-script here, but we'll take a short-cut:
chmod -R 655 system/
2) uncompress the platfrom system image:
in a new dir:
unyaffs <sdk path>/platforms/android-8/images/system.img
3) copy all files from system/ in step-2 to system/ in step-1
we should really need to do this, it is probably sufficient to run the updater-script and then copy the framework/, lib/ and a couple qemu files, but this is just to get things going.
4) make dbus.conf readable:
chmod 644 system/etc/dbus.conf
5) remove system/app/LGSetupWizard.apk
This app relies on custom classes in the firmware that aren't present in the emulator base system. I'm still trying to build a custom firmware.jar that has both.
6) build a new system.img
mkfs.yaffs2.x86 system system.img
7) copy the system image to your avd dir:
cp system.img ~/.android/avd/test-froyo
If everything has gone well, you can now startup the emulator and boot into franco's rom:
emulator -avd test-froyo -show-kernel
Because we copied too much stuff from the default system.img, we've lost his themes and mst of his tweaks, so it isn't really a faithful representation of the ROM at all, but we've cleared the 1st milestone of being able to boot up.
I also booted a stock P509 kernel this way with a few changes:
a) I used nandroid to get the system image, and then unyaffs2 to extract it)
b) I removed all odex files:
find system -name "*.odex" | xargs rm
Again, this isn't really a custom ROM, it is actually the emulator rom with additional apps and customizations. The goal is to get to as close as possible to running a true custom ROM
A few other notes:
the following framework files can be preserved from the custom ROM (no need to overwrite):
Code:
am.jari : ok
android.policy.jar : not ok
android.test.runner.jar : ok
bmgr.jar : ok
core.jar : ok
ext.jar : ok
framework.jar : not ok
framework-res.apk : not ok
framework-tests.jar : ok
ime.jar : ok
input.jar : ok
javax.obex.jar : ok
monkey.jar : ok
pm.jar : ok
services.jar : not ok
svc.jar : ok
framework.jar is the most important of the 'not-ok' ones as far as I can tell, and is missing several classes. I am currently working to build a services.jar that is a merge of the P500 and emulator classes.
Installing the p500 framework,.jar requires many files from system/lib, but once all dependencies are solved, you eventually end up with a segfault. I've been unable to debug that, and am not sure I want to. The goal is to get a running dalvik VM with all classes needed to run P500 apps.
First blood!!!
Hi all,
In this thread, I will try to share the knowledge I have on deodexing, making custom ROMs, modifying initramfs, building kernel and much more.
Please check the below posts for each of these tutorials.
Hope this opens doors to many new ROM and Kernel developers.
NOTE: THESE TUTORIALS ARE WRITTEN FOR GT-I9100. WILL NOT WORK ON OTHER DEVICES. I DON'T TAKE ANY RESPONSIBILITY IF YOU MESS UP AND BRICK YOUR DEVICE OR ANYTHING ELSE. USE AT YOUR OWN RISK.
Deodexing Stock Rom
For GINGERBREAD ROMS:
What you need to have:
xUltimate v2.3.3 - you can download it HERE (Thanks and Credits to Xeudoxus for this awesome app)
Rooted kernel with busybox
JDK installed on your Windows system
If adb is not available in your windows PC, in xUltimate folder open "jar" folder. You'll find adb there.
Extract stock app & framework folders and Deodex:
Connect your device to computer.
Start xUltimate (double-click on Main.exe)
Select option 1. (Pull /system/app)
Once option is done, select option 2. (Pull /system/framework)
In the same folder, now you'll see two new folders (origi_app, origi_frame)
Select option 3 in Main menu (Deodex /system/app)
Once its done, select option 4 in Main menu (Deodex /system/framework)
DONE!!
NOTE: If any apk/odex gives issues while deodexing, remove that corresponding apk and odex from origi_app folder and deodex again. (Mostly the apps which can be downloaded from play store might give errors.. ex: Maps, Voice search etc.)
Now you'll see two new folders done_app and done_frame.
Push deodexed app and framework to device:
Connect your device to PC in USB debugging mode.
Copy done_app and done_frame folders to root of sdcard (/sdcard).
Open Windows command prompt and type the below commands.
Code:
[LIST]
[*]adb shell
[*]su
[*]stop
[*]mount -o remount,rw /dev/block/mmcblk0p9 /system
[*]rm /system/app/*.odex
[*]rm /system/framework/*.odex
[*]busybox cp /sdcard/done_app/* /system/app/
[*]busybox cp /sdcard/done_frame/* /system/framework/
[*]chmod 644 /system/app/*
[*]chmod 644 /system/framework/*
[*]mount -o remount,ro /dev/block/mmcblk0p9 /system
[*]sync
[*]reboot recovery
[/LIST]
In Recovery, Wipe Cache and Wipe Data/Factory reset.
Reboot.
Now you've deodexed app and framework.
For ICS ROMS:
For ICS Roms, the process is quite easy. (Thanks and Credits to jaydvn.)
Download the attached zip file.
Extract it on your windows PC.
Copy your /system/app to _app folder
Copy your /system/framework to _framework folder.
Run AutoDEOToolMain.bat
Follow the instructions.
deodexed jars and apks will be found in deodexed_APK and deodexed_JAR.
Push deodexed app and framework to device:
Connect your device to PC in USB debugging mode.
Copy deodexed_APK and deodexed_JAR folders to root of sdcard (/sdcard).
Open Windows command prompt and type the below commands.
Code:
[LIST]
[*]adb shell
[*]su
[*]stop
[*]mount -o remount,rw /dev/block/mmcblk0p9 /system
[*]rm /system/app/*.odex
[*]rm /system/framework/*.odex
[*]busybox cp /sdcard/deodexed_APK/* /system/app/
[*]busybox cp /sdcard/deodexed_JAR/* /system/framework/
[*]chmod 644 /system/app/*
[*]chmod 644 /system/framework/*
[*]mount -o remount,ro /dev/block/mmcblk0p9 /system
[*]sync
[*]reboot recovery
[/LIST]
In Recovery, Wipe Cache and Wipe Data/Factory reset.
Reboot.
Done.
Enjoy.
Building kernel
Okay. Let's learn how to build kernel for GT-I9100. There are many ways to build. I am just presenting here the way I build and make kernel.
NOTE 1: Follow the instructions exactly.
NOTE 2: Kernel is opensource. If you make any changes to it, you're expected to share your source. (Usually people share it over github )
NOTE 3: FLASHING KERNEL IS RISKY AND DANGEROUS. BE CAREFUL. BUILD AND FLASH ON YOUR OWN RISK.
What you need to have:
Ubuntu 10.04 and above (I use 10.04 )
ARM tool chain (Download HERE. Click on IA32 GNU/Linux TAR under Advanced Packages)
Samsung's opensource kernel for GT-I9100 (Download HERE. Go to Mobile->Mobile Phone-> Select I9100 (update 3 for Gingerbread and update 4 for ICS) and download the zip)
Setting up toolchain:
Extract the tar you downloaded(Suggestion: Extract to one folder where you can have everything. In my case /home/superatmos/build_kernel).
After extracting, you'll see a folder named arm-2010q1. Inside there will be many folders (ex. bin, lib and so on.)
Folder structure will be: /home/<your_name>/build_kernel/arm-2010q1
Setting up kernel:
Extract the zip you've downloaded from samsung's opensource.
You'll find two zips.
Extract GT-I9100_Kernel.tar.gz to /home/<your_name>/build_kernel/
Folder structure: /home/<your_name>/build_kernel/GT-I9100_Kernel
Setting up initramfs:
Samsung's zImage is divided into two parts: Opensource kernel (which you downloaded from samsung's website) and initramfs (which is root file system to boot up the device).
You can extract initramfs from your zImage using the below mentioned links (Credits and Thanks to Chenglu) Original Thread: HERE
To extract initramfs from Gingerbread zImage: HERE
To extract initramfs from ICS zImage: HERE
Folder structure: /home/<your_name>/build_kernel/initramfs
Now the entire setup is ready. Let's start modifying kernel configuration.
Setting up kernel config:
For Gingerbread:
Go to /home/<your_name>/build_kernel/GT-I9100_Kernel/arch/arm/configs folder.
Copy c1_rev02_defconfig file and paste it in kernel root folder (/home/<your_name>/build_kernel/GT-I9100_Kernel/).
Rename c1_rev02_defconfig to .config in kernel root folder.
Now open Makefile which is in your kernel root folder(/home/<your_name>/build_kernel/GT-I9100_Kernel/).
Modify the below lines (I guess line 195 and 196).
For ICS:
Go to /home/<your_name>/build_kernel/GT-I9100_Kernel/arch/arm/configs folder.
Copy u1_defconfig file and paste it in kernel root folder (/home/<your_name>/build_kernel/GT-I9100_Kernel/).
Rename u1_defconfig to .config in kernel root folder.
Now open Makefile which is in your kernel root folder(/home/<your_name>/build_kernel/GT-I9100_Kernel/).
Modify the below lines (I guess line 195 and 196).
Code:
ARCH ?= arm
CROSS_COMPILE ?= /home/<your_name>/build_kernel/arm-2010q1/bin/arm-none-linux-gnueabi-
Save and close.
Modifying kernel configuration:
Now open .config file(which you renamed). If its not seen, it might be hidden. Go to View->Show hidden files and there you go.
Do the below things:
Adding local version:
Change CONFIG_LOCALVERSION=" " to anything you like. I add this way:
CONFIG_LOCALVERSION="-I9100-superatmos"
Adding initramfs path:
You need to let kernel know the path from which it needs to take initramfs.
Change CONFIG_INITRAMFS_SOURCE=" " to ../initramfs (In this tutorial it's the path. If you had copied anywhere else, give the path properly).
Enough for now. Once you get experience, you can modify many configurations as per your liking and save. This configuration can be changed by GUI too with the command make menuconfig.
The Important part: Building the kernel:
For Gingerbread:
Open terminal.
Go to path /home/<your_name>/build_kernel/GT-I9100_Kernel/
Type make.
For ICS:
Open terminal.
Go to path /home/<your_name>/build_kernel/GT-I9100_Kernel/
Type export USE_SEC_FIPS_MODE=true
Type make.
THAT'S ALL. YOUR zImage is ready and is available in /home/<your_name>/build_kernel/GT-I9100_Kernel/arch/arm/boot/zImage.
Install the zImage on the device:
Go to the path where zImage is present and type the below line in command line.
Code:
tar cvf I9100_kernel.tar zImage
Flash the tar using odin.
DONE. CONGRATULATIONS. NOW YOU'VE YOUR OWN KERNEL.
Give me your feedback so that I can improve this tutorial. And post here about how your build went. All the best.
Making custom ROM
Let's move on to make a custom ROM.
Inputs/Feedback/Suggestions are more than welcome. Lets improve this tutorial together for the betterment of the android community.
Steps involved in making a custom ROM:
Getting the system dump from the device.
Deodexing app and framework folders.
Creating various mods by modifying framework and system files.
Modifying build.prop and adding tweaks.
Making META-INF folder and writing an updater-script (edify scripting).
Signing the ROM and making a flashable zip.
Folder Structure:
Before going forward, let's follow the below structure folder to make the tutorial more understandable.
Let our ROM name be CustomROM. The folder structure will be C:\Users\<your name>\CustomROM.
Let's move step by step. Are you ready??
Getting the system dump from the device
Click to expand...
Click to collapse
Make sure USB debugging is ON and connect your device to the PC.
Open command prompt on your windows PC and go to CustomROM folder path.
Type adb devices. You should be able to see the device detected. (If not check environmental variables whether adb is in system path or not. If not present, add the adb path.)
Type the below command to get the dump of system folder.
Code:
adb pull /system system/
Now inside the folder CustomROM, you should be able to see system folder with many folders like app, etc, framework etc inside.
Done with first step.
Deodexing app and framework folders
Click to expand...
Click to collapse
Look HERE how to deodex app and framework folders. Copy the app and framework folders to xUltimate folder, rename them to origi_app and origi_frame and follow the given link to deodex.
NOTE: After deodexing, merge origi_app folder with app folder under C:\Users\<your name>\CustomROM\system\app and origi_frame with framework folder under C:\Users\<your name>\CustomROM\system\framework.
Creating various mods by modifying framework and system files
Click to expand...
Click to collapse
Okay. This the section where your hardwork, innovation and talent comes in. You can use the mods available already, create your own mods, port various mods from other devices and so on.
Below is a list of various mods which can be ported on to GT-I9100. All the credits go these respective thread owners. Thanks to them.
Lidroid 14 toggle mod
Extended power menu with/without header
CRT Off Animation & SIP Over LTE/HSPA
Swipe to remove notifications
NOTE: Let me know more mods with links so that I can add here.
Modifying build.prop and adding tweaks
Click to expand...
Click to collapse
Okay. This is one of those files where you name your ROM(to be visible in settings. ) and add many tweaks.
To name your ROM (to be visible in settings), change the below code.
Code:
ro.build.display.id=CustomROM v1.0
Check the below links for many other tweaks. All credits go to respective thread owners. Thanks to them.
build.prop tweaks by TheFrankenstain
build.prop tweaks by dhlalit11
Making META-INF folder and writing an updater-script (edify scripting)
Click to expand...
Click to collapse
Once you're done with all the modifications, mods and additions, its time to create META-INF folder and make the updater script. Once the user flashes the ROM zip, this is the script that runs and does everything written inside the script. PLEASE BE CAREFUL WITH THIS. TAKE REFERENCE FROM OTHER (SAME DEVICE) ROMS' UPDATER-SCRIPT. (In this case, take reference from other GT-I9100 roms.)
Check the below links for tutorial and how-to on writing edify script and making updater script. All credits go to respective owners of the threads. Thanks to them.
Edify Scripting, Making Flashable ZIPs, ZIP Signing & Key Creation
Edify Scripting Notes
How to Write an Updater-Script with Edify Code
Edify Installation Script Syntax's
NOTE: system folders path, boot/kernel partition path, modem partition path and so on are COMPLETELY DIFFERENT for DIFFERENT DEVICES. Check the partitions for your device properly, carefully and then work on updater-script. TAKE HELP OR REFERENCE FROM OTHER ROM DEVELOPERS FOR YOUR DEVICE.
Lets move on to last step. Making a signing and making a flashable zip.
Signing the ROM and making a flashable zip
Click to expand...
Click to collapse
Make sure, now you should be able to find two folders (META-INF and system) inside C:\Users\<your name>\CustomROM.
Check in THIS thread for test signing your ROM. It WORKS with GT-I9100.
or Check THIS thread to create your own signing key and certificate.
Now you're done with making a custom ROM. Hope to see more custom ROMs from many users.
Give me your feedback so that I can improve this tutorial. And post here about how your custom ROM making went. All the best.
last one
i don't see any tutorials just links to a diff thread and a rom that won't work on i9100
buster041284 said:
i don't see any tutorials just links to a diff thread and a rom that won't work on i9100
Click to expand...
Click to collapse
You're quite fast Updated Deodexing and Building kernel section..
Great thread Superatmos. I'll definately have a go at this.
Quick question ? Am i right in assuming that although your tutorial says to connect your device this line from xUltimate seperceeds that ?
"Alright xUltimate has been updated to v2 What this means is that you do not need your phone connect to your computer to deodex. So you can just manually place the .odex files in (\origi_frame\) and (\origi_app\) and it will deodex. You can also transfer the .odex files from your phone like the last version."
where do I get the zImage to extract the initramfs from? I can't seem to find the zImage on my phone or in the source anywhere.
Great
Very useful.. Added to my favorite.
Thank's man, i'll read that
puccini said:
Great thread Superatmos. I'll definately have a go at this.
Quick question ? Am i right in assuming that although your tutorial says to connect your device this line from xUltimate seperceeds that ?
"Alright xUltimate has been updated to v2 What this means is that you do not need your phone connect to your computer to deodex. So you can just manually place the .odex files in (\origi_frame\) and (\origi_app\) and it will deodex. You can also transfer the .odex files from your phone like the last version."
Click to expand...
Click to collapse
Connect your device to the PC and double click Main.exe inside xUltimate folder. Follow the instructions you see from then. Its quite self explanatory.
If you already have origi_app and origi_frame folders, then just double click on Main Skip.bat.
dmp450 said:
where do I get the zImage to extract the initramfs from? I can't seem to find the zImage on my phone or in the source anywhere.
Click to expand...
Click to collapse
Use ktool (available on market.. compatible with I9100) and click on Dump current kernel. You'll find it on sdcard.
One more way is when you download firmware from sammobile.com, just extract the file and you'll find zImage inside it.
Nice thread,
I m waiting from long time.
Thanks for your work.
Sent from my GT-I9100 using XDA
Making custom ROM section updated
Hi all,
Please find updated custom rom section HERE.
Feedback and suggestions welcome.
Thanks for the kernel part, will come in handy
Enviado desde mi GT-I9100 usando Tapatalk 2
Good tutorial, thanks.
How do you guys sign the rom if you are on Linux (ubuntu for me)
hi superatmos
thanks for this handy thread...may i ask your for a help here?why in my every deodexing always gives error result?
I attach the screenshots.
Many thanks in advance
tks mate will try to pack my own kernel following this method
Sent from my GT-I9100 using Tapatalk 2
I've found that a lot of us doesn't satisfied with our current custom ROM. Please don't bully the dev to make a rom with our personal preference. You may follow this guide instead to modify the custom rom to suit with your personal taste. I hope I could make it as simple as possible so all of us so even a new android user could understand. Please make sure you've read this guide throughly before make any modification.
tools:
1. a custom rom (to be customized) or stock rom.
2. 7zip or another similar program
3. apk files
4. dsixda kitchen (not mandatory)
5. apktools (not mandatory)
6. titanium backup (not mandatory)
7. CWM.
First of all, extract your custom rom. You'll see that the custom rom's zip file contain several files and folders. Some of them are common and could be find in almost all custom rom. The files and folders are:
1. meta-inf : contain the script needed to install the rom (don't touch it if you don't understand about scripting nor dsixdia kitchen).
2. system : contain the system files and folder of the custom rom
3. boot.img : the kernel used in the custom rom
4. additional file : (eg:install-busybox, check-data and bmlunlock) additional file contain scripts needed to install additional feature (eg: busybox, additional app in data/app, and install custom kernel) in the custom rom.
If you don't know much about them, don't touch anything but system folder. now, open the the system folder. You'll see a lot of folders and some common files. Leave CSC files and SWconfiguration intact if you don't know about them. You can edit build.prop to insert more build.prop setting or modify the content if you understand how to do it. To change the rom's name, edit the value for 'ro.build.display.id'. You may also change the value for 'ro.build.version.release' to any number like 9.9.9 if you want to show off your modified custom rom
I'll give a quick explanation about the folders in /system.
1. app : contain all the system's app
2. bin : contain the command and bin files for the rom (don't touch it)
3. cameradata : camera files
4. csc : csc files. contain dictionary for the keyboard
5. etc : additional setting and files for the rom
6. font : the fonts
7. framework : system's framework
8. lib : drivers, modules, kernel related files for the rom
9. media : media files-ringtones, notification
10. sd : folder created by a2sd darktremor. (don't touch it)
11. usr : files needed for keyboard, bluetooth, etc.
12. xbin : additional command and bin files (busybox is normally installed here)(don't touch it)
13. T9DB: dictionary and language database for swype and stock keyboard
now, you're ready to customize the rom. I'll divide the guide into several section. pass the section if you don't want to modify it.
DEODEX VS ODEXED ROM. Most of custom rom available is deodexed rom while our stock rom is half deodexed rom. I'll try to explain it in most simple way. First of all, we should understand that mostly every app in android consist of three part, *apk files, *dex/odex files, and lib files.
ODEXED rom means that *dex file needed to run the app is extracted from the apk file and placed in same folder with the apk files (/system/app). the positive side, it consume less internal memory and a execute faster. the negative side, it makes the app uncostumizable (cannot apply custom themes) and need more space in system partition.
DEODEXED rom means that *dex file needed to run the app is extracted from the apk file and placed in /data/dalvik-cache. the positive side, the app can be themed (full customizable) and consume less system partition. we could put more app in /system/app in deodexed rom. the negative side, it consume a lot of internal memory. please be cautious with the internal memory space if you use deodexed rom. (NOTE: if you start from stock rom, you may use dsixdia to convert odexed to deodexed rom).
system app customization is easy. you can add or remove any app in /system/app folder as long as it fit with the space in sistem partition (220MB). if you start from stock rom, please be cautious to not remove essential app from the folder. you may see the app in hybrid rom v.2.1 to see which app is safe to remove or not (the spreadsheet document in this forum is gone. sorry). having ~20mb free space in system partition is a good thing if you want to make the rom more customizable.
Basicly, theme is easily changed by replacing systemUI.apk in /system/app and framework-res.apk in /system/framework. You may put theme from another custom rom or make for yourself from uot kitchen or make it by yourself with apktool. A high modified theme like dysmenorrhea is also modify some part in setting.apk and jobmanager.apk. and another app. Don't forget to delete the *odex file (for all changed app only)from /system/app if you start from stock rom.
NOTE: please be aware with the base firmware of the rom. make sure that systemUI.apk and framework-res.apk files are from exact firmware version. I've found that theme for DXLA, DXLB, DXLC are exchangeable but you can't put theme from DXKL2 to DXLA or the reverse. to minimize any risk, please use themes only from exact same firmware.
Performance tuning could be done in several ways. the easiest (proven works but risky) method is by edit build.prop file. I won't give you all the script. Feel free to search and apply the script with your personal preference. you can found in this forum or just copy from another rom. these script below is used to increase gprs/hsxdpa speed. this script is a common script and proven to be works in a lot of device. (I forgot the original source. sorry)
Code:
ro.ril.enable.dtm=1
ro.ril.gprsclass=10
ro.ril.hep=1
ro.ril.enable.3g.prefix=1
ro.ril.hsdpa.category=8
ro.ril.hsupa.category=6
ro.ril.hsxpa=2
ro.ril.enable.a53=1
there are also some common tweaks for build.prop file. these are the one I always using in my rom.
Code:
#mod battery kats
debug.performance.tuning=1
pm.sleep_mode=1
video.accelerate.hw=1
windowsmgr.max_events_per_sec=150
ro.ril.disable.power.collapse=1
wifi.supplicant_scan_interval=150
#mod performance
dalvik.vm.execution-mode=int:jit
persist.sys.purgeable_assets=1
dalvik.vm.dexopt-flags=m=y
ro.media.enc.jpeg.quality=100
ro.telephony.call_ring.delay=0
video.accelerate.hw=1
ro.kernel.android.checkjni=0
ro.HOME_APP_ADJ=1
======
the second way, (little bit harder, but its still proven works) by create or modify some file in /system/etc. I'll give you some of them.
1. sysctl script-to increase internet speed.
make a new file in system/etc, name it 'sysctl.conf' (or edit if it already exist). put this script inside.
Code:
net.ipv4.tcp_wmem = 4096 39000 187000
net.ipv4.tcp_rmem = 4096 39000 187000
net.ipv4.tcp_mem = 187000 187000 187000
net.ipv4.tcp_rfc1337 = 1
net.ipv4.tcp_sack = 1
net.ipv4.tcp_fack = 1
net.ipv4.tcp_window_scaling = 1
net.ipv4.tcp_timestamps = 1
net.ipv4.tcp_ecn = 0
net.ipv4.tcp_no_metrics_save = 1
net.ipv4.tcp_moderate_rcvbuf = 1
net.ipv4.route.flush = 1
net.ipv4.ip_no_pmtu_disc = 0
net.core.rmem_default = 524288
net.core.rmem_max = 524288
net.core.wmem_default = 524288
net.core.wmem_max = 524288
its a common sysctl mod for linux based OS (I found it in another mod for another device but I forgot the source). you'll need busybox, and terminal emulator. to run it, type:
'su
'sysctl -p
in your terminal emulator (without ' symbol).
2. GPS mod-to make the GPS lock faster
this mod is based on zeusseuz's guide. please see this page for further information (the script is quite long) http://forum.xda-developers.com/showthread.php?t=1552076
======
the last way...by init.d script. it only works in custom kernel. I won't put any script here. you should find by yourself. you can use make a file in init.d with there script to check if your kernel support init.d script.
Code:
#!system/bin/sh
touch data/kurotsugi_test.txt
set the both init.d folder and the file's permission to rwxrwxrwx (777)
if the script work, you'll find kurotsugi_test.txt in /data.
======
I'll only put the one I've tested and proven to be works.
1. beats audio
this is the old version but doesn't have FC issue. get the file from here http://forum.xda-developers.com/showthread.php?t=1526643
unzip. copy all the files into their respective folder
2. bravia engine
put be_photo and be_movie in system/etc folder then edit the build.prop file doesn't seems work. The real bravia engine mod is consist of
- be_photo, be_movie in /system/etc
- com.sonyericsson.android.SwIqiBmp.xml in /system/etc/permission
- com.sonyericsson.android.SwIqiBmp.jar in /system/framework
my megabassbeat mod contain these files. you can get it from there.
3. boot animation
download or get custom boot animation file from another custom rom or another source. rename it to bootanimation.zip, put it on /system/media.
you may check this out http://forum.xda-developers.com/showthread.php?t=1548479
please note that DXLB rom doesn't support bootanimation. you need to put bootanimation and samsungani files from another rom (like hybrid) in /system/bin and replace all file in /system/lib with lib files from older firmware (DXLA or older)
4. boot sound
make or download boot sound. please make sure the format is *ogg. rename it to poweron.ogg then put it in /system/etc.
5. custom ringtones, notification,
make or download the sound file (in ogg format). put it in /system/media/audio/(respective folder)
6. disable boot animation (for quick boot)
put 'debug.sf.nobootanimation=1' in build.prop.
7. megabassbeats (better than beat bass)
you can get the file from this link http://forum.xda-developers.com/showthread.php?t=1646406. you'll need to copy the files into its respective folder.
If you've done with the customization, enter the custom rom folder. select all the files then create zip file. to install the rom, copy to your sdcard, flash it either by stock recovery or CWM after wipe /data. PLEASE MAKE SURE THAT ALL THE FILES DOESN'T EXCEED THE LIMIT 220MB BEFORE ZIPPED.
This guide can be used if you want to make your own rom. if you start from stock rom, you may use this script (its from myss v.3.4) to install the rom. please make note that it will only install the rom, not the kernel. you'll still need the bin and xbin folder from custom roms in order to make it work.
http://www.mediafire.com/download.php?skw1ytt37mklb4o
All credits for the dev who make the rom, the one I've used the guide here, and all XDA member. no need to say thanks or press it for me. give that to the real dev. I'm just a noob here. Feel free to correct me if I'm wrong.
1. dualboot
this mod actual intent is to make developing a rom a lot more easier without risking our native rom. I was using it a lot when customizing my rom. you can get the original link for dualboot here: http://forum.xda-developers.com/showthread.php?t=1598803 and for a little more detailed step how to use it http://forum.xda-developers.com/showthread.php?t=1600973.
you can find another dualboot kernel here. http://www.mediafire.com/download.php?gkb33aktyf7wbbh
this one have init.d support. all credits goes to irfanbagus
2. data2sd
this mod is used to increase data partition size. you can find the complete guide here http://forum.xda-developers.com/showthread.php?t=1622052[/QUOTE]
I guess you wanted to post this on Galaxy Y Forum But Posted It Here
Nice Guide , but, it's not actually complete.
You have concentrated more on tweaks, and not actually shown how to use the kitchen to create the rom.
masterex567 said:
Nice Guide , but, it's not actually complete.
You have concentrated more on tweaks, and not actually shown how to use the kitchen to create the rom.
Click to expand...
Click to collapse
Why would you want to use a tool that wasn't even meant for Samsung devices in the first place?True,we can use it.But not to a full extent.New users could get bricked phones :silly:
SmOuuK said:
I guess you wanted to post this on Galaxy Y Forum But Posted It Here
Click to expand...
Click to collapse
So will the performance tweaks mentioned here work for Ace too?
Sent from my GT-S5830 using xda app-developers app
Yup..I know that but it's looking at rom cooking..and the kitchen is the only way to easily extract and build roms...well ofcourse you have to change the Meta inf
Sent from my GT-S5830 using xda app-developers app
masterex567 said:
Yup..I know that but it's looking at rom cooking..and the kitchen is the only way to easily extract and build roms...well ofcourse you have to change the Meta inf
Sent from my GT-S5830 using xda app-developers app
Click to expand...
Click to collapse
Yep.But most likely you run into errors.
---------- Post added at 12:12 AM ---------- Previous post was at 12:09 AM ----------
Koogly said:
So will the performance tweaks mentioned here work for Ace too?
Sent from my GT-S5830 using xda app-developers app
Click to expand...
Click to collapse
Most of them.But not all,like DualBoot.
Hmm..yes but that's like the only way available for users to create Roms ryt?
Sent from my GT-S5830 using xda app-developers app
masterex567 said:
Hmm..yes but that's like the only way available for users to create Roms ryt?
Sent from my GT-S5830 using xda app-developers app
Click to expand...
Click to collapse
No...You can do all those things manually...More easily,you can also learn faster if you do it manually
Prawesome said:
No...You can do all those things manually...More easily,you can also learn faster if you do it manually
Click to expand...
Click to collapse
Okkk. I'm actuallly a newbie so i don't know a lot. So forgive me for all those silly questions.
So, you're saying, that a ROM can be built without the kitchen, by using 7zip to extract, and then compile it to a .zip format using this application??
I thought that only the kitchen could successfully compile a rom.
Please correct me if i'm wrong. It will make life a lot easier for me.
Thanks.
masterex567 said:
Okkk. I'm actuallly a newbie so i don't know a lot. So forgive me for all those silly questions.
So, you're saying, that a ROM can be built without the kitchen, by using 7zip to extract, and then compile it to a .zip format using this application??
I thought that only the kitchen could successfully compile a rom.
Please correct me if i'm wrong. It will make life a lot easier for me.
Thanks.
Click to expand...
Click to collapse
original link ?
http://forum.xda-developers.com/showthread.php?t=1590330
masterex567 said:
Okkk. I'm actuallly a newbie so i don't know a lot. So forgive me for all those silly questions.
So, you're saying, that a ROM can be built without the kitchen, by using 7zip to extract, and then compile it to a .zip format using this application??
I thought that only the kitchen could successfully compile a rom.
Please correct me if i'm wrong. It will make life a lot easier for me.
Thanks.
Click to expand...
Click to collapse
Yep...Just zip it
Prawesome said:
Yep...Just zip it
Click to expand...
Click to collapse
Thanks. Saved me alot of work!! I surely owe you big time. Unfortunately I'm still a teenager, so can't buy you a beer or something... But, when I publish my first ROM. You're gonna surely be there in credits.
Moved to General. Please provide link to the original thread or I'll close this one.
Original thread @ galaxy y development section.
Sent from my GT-S5360 using xda premium
Prawesome said:
Yep...Just zip it
Click to expand...
Click to collapse
Ok. Prawesome, I need your help once again. I did as you said..but now i get errors again...
Its a dalvik vm error again:
This time, I didn't touch META-INF. Just modified system and extracted. Modded, then compressed to .zip file and flashed.
Logcat gives me errors:
Unable to find decl for native Landroid/content/res/AssetManager;.splitThemePackageLjava/lang/String;Ljava/lang/String;[Ljava/lang/StringI
Its a W\dalvikvm error. I guess that means that there is a .so file in the lib that needs to be replaced. I extracted the libs from base rom, and copied and replaced them with mine..then added kernel libs..but that doesn't erase the problem.
This particular problem has been bugging me every time i compile. I don't understand what i've done wrong.
Plus, i want to intergrate adrenaline engine. so I just copy data and system to the working folder right? And...The data folder in adrenaline engine has a system \etc..Am I supposed to copy or delete and copy init.d files there?
Thanks.
masterex567 said:
Ok. Prawesome, I need your help once again. I did as you said..but now i get errors again...
Its a dalvik vm error again:
This time, I didn't touch META-INF. Just modified system and extracted. Modded, then compressed to .zip file and flashed.
Logcat gives me errors:
Unable to find decl for native Landroid/content/res/AssetManager;.splitThemePackageLjava/lang/String;Ljava/lang/String;[Ljava/lang/StringI
Its a W\dalvikvm error. I guess that means that there is a .so file in the lib that needs to be replaced. I extracted the libs from base rom, and copied and replaced them with mine..then added kernel libs..but that doesn't erase the problem.
This particular problem has been bugging me every time i compile. I don't understand what i've done wrong.
Plus, i want to intergrate adrenaline engine. so I just copy data and system to the working folder right? And...The data folder in adrenaline engine has a system \etc..Am I supposed to copy or delete and copy init.d files there?
Thanks.
Click to expand...
Click to collapse
To integrate Adrenaline Engine,you should just copy over the required files to their respective directories.I don't have any idea where those errors are coming from,someone else maybe able to help you out with that.My suggestion is,you get a stock rom,don't mod anything,test it first.Then,add mods one by one,testing each of them.This way,you can know where you have caused errors and you can solve it
---------- Post added at 12:32 AM ---------- Previous post was at 12:29 AM ----------
masterex567 said:
Thanks. Saved me alot of work!! I surely owe you big time. Unfortunately I'm still a teenager, so can't buy you a beer or something... But, when I publish my first ROM. You're gonna surely be there in credits.
Click to expand...
Click to collapse
lol..I am just 15,just trying to help out where i can
Prawesome said:
To integrate Adrenaline Engine,you should just copy over the required files to their respective directories.I don't have any idea where those errors are coming from,someone else maybe able to help you out with that.My suggestion is,you get a stock rom,don't mod anything,test it first.Then,add mods one by one,testing each of them.This way,you can know where you have caused errors and you can solve it
---------- Post added at 12:32 AM ---------- Previous post was at 12:29 AM ----------
lol..I am just 15,just trying to help out where i can
Click to expand...
Click to collapse
Okkk! Will try that. I tried doing all tests on this custom ROM. but none of them seems to fix it. The problem is that all stock roms are uploaded on hotfile. And, downloading from hotfile never succeeds. One more test, is that it definetely not a problem in the kernel, but in something i'm modding. First, i was using miracle v4 as base rom. Same error....after that I used cm7 nightly. Error. and now i'm using cm7 rc1, and Errors. This might sound noobish, but in the dalvik vm error log, what does the splitThemePackage actually mean? Because, i deleted the original default theme, added another one, and set it default in build.prop..could that be the problem?
This is the full error log:
W/dalvikvm( 191): ERROR: Unable to find decl for native Landroid/content/res/AssetManager;.splitThemePackageLjava/lang/String;Ljava/lang/String;[Ljava/lang/StringI
W/dalvikvm( 191): ERROR: Unable to find decl for native Landroid/content/res/AssetManager;.detachThemePathLjava/lang/String;I)Z
W/dalvikvm( 191): ERROR: Unable to find decl for native Landroid/content/res/AssetManager;.attachThemePathLjava/lang/StringI
W/dalvikvm( 191): ERROR: Unable to find decl for native Landroid/content/res/AssetManager;.getBasePackageCount)I
W/dalvikvm( 191): ERROR: Unable to find decl for native Landroid/content/res/AssetManager;.getBasePackageNameI)Ljava/lang/String;
W/dalvikvm( 191): ERROR: Unable to find decl for native Landroid/content/res/AssetManager;.getBasePackageIdI)I
W/dalvikvm( 191): ERROR: Unable to find decl for native Landroid/content/res/AssetManager;.addRedirectionsNativeI)V
W/dalvikvm( 191): ERROR: Unable to find decl for native Landroid/content/res/AssetManager;.clearRedirectionsNative)V
W/dalvikvm( 191): ERROR: Unable to find decl for native Landroid/content/res/AssetManager;.generateStyleRedirectionsIII)Z
E/JNIHelp ( 191): RegisterNatives failed for 'android/content/res/AssetManager'
E/AndroidRuntime( 191): Unable to register all android natives
Thanks for the help.
masterex567 said:
Okkk! Will try that. I tried doing all tests on this custom ROM. but none of them seems to fix it. The problem is that all stock roms are uploaded on hotfile. And, downloading from hotfile never succeeds. One more test, is that it definetely not a problem in the kernel, but in something i'm modding. First, i was using miracle v4 as base rom. Same error....after that I used cm7 nightly. Error. and now i'm using cm7 rc1, and Errors. This might sound noobish, but in the dalvik vm error log, what does the splitThemePackage actually mean? Because, i deleted the original default theme, added another one, and set it default in build.prop..could that be the problem?
This is the full error log:
W/dalvikvm( 191): ERROR: Unable to find decl for native Landroid/content/res/AssetManager;.splitThemePackageLjava/lang/String;Ljava/lang/String;[Ljava/lang/StringI
W/dalvikvm( 191): ERROR: Unable to find decl for native Landroid/content/res/AssetManager;.detachThemePathLjava/lang/String;I)Z
W/dalvikvm( 191): ERROR: Unable to find decl for native Landroid/content/res/AssetManager;.attachThemePathLjava/lang/StringI
W/dalvikvm( 191): ERROR: Unable to find decl for native Landroid/content/res/AssetManager;.getBasePackageCount)I
W/dalvikvm( 191): ERROR: Unable to find decl for native Landroid/content/res/AssetManager;.getBasePackageNameI)Ljava/lang/String;
W/dalvikvm( 191): ERROR: Unable to find decl for native Landroid/content/res/AssetManager;.getBasePackageIdI)I
W/dalvikvm( 191): ERROR: Unable to find decl for native Landroid/content/res/AssetManager;.addRedirectionsNativeI)V
W/dalvikvm( 191): ERROR: Unable to find decl for native Landroid/content/res/AssetManager;.clearRedirectionsNative)V
W/dalvikvm( 191): ERROR: Unable to find decl for native Landroid/content/res/AssetManager;.generateStyleRedirectionsIII)Z
E/JNIHelp ( 191): RegisterNatives failed for 'android/content/res/AssetManager'
E/AndroidRuntime( 191): Unable to register all android natives
Thanks for the help.
Click to expand...
Click to collapse
No idea....Double check the name of the apk in build.prop, they are case sensitive
Sent from the year 3000 using a SGA where sheep's are not present.
So in build.prop...how am I supposed to set the default theme. I'm using acheps ics theme..so is it supposed to be com.achep.theme.ICSandwich?
Sent from my GT-S5830 using xda app-developers app