ROM dumping / extraction / kitchen building for the Rhodium platform - Touch Pro2, Tilt 2 Windows Mobile ROM Development

Hopefully this is a well known topic and I simply have not yet to locate the information - please try not to flame me too much I've been away for about a year and things have a tendancy to change real quick...
My baseline kitchen / ROM builds have always worked best off a stock OEM dumps - bloat and all. I'm hoping to come across such a gem with the new WWE 6.5 dumps coming available.
Ideally, a similar process could be done as Bepe did to the Hermes rom: Bepe's Big Storage. In this rom the extended and program memory was merged, giving it terrific space (not that I ever needed it ).
Also (and most important for ease of use), his rom dumps included the individual registry entries for each package with each folder - the file names escape me, but it made keeping the registry clean and specific very, very easy. This also makes making a personal kitchen for the masses to use much better as well.
So - has the dumping process for this rom evolved enough that we can replicate Bepe's actions (clean file/registry extraction and merging extended ROM space), do we simply use existing tools for a different platform (such as Touch Pro, Diamond, or whatnot) to extract our own, or is that no longer a driving practice with ROM building?
Thanks for schooling me on the latest ROM process - hopefully I can get one of my Naked builds together for those who perfer lean and fast, cause this bloated gadget is way too fat
Hopefully if there is enough info collected in one spot to either update the Wiki or put up a sticky for everyone to use

Here's a thread from the Raphael device, probably a good enough reference to get started - if it will work with this dump: [TUT] Sous-Chef's Guide to Aruppenthal's XIP Porting Kitchen 5.3

I just PM'd hilaireg - hopefully he has some info if there are hardware differences that would prevent the tools he'd referenced from working...

hi,
i found this thread regarding radio dump but it is for smartphone device (wings).
i haven't tried this yet.
hopefully the process can be used to our device.
edit:
also found this thread regarding rebuilding of dumped roms (raw files) from topaz.
just change the htcrt to our device config.
regards,
twisted

WB Matt!
I think things really have changed a lot from Wizard and Hermes days!
For Kaiser, I use OEM from 6.1 dump, and use 6.5 SYS files! It seems to work better for us Kaiser users.
I am not sure about old way if cooking though! New way is much easier, and real fast to switch between devices even.
But I know you have creative ideas to even make a noob cook! So I am looking forward to your contributions...

Here's hilaireg's response - he added a couple good links and info:
"Hi Matt,
I agree that the TP2 section of the forum is still somewhat sparse.
Arup's XIP porting process was tailored around PkgToolsBuildOS 5.3 which doesn't properly support WinMO 6.5 ... hence the release of Visual Kitchen by Ervius.
IMHO, I would suggest performing a dump of a TP2 official RUU's using the latest version (1.8.1) of Visual Kitchen and forgo using the old PkgToolsBuildOS.
I'm sure you've likely been following Da_G's threads on WinMO 6.5 ... just in case:
[OS][WM6.5.x] Latest Releases (23034), Porting, Tutorials, Tools, VM, etc.
http://forum.xda-developers.com/showthread.php?t=544445
There's this thread as well that may serve of use if you run into extraction issues using Visual Kitchen 1.8.1.
[APP][UTIL]nbImageTool .4 (Partition Dumper) support .nbh .nb .dio .fat .nb0 .payload
http://forum.xda-developers.com/showthread.php?t=548315
The utility may allow you to extract the portions you need (ex: XIP, .PAYLOAD,etc.) and have VK perform the SYS/OEM package extraction. From there, you may be able to piece together a "functional" kitchen from both extraction processes."
ai6908 / twisted - thanks! I did have a lot of success mixing OEM and SYS packages - but the fun was making every element of the ROM being optional, and allowing someone to build a completly empty ROM, or only adding exactly what they want. This way, they can balance bloat vs speed, and find their perfect balance. This flexibility keeps every mix clean and quick

Once I get a good grasp on what's going on, I'll redo the first post with a summary and process for this device, FYI Best way to learn

Good to see you here. I remember the pandora stuff and look forward to this.
Options around things like extendir might be good?

Things have changed quite a bit Matt. I remember your excellent tutorials and guidance from my Hermes days We don't have extended memory anymore and all packages get dumped with their corresponding dsm and rgu, it 's very easy. The newer "visual kitchen" made by bepe and erv, use app.reg and did away with dsm's. Da_G is working on a microsoft based kitchen that will enable us to update any file in the ROM without flashing the whole rom again and that will be possible by the reintroduction of DSM's in the cooking process. You can IM me if you want to chat about all this.. Top right corner

(Sorry for possible silly questions, but I'm still at Andrews for a couple more days and am without a PC )
Interesting... editing/deleting files in a live rom... gonna have to chew on that concept for a while. Wonder how this will effect page file settings. Wow...!
The .dsm/.rgu extraction being clean is good news - trying to break out the individual registry elements is a big pain.
Good as well is the lack of extended memory, but do we recover unused space if not used for the "program" - in that this space is usable to load apps into?
I'll still need to research more, but if we're using app.reg, will the compiler still add .rgu entries into the compiled hive? This will be important to keep package selection clean in a multiple selection kitchen, unless I am unaware of the new kitchen capabilities and this won't be an issue.
I do have some ideas, and a whole lot more programming under my belt than before. Can't wait to get home and get started

Please consider looking at the issue of activating MSVC with the bluetooth headset button if you can. I am not sure if this is fixed in 6.5 but cannot make it work in 6.1. The TP2 usues a different BT stack so I am told. This is allegedly a business phone and this is a mjor feature espcially with the current laws around mobile phones and driving in the UK.
Cheers, and looking forward to whatever you release.

Matt my old friend, I'm sorry for taking a while but i have successfully converted my hermes, kaiser, fuze kitchen to rhodium for you... i'll upload shortly when i get home and you can do what you want with it has all stock extracted rhodium and if you have questions buzz me and i'll answer
Also matt, add me to messenger, it would be an honor to help you with this. get you up to speed

mattk_r said:
(Sorry for possible silly questions, but I'm still at Andrews for a couple more days and am without a PC )
Interesting... editing/deleting files in a live rom... gonna have to chew on that concept for a while. Wonder how this will effect page file settings. Wow...!
The .dsm/.rgu extraction being clean is good news - trying to break out the individual registry elements is a big pain.
Good as well is the lack of extended memory, but do we recover unused space if not used for the "program" - in that this space is usable to load apps into?
I'll still need to research more, but if we're using app.reg, will the compiler still add .rgu entries into the compiled hive? This will be important to keep package selection clean in a multiple selection kitchen, unless I am unaware of the new kitchen capabilities and this won't be an issue.
I do have some ideas, and a whole lot more programming under my belt than before. Can't wait to get home and get started
Click to expand...
Click to collapse
if the rgu entries are in the OEM or sys folder sections of the new rom kitchen it will be added to hive.. App.reg is looked at in EXT folder of the kitchen now.

Related

Ivan V4R3 with 32MB Ramdisk - V1.2 released

I've managed to get Ivan V4R3 working with 32mb Ramdisk support using the tips in the main Ivan V4R3 thread here
http://forum.xda-developers.com/viewtopic.php?t=52546&start=50
and here
http://forum.xda-developers.com/viewtopic.php?t=52546&postdays=0&postorder=asc&start=25
(in short, hexedit unencrypted nk.nba then add buzz_lightyear's 32mb ramdisk cab).
I've also ensured that IE stores its cache files in ramdisk by fiddling with some nice reg keys that were'nt covered by the buzz_lightyear patch.
The end result is really fast and doesn't seem to get all laggy after heavy use, as Ivan tends to do when it scatters temp files around the storage disk.
I'd like to send a finished ROM out to the gang for testing but I lack the expertise to edit and recombine default.hv and boot.hv to include the buzz_lightyear and IE reg patches prior to reassmbling the ROM.
Can anyone PM me with some more info on how this can be done?
If not, then it'll be a ROM file, CAB file, reg file mix to get it into a testable package, which all seems a bit messy when we could just have a flash-and-go version.
Hope you guys can help, thanks.
send me the stuff and i'll do it.
Ah wait - I've figured it out. Just copy the default.hv from a running ROM on a device, and recombine that into the flash package.
Will churn out something tonight if I get time and see what people make of it.
nope, it a lot more complicate that that
work in progress??
Just wanted to know if you guys are still working on this project. Let me know as i am very interested. THX
Apologies, I've been AFK for a few days dealing with real life - horrible thing it is too.
The rom, ramdisk cab and a list of Registry modifications are now uploading to /uploads/for_midget_1990.
[EDIT] all files uploaded at 20:07 BST
Procedure is -
- replace the Ivan v4R3 nk.nbf with the one included
- flash, align screen etc
- install the ramdisk32 cab
- modify the registry keys as shown in reg_keys.txt
- power off, then power on to cement all reg changes
- reboot
The above config has been running on my Qtek 9090 for the last week with some pretty heavy use and it's still performing nicely with no sign of the slowdown that Ivans ROM normally suffers from after prolonged use.
Midget_1990 - if you can munge these files together into a proper release, that would be fantastic. Meanwhile I'll try to find some info on doing it myself. I'm not far off it, I just can't find much info on how to edit the registry files inside the ROM. I'm sure the info is out there if I look hard enough.
depending on how busy i am in the next few days i will try and make this into a proper flashable rom, however i am also working on upgrading Ivans rom anyway so I will definatly produce a version with the ramdisk as well as normal with future releases.
Thanks for your reaserch etc.
I was using logouts latest and it was very slow once you got a few things running on it and when enabling the wifi.
I just downloaded and installed ivans again using this method and also overclocking to 530mhz. Seems to be doing very well. i will test and report more as the week goes on.
HI all
Willpower102 - Agreed - overclocking to 530 is definitely the ideal for any wm5 rom.
I've made some progress on modding the ROM last night. I'm just having trouble finding the Internet Explorer cache directory entry in the ROM's registry files. Once I've cracked that, I'll be ready to release a flash-and-go version.
Now that I'm able to build my own ROMs, I've also been experimenting with the atihwtbl0.txt file in the \windows dir. You can see some tasty looking timing variables in there - not least the CAS timing for RAM. More on that later when I've tested it properly.
Also, I found a more up-to-date version of ace_ddi.dll a while ago and will try to include that too. I've benchmarked it with GXMark, and it's definitely faster. Original dll gets 1750 gxmarks, new one gets 1850. I've even managed 2000 gxmarks but that has been hard to reproduce. (all figures produced at 530mhz)
Lastly I can say that now I've got my hands dirty with the ROM-building tools, my respect for Tuatara, Mamaich, Buzz_Lightyear, Ivan, Midget_1990, Logout, Art, and the whole ROM-building crowd has only increased. It's a slow and fiddly process, so more than ever respect to the people who are making this possible.
rom building
Thingonaspring: mad props for all your effort!!!! I would like to educate myself and start the rom building process aswell. Before I even try to attempt this I guess I have to do a lot of research and reading (but its all worth it). I would be most grateful if you could tell me where you got your info from.....and any links would be greatly appreciated.
Hats off once again for all your hard work
the best advice i can give is read the entire wiki, including every device, twice. This will get you the background knowledge about how these devices work etc, then PM someone who currrently makes ROMs and ask (nicely) if they would mind sending you the BA ROM toolkit and if your really nice they might also explain how to use it
Good luck!
THX
Midget_1990: thanks for the heads up!!! Thats what I assumed. Reading, reading and more reading is on the agenda.
[EDIT] Found the cause - nasty lil control-code gremlins on the end of each line. Stripped the file down to ascii codes only, edited, saved as unicode and everything works.
Serious help needed here
I am attempting to rebuild default.rgu and user.rgu into default.hv and user.hv using rgucomp.
I am doing the following :-
SET _FLATRELEASEDIR=.
rgucomp -o dump\default.hv -nologo > default.txt
edit in wordpad (also tried notepad), add REGEDIT4, ensure final line is just a <CR>,
save as text with unicode encoding
When I rename default.txt to boot.rgu and do :-
rgucomp -b
I get an error :=
Failed to parse HKEY_CLASSES_ROOT\xslfile!!!
I've tried many different approaches with both default.hv and user.hv.. Always ending up with very simillar results. Usually a parse error on or close to the first line.
Can anyone help with this? I've read everything, not just on this site, but on buzzdev and a ton of weird japanese/chinese forums (no idea which, just lots of kanji characters).
It's really annoying as I only have limited time to work on this, and it's soo close.
Try this:
Rename default.rgu to boot.rgu
set _FLATRELEASEDIR=.
rgucomp.exe -b -nologo
ren boot.hv default.hv
attrib +r +h +s default.hv
And error in this k e y
HKEY_CLASSES_ROOT\xslfile!!!
Fix it
I was running SPB Software on the unit without the ramdisk and I tested the software with SBSH Software on it to find that the software you install can make a slight difference.
However, the unit seems to really get a boost in speed. I love the improvements the 32 RAMDISK does to the unit. I have had no issues with the unit since the upgrade.
I was wondering how everyone was doing with the bluetooth fix though. How has the quality been since the major changes that has been done over the past month now. There hasn't been many complaints about the bluetooth but was wondering about quality and if there has been any disconnect issues. I haven't used my bluetooth ear piece long enough to really know.
Also how has everyone's battery life been. I noticed that the software has some major drainage on the phones battery. I usually don't notice much due to the v3 extended lion battery but how about the oem battery?
Speed is unbelieveable with ramdisk on ivan's v4r3.
Problem is programs installed after the ramdisk mod don't show up on the "remove programs" list, thus can't un-install.
I myself am stuck with the registry too, due to the fact that the programs in the toolkit to do it are 16bit and not compatable with my 64bit version of windows...
OK, the ROM is finally ready.
Here :-
ftp://xda:[email protected]/Uploads/Blue Angel/IvanV4R3_Ramdisk32.zip
It includes a tweak to CAS timings (1clk instead of 2clk) and an updated ace_ddi.dll display driver. Both should improve speed, but do note that the CAS tweak means that overclocking to 590mhz, which was always pretty unstable, will now cause the device to hang. Overclocking to 530 works fine in my tests.
There's still plenty more I can try to gain a bit more speed, not least the rest of the timings in the atihwtbl0.txt file, and perhaps mounting the RAMDisk as early as possible will allow more parts of the OS to store volatile data in RAM.
If/when I come up with an updated version, I'll post it hereabouts.
Baeshin81 - I left my phone on standby last night with 100% battery at 2AM when I finally crawled into bed.
On reaching work the next day 9:15AM, the phone had used just 3% battery power.
So in short - battery seems fine. Do note that I've got an expanded 2450mah battery, not the stock one.
Keano - I too notice the remove programs problem after installing the buzzlightyear ramdisk cab. The new ROM does not use this method, I've basically stolen Logout's approach to ramdisk instead, so the add/remove problem is no longer present.
Midget_1990 - have you tried a DOS emulator like Bochs?

n00b question regarding CAB files.

I am going to upgrade to the shogun ala carte rom within this board because I am still running summiters 2.3 rom and it is a little buggy. There are several apps though, I would like to get the CABS for and wonder how can I extract them from his ROM executable?
Do I need to decompile using a VB app?
How does one do such a thing?
Best way is to install the ROM with the extended ROM you're interested in, then use Total Commander and navigate to \Extended_ROM folder. This exposes the "hidden" extended rom, and allows you to copy out cabs you want. As mentioned in a dozen places, you can't modify the extended rom this way without corrupting it and leading to a hard-reset in your near future. Good luck
what apps are you looking to save?
Thanks that was good info, I just copied and pasted all the cabs to a folder then moved it off to the PC.
Shogun, thanks very much for checking in, since I have the opportunity let me say it is great that you take time to build, I look forward to trying out the ROM you have up.
In answer to your question, it appears you have all the ones I am looking for within yours, I was asking in the interests of a back up plan, but I am simply looking for the apps included in Summiters 2.3 ROM. Here are the main ones that come to mind, sorry for the descriptions in lieu of actual names this is how I know them:
Annmar Wireless plugin
Task Manager
Overclockers
The Softkey app
AD2P (I think)
The USB Connector App
Again I was simly trying to hedge my bets here, I hope you do not take offense.
no its all good, i know mine has the wireless today plugin, A2DP, and the usb connector app, as well as OMAP to overclock.. i dont remember if it has the task manager or not or the softkey app.. been busy creating the new one that is in beta right now... that has EVERYTHING you list above, and then some

OEM packages vs. Ext ROM

I've started trying to cook my own rom for my wing and I've come to a bit of a cross roads on how to do certain things. I was wondering if I could get some other cook's opinions and advice on how they install programs while cooking a rom.
I've figured out how to change what is contained in the Extended ROM and was wondering why no seems to use it for including certain apps in their roms?
A good example would be S2U2. Alot of roms I've seen include it but why install it as a package when you could just run the cab from the extended rom?
It seems a little wasteful of space especially with a program updated as frequently as this one to have it sit resident in the rom if you overwrite it with a new version.
Is there a particular reason no one seems to change the extended rom and put it out there with the OS as an OS.nbh?
The os.nb within the nbh has to be at least 51,200kb large. If it isn't and you padded to that size with just zero's in a hex editor, then you will have lost a lot of storage space. If you place it on the os.nb, then you will not have to use your storage space to store it.
Excellent point. I think that is makes sense for most apps that don't get updated very often to install them in the main rom. But for anything thats going to be updated frequently, for me it makes more sense to be able to upgrade without losing additonal space on the device. Besides there is more than enough useful apps out there for me to pad out my base rom.
but if I have os.nb within the nbh > 51,200kb - what different after

[REQ] XML builder for Raph

Hi all
I was wondering how many people here would like to have some sort of way to build an xml which upon completion of a ROM update (which for some us are only day's apart) would change a load of settings to what we want for them
this is just a concept at the moment and i would like to work with someone or the community as a whole to produce a program to do this
the concept i have is as follows:
a simple windows exe Window which has inside it drop down menu's for all of the settings possible (cleartype/text size/regional settings/time zone/notification settings) fields (username for email/password/server addresses/screen name)
and if possible, something to allow us to drag and drop CAB file's into a window which would then also package up the cab's into a folder and spit out/generate the relevant SDCONFIG.txt file
is this at all possible? is there much interest in this?
I can go through and try to find as many of the settings possible and attempt to perhaps find the relevant registry settings even
i would really like to get the ball rolling with this, im sure it could work really well, not only on the raphael, but also on other devices perhaps
please post any interest on this project/concept here and i would really like to do something about this, im about to go and figure out the best way to even code this, however my coding knowledge is about zilch.lol!
.PROVXML files are the ideal place for last minute configuration changes. I'm just starting to explore this avenue and I've found tremendous flexibility in what one can change.
Have a look at the following information ... right from the source
Provisioning Using a ROM Configuration XML File
http://msdn.microsoft.com/en-us/library/bb737254.aspx
Configuration Service Provider Reference for Windows Mobile-Based Devices
http://msdn.microsoft.com/en-us/library/ms889539.aspx
There's also some excellent thread on XDA ... you'll have to do a bit of searching for them.
HTH,
have you looked at oemizer?
Assume this is the one you mean: http://tiermann.net
... takes the fun out of doing this the "manual way"
Cheers,
I don't use it personally. I came across it when I was learning with my M3100 (Hermes) and it provided a few useful insights at the time when I disected what it had created. I found a few problems and don't use it, but it seems like a similar attempt to what the OP is trying to achieve.
many thanks for the replies
im just looking into the oemizer that was posted and see how that works, however, i get the impression that its for rom cooking
Hi duke_stix,
That's where it's often used ... although, I have come across some posts about utilities that can re-initiate Provision XML files already present on the device or new ones placed on an SD card.
*EDIT* - Some examples
DotFred's Task Manager: http://www.dotfred.net/TaskMgr.htm
HTCustom: http://shadowmite.com/forum/viewtopic.php?f=28&t=2231&p=7890#p7890
Cheers,
I have not seen anything that does exactly what you suggest, but things to look at that are maybe related include
Sashimi
tier-autoinstall (or something like that)
They run the files but don't create them.
You can always just export the reg values and then import them after you flash...
or use a reg to xml program to add it to SDConfig
I'm working on a new app right now that might have the potential to cover what you're asking for, but the exact features necessary to pull off at least a part of it won't be available in the first release. Keep an eye out on the D&H forum in anywhere from a week to two weeks when I post it up there.

Starting to cook my own...missing some basics with packages

Hi Folks,
I'm sure the answers to my questions are somewhere on XDA, but I've not been able to find them. I've been trying to get some basic things working for a good few evenings now and I’m stuck
Using Erviuskitchen, packages creator 5.4 and EXT_PAckages_rebuilder I've been able to dump the HTC 6.5 base ROM to work from. Then put it all back together, pull some bits out, cook it and flash it to my phone....all went surprisingly well, my phone's still running and a bit more bloat-free!
What I'm stumped on though is adding things to my ROM, I'm good with packages found elsewhere, but nothing of my own.
I've got a bunch of .CABs which I'd like to 'cook in'... but when I create a package from the CAB file using packages creator 5.4 and EXT_PAckages_rebuilder and then flash it, I get no start menu icons. The app seems to be installed correctly, but without icons for it.
(my goal's to cook in a pre-configured copy of GuardMobile for if my phone's evey lost/stolen, but I'd like to be able to include other apps too).
What am I missing?
On a slightly different note: during my travels around here, I've seen various cooked ROMs which give you the option of uninstalling cooked-in apps as if they'd been installed using a .CAB file - how's this bit done?
Like I mentioned, I’m sure the these are pretty basic questions and the answers are around here somewhere, but I'm afraid my search-powers are failing me! (tbh, there's just too much info and I'm struggling to filter it down to what I need).
Any links or quick pointers would be greatly appreciated. Hey if my ROM turns out to be any good, I’ll put it up for others to use.
Thanks in anticipation!
'tunes
Most times when creating a package the shortcut created in the CAB is added to some .DAT file which you can edit using Notepad++ or any other text editor.
There should be some lines in this file like this:
Code:
Directory("\Windows"):-Directory("Start Menu\Programs")
Directory("\Windows\Start Menu\Programs"):-File("PROGRAMNAME.lnk","\Windows\SOURCESHORTCUT.lnk")
At least this is one way to do it. Con about this methode is that you need shortcuts (lnk) in your Windows folder to point to. Should be other ways. I use Mortscript in my ROM (not ready for release ) this allows me to create shortcuts without having shortcuts in my Windows folder.
EDIT:
Just did a quick search for you. THIS might help you (and us) out
Thanks mccune, I'll get reading...

Categories

Resources