Custom Firmware Tutorials - Samsung i8910 Omnia HD User Forums 0){document.location.href='showthread.php?p='+cpostno;};} }">
 
i8910 HD Blog i8910 Omnia HD Firmware i8910 HD Themes Optimus 2X Forums Galaxy S Forums PSP Hacks PS3 Hacks

Go Back   Samsung i8910 Omnia HD User Forums > Samsung i8910 Omnia HD Discussion > Samsung i8910 Omnia HD Custom Roms / Cooked Roms

Reply
 
LinkBack Thread Tools Display Modes
  #1 (permalink)  
Old 09-16-2009, 06:47 PM
djsaad1's Avatar
LifeTime VIP - Former Mod
 
Join Date: Jun 2009
Posts: 1,313
Thanks: 112
Thanked 238 Times in 97 Posts
djsaad1 is on a distinguished road
Default Custom Firmware Tutorials

Lately we have had a lot of great work done with custom roms and now a lot of people are making their own requests for roms. It seems like the requests are adding up, and the custom rom makers are not able to keep up.

I think we should dedicate this thread for tutorials and tips for custom roms so more people can start attempting to cook their own.


How to unpack and repack the firmware

Thanks to Codeneos, we now have a great utility that makes it much easier to unpack and repack the firmware. Follow this thread for the tutorial [Utility] Rom cooker...

How to add, remove, and change languages in a firmware


Thanks goes to Quist for writing this tutorial!

<This is a work in progress, so let me know what you think.>

As soon as djsaad1 posted the info on the first way of unpacking the rofs images, I've been working on the methods of changing languages in the ROMs.

Since so many people are requesting localized versions of cooked and official ROMs, djsaad1 and I thought it might be helpful to offer a tutorial on how to go about doing so.

I'm going to outline what I know to-date in two parts: Part 1 will discuss changing the input languages for qwerty and T9 and Part 2 will discuss changing the actual menu languages.

Before I start, I just want to note the fact that both cooked and official ROMs should be expected to be more stable, the fewer changes you make to it. This is particularly true of changes to menu languages. Sometimes important settings for bug fixes are located in localized resource files and if you replace those files with older versions, those fixes won't work. That said, things will probably be more stable if you have the menu language set to English and only change the input language(s).

Background
-----------

First, you need to understand how the language structure is implemented. Symbian has language sets that group 3-6 different languages into a set and each language set gets a code. neverthemore has compiled a list of these language sets in a thread here: Firmware localization and Language sets

Each individual language is also coded. Worldwide English is coded 01 and is the default language for the I8910 even without any localization applied, and is also included in all localization except for the language sets from the Far East (which use their own versions compatible with the character sets, e.g. Thai English is coded 161, Hong Kong English is 158, etc.). Other common languages are:
French 02
German 03
Spanish 04
Italian 05
Swedish 06
Danish 07
Norweigan 08
Finnish 09
Portuguese 13
Russian 16
Polish 27

A comprehensive list of the different languages can be found in a file called LanguageInfo.txt in Z:\PreConfiguration on many ROMs.

The codes above describe a number of resource files, e.g. *.r01, *.r02, *.r03, and help files, e.g. *.h01. They also describe specific system resource files such as *.o0001, *.o0002, etc. Some messages are also displayed as html and language files are grouped in directories named 01, 02, 03, etc. All this is important since you need to be able to find the right language files and their locations.

This tutorial should work for almost all ROMs, but there may be issues with Chinese and Japanese ROMs.

Before you start
----------------
You need to have a downloadable version of a ROM with the language you want to use to farm the files you need. Pavel-i8910 has compiled a list with links to many languages here: Omnia HD GT-I8910 firmwares

Remember, if you don't see your country/language listed in Pavel's list, check which language set your language is in and find a ROM with that language set (e.g. Danish is in the "Sweden" ROM, which is actually for all Nordic languages).

Then of course, you need a downloadable version of the ROM you want to modify. In other words, if a ROM is only available on PC Studio, but not downloadable, you can't modify it (at least not with this tutorial).

You will also need Codeneos ROM cooker utility, available here:
[Utility] Rom cooker...

Follow the instructions for the ROM cooker utility provided in the thread above. The rest of this tutorial will address the changes needed in the actual ROM files, NOT the concrete steps of unpacking, repacking and flashing.

You will also need a hex editor. I use xvi32 from Christian Maas, which is available here: http://www.handshake.de/user/chmaas/...load/xvi32.zip

Once everything is done, you'll need to be sure to read and understand Brigg's flashing tutorial and the flash tool (version 1.50). More info is available here:
How to flash and debrand your Samsung i8910 HD - Samsung i8910 Omnia HD Debrand Tutorial. | Samsung i8910 HD Users - 100% i8910 Omnia HD

Part 1 - Input languages
------------------------
1. First, you need to unpack both the ROM to be modified (working ROM) and the ROM with the language files (language ROM) using the cooker utility.
2. Copy the resource files located in rofs2 in \resource\fep from the language ROM to the corresponding location in the working ROM. If there's already a version of a resource file there, don't replace it (this will be the case for the *.r01 English resource files).
3. Copy the *.RSC files from rofs2 \resource\multitap from the language ROM to the corresponding location in the working ROM (again, don't replace something already there).
4. Copy the *.RSC files from rofs2 \resource\qwerty from the language ROM to the corresponding location in the working ROM (again, don't replace something already there).
5. Copy the peninputhwrwindowconfiginfo_r*.RSC files from rofs2 \resource\plugins from the language ROM to the corresponding location in the working ROM (again, don't replace something already there). Here, the language codes are right before the .RSC.
6. Copy the peninputvkbwindowconfiginfo_r*.RSC files from rofs2 \resource\plugins from the language ROM to the corresponding location in the working ROM (again, don't replace something already there).
7. Copy the T9*.dll files from rofs2 \sys\bin from the language ROM to the corresponding location in the working ROM (again, don't replace something already there).
8. Copy the Elocl.* files from rofs2 \sys\bin from the language ROM to the corresponding location in the working ROM (again, don't replace something already there).

Step 9
-------
A. Now, the next step is kind of tricky and you'll need to start two instances of the hex editor (xvi32). Open the file ecom-2-0.spi located in rofs2 in private\10009d8f - open the file from the language ROM and the file from the working ROM.

B. If you look at your language ROM .spi file, find the first semicolon before the T9 language listing, then go back 4 characters and set a block copy mark on the non-zero character just before the semicolon. The end of the block will be the zero space just before the hex 36 (ascii 6) before the avkonfepkJ. Copy that (Edit-Clipboard-Copy).

C. Mark the corresponding block in the working ROM .spi file and delete that block with Edit-Block delete (make sure you keep your position).

D. Then paste the block you copied into the right place of the working ROM.

Now you're done changing the input languages.

At this point, you could repack and flash the ROM unless you want to change the menu languages as well. For that read Part 2.

Part 2 - Menu languages
------------------------
To change menu languages, you need to apply the changes from Part 1 above and then you are essentially going to transplant the resource files from the language ROM to the working ROM.

You basically need to search for and copy the following files from the language ROM to the working ROM, making sure to paste them into the proper location.

Whereever I write XX, use your language code as outlined above.

Transplant these files:
*.rXX
*.hXX
*.o00XX

Then do a search for any directories named as the target language XX (e.g. if you're transplanting French, search for directories named 02 and copy-paste them into the corresponding location in the working ROM).

Lastly, you need to edit the file in rofs2 \resource\Bootdata\languages.txt to add your language to the list. The language marked with a d there is the default language.

Now, you've essentially added your language to the menu system and could repack and flash the ROM, but a number of bug fixes (like the change from AMR to AAC) will not work, unless they were already fixed in the version of your language ROM.

To make sure AAC sound works for video recording, you need to copy the file Resource\Gscamcorderpluginrsc.r01 from the original working ROM, rename it to your language Gscamcorderpluginrsc.rXX, and replace the version copied from the language ROM above with this renamed English version.

Other menu functions changed from IG2 onwards, so if your language ROM was IF or older, you will have some instability in the menu system (especially with the settings menus). Hyperx and sev7en have solved this (I believe), so I'm hoping they'll shed some light on this and I'll update this first post to reflect it.

Now, you can try repacking and flashing your phone.

REMEMBER: All of this is done at your own risk, but in general, as long as you can get back to the bootloader, you can always reflash your phone. That said, make sure you don't flash your bootloader with a dummy image. Also, 9 times out of 10, if the phone doesn't boot properly, it's due to the hex-editing of the .spi file. Go back over it with a fine tooth comb before pulling your hair out.

Change size of system memory cache


Thanks goes to Sev7en for finding this first!

The file is in the rofs1.img under private\10202BE9\101F8557.txt.

When you open the txt file look at the 0x2 line and you will see 0x2 int 1024000 0 cap_rd=alwayspass cap_wr=alwaysfail

The 1024000 is your system memory cache. You can mess with this number to see what works best for you. Just change the number and save the text.

Change the camera compression quality

Thanks goes to Sev7en for finding this first!

The file is in the rofs1.img under private\10202BE9\10282EDC.txt.

When you open the file you will see the default compression quality for the different image settings. You can change the quality to what you think is best. Sev7en's tests resulted that these settings were best for him.
* CompressionQuality=85 ---> CompressionQuality=95
* CompressionQuality=75 ---> CompressionQuality=85
* CompressionQuality=50 ---> CompressionQuality=70

Move web cache from C: to E:

The file is in the rofs1.img under private\10202BE9\101F8557.txt.

When you open the file you will see that lines 0x3, 0x4, and 0x8 are pointing to c:\ change the c: to e: and your cache will be saved on e:.

You can also change this to d:\ the pro is that the cache will reset every time you restart your phone but the con is that it will take up system memory that could slow down your phone.

Change the folders or drives of where the phone looks for songs, images, and videos

Thanks goes to Sev7en for finding this first!

The file is in the rofs1.img under private\10202BE9\101FFCD2.txt

The 0x1 and 0x2 string is where the phone is set to look for videos and images

The 0x4 string is where the phone is set to look for music and ringtones.

Change the folders or drives to you your likings.

Increase memory heap size

Thanks goes to Sev7en for finding this first!

The file is in the rofs1.img under private\10202D56\sbeconfig.xml

When you open the file you will see that the heap size is 131072.

You can change that number, Sev7en is using 524288 4x the default and it seems to be working well.

Change applications in 3d navigation

Thanks goes to Mr. X for finding this first!

The file is in the rofs1.img under private\10202BE9\20020607.txt

Open the file and you will see string 0x100 int 0x2001E112 0 cap_rd=alwayspass cap_wr=alwayspass

0x2001E112 is the uid for photocontacts. That is the default setting for swiping your finger to the right. You can change that UID to any program you like.

String 0x101 int 0x101f4cd2 0 cap_rd=alwayspass cap_wr=alwayspass shows the uid for the menu (0x101f4cd2) change that UID to any program you like for swiping your finger to the left.

Here is an app that lets you find the UID for any program on your phone http://www.sigmirror.com/files/27998...appuidlist.wgz

Last edited by djsaad1; 09-17-2009 at 01:37 AM.
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
The Following 35 Users Say Thank You to djsaad1 For This Useful Post:
AD29368 (09-17-2009), alsvik (10-12-2009), Andersson (09-21-2009), arcane613 (09-16-2009), ArdalanPersian (10-11-2009), Briggs (11-13-2009), Codeneos (02-17-2010), desch-fu (04-01-2010), eboy (09-20-2009), efbill (09-16-2009), Enigma (12-13-2009), falleninadream (09-17-2009), FARID (09-16-2009), fatcoin (10-07-2009), faysto (11-04-2009), fierofrio (09-17-2009), fish55 (09-25-2009), gnusmas8910HD (09-16-2009), hiker (05-14-2010), hisham (09-19-2009), ITom (04-14-2010), M AzeeM K (09-17-2009), nghia_kn (06-21-2011), nick2010 (11-13-2009), Persian0123 (12-14-2010), Quist (09-18-2009), ruubs (11-11-2009), sam8808 (09-17-2009), sammiss (11-02-2009), snusik (10-20-2009), solnyshok (09-16-2009), trashin (09-17-2009), Ultraman666 (09-21-2009), vit12345 (12-07-2009), [eB] (09-17-2009)
Sponsored Links
Advertisement
 
  #2 (permalink)  
Old 09-17-2009, 03:05 PM
Member
 
Join Date: Jul 2009
Location: Riga, Latvia
Posts: 45
Thanks: 13
Thanked 4 Times in 1 Post
solnyshok is on a distinguished road
Default

Can any of these patches (especially moving browser cache to e be applied without reflashing?
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #3 (permalink)  
Old 09-17-2009, 03:09 PM
djsaad1's Avatar
LifeTime VIP - Former Mod
 
Join Date: Jun 2009
Posts: 1,313
Thanks: 112
Thanked 238 Times in 97 Posts
djsaad1 is on a distinguished road
Default

Yes, here is the way to move cache to e: without needing to customize a firmware.

Move web cache to E:
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
The Following User Says Thank You to djsaad1 For This Useful Post:
solnyshok (09-19-2009)
 
  #4 (permalink)  
Old 09-17-2009, 03:45 PM
falleninadream's Avatar
Senior Member
 
Join Date: Jun 2009
Posts: 418
Thanks: 37
Thanked 14 Times in 14 Posts
falleninadream is on a distinguished road
Default

thanx a bunch djsaad, this is awesome
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #5 (permalink)  
Old 09-19-2009, 07:57 PM
Member
 
Join Date: Jul 2009
Location: Riga, Latvia
Posts: 45
Thanks: 13
Thanked 4 Times in 1 Post
solnyshok is on a distinguished road
Default

thx. learned that all those files I can obtain from the z:\private on the hacked device itself.

Does anybody know what sbeconfig.xml really stands for? From searching google, it seems to me that "sbe" stands for secure backup engine, which also explains why there are such parameters like
max_retries = "5" and
<app_close_delay delay = "4000000"/>
- those regulate how quickly apps close for backup. If this is true, it has nothing to do with system memory heap.
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #6 (permalink)  
Old 09-21-2009, 11:18 AM
Senior Member
 
Join Date: Aug 2009
Posts: 160
Thanks: 43
Thanked 37 Times in 20 Posts
Andersson is on a distinguished road
Default Editing textfiles

Hello
I noticed that those files you say to edit in rofs1 also excist in rofs2 and must be changed to same values, otherwise it will not apply.

Or is it just me who had that issue?
__________________
i8910HD Powered by Symbian
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #7 (permalink)  
Old 09-21-2009, 02:21 PM
Member
 
Join Date: Jul 2009
Location: Riga, Latvia
Posts: 45
Thanks: 13
Thanked 4 Times in 1 Post
solnyshok is on a distinguished road
Default

z:\private\101f7988\c32start.ini
contains parameter MBufPoolSize=262144,262144

c32 is host process for communication (radio) stack. 1st number is initial buffer, 2nd number is max buffer. will try to bump it to 1MB and see if any datatransfers become faster/smoother.

//meh, no effect.

Last edited by solnyshok; 09-21-2009 at 02:50 PM.
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #8 (permalink)  
Old 09-21-2009, 04:47 PM
SymbiX's Avatar
Senior Member
 
Join Date: Sep 2009
Location: Athens, Greece
Posts: 142
Thanks: 6
Thanked 76 Times in 24 Posts
SymbiX is on a distinguished road
Default

Quote:
Originally Posted by djsaad1 View Post
Change the folders or drives of where the phone looks for songs, images, and videos

Thanks goes to Sev7en for finding this first!

The file is in the rofs1.img under private\10202BE9\101FFCD2.txt

The 0x1 and 0x2 string is where the phone is set to look for videos and images

The 0x4 string is where the phone is set to look for music and ringtones.

Change the folders or drives to you your likings.
Are we sure about this one ? I can't seem to be able to change the folders, it finds files not in the folders specified.
__________________
If you enjoy my work and have some spare cash, feel free to


Symbian History : 7650, 3650, 6600, P900, X700, 7710, N71, N80, M600, N95, E90, 5800, i8910.
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #9 (permalink)  
Old 09-22-2009, 01:28 PM
Junior Member
 
Join Date: Sep 2009
Posts: 4
Thanks: 0
Thanked 0 Times in 0 Posts
jackOO7 is on a distinguished road
Default

Quote:
Originally Posted by SymbiX View Post
Are we sure about this one ? I can't seem to be able to change the folders, it finds files not in the folders specified.
This is for moved system files sounds and pictures i think.

For mediabrowser is good setting in rofs3\private\20018901\mediabrowser.ini

There u can set, which files will be searched and where.

I cut from the filter list, *.png and *.gif extension
Best solution it was, skip all small pictures like 300kb

;camera path, start from camera_path_0 to camera_path_9
camera_path_0=c:\data\images\camera
camera_path_1=e:\images\camera
camera_path_2=f:\images\camera
camera_path_3=c:\data\videos\camera
camera_path_4=e:\videos\camera
camera_path_5=f:\videos\camera

;photo filter
photo filter=*.jpg;*.jpeg;*.bmp;*.wbmp;

;video filter
video filter=*.mp4;*.avi;*.wmv;*.3gp;*.asf;*.3g2;*.rm;*. mkv;
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #10 (permalink)  
Old 09-22-2009, 02:10 PM
SymbiX's Avatar
Senior Member
 
Join Date: Sep 2009
Location: Athens, Greece
Posts: 142
Thanks: 6
Thanked 76 Times in 24 Posts
SymbiX is on a distinguished road
Default

Quote:
Originally Posted by jackOO7 View Post
This is for moved system files sounds and pictures i think.

For mediabrowser is good setting in rofs3\private\20018901\mediabrowser.ini

There u can set, which files will be searched and where.

I cut from the filter list, *.png and *.gif extension
Best solution it was, skip all small pictures like 300kb

;camera path, start from camera_path_0 to camera_path_9
camera_path_0=c:\data\images\camera
camera_path_1=e:\images\camera
camera_path_2=f:\images\camera
camera_path_3=c:\data\videos\camera
camera_path_4=e:\videos\camera
camera_path_5=f:\videos\camera

;photo filter
photo filter=*.jpg;*.jpeg;*.bmp;*.wbmp;

;video filter
video filter=*.mp4;*.avi;*.wmv;*.3gp;*.asf;*.3g2;*.rm;*. mkv;
Thank you, but I'm interested in the Gallery and the Music Player.
__________________
If you enjoy my work and have some spare cash, feel free to


Symbian History : 7650, 3650, 6600, P900, X700, 7710, N71, N80, M600, N95, E90, 5800, i8910.
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
Sponsored Links
Advertisement
 
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On




eXTReMe Tracker

 

PSP Custom Firmware | PSP Downloads | PSP Forums | PSP Emulator | PSP Hacks | Optimus 2X Forums | Samsung i8910 HD | Galaxy S Forum


All times are GMT +1. The time now is 09:03 AM.
Powered by vBulletin® Version 3.8.8
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
vBulletin Security provided by vBSecurity v2.2.2 (Pro) - vBulletin Mods & Addons Copyright © 2017 DragonByte Technologies Ltd.
Designed By: vBSkinworks