Personalising ROM's... without Ext_ROM - MDA III, XDA III, PDA2k, 9090 Software Upgrading

Okay, there a couple of CAB files I install no matter what ROM I use (Total Commander, Today Screen Speed Dial, MortRing [by .exe], Morphy's Call Filter etc), now that I'm getting to grips with the whole ROM building thing I have a question:
How can I add a program installed via a CAB into a ROM so that it is installed into ROM, I've searched on the forum and can't find much. I know it can be done as ROM's such a TuMa's, Logout's and Ivan's have apps in ROM which aren't there by default...
EDIT: In addition, I overwrite some of the default ROM stuff once I've installed (ETEN M600 Dialler in particular), so again, how can I get the 'bits' out the cab and overwrite the default contents of the ROM, this would make my life much easier...
If this has been posted previously then please point me in the right direction

First extract files, shortcuts and registry entries from the .cab using wince cab manager or similar http://www.ocpsoftware.com/, take note on what directory each file/shortcut is in. (often more reg entries will be stored as a file called 'platformxxx.reg' use these too)
Normal rom edit way: add the contents of the exported .reg files to default.rgu, making sure that you leave a blank line on the end, copy all the files to the \dump directory and edit initflashfiles.dat to copy them to the right directory on first boot. (remeber to remove the first two bytes - ff fe with a hex editor). then build your rom!
Bepe's rom edit way: create a folder '[your software name]' in the oem folder and get yourself a guid from here http://kruithof.xs4all.nl/uuid/uuidgen. create a blank file called '[yourguid].dsm and a blank text file called '[yourguid].rgu'. add the contents of the exported .reg files to '[yourguid].rgu' and make sure you save as unicode. then copy all the other files to the folder and create a blank unicode txt file called 'initflashfiles.txt' and use it like initflashfiles.dat in the first method except there is no need to hex edit out the first two bytes. then build your rom!

midget, you're a star, I thought it may be something simple... I'm off out with the family now for the day, but I'll work on this later, cheers!

Related

initflashfiles.dat -- Help Needed

So I've been playing around for a little while with the intention of creating my own custom ROM. I think I've got everything all figured out - however I'm having a problem that I think is related to the initflashfiles.dat file. Basically, after flashing my new OS ROM, my 8125 hangs at the splash screen with the version numbers on it. As a test, I redid my modified ROM, except I used the original initflashfiles.dat - this worked just fine. Tried it again by building the ROM with my modified initflashfiles.dat - same problem.
Here are the steps I'm going through.
1. Parse out the nk.nbf file using typhoonnbfdecode -x
2. prepare_imgfs 80040000-OS.nb -nosplit
3. viewimgfs imgfs_raw_data.bin
4. Modify contents of dump directory. Basically I've deleted files I don't need and added new ones.
5. Modifiy initflashfiles.dat (which I've attached). After modifying the file I open it in a hex editor and remove the first two bytes - making the first byte 3B (";"). I save it and mark it as read-only.
6. buildimgfs
7. make_imgfs 80040000-OS.nb -nosplit
8. Run nb2nbf_tornado.exe. I do run this correctly, using the correct memory address for the OS .nb file.
9. Put the new nk.nbf into an existing RUU self-extracting archive and run it.
It really seems like it's the initflashfiles.dat file - as I've successfully loaded this ROM with the original file (its really not the original, it's from a summiter ROM that I'm basing mine off).
Any thoughts?
I'm going to bump this once just in case people missed it originally.
I've messed around a bit more, and have pretty much isolated that this is my problem - but for the life of me I can't figure out what I'm doing wrong.
CameronJ said:
I'm going to bump this once just in case people missed it originally.
I've messed around a bit more, and have pretty much isolated that this is my problem - but for the life of me I can't figure out what I'm doing wrong.
Click to expand...
Click to collapse
Hi,
i see that the file you've attached isn't actually a .DAT file. It is a .dat.TXT that's the same that saying it's a TXT file!!!
If the file you're putting inside your ROM is this very same file (.dat.txt) then you've found your problem: you need a .DAT and NOT a .dat.txt file!!!
Try following this procedure on your PC (i suppose you're using XP or 2003 server):
- open a folder (whichever folder you like, it's not important)
- on the Tools menu click Folder Options.
- click the View tab.
- clear the Hide extensions for known file types check box.
- press OK
PS: Here is an illustrated guide on how to show file extensions
Now go to the place where your initflashfiles.dat is. If the file is named 'initflashfiles.dat.TXT' (like the file you uploaded in this forum) then:
- select the file
- press F2 (or right click and choose 'Rename')
- remove the tailing .txt from the name
Finally:
- let us know if it worked
Bye bye
risidoro said:
i see that the file you've attached isn't actually a .DAT file. It is a .dat.TXT that's the same that saying it's a TXT file!!!
Click to expand...
Click to collapse
:lol: Thanks for the reply.
I had to add the .txt extension otherwise the forum wouldn't let me upload the file (.dat files are not on the list of available file types for upload).
When I loaded the file I meant to put that explanation in there but forgot before I finished the post.
Hi. I don't know if you're still working on this, but I'd like to share with you my experience last night. I examined your initflashfiles.dat, and it is perfectly ok.
As I see in your initflashfiles.dat, there are a lot of folder customization like:
Directory("\Program Files\Task Manager"):-File("taskmanager.exe","\Windows\taskmanager.exe")
There is nothing wrong with this as we need the file to be in the right location. BTW, THIS FORMAT WORKED FOR ME. Just a thought, you might be editing the default.hv and user.hv (hives) to put in the registry keys of some applications?
My device (Himalaya) did not start out correctly and did not execute the initflashfiles.dat, BUT when I connected my Hima through active sync, you can actually explore the contents. SO, in this non-working state, I experimented in tracing the culprit, by restoring a couple of the original files I edited. I found out that it has something to do with the way I edited the hives.
Steps I made in experimenting:
1. I sync my Hima to my PC.
2. Copied the original default.hv to \windows directory
3. Hard Reset Hima, BUT answer NO to all three boot options
4. My Hima started normally and executed initflashfiles.dat to the detail.
Discovery from experiment:
1. The files were only copied to the directory were we wanted it, BUT the original file is still in the \windows directory. Therefore, we did not save storage memory.
2. We only benefitted from an already installed app built into the ROM.
Hope this gives you some insight.

initflashfiles.dat missing?

Hey!
I'm new to this stuff, don't be to hard to me!
What i have done yet:
1) Downloaded different Roms and created a dump of it, so i can compare them.
2) After this i, want to great my own Rom based of the German Qtek Rom.
For Comparison i took the "RIsidoro"-Rom.
i created of both the dump folder of the OS.
Now i want to add to the Qtek Rom for example CF2, Minimo and TotalCommander.
What i think i have to do:
-Copy the needed Files to the dump folder
-Edit the initflashfiles.dat
-Create a CAB in the Extended Rom to make the regestry entrys
My Problem is, i cant find a initflashfiles.dat in the Qtek Rom!
What i have done wrong?
Sorry for my bad english, i hope you can understand my problem
Thanks for your reply,
MAPero
Sry guys for post again.
But i haven't found any thing in this forum what could help me!
Everywhere is said, to edit initflashfiles.dat
But there is no initflashfiles.dat.
I have found a second way i think,
Normal rom edit way: add the contents of the exported .reg files to default.rgu, making sure that you leave a blank line on the end, copy all the files to the \dump directory and edit initflashfiles.dat to copy them to the right directory on first boot. (remeber to remove the first two bytes - ff fe with a hex editor). then build your rom!
Bepe's rom edit way: create a folder '[your software name]' in the oem folder and get yourself a guid from here http://kruithof.xs4all.nl/uuid/uuidgen. create a blank file called '[yourguid].dsm and a blank text file called '[yourguid].rgu'. add the contents of the exported .reg files to '[yourguid].rgu' and make sure you save as unicode. then copy all the other files to the folder and create a blank unicode txt file called 'initflashfiles.txt' and use it like initflashfiles.dat in the first method except there is no need to hex edit out the first two bytes. then build your rom!
Click to expand...
Click to collapse
But i am not sure, what is meant by oem folder!?!? is the dump folder meant?

Cooking a rom...

Hi, I followed the thread: "How to reconstruct a dumped ROM"... (obviously I had, before, did a rom dump!). Now I have a directory named "dump" with several subdirs.
In the step 3) there is written: "After this step you can optionally edit the OS files with the proper tools"... now the question is: what are these proper tools? I searched in the forum, in the other threads but I didn't find anything... My needs are: to delete some programs that are in the rom (for example Pocket Word, Pocket Excel, other..) in order to obtain more space, but to install other tools at the free space.
Thanks in advance for your help....
Great question ! i can't help you , but i wait for answers ....
I asked the same thing the other day, and got an answer(thx again to him).
Actually, I'm doing it right now, as a test I've successfuly dumped and rebuilt lsvw's rom using enhanced imgfs tools batch files, nbdump.bat nbname.nb & nbbuild nbname.nb, now I'm removing files from the rom and maybe add some other, like that quick gps thingy, latest msn(optimized for trinity, removed vga resources), phone pad, and some other thing on my custom extrom.
I had the same doubt as you, but it seems that we're overcomplicating things, you can simply use the file explorer to remove files from that dir, beware of which files you remove/alter.. initflashfiles.dat has some operations to be done after flashing the device(creating folders,renaming files, moving them to startup/start menu/etc folders), I thought that if the file didn't exist on the windows folder, whatever invoques initflashfiles.dat would crash, but it doesn't seem to be the case, I haven't put this to test, but I've found several missing files on the initflashfiles.dat(and a typo, "floder", go figure what it means - lazy/rushed editing IMO), so there seems to be some tolerance to the operations contained in that file.
I won't edit the wiki until I'm 100% sure that what I know is correct, but to sum it up:
dump the files
add/delete files with explorer
edit the registry using rgucomp
edit initflashfiles.dat using the original windows notepad & use an hexeditor to remove the 1st 2 bytes
run NBBuild.bat to create the *.nb file
OSchecker.exe to validate the *.nb file
nbhtool.exe to create the nbh
flash it(I prefer the sd card method)
Code:
rgucomp needs setting _FLATRELEASEDIR environment variable to current directlry like this:
set _FLATRELEASEDIR=.
Dump default.hv/user.hv file to .reg with:
rgucomp.exe -nologo -o default.hv > default.reg, then add line "REGEDIT4" to the beginning of REG file.
Modify the .reg file to your liking, (save it in UTF-16 with CR+LF terminations and a new line at the end of the file) and convert it back to .hv
And don't forget to flash Olipro's Hard SPL before, it may save your device.
"and convert it back to .hv"
http://forum.xda-developers.com/showpost.php?p=1186635&postcount=1
(no wonder I didn't find this info, forum search is almost useless, googled for rgucomp and voilĂ , first result(above) right answer)

Modded Cappackage.pxp Files

So I thought it would be worthwhile to create a thread focusing on modified "cappackage.pxp" files. These are the files which control the default carrier specific configurations. In my case, I am running the Aussie "Three" WM6 OS, however I wanted some, but not all, of the ATT customizations. For example, I wanted the proxy tool, the logos and the certs . . . Attached is a modified version of the ATT cappackage.pxp file. I had difficulty configuring WindowsMobileLive.cab and the HTC task manager to automatically install as part of this new file so I will post those cab files as well for convenience (for those who may want it).
If you have a customized cappackage.pxp, please post it in this thread and describe how it has been modified so everyone can decide which they may want to use.
Here are the changes I made to the cappackage.pxp file. Note, all of these .cab files should be possible to install directly simply by extracting from original ATT WM6 cappackage.pxp in case you happen to need one of them:
delete getgood.cab
delete getmail.cab
delete realplayer.cab
delete getmobitv.cab
delete cmradio.cab
delete attmallandmusic.cab
delete musicid.cab
delete jarguarrm.cab
delete gettelenav.cab
alter "Att_Settings.prov.xml" to remove messaging and Windows Mobile Live registry customizations
add install of new devstate.dll (exists in 3AUS cappackage.pxp and also in ROW 2.23 cappackage.pxp)
ABS
EDITED 12-30-2007: Note - this altered cappackage.pxp file is based off the "leaked" ATT WM6 ROM.
abs99 said:
So I thought it would be worthwhile to create a thread focusing on modified "cappackage.pxp" files. These are the files which control the default carrier specific configurations. In my case, I am running the Aussie "Three" WM6 OS, however I wanted some, but not all, of the ATT customizations. For example, I wanted the proxy tool, the logos and the certs . . . Attached is a modified version of the ATT cappackage.pxp file. I had difficulty configuring WindowsMobileLive.cab and the HTC task manager to automatically install as part of this new file so I will post those cab files as well for convenience (for those who may want it).
If you have a customized cappackage.pxp, please post it in this thread and describe how it has been modified so everyone can decide which they may want to use.
Here are the changes I made to the cappackage.pxp file. Note, all of these .cab files should be possible to install directly simply by extracting from original ATT WM6 cappackage.pxp in case you happen to need one of them:
delete getgood.cab
delete getmail.cab
delete realplayer.cab
delete getmobitv.cab
delete cmradio.cab
delete attmallandmusic.cab
delete musicid.cab
delete jarguarrm.cab
delete gettelenav.cab
alter "Att_Settings.prov.xml" to remove messaging and Windows Mobile Live registry customizations
add install of new devstate.dll (exists in 3AUS cappackage.pxp and also in ROW 2.23 cappackage.pxp)
ABS
Click to expand...
Click to collapse
Thanks, any idea if we can add another carrier in the carrier_db file that isn't there?
john_99 said:
Thanks, any idea if we can add another carrier in the carrier_db file that isn't there?
Click to expand...
Click to collapse
I honestly do not know. Sorry. You might ask Olipro as he seems to be very knowledgeable.
abs99, what tool did you use to repackage your PXP file. I've tried several archive tools to .ZIP and rename, but no joy. I've looked, but can't find any info on PXP file creation. Surely, I'm missing something simple here.
TIA
I found that "winrar" can handle the files without a problem. I had also noticed that the date stamps were the same for all the files in the original package, so I also use a tool called "stamp it" to set all the dates on all the files in the new package to the same original date.
thanks. I found that 7-zip is working too.
Now, the next step, I'm trying to mod the capdata.xml file and for whatever reason the device will not recognize it after my mods.
Here's my version of an ATT config file:
Code:
<?xml version="1.0" encoding="utf-8" ?>
- <Varnish xmlns="http://www.ephox.com/product/editliveforxml/document/Untitled20062026011007629">
<Version />
<Notes />
<UpgradePath>always|</UpgradePath>
- <PolA>
- <Certificates>
<File>CingularCert.prov.xml</File>
</Certificates>
- <Certificates>
<File>Class3_PCA_G2_v2.xml</File>
</Certificates>
- <Certificates>
<File>entrust_gssl_ca.prov.xml</File>
</Certificates>
- <Certificates>
<File>RSA1024RootCA.prov.xml</File>
</Certificates>
- <Certificates>
<File>RSA2048RootCA.prov.xml</File>
</Certificates>
- <Certificates>
<File>VeriSign_C3_PCA_G3v2.prov.xml</File>
</Certificates>
- <Ringtone>
<File>AT&T Tone.wav</File>
</Ringtone>
- <ProvXML>
<File>ATT_Settings.prov.xml</File>
</ProvXML>
- <ProvXML>
<File>MSFPHeartbeat.prov.xml</File>
</ProvXML>
- <ProvXML>
<File>ResetRequired.prov.xml</File>
</ProvXML>
- <InstallApp>
<File>WindowsLive.CAB</File>
</InstallApp>
- <InstallApp>
<File>ATT_Theme.CAB</File>
</InstallApp>
- <InstallApp>
<File>ProxyManager.CAB</File>
</InstallApp>
- <InstallApp>
<File>ATT_Content.cab</File>
</InstallApp>
- <ExtractZip>
<From>DevState.zip</From>
<To>\Windows</To>
</ExtractZip>
</PolA>
- <Welcome>
<WaitImage>E_PolishImage.bmp</WaitImage>
</Welcome>
- <Sweatshop>
<AccountName>GEN</AccountName>
<VarnishName>ENG</VarnishName>
<BuildName>005</BuildName>
<User>[email protected]</User>
<Environment>Sweatshop QA Staging</Environment>
<CoreVersion>1.9.9</CoreVersion>
<Treo750Version>3.0.0</Treo750Version>
<DateStamp>Wed Aug 22 6:10:15 PDT 2007</DateStamp>
</Sweatshop>
</Varnish>
Any thoughts? This is just a basic mod and plan to get more detailed configs in there once I figure out what I'm doing wrong.
TIA
The issue with this file may be that editor you are using is adding "white space". I found that some editors caused this to occur. I ended up the file in notepad to avoid the problem as it was a real mess to deal with any other way. You should open the original unedited file and your new edited file in notepad and compare both. For whatever reason, the OS does not like to deal with a properly formatted .xml file!
Thanks mate, the white space and file size were the culprit. Was trying to cheat and use MS xmlnotepad - very easy to use, but it added the whitespace as it made it pretty to look at. I also was trying to cram too much into my archive; the extracted archives need to fit in the 8.4mb along with the archive itself.
Attached is a custom CapPackage.PXP with the following (based from ATT 2.25 ROW, CapPackage.PXP):
ATT Theme
Regional Settings: US, - 5 EST
ExtROM mount and rename
Custom ringtone
Custom Sounds Settings
Delete poutlook.lnk from startup
Set Hello to ATT
Disable CAB security policy
Removed all ATT applications (CV, real, win live, etc)
TODO: Incorporate RegHacks of additional settings customization and tweaks (lots of typing...), right now I install and merge the apps I want after initial setup completes.
Cheers
HOW TO
***always a good idea to backup existing files before attempting any modification***
1. mount your extended rom (search for the cabs and instructions on this site)
2. copy the CapPackage.PXP from ExtendedROM\Partition to your PC
3. extract the contents to a folder named CapPackage on your PC (any ZIP compliant archive tool will do)
4. remove/add the *signed* cab files your desire (unsigned cab files simply get passed over)
5. open capdata.xml in epcEDIT or notepad.
6. add/remove the configuration information as desired - this is where some trial and error comes in trying to determine what commands control what function.
7. ZIP (no other archive format seems to work) the CapPackage folder to CapPackage.PXP (or rename .zip to .pxp).
8. copy to ExtendedROM and hardreset.
TODO:
-Hope to be able to post a list of commands for the XML to enable configure of most if not all device "settings"
-Hope to figure out a way to get unsigned cabs to install (present workaround is a zip extract and registry commands if the app isn't too complex (e.g. lots and lots of typing required)
--Not sure yet if reg hack setting "HKLM\Security\Policies\Policies' valuename '0000101a' to dword:1" will resolve this during initial setup
Okay, after getting my questions about how this all works and saves the space on the phone, I took the plunge and upgraded from 2.23ROW to 2.25ATT. Went smooth as butter, and I have a "decrapified" phone with the official, supported ATT release (just in case I have any problems and need support).
Of course, being a hacker, now I'm totally intrigued by this cappackage customization, and want to play with it myself. So, Tim et. al., two questions:
Does the capdata.xml file have to match the contents of the archive? Or, if something's missing, it's just ignored? I'd like to be able to delete some more stuff and remake the PXP file without having to hassle with the XML file and run into the problems you have (workable, but I just don't want to waste time on whitespace issues if I don't have to).
Does the carrierDB file need to stay in the extended ROM for any reason after install and setup? I'd like to archive it on my PC, and delete it from the extrom so I can use that space for general storage.
microsoft word has a wonderful xml file editor. rather than try and keep everything straight in that jumbled up mess you get out of notepad or some other editor, word indents all the xml, and makes it look like it should. it was a snap to edit. I used Winrar and opened the PXP file. I never extracted the contents. Just the capdata file. I edited it, and then put the edited version back into winrar. using winrar I deleted the files I didn't want. saved the archive and moved it back to the device.
dwallersv said:
Does the capdata.xml file have to match the contents of the archive? Or, if something's missing, it's just ignored? I'd like to be able to delete some more stuff and remake the PXP file without having to hassle with the XML file and run into the problems you have (workable, but I just don't want to waste time on whitespace issues if I don't have to).
Does the carrierDB file need to stay in the extended ROM for any reason after install and setup? I'd like to archive it on my PC, and delete it from the extrom so I can use that space for general storage.
Click to expand...
Click to collapse
1. The XML will bypass anything it can't actually do.
2. I have tried it both ways and feel like I've had no issues, but I have seen some reports of strange behavior without it. I currently have it in my ExtROM since I hard reset my device often as I test apps and config settings. If you don't hard reset very often then once the device is hard reset you may delete and gain an additional 1.45mb.
The thing I intend to work on next is creating a provisioning XML to call an external XML (outside of the cappackage). I'm hoping this way I will be able to strip even more out of the cappackage (literally everything but the capdata.xml) and hav an on the fly configuration capability and call installations and configuration from the SD card. Haven't had much time to play with it though.
Can someone help point me in the right direction to get start loading the cappackage. I can't seem to find how to mount the extended ROM. I did a search for it and everything that came up didn't explain it (or at least I didn't understand it if it did).
Hmm, I can't seem to find the original thread either. Really just registry entries, but the cab's make it easier.
See attached...
Run each in order, then soft reset
Cheers
FYI: You can use my cappackage (see pg 1) as a starting/reference point for building the extROM mount into the initial config process after hard reset...
Try this. ...............
sodak said:
Can someone help point me in the right direction to get start loading the cappackage. I can't seem to find how to mount the extended ROM. I did a search for it and everything that came up didn't explain it (or at least I didn't understand it if it did).
Click to expand...
Click to collapse
Thanks to both of you for the quick response
I don't know whether it is because of this or because of something else. But I started modding this CapPackage file, and all of a sudden my treo just started acting weird. I had to hard reset it several times throughout the day. Then I upgraded to the 2.25 WM6. And that is where **** really hit the fan (I upgraded and put my own CapPackage version in it). And after that I've had nothing but trouble. Soft resets didn't work anymore, it just crashed on the boot screen. Hard resets work, but really slow, takes about 20min. So now I'm re-upgrading to 2.25 and just leaving that CapPackage file alone for now .
The tale away message: Don mess with this unless you know what you're doing, which isn't me
-Robert

Modification.

i cant find how to modify a ROM..
i mean after converting NK.NBF into DUMP folder if i want to remove any application and add another one how to do that?
like i want to add some plugins like arcsoft MMS,office and adictionary into a ROM how to do that..
thanx
well, that is done manually, you need to remove all the files/add the files from the OEM package there (exclude the option.xml and initflashfiles.dat and the dsm's and RGU) just copy the files, then when you goto the next step,or the step where you need to modify the HKLM and HKCU files, just open the OEM's RGU file, cpoy the keys and paste it in the Presented HKCU/HKLM and when you go to the other step, where you are required to edit the initflashfiles.dat, open the OEM's initflashfile in notepad, copy its content and paste it into the Main initflashfiles.dat of the ROM you are extracting, ther, that should do it
Note : make shure you hex edit the initflashfiles.dat and remove the first 2 bytes from the file (something like dd dd) or else your rom wont boot!!
if you dont want to hex edit, you can use my intiflashfiles Builder which is included in my kitchen, http://forum.xda-developers.com/showthread.php?t=378498
Ps. there is a guide too there

Categories

Resources