Here are some thoughts and ramblings I have been doing. For weeks and months now I have been flashing a different ROM about every 2 or 3 days, trying to find just that special one I like the best and suits my needs, which hasn’t happened yet. Then came along the Kitchens with all the ways to make it just the way I want it. I love it, and have just started in the last few days cooking my own ROM’s that do meet my needs. For arguments sake, I am using the Core 2.0n base ROM, Core Pro Kitchen. Have a Cingular 8125, Use the AT&T/Cingular Network. 1gb RAM card, and live in the US ….
Here is what I have found. If I am way off base or doing something maybe wrong, please let me know, there might be an easier way already out there, but I haven’t found it yet. And as of today, I have not bricked my phone with anything I have done below.
OK, It seems every ROM I have flashed, there was that ONE little program that stood out and really made me happy. So what I have been doing is this. I find a ROM that has that little special program I want, and use the kitchen to rip it all apart. When all is said and done, instead of flashing it right then and there, I enter the C:\Core\Kitchen\OEM or C:\Core\Kitchen\SYS and find that one certain program/package I like and cut it out and save it to a temp directory. I do that with 7 or 8 different ROMs until I get all the little parts I want. Then I take the Basic Core 2.0n and use it as my base, do all the steps right up to the part where you BUILD, and then I go to that temp directory and move all those special programs to where they belong in the Kitchen. THEN BUILD. So far it has worked great.
BUT, here is where I get to the MAIN POINT of this topic. Thinking of the word KITCHEN, I was wondering where do I go to get all my FOOD so to speak to COOK? Well in my house I go to the PANTRY. So, I was wondering, is there a way or someone who could start the PANTRY? My thinking of what it would be is a place for all those programs out there that are added to the OEM and SYS folders SEPERATLY. Kind of like an FTP site or something.
Here is an example of what could be in the PANTRY, using Total Commander as my example. And would have a TotalCommander2.zip file in it, along with all those others out there.
This is what is in my Total Commander 2 Directory, which is ready for the BUILD step.
---------------------------------------------------------
C:\Core\Kitchen\SYS\TotalCommander2
cca7de97-9353-45c7-9006-0a73bec0575f.dsm
cca7de97-9353-45c7-9006-0a73bec0575f.rgu
cecmd.exe
ftp.tfx
initflashfiles.txt
LAN.tfx
registry.tfx
Total Commander
As you can see, it’s complete with the initflashfiles.txt. dsm and the .rgu, and everything else that’s needed. So why not take that directory and everything in it and zip it up, and add it to the PANTRY. That way, say someone wanted a BASE ROM , with just Total Commander and NOTHING ELSE, they could go to the PANTRY, download that zip file, unzip it and put it in their Kitchen’s directory and it’s done. I have read a lot about the topic “How To Create A Rom Package” and this seems to be the easiest way, since 90% of them out there that we use are already built. All they need is to be placed in a PANTRY for everyone to share ? ??
Just my thoughts…………….
DaKender
You're welcome to download the OEM pack from the kitchen thread, and contribute at will for others to use.
It's a collection of programs contributed and collected by the forum users.
While managing 50+ different downloadable files would be a pain, having it all in one directory is simple, it's not that big, and easily downloaded - and updated.
Heck, take it and start your own OEM pack thread - it's not mine to say you can't.
not sure if any body thought of this what if chefs let users to sign their names addresses and finger print scan in the rom
1st will be thief deterent
2nd good hearted will return it if found
3rda phone will be a personal thing,chefs can leave their name somewhere for the smell and taste fo thier cooking
I'd think Chefs should also put a file in the \windows directory called release_notes with their ROM name and a forum link to their ROM thread.
Can't say how many times I've forgotten who's I've got flashed at any given time.
First, most chef's already put their name in the rom in one or more places, second , if you are using one of Alex's rom's used the kitchen & you can put whatever you want in it. Third, if somebody decent finds the device, your name & etc. is already in device owner info or can be looked up by your carrier with the serial or esn. Finally, if anyone else finds your device , it will take them all of 10 minutes to use Google & figure out how to flash a new rom. You could change the device ID to something nonexistent to make it harder to flash, but that's something better worked out by you & no Chef is gonna want to do that for every single person, not to metion that if he did, the thief would google & figure it out.
There is always ways around things, just ask AT&T, HTC & everybody at XDA
GSLEON3 said:
First, most chef's already put their name in the rom in one or more places, second , if you are using one of Alex's rom's used the kitchen & you can put whatever you want in it. Third, if somebody decent finds the device, your name & etc. is already in device owner info or can be looked up by your carrier with the serial or esn. Finally, if anyone else finds your device , it will take them all of 10 minutes to use Google & figure out how to flash a new rom. You could change the device ID to something nonexistent to make it harder to flash, but that's something better worked out by you & no Chef is gonna want to do that for every single person, not to metion that if he did, the thief would google & figure it out.
There is always ways around things, just ask AT&T, HTC & everybody at XDA
Click to expand...
Click to collapse
1st the whole idea is not about the phone getting lost rather than personlizing it ,to google or change that is why i said chefs should make it possible to ingrave it in the roms thiefs if they know all that they are nottheifs they won't find time to steal they will be cooking for us
actually, for anti-theft, I was thinking of a kit...
1) modified SPL; requires non-standard password and a signed NBH using your own custom certificate
2) OS is locked down with a trusted certificate of your own in the store so SSPL won't run at all... unless you sign it with your certificate
3) program that checks the SIMcard IMSI; if it changes then it sends an SMS to another number.
now... there are a few practical issues with 2) because it makes installing new apps a pain in the arse since they all need to be signed, so maybe a way of buggering up SSPL would be better.
ras said:
1st the whole idea is not about the phone getting lost rather than personlizing it ,to google or change that is why i said chefs should make it possible to ingrave it in the roms thiefs if they know all that they are nottheifs they won't find time to steal they will be cooking for us
Click to expand...
Click to collapse
A Chef that makes ROMs used by thousands is not gonna want to customize or personalize each one for every user. That said, with a donation, there are many that might consider it for you. Of course, you can always use a base ROM & the Kitchen to do it yourself. I do this.
Also, you can use provisioning xml's to customize or personalize them on a basic level using UC. Read Sleuth's thread on UC (User Customization).
@ Olipro, I really like the idea's 1 & 3. I have played a bit with CID locking to an imagined CID & with false Model ID's but of course while you then can't flash a ROM that's not customized to match, you could bypass it with SSPL, making it pointless against anyone half competent.
Your solution 1 & 3 would almost have to go hand in hand, having the password & a way to keep SSPL from jumping the password measures. Something like this, in conjunction with WIMP & UC in ROM, would be a great tool for security. Very Interesting indeed.
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
Hello XDA,
I have some questions about the sidekick Development Keys. I actually used to have one of my own in 2008. Here is what I am looking for.
An actual copy of a dev-key file.
The HTCONSOLE command for uploading a dev-key file to the phone.
I am looking for these things because I am interested in reversing the Dev-Key algorithm. I am planning on using JTAG to dump the firmware and do an investigation. These things all lead up to restoring internet capabilities to the phone. As we know, the phone is a bit crippled because of hard-coded operations to use Danger's servers for networking. But, there is internet access, just need to find a way to circumvent Danger's servers. I thought that getting a dev-key so that I could upload my own programs would be a good first step. However, since I cannot get another from Danger, I figured reversing would be the next best step. However, without the dev-key file format and HTCONSOLE command syntax for uploading the key. I am in the dark.
Thanks in advance
bazzinator said:
Hello XDA,
I have some questions about the sidekick Development Keys. I actually used to have one of my own in 2008. Here is what I am looking for.
An actual copy of a dev-key file.
The HTCONSOLE command for uploading a dev-key file to the phone.
I am looking for these things because I am interested in reversing the Dev-Key algorithm. I am planning on using JTAG to dump the firmware and do an investigation. These things all lead up to restoring internet capabilities to the phone. As we know, the phone is a bit crippled because of hard-coded operations to use Danger's servers for networking. But, there is internet access, just need to find a way to circumvent Danger's servers. I thought that getting a dev-key so that I could upload my own programs would be a good first step. However, since I cannot get another from Danger, I figured reversing would be the next best step. However, without the dev-key file format and HTCONSOLE command syntax for uploading the key. I am in the dark.
Thanks in advance
Click to expand...
Click to collapse
Hi!
I had the same problem, is at least 3 years that I try to bring back into operation a old Sidekick2 found in the trash.
I was able to operator-unlock it with a key combination (here in Italy sidekick mobile phones have never been marketed and therefore are virtually unknown!).
Then I search SDK everywhere, for years, all in vain (all danger's site are dead, and archive.org is unuseful)
BUT Today (literally) I found this site: The Holy Grail (w w w .cs.umb.edu / ~bazz / learn /sidekick2/ )! I'm very excited! :victory:
Now I need my devkey but is obvious impossible to obtain it, so I was thinking to automate a brute force process (autoit? a small c++ program? who know..) to get it, but if you can obtain an algoritm via reverse engineering is better.
Another alternative would be try to contact former employees of Danger Inc, but I would not know how to do because english isn't my native language.
so please KEPP US UPDATED! :fingers-crossed: