NAND and NOR ROM on the Kaiser - Tilt, TyTN II, MDA Vario III Windows Mobile ROM De

So with all the excitement going on in the page pool thread I was doing some external reading. One topic that caught my interest is NAND and NOR ROM.
I got a nice summary from here:
http://blogs.msdn.com/windowsmobile/archive/2005/08/19/453784.aspx
Basically, the synopsis is:
NOR: Faster to read, slower to write.
NAND: Slower to read, faster to write.
But, more importantly, NOR ROM let's you perform XIP operations. Now i remember seeing this XIP acronym before...in a directory when I extracted a ROM. This leads me to believe that at least part of the ROM in the Kaiser is NOR ROM.
XIP means eXecute In Place. It basically allows code to be executed directly from the ROM without first being copied into the RAM. This means less RAM utilization. As the article states i works for programs only, not user data files.
If we look in the XIP directory of an extracted ROM we see subdirectories like:
busenum.dll
diskcache.dll
imgfs.dll
These are things like low level bus, disk, and file system drivers. These things make perfect sense to XIP.
My question then is... if indeed we do have NOR ROM that can do XIP operations, how much is free on a typical ROM? AND can we cook in other applications into this XIP NOR location instead of into the NAND ROM and thus have those eXecute in Place and free up additional RAM?
It would be nice to get the 3% of my RAM back from Voice Command, or the 1% from PocketCM, etc, etc...
Could it be as easy as moving .dll files from \SYS to \ROM\XIP before cooking the ROM? I doubt it, but is it possible?
I'm just throwing a concept out there and asking about it's feasability. I'm not really a developer so I don't know how much further I can take this.
Thoughts?

bengalih said:
My question then is... if indeed we do have NOR ROM that can do XIP operations, how much is free on a typical ROM? AND can we cook in other applications into this XIP NOR location instead of into the NAND ROM and thus have those eXecute in Place and free up additional RAM?
It would be nice to get the 3% of my RAM back from Voice Command, or the 1% from PocketCM, etc, etc...
Could it be as easy as moving .dll files from \SYS to \ROM\XIP before cooking the ROM? I doubt it, but is it possible?
I'm just throwing a concept out there and asking about it's feasability. I'm not really a developer so I don't know how much further I can take this.
Click to expand...
Click to collapse
I don't think that blog applies to the Kaiser-like devices anymore. We already use all the ROM space we get. The partitioning between XIP and storage is out of the same space and controlled by how the ROM image is built and whatever they set the pagepool to.
Did you run out of space of the 100MB+ internal storage we all get?

I don't know why it wouldn't apply...it's not a WM5 vs WM6 issue.
Based on the only specs I have seen it lists the Kaiser with 256 ROM and 128 RAM.
The question is what type of ROM is it? Devices can mix NOR and NAND ROM. And based on what I see on the extracted ROM, at least some of it must be NOR (because of the existence of the XIP directories).
And this isn't a question of storage space. I am not trying to get more usable storage...I have a 8GB SDHC card for that. I am trying to maximize my available application space.
The point of my post is... can an application, let's say like Voice Command be moved from what might be the NAND portion of the ROM into the NOR portion of the RAM (from \SYS to \ROM\XIP). It would take up the same space of the TOTAL ROM, but when it executed it DOES NOT NEED BE LOADED INTO RAM and thus your available application space is not decreased.
Again, I am not a developer, so I may be way off in asking if this can be done. However your response is one that doesn't speak to the theory I am proposing.

if I remember right this was talked about before but on a different device I think the hermes. I am not sure of the reason it couldnt be done but I just remember it couldnt lol. Something about allocated memory maps

Some interesting things
I found this wile reading the link you posted. Some great information in there.
By the way, every SD and CF card is made out of NAND flash. So, no, you can't XIP programs stored on a storage card.
Click to expand...
Click to collapse
So am I reading this right. That any program we have stored on our Storage Card won't utilize the XIP

I've been working on & subsequently screwing up, page pool alteraitions for awhile. Because I'm messing with a Kaiser(CE5) & a UMPC (CE6) based device, I can tell you that while the pagepool will save you some seconds, mostly with the loading of contacts, your inbox, & the boot to os speed of the device, for the most part you're right, you won't see much difference.
However, with CE6, that will change. With CE 6 based devices you will be able to completely comtrol paging, be it XIP or Data (Read Only) paging. Maybe wm7 will introduce CE6 to PDA devices. With CE6, formerly & frequently confused with WM6, you will have 2 page pools & several controls over them including compaction.
The effectiveness of page pool sizes can vary widely depending on the types of processes & programs you use, but suffice to say, the average user will take little to no benefit from a larger paging file.
For all of you truly interested, there is a PB process file called DevHealth.exe, that can be used via SD card to report the actual status of the paging pool. Google it, you will find it. Kind of interesting to see what your device is actually doing before & after the changes.

AllTheWay said:
I found this wile reading the link you posted. Some great information in there.
So am I reading this right. That any program we have stored on our Storage Card won't utilize the XIP
Click to expand...
Click to collapse
No but what the OP is asking is if we can take apps and put them in the XIP section and run them from there. I think someone should try it out just cook up a rom with a complete app cooked in the XIP and see what happens. the worst is bad blocks i would guess but maybe POF or OLI should chime in on this one.

I do believe you can XIP from an SD card, I believe MS has done this with a few test devices that utilize under battery sd cards. I think it's not something they've done mostly because of problems in system stability when the SD is removed.

austinsnyc said:
No but what the OP is asking is if we can take apps and put them in the XIP section and run them from there. I think someone should try it out just cook up a rom with a complete app cooked in the XIP and see what happens. the worst is bad blocks i would guess but maybe POF or OLI should chime in on this one.
Click to expand...
Click to collapse
THANK YOU AUSTIN!
Yes, this is what I am saying. Forget about SD cards (which, according to what I have read are all NAND and thus can't XIP).
I am just asking if some of the applications that we are cooking into the flash (the things that extract to \SYS) like MS Voice Command, CM Contacts, QuickGPS, etc... if instead those things can be places in XIP.
Again, this is under the assumption (which is a big assumption) that what is in \XIP gets placed in the NOR ROM and what is in \SYS gets placed in the NAND.
What this would mean is that when you execute any of the programs I mention, like say Quick GPS you won't see the RAM utilization on your device go up, meaning you will have the same amount of available free memory. This is because of the XIP (based on the description I have read) it can be executed from the ROM without being copied into RAM.
Now, my guess is that even though the NOR has faster reads than NAND, it still might be slower than RAM. So, it might take another second to open Quick GPS. However for some apps I think I would prefer the slight delay in order for my available memory to be increased.

GSLEON3 said:
I've been working on & subsequently screwing up, page pool alteraitions for awhile. Because I'm messing with a Kaiser(CE5) & a UMPC (CE6) based device, I can tell you that while the pagepool will save you some seconds, mostly with the loading of contacts, your inbox, & the boot to os speed of the device, for the most part you're right, you won't see much difference....
For all of you truly interested, there is a PB process file called DevHealth.exe, that can be used via SD card to report the actual status of the paging pool. Google it, you will find it. Kind of interesting to see what your device is actually doing before & after the changes.
Click to expand...
Click to collapse
Good info Leon...but better to put this in the pagepool thread so we can discuss it there (and please do). What I'm trying to get at here is not directly related to pagepool sizes and speeds.

austinsnyc said:
if I remember right this was talked about before but on a different device I think the hermes. I am not sure of the reason it couldnt be done but I just remember it couldnt lol. Something about allocated memory maps
Click to expand...
Click to collapse
That's entirely possible. Again, I'm being the "idea guy" as I'm trying to synthesize some info I have absorbed. The most programming I do is high level scripting and VB so I don't know details about how this stuff would actually work down at the memory map level. There may be some other issues as well. I was hoping there was someone in these forums who actually had the knowledge (and wasn't just following cooking tutorials like most of us) of how this stuff truly interacts.

Also please reference my post in the pagepool thread, has some good thoughts (I think!):
http://forum.xda-developers.com/showpost.php?p=2101324&postcount=99

bengalih said:
http://forum.xda-developers.com/showpost.php?p=2101324&postcount=99
Click to expand...
Click to collapse
In addition to the above, I have found some more info which may partially defeat my reasoning:
XIPKernel
There are portions of the deepest parts of the OS that have to XIP. If you're on NOR, that code just XIPs like everything else. Not so on NAND. For a NAND system to boot, it needs to load this code into RAM first and then run it from there. When the system is running, it can't really tell if it's running from RAM or ROM, so it assumes it's running from ROM and doesn't count this space.
The XIPKernel region tends to be between 1.5 and 2M.
Click to expand...
Click to collapse
So it seems that just because we have a \XIP directory doesn't mean we have NOR ROM. It could just be the area the ROM places data that in NEEDS to XIP, and therefore means that it will get copied to RAM on boot (instead of just XIPing from where it is in ROM). This could also account for the additional "missing" RAM up to 128MB.
Therefore moving an application to this \XIP pre-cook doesn't mean that it will save us any RAM (again, assuming we DON'T have NOR ROM). It could however speed up that application since we are basically "pre-loading" it into RAM instead of waiting for the load to be user initiated.
I guess a question now is does all XIPed code run at the same time and is that all at boot? It does us no good to try and load up voice command (or QuickGPS, etc.) before the supporting code from the OS has loaded.
So, this may all be a wash, but it does help explain some of the interaction better and even if it leads no where, at least we will better understand how the devices memory system works.

Related

[KITCHEN][WWE] SuperProCore Kitchen [ONLINE]

Kitchen Based on HyperCore and Bepe's new Compact ELF/IN DevPack.
SuperProCore Is On Hold
Ported XIP Caused SD reading Issues and Bluetooth Radio Issues.
(Syrop how's this working on your version?)
​
This is an OpenKitchen anyone can contribute, this is for the community and those pesky users that come download and never report issues or say thanks.
SuperProCore, is a kitchen based on a new small simple kitchen made by Bepe (as usual).
Of which you will find the original thread here.
What Makes it SuperPro, is hopefully the amount of Packages/Selectable Apps and options that will show up when you start building the ROM.
What Makes it Core is that hopefully i'll learn how to get some of the great tools in the HyperCore Kitchen...
Everythings discusable.
It's because Microsoft doesn't like to listen that most of us hang out at XDA.
Buttttt.... I have to make one Dictotariol Discision.
Help Files Are A No No.
I have never opened one.
And anyone that needs them on their phone should notbe flashing their Phone.
I onlyleave .htm files in that are doubtfull or needed.
6 Years ago when i first flashed my firt HTC/02 Device XDA allready was about downloading a RomCustomizer, choosing your options then flashing it.
Now since HTC got a bit more stuck up and build a lot more security into their Devices other tools are needed and used. And getting your own custom Rom needs a lot of reading and testing.
The thing is the tools are available, and everyone should be able to do cook their own personal Rom.
Now knowing myself i could work 24/7 on this project (I'm a ****ing Chaotic,Paranoid, Compulsive Cooker), but sadly, i also have a life and need to keep myself healthy.
So i'm hoping Some people will jump on this project, even if it means putting "Cooks" out of busines. But hey it will propably also get some people more nights of decent sleep
For now i'm just curious of the opinions and discusions that will pop up.
The Beta v3 ELF/IN Devpack should be enough for some old and new "cooks" (40 downloads) to play with.
So here's an easy deadline, Small update coming next week Wednesday.
Now let's get this thread Sticky.
Extended Elf/Elfin Kitchen for WM6.1
Version 0.6
Download
Nothing New Here.
Requires the Microsoft Visual C++ 2008 Redistributable Package
Bepe's Original Kitchen for ELF/IN.
Just the files to cook with.
So it can be seperatly be updated with New Batch files, Tools and flashing methods.
Why seperate?
Because there are people that know a lot more about writing batch files and apps then me (I know jack ****).
This way if anyone can contribute just to the small kitchen others don't need to download all the seperate packages for the update.
Changelog
XIP ELF/IN Core
Version 1.2
Download
This OEM Package can be used only ihttp://rapidshare.com/files/95392724/ROM.zipn the ELFIN Kitchens.
Why Seperate XIP Package?
Well maybe some people want to get it working in other kitchens
ChangeLog
XIP ELF Only Core
Yeah this one has 4MB PP
XIP taken from hdubli's WM6.1 CE OS5.2.1238 (Build 19521.1.1.0)
Hopefully SOMEONE gets this working.
I have Put the XIP in the Above XIP package SYRXIP (It's Extracted from Syrup's Rom Which Worked, but extracted Bluetooth is dead SD is dead and Wifi IS Dead)(But maybe i remember it incorrect)
OEM Package Update
Version 1.2
Download
This OEM Package can be both Kitchens (If i ever get the SuperProCore Working)
Why Seperate OEM Package.
Well the OEM will become smaller and smaller as parts move into the SYS package and as files get merged or deleted from OEM Package.
ChangeLog
SYS Package Update
Version 1.2
Download
This SYS Package can be both Kitchens (If i ever get the SuperProCore Working)
Why Seperate SYS Package.
Well the SYS will become BIGGER and BIGGER as parts from OEM move into the SYS package as selectable options and new Packages get added to it.
ChangeLog
Rules
What Rules?
Oh Yeah..!
This is not a "I'm Having Trouble FlashingThread"
Packages must have a Byte Count in the <Tip> Field.
Explanation Here.
Add Blank Safety Files To Prevent Overlapping Packages.
Explanation Here.
IMportant Links Thread
Important Reading Material
Cooking Class
Bepe's Beta Kitchen
Suggestions?
Roms Created By Contributors (for the really lazy people out there)
My Personal Rom Cooked With This Kitchen
You?
Explanation Of Byte Field In option.xml file
Well as some people might want to hit a specific target for their end RUU_Signed.nbh file.
It might be handy to have some bytes to give them an indication of how much space a package might takein the file .NBH file.
And maybe if we are very nice and Bepe's very happy, he might consider to Change/Patch BUILDOS to read a new option.xml field with these Bytes to Calculate the end result build, while still in BUILD OS so it wont run when under 50MB?
Methinks that wouldbe a nice feature.
And it would propably need to read a settings.xml file that contains The Core bytes count and wwehter this Security feature is on or of.
What do you think Bepe Nice Idea?
Explanation Of Blank Safety Files
Let's Say there are 5 different Commanagers and you select two?
Well Buildos will tell you which folder itlast processed butit could even be moreacurate orexplanatory.
What if it's a package only containing an registry setting that will kill another registry setting in a similar or different package?
Well if it's known and both packages would have a blankfile with name that will give you the crucial hint where to look for the wrong selected option.
The GlyphCache Packages are a small and explanatory example of what mean.
They all Contain a blank text file without extension name
"You Have Selected Mutliple Options In The GlyphCache Section"
So when you select two by accident you get the regular BUILD OS error but becauseit shows you the file name, it's easier to find.
Again it would be nice if this could be done by BUILDOS by reading another option.xml file.
Oh, nice work! Thanks!
Checking the size in the batch files before we call BuildOS could work!? Well using VBS might be easier... I couls write the target size check if i know how you want to impliment the byte size stuff.
For instance how big is the base? Then each package...
Is it possible to calculate the byte size simply by how big the folders are?
Ouch brain hurts!!
bytespider said:
Checking the size in the batch files before we call BuildOS could work!? Well using VBS might be easier... I couls write the target size check if i know how you want to impliment the byte size stuff.
For instance how big is the base? Then each package...
Is it possible to calculate the byte size simply by how big the folders are?
Ouch brain hurts!!
Click to expand...
Click to collapse
Nah the size of the folder or even just the files that get cooked do not match the eventual size they take in the eventual os.nb or RUU_Sigtned.nbh.
Besides you make the selection of batch/packages inside BUILDOS so depending on that selection you get different outcomes.
At the moment in between living a normal live I run the proces with and then without certain packages and add it to the tip field. So when you mouse over the Option/package in buildos you get the indication.
The eventual base OS i haven't calculated yet as it's not as Base as i want it yet
Good thing there's someone that knows more about some stuff then me.
Tnx
Noonski said:
Stilldon't know what the prefered place is formost cooks to put theirpackages on ELF cooking?
Yes the OEM folders need updates to.
As i'll be merging PROVXML files and taking out parts of the registry to some Seperate SYS Packages to avoid Cooking Conflicts.
All in Time.
Click to expand...
Click to collapse
here is one i like to add to my roms...
Ok, tried it, added some things I usually add, flashed it.
You're saying (or Bepe is) that 19199 is the latest version, yet after flashing it, I'm getting the "old" phone app, not the new one like in Shadow 2.0. Weird? On startup it says Windows mobile 6.09 too... I'm a bit suspicious here
Also, it seems the 8 buttons com manager isn't able to start the wifi properly. PhoneAlarm (accessing the WLAN driver directly) works though.
The esmertec Java package is outdated too, it's back from April.
Otherwise, I'm ending up with much less RAM than Shadow 2.0. Around 3 MB with the same apps installed. I don't understand how that can be ! (8MB PP each)
Positive side is that my touch is much more responsive. I'll keep track of the memory leaks. seems 6.1 handles memory much better, which was really needed with the ELF !
zeflash said:
Ok, tried it, added some things I usually add, flashed it.
You're saying (or Bepe is) that 19199 is the latest version, yet after flashing it, I'm getting the "old" phone app, not the new one like in Shadow 2.0. Weird? On startup it says Windows mobile 6.09 too... I'm a bit suspicious here
Also, it seems the 8 buttons com manager isn't able to start the wifi properly. PhoneAlarm (accessing the WLAN driver directly) works though.
The esmertec Java package is outdated too, it's back from April.
Otherwise, I'm ending up with much less RAM than Shadow 2.0. Around 3 MB with the same apps installed. I don't understand how that can be ! (8MB PP each)
Positive side is that my touch is much more responsive. I'll keep track of the memory leaks. seems 6.1 handles memory much better, which was really needed with the ELF !
Click to expand...
Click to collapse
The Phone skinn is not New to WM 6.1
It's just a ported Phone pad from somewhere....
The emsertec Package might indeed not be new i just grabbed what could get because Shadow Rom was not extractable for Java rgu files.
Nothing has been tweaked memory wise, but if anyone has any ideas.
zeflash said:
Ok, tried it, added some things I usually add, flashed it.
You're saying (or Bepe is) that 19199 is the latest version, yet after flashing it, I'm getting the "old" phone app, not the new one like in Shadow 2.0. Weird? On startup it says Windows mobile 6.09 too... I'm a bit suspicious here
Also, it seems the 8 buttons com manager isn't able to start the wifi properly. PhoneAlarm (accessing the WLAN driver directly) works though.
The esmertec Java package is outdated too, it's back from April.
Otherwise, I'm ending up with much less RAM than Shadow 2.0. Around 3 MB with the same apps installed. I don't understand how that can be ! (8MB PP each)
Positive side is that my touch is much more responsive. I'll keep track of the memory leaks. seems 6.1 handles memory much better, which was really needed with the ELF !
Click to expand...
Click to collapse
Had the same with the comm manager. The one attached works fine.
Added Random Acces and seperate Default Contacts/Addressbbook packages with Security files so they cant be installed together.
(No worries the default is just rgu file.
Added LargeTitleBar to packages thanks Pkoper.
Renamed it to 000_LargeTitleBar tho.
Did Byte Count for Auto Udate. (131072 Bytes)
Now checking what's different with the Commanager you just posted as i allready had an 8 button original one in there.
(i first took out the link.exe but i put it back)
Hmmmmm yours has a different lay out....
Well looks like an extra option package ten don't need all the Graphics and exe's for that in the kitchen.
I'll post what i mean.
A **** it... added Your CommManager anyway. 7-Zip will not take up any more packeging space when files are identical anyway.
Did change UID to be safe.
And added security file will maybe do a byte count sometime.
Keep em Coming.
Maybe tomorow maybe in the weekend, next assignement is make package for new taskmanager and remove it correctly.
And remove SQM (M$ Phone Home) correctly.
probably doesn't belong here, but check this one out http://www.ultimatelaunch.de/
i got the com manager of swiftblade... had similar issues back when i was playing with GTouch....
There is like 4 of us working on a german version of the kitchen at the moment..... headaches!
this one could really grow out of proportion...
There is so much **** one could include.... the size would be just huge
maybe set up a rapidshare thingy for the packages?????
I could probably spare some webspace and traffic...
Where to from here?

Some experiences for newbies

I'm also a newbie and visited xda-developers to find solutions for my phone needs (lack of memory, useful tricks and enhanced apps). I must thank all you your good job (and when possible I'll donate to the developers, too).
I tried to find some answers to my problems, and sometimes I didn't find them, so, here are some of them. I assume only newbies try to find these answers and experienced people have them in their genes.
Battery: when taking the battery out of the device, or by making a hard reset and them some soft resets without having it totally charged makes the phone to "believe" the battery is full-charged in the level it's when beginning to work. So the device ssems to spend more battery because it is not full at all, even when appearing as charged in the screen.
Low volume of ringtones: I presume our devices have a battery saving system that decreases the maximum loudness when the battery begins to be at criticall levels.
Increase programs memory (WM6) : This appears in lots of threads. I tried every solutions and now I'm enjoying more programs memory:
Installing (or moving -editing Registry when needed) all the apps in the storage card is a good thing. But I "bricked" my storage card (I was afraid of bricking my phone) because of abuse of storaging/reading/moving, so I had to reformat it. Better if you can have a backup in some PC folder !
\Windows\Appmgr contains uninstalling info. Moving its folders to storage card (and moving again needed folders to promgrams memory when you need to uninstall/modify some app) saves some space in programs memory.
Today plugins and start menu can not be moved to storage card
Help files (those htm ones) may be moven to storage card but sometimes you must modify the links.
For all those tricks there are lots of threads in xda-developers. I suggest all the newbies like me to make a search, read all the threads and take some notes (in paper), organize the notes and make a small strategy. Sometimes some links take to apps designed to help to free space or move applications or modify the registry.
Now I'll begin the path to cook my own ROM, following all the steps: learning to create a .cab, learning to flash, learning to cook ..... but what I'd like is to learn to understand the whole registry.
(My specialities are not related either to electronics nor telecommunications but to city planning and building). I'll post some questions/suggestions about storaging (ROM, ExtROM, ProgramsMemory, StorageCard) to expand space.

List of Cooked ROMs?

This is my 3rd post ever here, so please be gentle.
Crogon said:
I can't seem to find it now, but didn't there used to be a list of pre-cooked ROMs here somewhere?
I think what I'm aiming at is a fully patched / hacked 6.1 HTC ROM with everything fixed and no bugs. Preferably minus any bloatware. If it has recommended utilities pre-installed great, if not, no big loss. Did they ever finish hacking a video driver together? I lost track of that thread, and can't seem to find any current info.
Click to expand...
Click to collapse
Update: I found a tidbit somewhere that says the newest video driver updates should be cooked into the newest ROMs.. but how do I figure out which ones have all the bug patches and hacks installed, and etc. like I mentioned above? I know there USED to be a list of pre-cooked ROMs, but I can't find it now.
Hmm.. Am I maybe thinking of a list of pre-cooked ROMs for the Wing, or some other HTC? If I am, I'm DEFINITELY going to need some ROM recommendations.
Here are my stats, if it helps any:
rom version 3.57.502.2 WWE
rom date 7/17/08
radio version: 1.65.21.18
protocol version: 25.88.40.05H
tri-color screen
KAIS1*0
SPL-3.56.Hard
CPLD-8
.
.
Serial
image version 3.57.502.2
R 1.65.21.18
G 25.88.40.05H
D 3.57.00.00
Thanks again for any help!
if u really want a good cooked rom i suggest you try Garmins roms....they have the latest htc drivers built in...
thats all i can say
mazin13 said:
if u really want a good cooked rom i suggest you try Garmins roms....they have the latest htc drivers built in...
thats all i can say
Click to expand...
Click to collapse
he DOESN'T WANT a cooked rom he is looking for a pre-cooked rom.
@op did you check the kaiser wiki or htc's website?? 'cuz that is where you will find all the latest roms for your device that aren't cooked by a chef.
Also, look around for mbavrian's Kitchen Elements.
The "Base ROMs" on which our Chefs makes their gourmet meals are difficult to locate. Some chefs refuse to share like little playground children.
Others, Like NotATreoFan, have released their base for other people to use to make ROMs. Great Contributors.
Woops!
I guess I stated that incorrectly. Sorry!!
Actually I DO want a custom 'Cooked' ROM. My main purpose of reflashing the ROM is to get rid of all known bugs and bloatware. So I WANT all the custom registry hacks and patches to make everything run smoothly. I want the hacked video drivers (as they appear to currently be stable) and etc..
SO.. I'm looking for:
1) 6.1 OS with fast drivers and all known hacks and patches to have as few bugs as possible. UNLESS 6.1 has introduced some known bugs that can't be fixed (wouldn't surprise me with an MS product). IF there's a bug free FASTER version 5 OS, that will run on the Tilt, I'll be happy with that. One time I installed Win95 on a 1.6Ghz T-bird. Power on to fully loaded desktop was like 2 seconds flat.
2) bloatware removed so as to free up space, and I assume cleaning crap out of the registry wouldn't hurt with speed. Is there a system cache, and would it be beneficial to move it to the SD card? I've read that moving the IE cache to the SD card is asking for trouble, not sure that there's a concensus on that or if it's just opinion though.
OK.. that's going to get confusing. Scratch that and start over:
1) All known bugs hacked or patched.
2) All known speed enhancements (that don't compromise system integrity).
3) Rip out MS (or HTC ..or both?) crapware that COULD be replaced with faster / more functional counterparts.
4) Optional: pre-installed or at least packaged (cab?) applications to enhance functionality. My priority in applications is utility enhancement. Example: I can download 200 Flash / Java / MAME games to the SIM card some day if I get bored, don't need it in the OS. However, if there's a remedial photo editing utility that will allow me to edit my pics before I upload them somewhere, I want it.
I did manage to stumble across a wiki page last night: http://wiki.xda-developers.com/index.php?pagename=Kaiser_Cooked_ROMs
32 Developers and countless ROMs without any comparison isn't much help though. Can I assume all current ROMs are posted there?
Browsing through them, I recall that Alex's ROMs used to be the last word in ROMs, apparently dutty's were until he switched gears. HyperDragon seems to be terribly popular at the moment, but popular doesn't mean better.
I suppose I could try to gather all the available info into a giant spreadsheet, but the fact that about half the ROMs link out to a feature list is slightly discouraging. I think dutty's list of registry hacks ends in '.. and a bunch of other stuff I forgot', which is TERRIBLY discouraging (when trying to compare features).
Anyway, sorry if I'm rambling on here. Please don't take anything I'm saying as judgemental, I'm sort of thinking out loud trying to decide how best to proceed.
Say, has anybody considered building a CVS tree of sorts? I don't suppose you could have actual CODE stored in a repository without violating some sort of copyright or reverse engineering crap.. but a list of known code changes and etc. would seem to be a good idea. Since neither MS nor HTC has stepped up to the plate over the years, due to corporate greed, some sort of XDA-Dev code change tracking system seems like 'the last best hope' to get a decent OS. Ever.
That's why I'm jumping ship to try out the G1 after this. I don't believe MS will ever invest the effort to give us a 'business class' reliable bug free solution. ..let alone one that's innovative or even exceptional. They're style would lead me to expect them to wait till we have 800mhz handhelds, then 'patch' over top of everything they don't like to make it appear to behave better. ..and of course they would deem it necessary to add another programming layer to the OS to 'increase functionality' (read: bog down the OS).
Yup.. I'm definitely babbling now, so I'll just cut myself short.
I guess my bottom line questions are, Is there a more complete list of ROMs anywhere I should be using? ..or one which already compares all the features, so I don't have to?
Better yet, Is there a ROM build specifically to fit what I'm looking for? I seem to recall Alex's were built somewhat similar, but the newest one is quite old now. Hmm.. there is no Windows Mobile revision list is there? I have no way of knowing which older versions would be good, and when bug patches were introduced and etc.
Oh well, guess there's nothing to do but dive in head first and start putting together the best feature list I can with what resources I have.
Thanks for any help! ..and if you read this whole thing, thanks for putting up with my rambling, lol.
Crogon said:
I guess my bottom line questions are, Is there a more complete list of ROMs anywhere I should be using? ..or one which already compares all the features, so I don't have to?
Click to expand...
Click to collapse
I've never seen one and I don't believe one exists. You'll just have to do your own research.
Crogon said:
I guess I stated that incorrectly. Sorry!!
Actually I DO want a custom 'Cooked' ROM. My main purpose of reflashing the ROM is to get rid of all known bugs and bloatware. So I WANT all the custom registry hacks and patches to make everything run smoothly. I want the hacked video drivers (as they appear to currently be stable) and etc..
SO.. I'm looking for:
1) 6.1 OS with fast drivers and all known hacks and patches to have as few bugs as possible. UNLESS 6.1 has introduced some known bugs that can't be fixed (wouldn't surprise me with an MS product). IF there's a bug free FASTER version 5 OS, that will run on the Tilt, I'll be happy with that. One time I installed Win95 on a 1.6Ghz T-bird. Power on to fully loaded desktop was like 2 seconds flat.
2) bloatware removed so as to free up space, and I assume cleaning crap out of the registry wouldn't hurt with speed. Is there a system cache, and would it be beneficial to move it to the SD card? I've read that moving the IE cache to the SD card is asking for trouble, not sure that there's a concensus on that or if it's just opinion though.
OK.. that's going to get confusing. Scratch that and start over:
1) All known bugs hacked or patched.
2) All known speed enhancements (that don't compromise system integrity).
3) Rip out MS (or HTC ..or both?) crapware that COULD be replaced with faster / more functional counterparts.
4) Optional: pre-installed or at least packaged (cab?) applications to enhance functionality. My priority in applications is utility enhancement. Example: I can download 200 Flash / Java / MAME games to the SIM card some day if I get bored, don't need it in the OS. However, if there's a remedial photo editing utility that will allow me to edit my pics before I upload them somewhere, I want it.
I did manage to stumble across a wiki page last night: http://wiki.xda-developers.com/index.php?pagename=Kaiser_Cooked_ROMs
32 Developers and countless ROMs without any comparison isn't much help though. Can I assume all current ROMs are posted there?
Browsing through them, I recall that Alex's ROMs used to be the last word in ROMs, apparently dutty's were until he switched gears. HyperDragon seems to be terribly popular at the moment, but popular doesn't mean better.
I suppose I could try to gather all the available info into a giant spreadsheet, but the fact that about half the ROMs link out to a feature list is slightly discouraging. I think dutty's list of registry hacks ends in '.. and a bunch of other stuff I forgot', which is TERRIBLY discouraging (when trying to compare features).
Anyway, sorry if I'm rambling on here. Please don't take anything I'm saying as judgemental, I'm sort of thinking out loud trying to decide how best to proceed.
Say, has anybody considered building a CVS tree of sorts? I don't suppose you could have actual CODE stored in a repository without violating some sort of copyright or reverse engineering crap.. but a list of known code changes and etc. would seem to be a good idea. Since neither MS nor HTC has stepped up to the plate over the years, due to corporate greed, some sort of XDA-Dev code change tracking system seems like 'the last best hope' to get a decent OS. Ever.
That's why I'm jumping ship to try out the G1 after this. I don't believe MS will ever invest the effort to give us a 'business class' reliable bug free solution. ..let alone one that's innovative or even exceptional. They're style would lead me to expect them to wait till we have 800mhz handhelds, then 'patch' over top of everything they don't like to make it appear to behave better. ..and of course they would deem it necessary to add another programming layer to the OS to 'increase functionality' (read: bog down the OS).
Yup.. I'm definitely babbling now, so I'll just cut myself short.
I guess my bottom line questions are, Is there a more complete list of ROMs anywhere I should be using? ..or one which already compares all the features, so I don't have to?
Better yet, Is there a ROM build specifically to fit what I'm looking for? I seem to recall Alex's were built somewhat similar, but the newest one is quite old now. Hmm.. there is no Windows Mobile revision list is there? I have no way of knowing which older versions would be good, and when bug patches were introduced and etc.
Oh well, guess there's nothing to do but dive in head first and start putting together the best feature list I can with what resources I have.
Thanks for any help! ..and if you read this whole thing, thanks for putting up with my rambling, lol.
Click to expand...
Click to collapse
You have to spend some time and TRY each ROM and see which one is suited for you.
Again, READ and spend time.
Read WIKI especially.
There is no 100% perfect ROM even if it is official one.
Crogon said:
I guess my bottom line questions are, Is there a more complete list of ROMs anywhere I should be using?
Click to expand...
Click to collapse
http://wiki.xda-developers.com/index.php?pagename=Kaiser_Cooked_ROMs
If you want a newest list, you are always welcome to Update the wiki
I'm heading for the aspirin bottle just now. I spent like 3 hours reformatting the info on the wiki page into a spreadsheet.. when I discovered that some of the authors are still releasing, but it's not on the list!
AAHHH!!
So basically, A full up to date list is needed. Let alone version comparisons or features and bug fix lists.
Good grief.
No wonder most people opt to install ROMs randomly till they happen across one they like.
.. I think I'll make a new wiki page eventually. Something along the lines of a Kaiser ROM Feature Comparison page.
Do I get a XDA-Dev decoder ring if I actually finish it? lol

GUIDE: In the beginning... There was ROOT

So you’ve got a nice, shiny, new G1 and you’ve been hearing about all the amazing things you can do with it but you “MUST HAVE ROOT”. As far as you know, you’re not a plant (although you may feel as smart as one at this point) and beyond that, you have no clue what any of the terms or concepts mean in context.
Well, I’m bored so I’m going to try and clear some things up.
There are a lot of threads that cover each of these things but I’m going to try and put as many basics into one post as possible. Hopefully it can be a perfect start for n00bs and good reference in lieu of search for others. Please feel free to correct any semantic (or blatant) mistakes I make.
I’ll keep the glossary here and update terms as I add to this post:
Android OS - Like Windows Mobile but based on Linux, using a Java based front end.
Linux - Open Source operating system used instead of Windows XP/Vista, Mac OSX etc... it's free (as in beer).
Open Source (From Wiki) – Free and open source software, also F/OSS, FOSS, or FLOSS (free/libre/open source software) is software which is liberally licensed to grant the right of users to study, change, and improve its design through the availability of its source code.
Root (as in access)- root is like the administrator account on a windows machine (also referred to as su, or superuser). It allows you to have complete access to the underlying OS of a linux or *nix based machine. For the G1, it allows for the use of themes, native backup functionality, manually selecting which apps can utilize root access, auto-rotate screen, multi-touch in browser, moving applications/caches to the sd card etc...
Root (as in location)- the 'root' of a folder or drive is the top most area of that location. In windows, C:\ is the 'root' of your hard drive. The 'root' of your SD card just means you haven't moved into any subfolders.
Shell – (also heard as terminal, bash, command line) This is a loose definition, but it’s basically a command line to run specific actions against the OS.
Bootloader – the SPL and IPL of a flash based device. See jashu’s description here.
SPL (Secondary Program Loader) - You get to the SPL by holding the camera button while powering on your phone. This is where you flash NBH images. See bootloader above.
Recovery Mode - Holding the 'Home' key while while powering on the G1 will take you into Recovery Mode. From here you can perform a NANDroid backup, wipe your phone, access a command line and of course, flash your phone with an update.zip file.
RC## (or release candidate) – In context to the G1, it is an official release of Android from T-Mobile meant specifically for the G1 (not ADP).
ADP (Android Developer Phone) – A Google specific (or carrier non-specific) version of the G1/Dream that has root access by default and is meant for developers writing apps for the G1, or Android in general.
ADP vs. RC## - Neither RC’s or ADP versions are tied to their respective hardware. With the right bootloader, you can flash an ADP image to a G1 or an RC image to an ADP.
JFV1.## - Is a specific Version of a JesusFreke ROM. JesusFreke is a developer on this website that has graciously spent his time to modify the G1 OS to allow us to have root access to our phones. This gives us the ability to explore and modify our phones via a command line.
Cupcake – a development branch of the Android OS that contains many improvements that was merged into the master build of Android and is currently being released to new phones as Android 1.5.
Nandroid – a utility, accessible through Recovery Mode, that allows you to backup your phone and restore to the exact condition at backup.
Apps2SD – Applications moved to your SD card instead of internal memory. Some people like the extra room, some people don’t want to hassle with the partitioning.
Partition – just like the partitions that separate cubicles in an office, a partition separates parts of a drive.
File system – there are many. It’s basically a specific way of organizing data on a partition. FAT(32) is generally windows, ext2 is generally linux. This is not a hard and fast rule, just most common in context with what you’ll see here.
Scripts – scripts are text files that contain a list of commands to perform. Instead of typing each command out multiple times, a script can be run that will initiate all steps listed in the script.
Android SDK (System Developer’s Kit) – This includes all tools (sans fastboot) that a developer needs to create applications for the G1. It also has tools for interacting with the phone via a command line (ADB).
ADB - is a part of the SDK that allows you to run commands against the G1 in lieu of using the terminal on the phone itself.
Fastboot - is a tool used to flash system images (.img files) to the G1 from a command line on your pc. IMG files are created when you do NANDroid backups and official images can be downloaded from HTC as well. To get to fastboot mode on your phone, hold the back button while powering on.
When T-Mobile first released the G1, they left a bug in the Android OS that allowed anything typed on the keyboard to be passed on to a root shell running in the background. This really was a major flaw and needed to be patched. Unfortunately, when they patched it, they really patched it. RC29 was the last version that still had root. With all versions RC30 on, it was removed. It completely denied us any hope at modding our “open-source” phone.
Somehow, the base image for RC29 (dreaimg.nbh) was leaked and some enterprising developers were able get access to the bootloader and return an updated G1 (RC30+) to RC29 and use this to regain root.
Somewhere along this road, Google released the ADP (Android Developer Phone), which has root enabled and uses a specific SPL (EngineeringSPL) that was the base for the modified HardSPL that most of us use now. Nandroid was included to allow us to back up our phones and shortly after, JesusFreke modified RC30 to keep root and still provide the fixes and improvements that came with it.
I’m not sure where it all started, but eventually, LucidREM released a modified version of JesusFreke’s ROM. This made moving applications to SD painless and freed up system storage and now we can have 32 flashlights and 62 tip calculators installed all at once.
Apps2sd has been the bane of many peoples existence. It requires you to partition your SD card in to separate file systems (FAT32 to remain compatible with windows computers as a mass storage device and ext2 to maintain compatibility with the underlying linux OS of the G1). It also requires you to move your apps to the SD card and then create symbolic links (similar to a windows shortcut) from the internal location pointing to the SD card. Lots can go wrong in this process and that’s why LucidREM, MartinFick, MarcusMaximus04 and others have created tools to help simplify the process.
Now of course, to achieve any of the things you want to do with the G1, you have to interact with it. There are at least 2 main ways to do this. Some prefer to do everything from the phone itself using a terminal, while some prefer to use their PC with the phone connected via USB. Others avoid both of these, as best they can, and use other peoples apps or scripts anywhere they can get away with it. This is why you may find many different explanations of the same goal.
In order to interact with your phone from a pc, you need the Android SDK, which includes ADB. ADB is basically a linux shell that communicates with the G1. It is easier to copy and paste from threads and insert commands without worrying about making typos. It also requires it’s own bit of hoops to jump through (unless you use a mac or linux ;-)) and sometimes scares people away. It is highly recommended if you plan on hacking at your phone with any regularity.
Of course, there are some sadists (I once was one) that like to type line after line of code on a tiny keyboard and use the terminal directly from the phone. This is fun and it makes you feel 1337, but it also leaves a lot of room for error. Remember, you are a root user now, and any mistake you make can be potentially huge.
Well, that’s all for now folks. Please feel free to add, subtract, reorganize, correct anything I’ve said, in the comments. Also, I’ve tried to add links to any relevant threads and sources that I used in making this… this, whatever you wanna call it.
Thanks to everyone in this community for doing what you do. We are all geeks and enjoy doing this stuff. It's good to have so many talented people taking an interest in Android and the G1 in general. It is open source communites that keep technology interesting and exciting.
Thanks to Haykuro, TheDudeofLife, all the theme devs, and all the big players that I didn't reference in this post. Oh, and SolemWishing for the Timeline! It helped, thanks!
Reserved for future posting
Awesome post for nuubs. This should be permanently stickied!
Very cool. a couple terms you should add:
Fastboot
SPL
Recovery mode
(including what key strokes you need to hit to get into spl and recov. modes)
Thanks for the feedback!
I added SPL and Recovery... let me get my facts straight on fastboot and I'll add that tomorrow.
I don't know if it is the right place for it, but there seem to have been lots of question about "radio" or more specifically "radio update".
I feel smarter already.
I particularly found the file system explanation useful, i put it together that fat32 and the other were the two partitions but didnt realize which was for cpu. Not ready to attempt but definitely closer (although Im not even sure if I want to partition i have no need for all that space at this point) It doesnt affect performance does it?
Agreed. Good stuff. Definitely noob required reading material.
Yes, indeed a very nice guide for the beginners. Hell we ALL started that way...i remember when I first got this phone ~6 months ago (no root), and there was almost nothing about it, no support, no add-ons, no hacks, nothing. It was boring, and for me I was coming from a motorola (motomodders?), so going to something that was far superior but didnt have community support made me almost cry.
Though look now, 3 months later the market was filling up and being abundent of new stuff to play with (I didnt even try rooting for a while, until it became a lot more well-known [fixes and the likes], and themes became a necessity because they started to get really good), and now 6 months later people are hacking away figuring out soo much stuff about it. Amazing work everyone, seriously.
Something good: It all starts at the roots .
Well, I added info on fastboot and exceeded my 10000 character limit. Now I understand why so many people reserve the second post. lol...
I'll make some changes so I can add info about the radio, however the link to fastboot explains the radio fairly well.
Thanks for the feedback everybody, I hope this helps some people out.
skri11a said:
So you’ve got a nice, shiny, new G1 and you’ve been hearing about all the amazing things you can do with it but you “MUST HAVE ROOT”. As far as you know, you’re not a plant (although you may feel as smart as one at this point) and beyond that, you have no clue what any of the terms or concepts mean in context.
Click to expand...
Click to collapse
When i read those lines i knew that this post would be worth reading
It was a really nice n00b guide, though ive done some WiMo flashing so some of the terms sounded familliar i certanly learned a thing or two
I would say it should be stickied and put on the wiki - oh and perhaps list it in alphabetic order, it would make it more usefull as a "I dont understand this term so ill just look it up"-thread...
Perhaps you can get a mod to give you post #2 & #3
//M
DMaverick50 said:
I feel smarter already.
I particularly found the file system explanation useful, i put it together that fat32 and the other were the two partitions but didnt realize which was for cpu. Not ready to attempt but definitely closer (although Im not even sure if I want to partition i have no need for all that space at this point) It doesnt affect performance does it?
Click to expand...
Click to collapse
I'm glad it helped. As far as performance issues, I've had none. In fact, when I was skating along with 12-19MB of free space, my phone would crall and cause me all sorts of grief. Since I've moved the apps and dalvik-cache, it's been very responsive and reliable. That being said, get a GOOD sd card. I see a lot of people having problems using cheap or < class4 sd cards.
m.klinge said:
When i read those lines i knew that this post would be worth reading
It was a really nice n00b guide, though ive done some WiMo flashing so some of the terms sounded familliar i certanly learned a thing or two
I would say it should be stickied and put on the wiki - oh and perhaps list it in alphabetic order, it would make it more usefull as a "I dont understand this term so ill just look it up"-thread...
Perhaps you can get a mod to give you post #2 & #3
//M
Click to expand...
Click to collapse
lol... I'm glad you liked it.
And thanks for the tips. I'm gone for the weekend, but I'll alphabetize it when I get back. Not sure what I can do about getting it stickied but I'll look into the wiki on monday too.
can you add busybox
in the nandroid instructions it requires busybox but I didnt see an explanation for what busybox is. Thanks and this thread has already been very helpful for me
speaking of stickying this....
who is in charge of stickies? A lot of stickable topics aren't stickied and a lot of topics that should be unstickied are still stuck...
DMaverick50 said:
in the nandroid instructions it requires busybox but I didnt see an explanation for what busybox is. Thanks and this thread has already been very helpful for me
Click to expand...
Click to collapse
Hey sorry for the late reply... Been pretty busy since Friday.
I'll try and add this to the first post shortly. I may have to remove some of the history lesson if I can't get a mod to give me the second/third post.
BusyBox - This is a single executable utility that contains many common Linux commands, instead of having an individual executable for each command. As far as I know this is built into all of the JF releases, as well as Dude's. It is also usable in the JF recovery console by hitting alt-x. To use busybox, just type "busybox" in front of the command you want to use (i.e. #busybox ls -L --to get a list of your directory).
AbsoluteDesignz said:
speaking of stickying this....
who is in charge of stickies? A lot of stickable topics aren't stickied and a lot of topics that should be unstickied are still stuck...
Click to expand...
Click to collapse
If you figure this out, let me know. I haven't tried to PM a mod or anything but I'd still be curious to know what the magic requirements are.
This will definitely help a lot of newcomers. Thanks for taking the time to make it.
Way to get stickied! Now I can stop copying pasting updates worrying I might not be able to find the post...
skri11a:
BusyBox - This is a single executable utility that contains many common Linux commands, instead of having an individual executable for each command. As far as I know this is built into all of the JF releases, as well as Dude's. It is also usable in the JF recovery console by hitting alt-x. To use busybox, just type "busybox" in front of the command you want to use (i.e. #busybox ls -L --to get a list of your directory).
Click to expand...
Click to collapse
Wouldn't "Unix utilities" be more correct than "Linux commands"?
And saying Android is "like windows mobile" is blasphemy! You can't compare Unix to Micro$oft Windoze (Yes, that's a very sophisticated and mature way to express my hatred of the OS )! >:|
Anyway, it's good that you wrote this, theres probably a lot around here not having a clue about how things work in the world of unix

Question for Chefs (or Geeks)

Okay, for the sake of this question:
ROM = Read Only Memory
RAM = Random-Access Memory
When embedding programs, such as Mobile Notes, into an image the ROM size of the program is decreased due to digital compression. However, does it also decrease the RAM usage for that program?
Off the cuff, I would think so. Kinda like how an Assembler-language program can run on older machines faster than an optimized C-language program when compiled on the same machine. The tighter the binary conversion, the faster the program can run.
Not sure this is true though. I am trying to decide if it would be better to cook for myself and add the 3rd-party apps that I use, or to use something cooked by someone else and then adding via cab files the apps I want.
Bump.
Still wondering...

Categories

Resources