Related
Hi there!
There are members here who have successfully cooked for the Vogue with each one using the kitchen that he prefers, while there are many others who have researched for hours and still have trouble setting up a kitchen.
Anyone who tried to do this without prior knowledge surely remembers how much effort is needed to learn all the steps, since the cooking process is quite complicated and there are many new things to learn. Even if one managed to setup a kitchen he might still have no idea how to port a new build to the kitchen. I have also found it difficult to learn what exactly do you need to keep from the original ROM that was shipped with the device and which of those old files can we get rid of. And the list goes on and on...
Many would love to enjoy the thrill of building their own custom ROM with the programs that they find useful, and to be able to tweak it the way they prefer.
I'm calling here on all of you who have experience cooking for the Vogue to please share your knowledge here.
If you have a kitchen setup that you would like to share, I'm sure that many members would love to make use of it!
See post #18 for a description of ROM XIP SYS OEM and LANG. Thanks to egzthunder1.
UPDATE 02/18/10
From my own personal experience and as others have mentioned in the first few posts of this thread, the easiest kitchen for a new chef is the PPCKitchen.
STEP 1: You can register at ppckitchen.org and download the latest version of the kitchen. After installing the kitchen you will need to run the updater. It will take a few seconds while it connects to the server. After that you will have an option of downloading different files. In order to cook a working ROM you will need to go to ROM Kitchens\Vogue and download the following Vogue Carrier Kitchen files, Vogue Kitchen Core, Vogue Drivers. (I don't believe you need Generic OEM Kitchen files in the above directory). Of course you will also need at least one of the Windows Mobile builds from the same directory (ROM Kitchens\Vogue).
Although the builds that show up in the updater are pretty new, yet the latest builds will not show up. In the future after having successfully cooked a ROM with one of the more stable builds from the updater, you can go get the latest builds from the PPCK website at Windows Mobile Build Discussions\Test SYS Builds. *Advanced PPCk Users only*. For now I would stick to the builds that show up in the updater.
There are also OEM files that you can download with the updater. These files have different programs that you will be able to add to your ROM. You can download PPCKitchen OEM's, PPCKitchen 240x320 OEM's, Non Freeware OEM's (don't get exited it's only a trial!), and User submitted OEM's. You don't need any of these so you can download them and check if you want the programs that's inside, if not you can delete the whole file from your kitchen folder that's in your PPCK folder.
The kitchen is very easy to use and you can now build a basic ROM.
I hope to add more to this mini tutorial within the next few days.
I agree 100%, I think it would be great if some of the experienced chefs could drop some knowledge on the rest of us, if not only so we can keep pumping out new ROMs for our Vogues.
Head over to PPCKitchen.org they have a tutorial and everything you need to cook roms, its also the easiest to use in my opinion.
As you may have noticed over the past few days, I have been trying to keep the forum a little cleaner by asking people who open new threads with questions to simply ask them in a sticked Q&A thread. This request also falls under that same premise. Please do not open new threads asking questions. Threads should only be opened to contribute to the site (roms, kitchens, skins, guides, apps, etc). Thanks.
Barogi44 said:
Head over to PPCKitchen.org they have a tutorial and everything you need to cook roms, its also the easiest to use in my opinion.
Click to expand...
Click to collapse
I also have been using the PPCkitchen and agree that it's the easiest, but I have found that it's also somewhat limiting and think it would be a good idea if those using the Ervius VK or any other kitchen would be able to help others.
egzthunder1 said:
As you may have noticed over the past few days, I have been trying to keep the forum a little cleaner by asking people who open new threads with questions to simply ask them in a sticked Q&A thread. This request also falls under that same premise. Please do not open new threads asking questions. Threads should only be opened to contribute to the site (roms, kitchens, skins, guides, apps, etc). Thanks.
Click to expand...
Click to collapse
Sorry, didn't mean to make a mess while your trying to clear things up. It must be frustrating, sort of like cleaning up the floor and having somebody walk in tracking dirt on the freshly cleaned floor!
I just thought that this would be a Tutorial type of thread where members could come and add their little bits of knowledge until we would have a lot of info gathered in one spot. Personally I still think that it's not another simple Q&A thread, although your welcome to disagree and to remove this thread if you want. I'm still hoping that this thread will become a guide for all newcomers to cooking.
When I get home tonight, I will give you a heads up on how i use PPCKitchen. I cook for personal use only and don't publish roms. In short, all I do is use is a modified version of Vin's Generic_OEM. By modified, I take out things I don't need and insert things I want. When I used to flash manila roms, this was critical as his MANILA folder has every thing needed. Now that I don't use MANILA (I replaced it it SPB Mobile Shell 3.5.3 (I LUV IT!). When a new WM build comes out, I simply pop them files in the appropriate places and run it. I am currently in love with 23529.
If your interested in what I'm doing, you can start by downloading Vin's Generic_OEM from his 28014 Thread. Just search for Generic_OEM in the thread.
Lewy1 said:
Sorry, didn't mean to make a mess while your trying to clear things up. It must be frustrating, sort of like cleaning up the floor and having somebody walk in tracking dirt on the freshly cleaned floor!
I just thought that this would be a Tutorial type of thread where members could come and add their little bits of knowledge until we would have a lot of info gathered in one spot. Personally I still think that it's not another simple Q&A thread, although your welcome to disagree and to remove this thread if you want. I'm still hoping that this thread will become a guide for all newcomers to cooking.
Click to expand...
Click to collapse
I know what your intentions were and I do not disagree with you. But there are a few things that need to be considered for making a "cooking guide" for this particular section of the site...
*There are only 3 (4 at best) active chefs for this section: Nag, Barogi, vin (if he decides to fully return), and myself. I believe that NFS will not return (personal unfounded belief).
*Most of the above chefs use PPCK. I am not saying that they don't use others like VK, but the info on cooking will be pretty much the same that you can find in the PPCK website.
*There are a slew of tutorials floating around the site (not just the Vogue section, but throughout XDA), which have a lot (and I do mean a lot) of information on how to cook.
*Cooking with other kitchens is far more involved than simply dropping build packages into PPCK. You can even get down to the nitty gritty of hex editing your rom to get more stuff out of it (ie, there is a hex change in the BA roms that allow you to have more ram available).
*Lastly, since the Vogue uses newer style roms (nbh, as opposed to older formats like nbf), learning how to cook from scratch would be kinda a waste of time (believe me, I spent the last month learning how to port a newer rom to the Blue Angel and it isn't as simple as you may think).
One of the mods (I can't remember which one right now) has a series of posts with tools, tutorials, and a bunch of other things needed to cook. What we could do is simply make a one or two post sticky with the links to the different tutorials on xda as well as on other sites (ppcgeeks has a 1100+ pages thread that talks about cooking and porting). I will see if I can get my hands on those and get them in here if that is ok with you.
egzthunder1 said:
One of the mods (I can't remember which one right now) has a series of posts with tools, tutorials, and a bunch of other things needed to cook. What we could do is simply make a one or two post sticky with the links to the different tutorials on xda as well as on other sites (ppcgeeks has a 1100+ pages thread that talks about cooking and porting). I will see if I can get my hands on those and get them in here if that is ok with you.
Click to expand...
Click to collapse
Thanks, that's perfectly fine with me. I have seen most of the stuff that you mentioned and was actually thinking along the same lines as you. If I can I will add my own little bit of knowledge like links to the various kitchens and so on. By the way there is a new kitchen, Oskitchen with new UI by airxtreme (original kitchen by Ondraster). It looks like it will be easy to use and has just been modified for the Vogue, and I'm hoping to give it a try tonight.
Lewy1 said:
Thanks, that's perfectly fine with me. I have seen most of the stuff that you mentioned and was actually thinking along the same lines as you. If I can I will add my own little bit of knowledge like links to the various kitchens and so on. By the way there is a new kitchen, Oskitchen with new GUI by airxtreme (original kitchen by Ondraster). It looks like it will be easy to use and has just been modified for the Vogue, and I'm hoping to give it a try tonight.
Click to expand...
Click to collapse
Yes, I did see that one. I had tried oskitchen before and it isn't too bad (still preferred Ervius though). However, this new UI seems a little more user friendly...
Start out with PPCK. It works well, most users will not notice the limitations.
Biggest thing with making your own ROM's is getting all of the Reg edits that need to be included.
Good Luck! PS Start with build 23529 it seems to be really stable and fast!
First post updated with mini tutorial.
Lmiller1708 said:
Biggest thing with making your own ROM's is getting all of the Reg edits that need to be included.
Click to expand...
Click to collapse
Perhaps we can use this thread to gather up those types of regedits in one place. It would also be good to have guides for new cooks on how to add things like EzInput 2.1 (with working vibration) and Long Press End Key, BT Pan and Alarm functionality (while plugged in). Most of the newer roms have old or incomplete implementations of these features. vin was the last person to get many of these features all together in one place. With the age of the Vogue many of the cooks are trading up to newer devices and much of that knowledge is getting lost.
codf4ther said:
Perhaps we can use this thread to gather up those types of regedits in one place. It would also be good to have guides for new cooks on how to add things like EzInput 2.1 (with working vibration) and Long Press End Key, BT Pan and Alarm functionality (while plugged in). Most of the newer roms have old or incomplete implementations of these features. vin was the last person to get many of these features all together in one place. With the age of the Vogue many of the cooks are trading up to newer devices and much of that knowledge is getting lost.
Click to expand...
Click to collapse
Are you talking bout me ?
egzthunder1 said:
Are you talking bout me ?
Click to expand...
Click to collapse
No sir, not trying to single anyone out. I've tried pretty much every rom released here and on PPCGeeks I haven't tried your latest ones labeled MetroPCS. I'll flash you latest tonight and try it out for a few days.
just uploaded 28230. Try that one and let me know if you like it...
btw, I was joking... don't sweat it. I don't get so easily offended
tharris297 said:
When I get home tonight, I will give you a heads up on how i use PPCKitchen. I cook for personal use only and don't publish roms. In short, all I do is use is a modified version of Vin's Generic_OEM. By modified, I take out things I don't need and insert things I want. When I used to flash manila roms, this was critical as his MANILA folder has every thing needed. Now that I don't use MANILA (I replaced it it SPB Mobile Shell 3.5.3 (I LUV IT!). When a new WM build comes out, I simply pop them files in the appropriate places and run it. I am currently in love with 23529.
If your interested in what I'm doing, you can start by downloading Vin's Generic_OEM from his 28014 Thread. Just search for Generic_OEM in the thread.
Click to expand...
Click to collapse
I don't know if you sent this over via PM but I'd be interested in reading it too. I tried replacing the Generic_OEM.rar in the kitchen folder with the one from vin, but the kitchen won't startup after i do that.
codf4ther said:
I don't know if you sent this over via PM but I'd be interested in reading it too. I tried replacing the Generic_OEM.rar in the kitchen folder with the one from vin, but the kitchen won't startup after i do that.
Click to expand...
Click to collapse
The reason is that Vin's packages are not "kitchen ready". What he posted is in essence a dump of the Mega rom. The packages have to be worked on in a one by one basis to get them to work with PPCK. There is a nice guide on how to do that in the forum at PPCKitchen.org.
Hey Lewy1,
You are off to a good start. I have been giving your idea some thought and if you truly want this to be a "learning resource" for new chefs, you may want to start by describing a few basic concepts as well.
[highlight]ROM[/highlight]
In essence the Operating System with all the necessary files and programs that make up for what you have on your device. This contains things that are general to all devices as well as certain files and folders that are specific to each particular device (hence, the reason why you cannot flash a rom from a Blue Angel into a Vogue and vice-versa). Once a rom is obtained by dumping it, the dump will have a bunch of folders and files, which need to be turned into something "cookable". There exist several applications that can (and must be used) in order to accomplish this.
After all the things in the "dump" are sorted out and manipulated, the rom will essentially turn into 4 main parts: XIP, SYS, OEM, and Lang packages.
[highlight]XIP[/highlight]
The XIP is what holds the core of the OS. This is what holds the Native Kernel of the particular device as well. In order to port a rom to a device, one cannot simply replace the XIP with a new one. The XIP of the new OS must be "implanted" into the XIP of the base rom of the device. The reason for this is that there are many files that can simply be replaced in the XIP, but some must remain untouched as they hold key elements for the proper functioning of the device (Native Kernel).
[highlight]SYS[/highlight]
The SYS folder will have packages with software that the device may or may not need to run properly. This holds things such as the Shell (your UI), Office, core applications, etc. A lot of these packages can be removed from the SYS in order to make space for other apps that the chef maybe interested in having. However, great care must be taken when removing/adding packages since some packages are needed for the device to even be able to boot. Likewise, having too many packages will render the rom un-flashable since most devices have a specific size of rom that they cannot go over. In the case of latter devices, the available space for rom has gone up dramatically. For instance, the Vogue has roughly 90 MB of space for the rom. This is more than plenty to cook a lot of apps without too many issues. There are older devices such as the Blue Angel, where the size of the rom is limited to 32 MB, which forces most cooks to remove packages and compress things as much as possible to even have a bootable rom (keep in mind that most of the time, builds are coming with more and more space requirements).
On top of all this, there are the resolution requirements. Most packages will come with a second folder of a similar name with the resolution added. For example, Base will have another folder called Base_96DPI. The chef will have to be careful on what he/she puts to be cooked as having different resolution packages can make the device either not boot, or look weird (out of scale images) if it does boot
[highlight]OEM[/highlight]
The OEM normally holds fixes and programs that the cook could not fit in the SYS. It also hold drivers, sometimes even Language packs among other things.
[highlight]Lang[/highlight]
These are language and location specific modules. The chefs use the location modules to make roms for different languages and locations. It is usually a four character code that determines which country/language the rom is made for. For instance, 0409 is WWE.
There are many other basic concepts (such as Virtual Memory allocation) that could be discussed, but for now, these basic definitions should help the average person understand what they are dealing with when they see a new set of packages coming out on PPCK,
Hope this helps the cause
egzthunder1 said:
Hey Lewy1,
You are off to a good start. I have been giving your idea some thought and if you truly want this to be a "learning resource" for new chefs, you may want to start by describing a few basic concepts as well.
Click to expand...
Click to collapse
Thanks! Great Info I'll add it to the first post.
I've been reading the forums for two days now and have gleaned lots of useful information in the dumping/building of WP7 (emulator) ROMs. I haven't, however, come across any information on replacing modules in the WP7 context.
While reversmode generates correct-looking output, it renders the built ROM unbootable; I'm guessing it's not built correctly.
To backtrack what I did...
I used the newer dumprom.pl, which spits out better PE binaries than its predecessor
I dropped a binary into reversmode
... and gathered the imageinfo.txt + Sxxx output and dropped them into the dumped ROM\MODULES\filename folder, overwriting the originals
Any guidance would be appreciated.
// twitter: @WithinRafael
Sorry for getting everyone excited, I found the error in my ways. I wasn't aware (until now) that the binaries spit out by dumprom.pl are automatically decompressed. I used XIPPort to recompress my binaries (and fished them out of a folder relative to the executable).
Boots fine.
On a separate note, I'd like to rally everyone together and start getting better configuration management of this stuff. From what I've seen, these tools are spread out all over the damn place. Worse, the developers aren't including versioning information. I'm going to draft up some ideas on addressing the confusion and create a separate post.
WithinRafael said:
Sorry for getting everyone excited, I found the error in my ways. I wasn't aware (until now) that the binaries spit out by dumprom.pl are automatically decompressed. I used XIPPort to recompress my binaries (and fished them out of a folder relative to the executable).
Boots fine.
On a separate note, I'd like to rally everyone together and start getting better configuration management of this stuff. From what I've seen, these tools are spread out all over the damn place. Worse, the developers aren't including versioning information. I'm going to draft up some ideas on addressing the confusion and create a separate post.
Click to expand...
Click to collapse
yeah you may want to just start a thread with consolidated dumping/porting tools for these ROMs so we don't have to easter egg hunt
well here are some of my ideas on how we could possibly hack this phone:
1.Dig in-
we try to get into the phone's files as deeply as possible and see what we find. if it's something worth investigating, we change this around and see what happens.
2.Silverlight-
We somehow code a javascript app that is actually a microsoft silverlight plugin for the browser. then, i can finish the gui i was making in silverlight and test it on the phone, since the original gui was also made in silverlight.
3.file system explorer
i might be able to use the ftp client to download a file system explorer, or, by some miracle, we code a working file system explorer in javascript.
4. java vm-
once i do some super heavy research on the java vm, its requirements, its functions, and how they are programmed into mobile devices, we could figure out a way to get one on the kin and just make java apps for it.
5. Flash
i, for one, may be able to deal with just having flash, but due to the downloading problems of the phone, this one seems headed downhill.
if anybody else has any theories or ideas for hacking this phone, just post it and ill test it out and tweak it for hopefully good results.
P.S.- i typed this all on the kin. i don't recommend lengthy messages like this with the kin because it makes your fingers sore.
Do it.
Good Idea!
DO IT!
This forum is saturated with off-the-brian ideas. We need someone to figure something else out. We have hit a wall pretty much since the release of KINO. The only advancement we have made on this phone is that I can now backup and restore contacts.
When I say "We" I mean JohnKussack all respect to the man ofcourse.
think positive
well john's not the only one who can do things. if everyone thought like that post then we wouldn,t even be able to do that. the more people that try to do what john does, the more things will get done and the more out-of-the-box ideas will appear.
All right folks - several hours later than I wanted to get this out to you, but here it is. Blame my new cat, she's wonderfully distracting.
Requirements:
Samsung generation-2 WP7 device (Focus S or Focus Flash/Omnia 7 S).
Dev-unlocked (ChevronWP7 Labs or AppHub).
Interop-unlocked (yes, it works on your phones).
XAP deployment tool (any).
Helpful:
Screen capture app (good way to report results that are too long to type).
Good software testing skill (mostly, give me info as complete as you can).
A recent backup, if you're worried of damage, unless you're willing to hard reset.
Instructions:
Download the attached ZIP archive.
Extract the XAP file from the Bin\Debug\ folder.
Deploy the XAP to your phone.
Run the app (SamsungTest).
Note the initial message box with your phone name, case sensitive.
Tap the buttons to run tests.
Note the results of each test.
Note any exceptions that occur.
Report the results, including phone name, test output, and exceptions (with context).
Note: The Audio Mute test is a toggle; press it again to switch back. It is the only test that should modify your phone in any way, and should be both minor and easily reverted.
Developers:
The full source code of the app is attached, including the most important file (Samsung2Interop.cs), a helper with many useful constants (SamsungWin32.cs), and the native COM DLLs. You can see how I use the DLLs and how to build your own apps, or modify existing apps, using them.
Thanks sent to the first few people to give useful reports!
SAMSUNG SGH-i937
Wireless: app closes out.
Audio:
"Unexpected exception please report!
System.IO.FileNotFoundException: The system cannot find the file specified as..."
(the above lines are what is cut off from the top of the message in the picture i attached below)
Get IMEI: app closes out
File Listing: "Your documents folder contains these files:" [ok]
Directory List: "Your root directories are:" [ok]
Registry: "Sub-keys of HKEY_CLASSES_ROOT\bmpimage :\n" [ok] (app closes when pressing [ok])
Provxml: "Provxml query output:" [ok]
Well, that's a weird and disappointing result. I figured some might not work, but I didn't expect them all to fail and most certainly didn't expect either the app to crash silently or to get a FileNotFoundException!
OK, I've put together a v2 of the test app. It's got very few test changes, but should help me pinpoint the problem better, I hope...
One request when testing: I'm much more interested in the top of the exception than the bottom of the stack trace, so if you're going to screenshot part of it, go for that part. Thanks!
SAMSUNG SGH-i937
wireless closes app
audio mute screenshot attached
get imei closes app
file listing Your documents folder contains these files: ok
Directory List test Your root directories are: ok
Registry HKEY_CLASSES_ROOT\bmpimage:
Provxml Provxml query output: ok
Gotcha. Will test after class.
Sent from my SGH-i937 using XDA Windows Phone 7 App
---------- Post added at 08:36 AM ---------- Previous post was at 08:17 AM ----------
Went ahead and gave it a try before taking off. If the download file in the first post is the updated test file, then I'm afraid it yields the same results, on every test :-/
Mine was done after you posted about the V2 file also.
Wireless test exits the app
Get IMEI exits the app
The rest go as follows
ManelScout4Life said:
Wireless test exits the app
Get IMEI exits the app
The rest go as follows
Click to expand...
Click to collapse
mine is exactly the same (same phone as well)
OK, I clearly need to investigate this more. It sounds like there's a systemic issue with how I'm accessing this data, although there are a few more tweaks I can make to the test. I'd be interested to get results from the other Samsung phone, the Focus Flash, but I doubt anything escept the first message will be different.
I'll post a new version or two later today. I want to take another look at exactly how the code gets called by the Diag app, just in case there's some weird initialization step or something.
GoodDayToDie said:
OK, I clearly need to investigate this more. It sounds like there's a systemic issue with how I'm accessing this data, although there are a few more tweaks I can make to the test. I'd be interested to get results from the other Samsung phone, the Focus Flash, but I doubt anything escept the first message will be different.
I'll post a new version or two later today. I want to take another look at exactly how the code gets called by the Diag app, just in case there's some weird initialization step or something.
Click to expand...
Click to collapse
I can test it on my new Samsung Omnia W (Focus Flash), but can you explain me how to convert the source in a .XAP?
AdryJay said:
I can test it on my new Samsung Omnia W (Focus Flash), but can you explain me how to convert the source in a .XAP?
Click to expand...
Click to collapse
if you're just trying to test it, the xap is in the folder mentioned in the OP, there's no need to build the xap, as it's done already.
if you want to play with the source and build an alternate xap to test that's another question that i'm sure someone can answer
adiliyo said:
if you're just trying to test it, the xap is in the folder mentioned in the OP, there's no need to build the xap, as it's done already.
if you want to play with the source and build an alternate xap to test that's another question that i'm sure someone can answer
Click to expand...
Click to collapse
Found it...
SAMSUNG GT-I8350
Wirless Test: The app crashed.
Audio Mute Test: Unexpected exception, please report!
System.IO.FileNotFoundException: The system cannot find the file specified.
at
SamsungTest.MainPage.TestAudioMute()
at
SamsungTest.MainPage.TestAudioMute_Click
(Objcet sender, RoutedEventArgs e)
at
System.Windows.Controls.Primitives.ButtonBase.OnClick()
at
System.Windows.Controls.Button.OnClick()
at
System.Windows.Controls.Primitives.ButtonBase.OnMouseLeftButtonUp
(MouseButtonEvent Args e)
at
System.Windows.Controls.Control.OnMouseLeftButtonUp(Control ctrl, EventArgs e)
at MS.Internal.JoltHelper.FireEvent(IntPtr
unmanagedObj, IntPtr
unmanagedObjArgs, Int32 argsTypeIndex,
Int32 actualArgsTypeIndex, String
eventName)
Then it crashed.
Get IMEI Test: The app crashed.
File Listing Test: Your documents folder contains these files: OK
Directory List Test: Your root directories are: OK
Registry Test: Sub-keys of HKEY_CLASSES_ROOT\bmpimage : OK
Then the app crashed.
Provxml Test: Provxml query output: OK
Hope this help you... ^^
Well, it confirmed two things: the string I can use to identify the Focus Flash, and that the problem with the app is not specific to the Focus S. At this point, that's almost more reassuring than if it had worked, since at least that means there aren't per-phone differences.
GoodDayToDie said:
Well, it confirmed two things: the string I can use to identify the Focus Flash, and that the problem with the app is not specific to the Focus S. At this point, that's almost more reassuring than if it had worked, since at least that means there aren't per-phone differences.
Click to expand...
Click to collapse
Do you have a Focus Flash/S to play with, GDTD?
I believe the reason why we're having issues is that Samsung changed the driver DLLs, which would mean we would need to find a XAP from the Marketplace that has references to the gen2 DLLs. Or am I missing something?
@Jaxbot: No I don't, which is why I created this thread; I needed testing from people who do.
Your guess is exactly correct. I've already got a few interop-enabled XAPs from various helpful people with gen2 phones (some come from marketplace, some from the \Windows folder using the webserver app). I've decompiled them enough (I thought) to re-package the COM DLLs they use for homebrew use. However, it's not working, and is throwing some really weird errors (the "FileNotFound" one is bizarre, the simple crashing almost worse). So, I'm digging deeper and trying to figure out why. Worst case, I disassemble/decompile the native COM DLLs nd try to figure them out. That'll take a while - I can read (some) ARM assembly and C++, but even if the decompiler does a good job it's still going to be slow work - so I'm hoping it doesn't come to that. Managed code is usually easier to reverse engineer.
I have a Samsung Focus Flash with interop unlocked and ICS working.
Im not sure what this xap test is for. Can anyone please fill me in so that I may be able to help.
Thanks!
GoodDayToDie said:
@Jaxbot: No I don't, which is why I created this thread; I needed testing from people who do.
Your guess is exactly correct. I've already got a few interop-enabled XAPs from various helpful people with gen2 phones (some come from marketplace, some from the \Windows folder using the webserver app). I've decompiled them enough (I thought) to re-package the COM DLLs they use for homebrew use. However, it's not working, and is throwing some really weird errors (the "FileNotFound" one is bizarre, the simple crashing almost worse). So, I'm digging deeper and trying to figure out why. Worst case, I disassemble/decompile the native COM DLLs nd try to figure them out. That'll take a while - I can read (some) ARM assembly and C++, but even if the decompiler does a good job it's still going to be slow work - so I'm hoping it doesn't come to that. Managed code is usually easier to reverse engineer.
Click to expand...
Click to collapse
Of course managed code is easier to reverse engineer..you can get the actual source back =P
Anyway, I'd help out, but I don't have a Flash or S either... It's certainly possible, but not without a lot of tinkering.
I wonder if Samsung did this intentionally to screw with us, or if it's just a coincidence (new drivers, etc).
wsantiagow said:
I have a Samsung Focus Flash with interop unlocked and ICS working.
Im not sure what this xap test is for. Can anyone please fill me in so that I may be able to help.
Thanks!
Click to expand...
Click to collapse
Just read the thread man, it's two pages long.
Any news about the development?
Sorry man, got wrapped up in trying to interop-unlock Nokia and then HTC phones, and haven't gotten back to this app yet. It's on my mind, don't worry - there's just only so many things I can do in a day, especially when Minecraft release just came out.
I'll try to have a new version shortly after Thanksgiving. I've got a pretty good idea now what's wrong, but I have to figure out how to work around it.
Intro
This is a bit different than most postings here, as I'm not providing any binaries to install on your phone and instead providing a simple tool, rattlesnakeos-stack, to build your own OS based on AOSP on a regular basis, with your own signing keys, and your own OTA updates. This probably will be interesting to a small subset of users as it does cost money to run this infrastructure in AWS.
What is RattlesnakeOS
RattlesnakeOS is privacy focused Android OS based on AOSP for Google Pixel phones. It is my migration strategy away from CopperheadOS (hence the name similarity) which is no longer maintained.
Features:
Based on latest AOSP 9.0 (Android P)
Support for Google Pixel, Pixel XL, Pixel 2, Pixel 2 XL
Monthly software and firmware security fixes delivered through built in OTA updater
Maintain verified boot with a locked bootloader just like official Android but with your own personal signing keys
Latest Chromium browser and webview
Latest F-Droid client and privileged extension
Free of Google’s apps and services
What is rattlesnakeos-stack
Rather than providing random binaries of RattlesnakeOS to install on your phone, I've gone the route of creating a cross platform tool, rattlesnakeos-stack, that provisions all of the AWS infrastructure needed to continuously build your own personal RattlesnakeOS, with your own signing keys, and your own OTA updates. It uses AWS Lambda to provision EC2 spot instances that build RattlesnakeOS and upload artifacts to S3. Resulting OS builds are configured to receive over the air updates from this environment. It only costs a few dollars a month to run (see FAQ for detailed cost breakdown).
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
How do I set this up?
Head over to the github repo and take a look at the README for full setup, build, and flashing instructions.
then this thread should be in the guides section IMHO.
Hi, when the rom will be available to download?
Thanks
cesarguaro said:
Hi, when the rom will be available to download?
Thanks
Click to expand...
Click to collapse
Read literally the first sentence.
Looks like some amazing work. Haven't had time yet to test it out yet. Hopefully soon though.
Well, if I understand it the right way, I'm able to setup my own room without programming knowledge?
And if I won't use OTA, can I create flashable updates too?
Thanks in advance,
Rashka
MKRashka said:
Well, if I understand it the right way, I'm able to setup my own room without programming knowledge?
And if I won't use OTA, can I create flashable updates too?
Thanks in advance,
Rashka
Click to expand...
Click to collapse
Yes, this allows you to create your own builds of a ROM which by default is pretty much stock AOSP with the features mentioned in the original post. It is possible to customize it with some more advanced options that were added recently to allow patches and prebuilt APKs, but those options do require some knowledge of building AOSP.
By default the OTA updater app is included in the build process and by default it will point at your specific AWS environment where successful builds end up, so the only way to easily disable OTA updates at the moment would be to in the updater app settings change the channel from 'stable' to 'beta' (as all builds are set to stable). You could still manually download the OTA zip files produced by successful builds and stored in S3 and manually flash them.
dantheman78 said:
Yes, this allows you to create your own builds of a ROM which by default is pretty much stock AOSP with the features mentioned in the original post. It is possible to customize it with some more advanced options that were added recently to allow patches and prebuilt APKs, but those options do require some knowledge of building AOSP.
By default the OTA updater app is included in the build process and by default it will point at your specific AWS environment where successful builds end up, so the only way to easily disable OTA updates at the moment would be to in the updater app settings change the channel from 'stable' to 'beta' (as all builds are set to stable). You could still manually download the OTA zip files produced by successful builds and stored in S3 and manually flash them.
Click to expand...
Click to collapse
OK, I will definitely try this as soon as I got time for it.
Is this for pixel 2 only or can I use it for multiple devices?
MKRashka said:
OK, I will definitely try this as soon as I got time for it.
Is this for pixel 2 only or can I use it for multiple devices?
Click to expand...
Click to collapse
It supports Pixel, Pixel XL, Pixel 2, Pixel 2 XL. Currently you'd have to create a different stack for each device you wanted to create builds for.
Hey, This is my first time trying anything with AWS, but I think I have the basic setup down. It honestly took me a bit, as setting up a free account, and then trying to run an instance was showing that I had 0 instances available, till I realized I could start a EC2 Spot Instance, which is likely what you meant in the README. (However, setting up a Spot Instance is actually a page later than where the readme says to launch the instance, hence my confusion. I just had to click continue and run a c5.4xlarge Spot Instance instead.) However, when I go to deploy it, I get the following error as the last line that will output so far. (Currently attempting to do this on windows, as my debian box is just now being set up again. If need be, I could switch to that system, especially as I have most everything else set up, it'd just be a pain, as I've yet to set up the non-free wireless drivers on that system, and don't feel like dragging that tower out next to the router at the moment.):
[36mINFO[0m[0000] Downloading Terraform binary from URL: https://releases.hashicorp.com/terraform/0.11.8/terraform_0.11.8_windows_amd64.zip
[31mFATA[0m[0004] Failed to create terraform client: chmod C:\Users\******\AppData\Local\Temp\rattlesnakeos-stack580992971\terraform: The system cannot find the file specified.
Click to expand...
Click to collapse
Any idea what I could be doing wrong in this case? It looks like it could be because it's trying to run chmod on a windows file that ends with .exe (as I can find a terraform.exe file in the temp folders, but no terraform), while the system is expecting it to be in linux with no .exe file extension? Thanks in advance, can't wait to get a working build going, as this is exactly what I've been looking for since the management at CopperheadOS went all stupid.
schreckles said:
Hey, This is my first time trying anything with AWS, but I think I have the basic setup down. It honestly took me a bit, as setting up a free account, and then trying to run an instance was showing that I had 0 instances available, till I realized I could start a EC2 Spot Instance, which is likely what you meant in the README. (However, setting up a Spot Instance is actually a page later than where the readme says to launch the instance, hence my confusion. I just had to click continue and run a c5.4xlarge Spot Instance instead.) However, when I go to deploy it, I get the following error as the last line that will output so far. (Currently attempting to do this on windows, as my debian box is just now being set up again. If need be, I could switch to that system, especially as I have most everything else set up, it'd just be a pain, as I've yet to set up the non-free wireless drivers on that system, and don't feel like dragging that tower out next to the router at the moment.):
Any idea what I could be doing wrong in this case? It looks like it could be because it's trying to run chmod on a windows file that ends with .exe (as I can find a terraform.exe file in the temp folders, but no terraform), while the system is expecting it to be in linux with no .exe file extension? Thanks in advance, can't wait to get a working build going, as this is exactly what I've been looking for since the management at CopperheadOS went all stupid.
Click to expand...
Click to collapse
Hey there! Sorry about the issue with Windows (I haven't done much testing there as I don't have a Windows box). I am working on a new release and will add in a fix for this.
If there is anything I can do to clear up the README, let me know. The intention is that I want people with a new account to launch an EC2 instance of the same size (could be on demand or a spot instance - doesn't really matter) that will be launched for builds of the OS (c5.4xlarge). New accounts are sometimes not allowed to launch EC2 instances of this size, so this is just meant to be a verification step.
dantheman78 said:
Hey there! Sorry about the issue with Windows (I haven't done much testing there as I don't have a Windows box). I am working on a new release and will add in a fix for this.
If there is anything I can do to clear up the README, let me know. The intention is that I want people with a new account to launch an EC2 instance of the same size (could be on demand or a spot instance - doesn't really matter) that will be launched for builds of the OS (c5.4xlarge). New accounts are sometimes not allowed to launch EC2 instances of this size, so this is just meant to be a verification step.
Click to expand...
Click to collapse
No worries, looking at the output, I kind of figured that's all it was, but I'll gladly continue to test for you, even though I'm a first-timer.
For the readme, I actually think it's very clear, and I think the main reason I had issue is the fact that my AWS is a brand new free account as of today. When going through the EC2 console, I was unable to set up a c5.4xlarge instance, but it would allow me to set up spot instance instead, if I went to the next page. If the RattlesnakeOS-stack tool uses Spot Instances, it should be just fine. However, if it depends on a regular EC2 Instance, new users may need to request an increase to their instance limit at http://aws.amazon.com/contact-us/ec2-request
Otherwise, from what I'm seeing so far, this seems to be a great way to get a more private, more secure Android ROM built with one's own signing keys, so I'm excited to have such a responsive dev working on such a project.
In the meantime, I'm also working on getting my debian box back up (was trying PureOS, but for my system I needed non-free drivers, which kind of makes PureOS a moot point, so I'm heading back to debian for the time being.)
Thanks again, and I'll continue to follow the progress!
schreckles said:
No worries, looking at the output, I kind of figured that's all it was, but I'll gladly continue to test for you, even though I'm a first-timer.
For the readme, I actually think it's very clear, and I think the main reason I had issue is the fact that my AWS is a brand new free account as of today. When going through the EC2 console, I was unable to set up a c5.4xlarge instance, but it would allow me to set up spot instance instead, if I went to the next page. If the RattlesnakeOS-stack tool uses Spot Instances, it should be just fine. However, if it depends on a regular EC2 Instance, new users may need to request an increase to their instance limit at http://aws.amazon.com/contact-us/ec2-request
Otherwise, from what I'm seeing so far, this seems to be a great way to get a more private, more secure Android ROM built with one's own signing keys, so I'm excited to have such a responsive dev working on such a project.
In the meantime, I'm also working on getting my debian box back up (was trying PureOS, but for my system I needed non-free drivers, which kind of makes PureOS a moot point, so I'm heading back to debian for the time being.)
Thanks again, and I'll continue to follow the progress!
Click to expand...
Click to collapse
Thanks for the additional details! I pushed a new release https://github.com/dan-v/rattlesnakeos-stack/releases/ with my best guess fixes for Windows. Let me know if it works or not - if not I'll break down and spin up a Windows box to test it out
dantheman78 said:
Thanks for the additional details! I pushed a new release https://github.com/dan-v/rattlesnakeos-stack/releases/ with my best guess fixes for Windows. Let me know if it works or not - if not I'll break down and spin up a Windows box to test it out
Click to expand...
Click to collapse
So far, looks like your best guesses for a windows box are pretty good. It seems to have gone alright so far, as it says it successfully deployed AWS resources, created a new topic I can subscribe to, created new folders in my S3 bucket, but I'm not seeing any running instances, yet, so we'll see. (Since I wasn't seeing any instances running yet (and I do have an instance available, as I requested and got approved for one a couple hours ago) I also tried to manually build, following the readme, which was clear enough, but looks to be the same, so I'll wait a bit and see if amazon just needs to catch up.)
Again, it's great to have such a responsive dev with this kind of stuff, that'll be new to a lot of the community members, so thank you again!
schreckles said:
So far, looks like your best guesses for a windows box are pretty good. It seems to have gone alright so far, as it says it successfully deployed AWS resources, created a new topic I can subscribe to, created new folders in my S3 bucket, but I'm not seeing any running instances, yet, so we'll see. (Since I wasn't seeing any instances running yet (and I do have an instance available, as I requested and got approved for one a couple hours ago) I also tried to manually build, following the readme, which was clear enough, but looks to be the same, so I'll wait a bit and see if amazon just needs to catch up.)
Again, it's great to have such a responsive dev with this kind of stuff, that'll be new to a lot of the community members, so thank you again!
Click to expand...
Click to collapse
Yeah, I'm not sure what I did/am doing wrong, but when I try to manually run a build from the Lambda Manager, it runs in 6-8 seconds, and I get a success, but there's no output, and nothing new saves to the S3 bucket. Once Debian is done installing (setting up encrypted LVM takes a while, as it overwrites every block on the hard drive randomly), I'm going to try setting up everything from there as well, to see if it's an issue of how I set up AWS somehow or with how the stack tool ran on Windows.
Edit: Looks like my first build just got done building, and took about 5h18m, so right on track. I thought I'd had android SDK set up on here, but I guess all the old stuff I'd done was solely on a linux box (which I'm still resetting up, since that overwrite of an 8 TB drive for encryption took quite a bit.) So, now the debate is between setting up on Windows vs waiting till I've got everything situated in Debian. I work tomorrow, so I won't get much done, but should be able to either after work or in the following couple days. Thanks again for the repatch to fix Windows...looks like that did the trick.
schreckles said:
Yeah, I'm not sure what I did/am doing wrong, but when I try to manually run a build from the Lambda Manager, it runs in 6-8 seconds, and I get a success, but there's no output, and nothing new saves to the S3 bucket. Once Debian is done installing (setting up encrypted LVM takes a while, as it overwrites every block on the hard drive randomly), I'm going to try setting up everything from there as well, to see if it's an issue of how I set up AWS somehow or with how the stack tool ran on Windows.
Click to expand...
Click to collapse
The Lambda function should take just a few seconds to execute - it should also tell you where it is launching the EC2 spot instance for the build - probably Ohio region (us-east-2) as it's usually the cheapest at the moment. The initial build will take 5 hours or so on a c5.4xlarge because it's building Chromium in addition to normal AOSP build. If you have executed the Lambda function multiple times manually, you may have multiple builds running (go to Ohio region if that's where it launched in EC2 console and double check), and feel free to terminate any additional instances if that's the case.
dantheman78 said:
The Lambda function should take just a few seconds to execute - it should also tell you where it is launching the EC2 spot instance for the build - probably Ohio region (us-east-2) as it's usually the cheapest at the moment. The initial build will take 5 hours or so on a c5.4xlarge because it's building Chromium in addition to normal AOSP build. If you have executed the Lambda function multiple times manually, you may have multiple builds running (go to Ohio region if that's where it launched in EC2 console and double check), and feel free to terminate any additional instances if that's the case.
Click to expand...
Click to collapse
Aha...that's exactly what it was. I had figured since I pointed Rattlesnake to US-East-1 (N. Virginia) it would automatically run there, so I didn't see it, but it ran, finished, and I'm not worried about spending a few extra bucks on learning something like this, so no biggie. It just happened to run twice. Will be setting up my SDK this evening (thought I'd had it on windows, but that may have been on my old thinkpad and my linux box instead, come to think of it) and install either tomorrow night after work or the day or two after. Thanks again for all the help and for such a well thought out guide to begin with!
schreckles said:
Aha...that's exactly what it was. I had figured since I pointed Rattlesnake to US-East-1 (N. Virginia) it would automatically run there, so I didn't see it, but it ran, finished, and I'm not worried about spending a few extra bucks on learning something like this, so no biggie. It just happened to run twice. Will be setting up my SDK this evening (thought I'd had it on windows, but that may have been on my old thinkpad and my linux box instead, come to think of it) and install either tomorrow night after work or the day or two after. Thanks again for all the help and for such a well thought out guide to begin with!
Click to expand...
Click to collapse
Awesome! Glad you got it all worked out.
The hilarious irony part: now I wait for my Pixel 2 to be RMA'd for the camera failing, literally minutes before I was going to flash my phone last night. At least now, I have my Debian box set back up as my dev environment, have my nextcloud server set up, and a few other little things set up in preparation and in the name of privacy.
Questions about Privacy and MicroG
First off, thanks for developing this ROM, I believe it serves a very valuable purpose. I have two questions:
1. Unless I overlooked something, you state in the headline that this ROM is privacy focused but the features you have listed do not include any privacy features (other than no GApps and F-Droid which can be achieved using most custom ROMs). What makes the ROM privacy focused? Can we assume that apart from the features you listed, the privacy and security features of CopperheadOS are present in RattlesnakeOS?
2. Can MicroG be used (as a GApps alternative) with RattlesnakeOS, I know this was not possible with CopperheadOS as the developer did not want to implement signature spoofing. Is this still the case?
The MicroG team makes a rather convincing argument that allowing signature spootfing is an acceptable risk/trade-off for certain users.
edit: for anyone else interested in MicroG I found this related discussion on Reddit