[REF] CM7 Progress Report [UPDATED 1/11/12] - Motorola Droid X2

THIS PAGE IS OUT OF DATE AND IS NO LONGER VALID
First off, I know that' I've been working on CWMR for the DX2 also. During this work though I found myself looking back at the CM7 source for hijacking and found myself getting a lot farther than I have in the past with the Motorola common hijack. CM7 is not booting yet, but this is the closest we've ever been. Special thanks to MoonShadow-NM, StringCheeseCR and balltongue for being my guinea pigs, mastafunk for helping get 2nd-init isssues worked out with our phone, and hashcode for helping me port the final steps of the hijack. I'm going to try to make this a lot shorter than my last one.
I had a few issues starting to port over the common hijack. These include (but not limited to):
no logwrapper usage
starting the hijack too late due to no logwrapper usage
unmounting things in use once hijacking (ties in with the top two)
starting ADB (still WIP)
getting the hijack to flash a new root directory
starting 2nd-init once the new root was flashed
Which Binary To Hijack (COMPLETED)
To resolve the first 3 issues was the first step. How would I call the common hijack while keeping the code from being completely modified? I first considered using mot_boot_mode as we have in the past. But this would require a lot of work trying to determine when it was already hijacked and when it wasn't. So I actually tried to hijack using logwrapper. I found that it was called around the touchpad setup service. This was called immediately after mot_boot_mode so it shouldn't have caused any more issues that mot_boot_mode was. After a few tests with that I found that I couldn't get things properly unmounted because too many things were set up and running by then. And because it was a service, others were starting up by then which it couldn't kill. It was getting worse and worse.
Then I remembered about another binary named "remountpds." I have played around with it in the past, but never actually used it in the hijack yet. I changed it intercept remountpds and after testing found that it was being called properly.
Starting ADB (COMPLETED)
Next step was to get ADB started. The hijack normally uses persist.service.adb.enable to get the system ready to run ADB. Normally I would use persist.service.adb.enable_NV_DISABLED (the prop I found that got adb working at boot) for the other hijacks. After trying the NV_DISABLED prop I found that it was not being set. After digging through the source that would set the props (setprop, etc.) I found that the maximum length that AOSP props can be is only 32 characters. Our prop is too long to be set with CM7's binaries. I decided to change the prop length to 40 but this only caused the binaries to crash and the hijack to not even go anywhere. This basically moved me backwards. Because of this I moved back to the old prop and reset the max prop length back to 32.
Later after I finally got the root directory flashed (next section) we almost got adb working. It recognizes that a device is connected, but won't actually get us into a shell.
UPDATE 2: I now have 2nd-init working by basically forcing all of the props that would start adbd (the service on the phone that allows us to connect through adb) to be 1. We now have a working ADB at boot with a CM7 system.
Flashing the New Root Directory (COMPLETED)
The moto common hijack basically works as our other hijacks do only with one major difference: it flashes a new root directory (like recovery does) and then moves everything to it's proper place. (With our current hijacks, we just do a lot of copy commands.) But whenever I tried to get it to flash my new zip, it would always fail and therefore everything beneath that in the code would fail also because of the dependency on what was inside the zip. After checking it out (with help from hashcode) I found that the hijack kept trying to flash the wrong zip name. And after numerous attempts at trying to get it to automate the name (through defines and such) I finally got it to find the correct zip to flash.
Firing 2nd-init (COMPLETED)
After the zip gets flashed it does everything it can to get the system back to as clean as a slate as it can. This is the killall script that we had been working with and tweaking to get working with our phones. BUT! Because of calling it earlier with remountpds and following the steps through the common hijack as they are supposed to be done, the standard kill all script worked and created a (essentially) clean slate for our system to restart itself.
The problem was that it wasn't calling 2nd-init and restarting the init process. After talking more to hashcode, we found that I had forgot to call tasket on 2nd-init and that the 2nd-init binary was dynamic and not static (dynamic means it looks for libraries to do it's instructions, static means they're all built in). As this was really late at night, I decided to start coding these changes and start a new build, but not test yet. Right now as I'm finishing this, I'm waiting on more logs to continue my efforts.
UPDATE: 2nd-init is now working and we are yet another step closer to getting CM7 working.
Getting /init Working (COMPLETED)
Now that we have 2nd-int working I'm now working on getting our new init binary that comes with CM7 to work with our init.rc. This is a challenge in itself but with the help of hashcode, I hope to have this working soon.
Our stock /init binary is programmed to work with certain users as it parses through the init.rc script. When it hits a user it doesn't know, it freaks out and stops the init process. My first thought was to go the way of the ATRIX and just rename all of the users to system but this posed another problem. Some of the services we are going to need are dependent on those Motorola users which our new init.rc has no clue about. Cue hashcode. He has helped me by pointing me to the D3 system core (aka init, adb, logcat, etc.) edits that's he's worked on. This includes changes to the /init binary that will include the motorola users needed to get our init.rc working. As I'm writing this, I'm currently building the source for it and haven't tested, but I assure you that this will help us get another step closer to CM7.
NOTE: Now before you go "That's for the D3, and we're the X2" remember that pretty much all of the code that we're compiling will work with any Android phone but certain changes are set up in our device configuration. Therefore although I'm taking the changes made to the D3, they will still work for us.
BIG UPDATE: We now have a working init binary that has the correct users so that it doesn't freak out when it tries to set permission up. This has let us to our first official bootloop of CM7. This is REALLY good news because that means that our init is trying to do what it's supposed to do and keep setting up our device and trying to actually start CM7. After looking at some of the logs, we had some issues dealing with the services trying to access the devices. I have since (hopefully) fixed the problem and am awaiting results as we speak.
UPDATE AGAIN: We have now started the boot animation! This means we're really close to getting it working!
Getting Into CM7 (WIP)
I have now managed to start the CM7 boot animation and I'm now currently trying to work out the problems with the installation of the apks.
After working some more with hashcode I found that there were audio decoders (take audio information and turn them into usable information) that weren't being loaded, but were being enabled. With his help i found two of these decoders that Motorola uses, but CM7 doesn't. So I disabled them and that's the first time we started getting places.
But then I learned that the dalvik-caches (the files on our phone that make it run faster) weren't being set up properly. Normally (in a lot of phones) the dalvik-caches are located in /data/dalvik-cache. This is not the case for CM7 as they are located in /cache/dalvik-cache. Once I got this set up we still were not able to get into the boot animation yet until looking at more logs. I found (silly me again) that the zygote process (basically the main system process) was trying to also load the framework (the base system files) that Motorola use. Since we obviously don't have those, it won't find them and it won't load. After fixing that, I sent it out for testing to MoonShadow-NM where he informed me (rather enthusiastically) that we were at the boot animation and made the video above.
Now the problem that I'm running into involves the permissions of those caches and having the other programs access those caches. This has been the hardest obstacle that I've had to face so far as I'm having problems figuring it out. Normally they are supposed to be owned by the system. This allows anything with system (or higher) privileges to access and use these caches for themselves. Normally when an apk is installed they have a user with App_## and belong to the system group. This why they can access the caches and use them. But my problem right now isn't the apps being able to access the caches, it's the installation of those apps.
There is a daemon (service) called installd that checks for newly installed apps and such and starts all of the work needed to get the caches set up and ready for application uses. This is where I'm currently stuck. The framework caches (as I mentioned above) are being created with root (the superuser) as their owner and not system. This means that the installd service (although being ran as root) can't have the processes it starts (which are being ran as system)
access these files and continue on. I'm currently trying to work this problem out.
Conclusion (aka "You Don't Have CM7 Yet Why Should We Bother?")
From a standard reader's perspective you have every reason to think that. From a dev's point of view we're the closest we've ever been to getting CM7 (and eventually AOSP, MIUI and CM9/ICS). CM7 is the first step to that. We're almost there. I haven't given up on getting this ported over and any readers shouldn't either. I'm not making any ETAs or predictions on any outcomes from all of this work, so please don't ask me. I hope you guys found this informative and continue to be supportive throughout this process.
For more information regarding development of CM7 or AOSP please join us on the Freenode IRC on the #x2-aosp channel using your favorite IRC client or at http://webchat.freenode.net. Please keep the conversation on topic as much as possible. We will get off topic sometimes, but when a dev says back on topic, please try to remain so. Or else I will lay down the fits of +v and +m. (If you know what that means, good. if not, don't worry about it.) There will be times that we are quiet, but when we talk we talk A LOT. So don't sign in, wait 5 minutes, then sign out. When we get somewhere, we'll let you slowly know.

Dragonzkiller don't worry about giving us a eta just knowing you guys are working on it is good enough. I have full faith that you guys will get it working at some point and I wanted to say thanks to all the dev's working on this and the continued support to make this phone better!

Thanks to the devs. These [REF] posts are informative and a good read. Knowing development is still going on is good, keep up the work; as previous poster said dont worry about ETA. I understand how these dev things go. Take time to debug and the rom will come in due time. But everything is sounding like a postive step toward us booting CM7

Wow, all I really have to say is thanks for spending so much time on this.

Thanks for the post. Knowing that dev on this phone isn't dead and that people are still trying to get this thing unlocked is amazing.

god i hope u guys can unlock the sexiness of AOSP onto this ****tily locked moto phone.

Oh we will be able to. 2nd init is working fine, depending what version you are using. It's our init.rc that is messed up atm or something related to it. The wording of everything might make you think otherwise but rest assured my rom is a working demonstration of it if you use it and test it via early usb enum and check /data/2nd-init for logs

Updated for new progress and issues.
Thanks for all of your guys' support.

Excellent news. Just patiently waiting!

Great news. Thanks for the update as well. Its wonderful to hear this info. We all owe you and the other helpers big time.
probably sent to from the middle of a lake in central Minnesota

motcher41 said:
Great news. Thanks for the update as well. Its wonderful to hear this info. We all owe you and the other helpers big time.
probably sent to from the middle of a lake in central Minnesota
Click to expand...
Click to collapse
Yes
These updates I'm loving...
And it really doesn't seem like anything is stalling like some thought
this is just the part that takes the most work lol...
Love it...thanks!

This is great news. Go Dragon Go!!!!
Sent from my DROID X2 using Tapatalk

Good to see my ideas last night got you thinking. Wish I knew how to compile a CM build myself to test my ideas lol.
Edit: In other news when we get CM porting done, MIUI will be a breeze. Atrix has a build already so I just need to take their base, add our radio and some other stuff. It will be a cake walk.
Edit2: When we get a booting CM (Even with tons of hardware bugs) I will be able to fix most of the bugs within a day or so. I helped fix a bunch on the D2G and also for getting MIUI to boot across the various devices. So Dragonz, take not and shoot me your first booting build so I can get all the hardware bugs sorted out and you can commit them to the overlay.

Well I just got my X2 today. I'm excited to see that there is still active development for this phone! Keep up the good work guys!

alias747 said:
Well I just got my X2 today. I'm excited to see that there is still active development for this phone! Keep up the good work guys!
Click to expand...
Click to collapse
Lol hope its off-contract...
Sent from my DROID X2 using xda premium

Jubomime said:
Lol hope its off-contract...
Sent from my DROID X2 using xda premium
Click to expand...
Click to collapse
yes sir or there goes more money into the pockets of the corporate communists..
Sent from my DROID X2 using xda premium

You guys are absolute champions.

Jubomime said:
Lol hope its off-contract...
Sent from my DROID X2 using xda premium
Click to expand...
Click to collapse
It's a work phone replacement for my OG Droid. It was out of my control... Don't get me on a rant...

You will like this phone. You got it at the right time too, as we see full aosp finally come to the x2.
Sent from my DROID X2 using xda premium

awesome job, dragonz, ace, masta, penguin, balltongue & the rest! you guys rock!
Sent from my DROID X2 using xda premium

Related

[Project Cheesecake] Need YOUR help!

Background:
Yes it's true, Motorola has every OTA, every non-accepted OTA, and every non-release OTA and sbf sitting on a sever. Special Motorola employees get access to these, even on their phones through the access of the blur cloud. There are 19 servers.
The Goal:
Project Cheesecake was a success on finding a few dev builds for the Defy, Atrix, and Photon which lead to an unlocked bootloader on these devices. There is bound to be something on ONE of these servers, and eventually we'll strike gold and find an unlock. Just takes checking everyday.
How you can help:
Check the servers every change you get! Every phone is a little different, plus keep in mind these are ftp servers, so you might get lucky when you do your scan and you might catch something someone else didn't see before; or you might find something that was uploaded, and then later deleted. Wifi is recommended (but not required) when scanning the servers.
Prerequisites:
You need to use Root Explorer or another file manager with root permissions, because when you find an update, it's going to put it in /cache and you need to copy it from there to the sd card.
Please be on stock 2.3.5 (1.3.412) or 2.3.4 OTA. If you have deleted stuff or are running a custom rom or something, you will need to sbf for this to work.
Getting Started:
1)You need to be on stock latest OTA!!
2) WIPE DATA AND CACHE!!!!
phydo said:
Now an app does it all for you. Imagine that.
1. Okay, so, download THIS APP RIGHT HERE. Edit: Updated link ~ 0vermind
2. Install the app on your phone.
3. Open the app. Click the first button.
4. Reboot.
5. Open app, click second button. Select a server. QA And Staging servers seem most common for updates, but we need to check them all. The default is in Production -> master-blur.whatever.com if you need to get back to it.
6. now click third button in app to check for update. click setup (the moto account thing is bs). Now if it gives you a wifi error, that means the server is down that you chose. If the server is up it will check for an update.
7. If that didn't work, select a new server with button 2, and then check again with button 3.
8. Any comments in this post about the ghettoness or difficulty of scrolling in my app will result in replies including but not limited to A) Slander, B) flaming, and C) death. Try to keep the thread pretty on topic to cheesecake method and other info. I know my app can be refined, jcase has been giving me some tips on streamlining my programming and su permission reduction, but it does good stuff, don't worry. It even remounts system as RO when it uses it.
Click to expand...
Click to collapse
The app does Scroll! It's just a bit tricky! -- I have found that if I longpress an item while scrolling up, it works better.
Thanks for participating!
Update Found
Heyo,
I found one update using Froyo in server 'master-qa3.blurdev.com'. The update seems to be weird. The update on the screen was reported to be '1.3.231.en.us' but the update zip was labeled '1.2.148.en.us' which is the same name as the leaked GB OTA update zip. Nonetheless, this is an interesting development.
Please PM me for the file. I don't want people who don't know what they are doing to abuse it.
I'll continue searching through the server list for any others.
- mostKnownUnknown
mostKnownUnknown said:
Heyo,
I found one update using Froyo in server 'master-qa3.blurdev.com'. The update seems to be weird. The update on the screen was reported to be '1.3.231.en.us' but the update zip was labeled '1.2.148.en.us' which is the same name as the leaked GB OTA update zip. Nonetheless, this is an interesting development.
Please PM me for the file. I don't want people who don't know what they are doing to abuse it.
I'll continue searching through the server list for any others.
- mostKnownUnknown
Click to expand...
Click to collapse
You should also send it to The2DCour
Sent from my DROID X2 using XDA Premium App
mostKnownUnknown said:
Heyo,
I found one update using Froyo in server 'master-qa3.blurdev.com'. The update seems to be weird. The update on the screen was reported to be '1.3.231.en.us' but the update zip was labeled '1.2.148.en.us' which is the same name as the leaked GB OTA update zip. Nonetheless, this is an interesting development.
Please PM me for the file. I don't want people who don't know what they are doing to abuse it.
Click to expand...
Click to collapse
Ahhhh quality assurance is always pretty fruitful Sent ya a pm. Thanks!!
0vermind,
You find anything useful? You and The2Dcour should combine forces. Someone found something for him yesterday.
Sent from my DROID X2 using XDA Premium App
Just saw this post and decided to pop in. Great job starting a Cheesecake for your phone =) Hopefully yes, people will be sending me more files to check. I have made a list of files that I've already checked for Bootloader unlock over at the Pudding thread (shameless plug).
Unfortunately, I didn't find anything. =(
The simpons didn't even register.
Maybe next time...
Yeah. I found two and I gave both of those to the2dcour. There doesn't seem to be a bootloader unlock in both files.
The two I found is when you are in Froyo and in these servers:
master-qa3.blurdev.com - 1.3.231.en.us
master-sdc1.svcmot.com - 1.3.232.en.us
master-blur.svcmot.com - 1.3.232.en.us
After taking a nap and returning the my phone back to normal, it seems like 1.3.232.en.us is the same as the last OTA version/the version that P3droid rooted. It doesn't seem to be a special "Dev" version with that special pudding.
Yeah the simpsons servers and both bqa ones didn't allow you to register.
If anyone still wants to take a look, let me know. You can get the mediafire links from me if you PM me.
My thought so far is that when the Atrix leak was found, Moto was at least thinking about unlocking the bootloader for the Atrix and might have been experimenting with the bootloader when the leak was made. I dunno if we are going to catch a bootloader unlock for the DX2 until Moto makes a serious consideration for unlocking the DX2 with their devs.
With that said, I think this was very successful from an execution standpoint and we need to keep up with regularly checking the servers for update files. I say we should pick random times in checking (not just on a Sat. Morning) and vary it up between location (east coast v. west coast) and Froyo/GB base update.
My only thing is that it took me nearly 5 hours to search through all of the servers after all of the wiping cache and going through Froyo's slow factory reset screens so I hope we can really get a few people dedicated for one or two hours and divide it up.
- mostKnownUnknown
mostKnownUnknown said:
Yeah. I found two and I gave both of those to the2dcour. There doesn't seem to be a bootloader unlock in both files.
The two I found is when you are in Froyo and in these servers:
master-qa3.blurdev.com - 1.3.231.en.us
master-sdc1.svcmot.com - 1.3.232.en.us
master-blur.svcmot.com - 1.3.232.en.us
After taking a nap and returning the my phone back to normal, it seems like 1.3.232.en.us is the same as the last OTA version/the version that P3droid rooted. It doesn't seem to be a special "Dev" version with that special pudding.
Yeah the simpsons servers and both bqa ones didn't allow you to register.
If anyone still wants to take a look, let me know. You can get the mediafire links from me if you PM me.
My thought so far is that when the Atrix leak was found, Moto was at least thinking about unlocking the bootloader for the Atrix and might have been experimenting with the bootloader when the leak was made. I dunno if we are going to catch a bootloader unlock for the DX2 until Moto makes a serious consideration for unlocking the DX2 with their devs.
With that said, I think this was very successful from an execution standpoint and we need to keep up with regularly checking the servers for update files. I say we should pick random times in checking (not just on a Sat. Morning) and vary it up between location (east coast v. west coast) and Froyo/GB base update.
My only thing is that it took me nearly 5 hours to search through all of the servers after all of the wiping cache and going through Froyo's slow factory reset screens so I hope we can really get a few people dedicated for one or two hours and divide it up.
- mostKnownUnknown
Click to expand...
Click to collapse
I wonder what the difference is between 231 and 232. And yeah definitely, as far as I know Moto did promise they would be unlocking all their phones, or at least the ones that came out this year..
mostKnownUnknown said:
Yeah. I found two and I gave both of those to the2dcour. There doesn't seem to be a bootloader unlock in both files.
The two I found is when you are in Froyo and in these servers:
master-qa3.blurdev.com - 1.3.231.en.us
master-sdc1.svcmot.com - 1.3.232.en.us
master-blur.svcmot.com - 1.3.232.en.us
After taking a nap and returning the my phone back to normal, it seems like 1.3.232.en.us is the same as the last OTA version/the version that P3droid rooted. It doesn't seem to be a special "Dev" version with that special pudding.
Yeah the simpsons servers and both bqa ones didn't allow you to register.
If anyone still wants to take a look, let me know. You can get the mediafire links from me if you PM me.
My thought so far is that when the Atrix leak was found, Moto was at least thinking about unlocking the bootloader for the Atrix and might have been experimenting with the bootloader when the leak was made. I dunno if we are going to catch a bootloader unlock for the DX2 until Moto makes a serious consideration for unlocking the DX2 with their devs.
With that said, I think this was very successful from an execution standpoint and we need to keep up with regularly checking the servers for update files. I say we should pick random times in checking (not just on a Sat. Morning) and vary it up between location (east coast v. west coast) and Froyo/GB base update.
My only thing is that it took me nearly 5 hours to search through all of the servers after all of the wiping cache and going through Froyo's slow factory reset screens so I hope we can really get a few people dedicated for one or two hours and divide it up.
- mostKnownUnknown
Click to expand...
Click to collapse
Mannnn... I wish I knew how to do this or what to look for cuz I would be one of the helpers here. I have so much time to sit around and most of it is spent on here ir droidforums.net soooo.... ;(
ashclepdia said:
Mannnn... I wish I knew how to do this or what to look for cuz I would be one of the helpers here. I have so much time to sit around and most of it is spent on here ir droidforums.net soooo.... ;(
Click to expand...
Click to collapse
It's really not that hard. Just follow the instructions in the OP. We would love your help! This project isn't just a one time thing, it's a thing that requires multiple scans every no or then.
The servers that will provide the most luck are the QAs, master-blur, the test server, and the first one.
So I would be doing all this from my phone correct? Don't need a computer just a wifi connect. I want to help but I am on eclipse Rom. It says I need to be stock? Would it work if I was prerooted gb?
Thinkin of making a nandroid of where in at now and when my computer gets going again soon I will be able to sbf back and try some of this.
You have to be on pre rooted gb. When I get home I will package a test build to flash from anything to the required build will everything included. For the sake of progress!
Sent from my DROID X2 using XDA Premium App
Nice work getting stuff like this organized guys. Im hoping it will be only a matter of time now that google has taken over Motorola. I would think they would want to unleash the moto hardware but the agreements with vzw might be in the way. Hopefully they will "allow" the unlock to slip through the cracks if that's the case.
Sent from my DROID X2 using XDA App
Here is some cool info I found. When you are connected to one of the dev clouds:
Dial *#*#4636#*#*
Go To Motorola Services
It will list out a bunch of info regarding the server. Like build date, Blur Version, Server Version, Master Cloud. ect...
hapyman said:
Nice work getting stuff like this organized guys. Im hoping it will be only a matter of time now that google has taken over Motorola. I would think they would want to unleash the moto hardware but the agreements with vzw might be in the way. Hopefully they will "allow" the unlock to slip through the cracks if that's the case.
Sent from my DROID X2 using XDA App
Click to expand...
Click to collapse
Company takeovers aren't an instant thing. Even if Google buying up motorola gets bloaders unlocked, we will most likely be too late to the party because once this all goes down, we will be old news.
Sent from my DROID X2 using Tapatalk
Thinking of trying this out between iterations of Eclipse. Gotta get back to stock GB
Here is another build for the X2. http://www.multiupload.com/G5IQI9PL8D. I was thinking of going on this build to search for other builds.
balltongue said:
Here is another build for the X2. http://www.multiupload.com/G5IQI9PL8D. I was thinking of going on this build to search for other builds.
Click to expand...
Click to collapse
What's that? The same sbf as 2.3.3 or is this download link something different that you found?
The sbf is older than the stock froyo build. I thought i was able to unlock the bootloader with this build but its not even in the sbf file.
Anyway its another way for us to get more test builds now that we have 3 sbf's to choose from.

CyanogenMod for X2 making progress?

Didn't notice this before, but according to http://stats.cyanogenmod.com/ , there are two installs for 'daytona' (codename for Droid X2).
Also, cvpcs recently tweeted "i'll see what i can muster together. need to get some DX and X2 stuff posted".
Good news? Old news?
I didn't know they had even started on the X2, I knew the X1 already had it, or an RC at least.
cvpcs, who I believe ported CM4DX, just recently got the X2, but has been busy with life.
Also, the Droid X is becoming, or already is, an official CM supported device.
Before my brother got his X2, I was trying to get the CM7 build on it, but couldn't find the correct one on their site, this was almost 2 months ago though.
Actually I'm pretty sure that was me... I've been working on porting some cyanogen components out of an unofficial atrix build and one of the few things that did work was stats. Installed it twice
Sent from my DROID X2 using xda premium
drapp said:
Actually I'm pretty sure that was me... I've been working on porting some cyanogen components out of an unofficial atrix build and one of the few things that did work was stats. Installed it twice
Sent from my DROID X2 using xda premium
Click to expand...
Click to collapse
Do tell plz
They were just some of the apps i pulled from my cm7 on my old droid 2. I have however Been messing around on the ATRIX forums of cyanogen and noticed nighties being posted so I've been pulling as much as I can out in an effort to port it minus the kernel tweaks. As far as progress goes I've gone from it not installing at all, to starting to install and failing for a few different reasons, to installing successfully but stuck at boot logo... after 4 hours of sbfing and flashing my current status is successfully installs but starts bootlooping about 3 mins into powering on and not sure what my next move should be. Haven't gotten it to launch yet. 2 more sbfs and subsequent framework edits and im calling it a night
drapp said:
They were just some of the apps i pulled from my cm7 on my old droid 2. I have however Been messing around on the ATRIX forums of cyanogen and noticed nighties being posted so I've been pulling as much as I can out in an effort to port it minus the kernel tweaks. As far as progress goes I've gone from it not installing at all, to starting to install and failing for a few different reasons, to installing successfully but stuck at boot logo... after 4 hours of sbfing and flashing my current status is successfully installs but starts bootlooping about 3 mins into powering on and not sure what my next move should be. Haven't gotten it to launch yet. 2 more sbfs and subsequent framework edits and im calling it a night
Click to expand...
Click to collapse
Stupid question but did you remember to Wipe Everything Individually... From data to dalvic cache?
ericerk said:
Stupid question but did you remember to Wipe Everything Individually... From data to dalvic cache?
Click to expand...
Click to collapse
Yeah, wiped cache and delvik b4 nandroiding to save a little space, and again after just in case. Wiped data then installed. After install, wiped batt stats and fixed permissions while still in tenfars recovery. Then rebooted. After boot loop went into stock recovery and wiped data/cache again. Still no luck. [email protected]#ty thing is I go out of the country on business for a month so not gonna have time. Im working with the 1.2rc3 eclipse and the ATRIX or as is its referred to on CM site. olympus nightly 3 as my main base. Im thinking of downgrading to 2.3.3 just to try it with the x2 ATRIX port as a base instead, may help compatibility I think. The problem is I dont know just how much of cyanogen the custom kernel affects. Or if its only the cpu controls and various system tweaks. I do iphone development for a living yet ironically switched my own phone to a DROID 2 a couple months ago bc a friend had one lying around and my iphone screen broke. Found how to jailbreak(root) it a couple hours later. Had heard of cyanogen from a friend. Found a nightly found clockwork mod and fell in luv. That phone stopped charging and Verizon gave me an early upgrade to the x2 a couple weeks ago so here I am... Even if I can't make a full port my 2nd goal is a theme engine port. I have all the apks and frameworks from the newest ATRIX cm nightly its just trying to figure out what needs to be replaced or deleted to stop it from conflicting with another running process. For instance I got the theme chooser app to install In eclipse but either something in the frameworks the systemui.apk or framework-res.apk causes it to force close. It may even be the few blur components that are left. I've got a day left to work on this then im gone for a month. And does anybody know off hand if theme engine is in any way controlled by the kernel. Also I read froyo has 2nd int'd, if some1 can get it on gingerbread this would be alot easier. Im working mostly solo tho so its all trial and error...
Sent from my DROID X2 using xda premium
If at first u dont succeed... sbf and flash again lmfao
Sent from my DROID X2 using xda premium
drapp said:
If at first u dont succeed... sbf and flash again lmfao
Sent from my DROID X2 using xda premium
Click to expand...
Click to collapse
Yup yup xDD
---------- Post added at 01:25 AM ---------- Previous post was at 01:20 AM ----------
drapp said:
Yeah, wiped cache and delvik b4 nandroiding to save a little space, and again after just in case. Wiped data then installed. After install, wiped batt stats and fixed permissions while still in tenfars recovery. Then rebooted. After boot loop went into stock recovery and wiped data/cache again. Still no luck. [email protected]#ty thing is I go out of the country on business for a month so not gonna have time. Im working with the 1.2rc3 eclipse and the ATRIX or as is its referred to on CM site. olympus nightly 3 as my main base. Im thinking of downgrading to 2.3.3 just to try it with the x2 ATRIX port as a base instead, may help compatibility I think. The problem is I dont know just how much of cyanogen the custom kernel affects. Or if its only the cpu controls and various system tweaks. I do iphone development for a living yet ironically switched my own phone to a DROID 2 a couple months ago bc a friend had one lying around and my iphone screen broke. Found how to jailbreak(root) it a couple hours later. Had heard of cyanogen from a friend. Found a nightly found clockwork mod and fell in luv. That phone stopped charging and Verizon gave me an early upgrade to the x2 a couple weeks ago so here I am... Even if I can't make a full port my 2nd goal is a theme engine port. I have all the apks and frameworks from the newest ATRIX cm nightly its just trying to figure out what needs to be replaced or deleted to stop it from conflicting with another running process. For instance I got the theme chooser app to install In eclipse but either something in the frameworks the systemui.apk or framework-res.apk causes it to force close. It may even be the few blur components that are left. I've got a day left to work on this then im gone for a month. And does anybody know off hand if theme engine is in any way controlled by the kernel. Also I read froyo has 2nd int'd, if some1 can get it on gingerbread this would be alot easier. Im working mostly solo tho so its all trial and error...
Sent from my DROID X2 using xda premium
Click to expand...
Click to collapse
If you still have time to give it (X2) back i'd recommend it,Get a Bionic or something or the droid 3, something thats more popular, d3 has cm7 booting same with the bionic, don't lock your self in a crap phone if you don't absolutely have to...
drapp said:
Yeah, wiped cache and delvik b4 nandroiding to save a little space, and again after just in case. Wiped data then installed. After install, wiped batt stats and fixed permissions while still in tenfars recovery. Then rebooted. After boot loop went into stock recovery and wiped data/cache again. Still no luck. [email protected]#ty thing is I go out of the country on business for a month so not gonna have time. Im working with the 1.2rc3 eclipse and the ATRIX or as is its referred to on CM site. olympus nightly 3 as my main base. Im thinking of downgrading to 2.3.3 just to try it with the x2 ATRIX port as a base instead, may help compatibility I think. The problem is I dont know just how much of cyanogen the custom kernel affects. Or if its only the cpu controls and various system tweaks. I do iphone development for a living yet ironically switched my own phone to a DROID 2 a couple months ago bc a friend had one lying around and my iphone screen broke. Found how to jailbreak(root) it a couple hours later. Had heard of cyanogen from a friend. Found a nightly found clockwork mod and fell in luv. That phone stopped charging and Verizon gave me an early upgrade to the x2 a couple weeks ago so here I am... Even if I can't make a full port my 2nd goal is a theme engine port. I have all the apks and frameworks from the newest ATRIX cm nightly its just trying to figure out what needs to be replaced or deleted to stop it from conflicting with another running process. For instance I got the theme chooser app to install In eclipse but either something in the frameworks the systemui.apk or framework-res.apk causes it to force close. It may even be the few blur components that are left. I've got a day left to work on this then im gone for a month. And does anybody know off hand if theme engine is in any way controlled by the kernel. Also I read froyo has 2nd int'd, if some1 can get it on gingerbread this would be alot easier. Im working mostly solo tho so its all trial and error...
Sent from my DROID X2 using xda premium
Click to expand...
Click to collapse
2nd init for the x2 was created on GB. I believe our ATRIX ports use 2nd init. Naven and dragon just made them flashable in CWM by including the 2nd init hack in the flash.
drapp said:
Also I read froyo has 2nd int'd, if some1 can get it on gingerbread this would be alot easier. Im working mostly solo tho so its all trial and error...
Click to expand...
Click to collapse
the posted 2nd-INIT in dev section for us works on gb if that is what you are referring to.
About CM7 & 2nd-init
the 2nd init that is used for all motorola devices (except the ATRIX) for cyanogenmod is designed for both froyo and gb. It has a check in there to see if the executable bit exists and figure out what to do from there. that way any motorola device could (in theory) use it. I know that this version of 2nd init works for the X2 and will pretty much be used when it comes to porting over cm7. We're going to have to use GB as our base (not Froyo) simply because of the requirements of our kernel (which we can't change).
About my involvement
now i know that I was original one who was trying to crank out cm7 and that it kinda died out. that doesn't mean that i don't play around with it from time to time. I'm starting from scratch, but if naven and/or cvcps or whomever get it running before I do, more power to them. I have little to no time to work with this, but I know what approach i'm taking this time. It is to simply base it off the ATRIX (obviously) but then work in the 2nd-init and edify scripts that the X uses. I kinda did that the first time, but got too mixed up in all of the details.
I don't want anyone to think that because I'm working on it that any results will arise. I'm merely trying to say that someone is working on it. Just maybe not as fast or with as much time as you guys will like. I want to have CM7, too. But we don't have a team or anything so it takes a lot of work.
@dragonzkiller
Quick question. I understand the 2nd INIT allows scripts to be ran at bootup to alter the kernel in a "temporary" environment(ie. Whatever settings are in place in the Init.d folder is used instead of default.. blah blah), at least that is my understanding of it. But the question here is
What does 2nd Init have to do with CM7? Or MIUI? To my understanding it simply allows scripts to Be ran in front of the Kernel settings. Unless I am wrong, What does this have to do with Heavily Modified roms if you are simply allowing a performance boost, etc?
Peperm1nt said:
@dragonzkiller
Quick question. I understand the 2nd INIT allows scripts to be ran at bootup to alter the kernel in a "temporary" environment(ie. Whatever settings are in place in the Init.d folder is used instead of default.. blah blah), at least that is my understanding of it. But the question here is
What does 2nd Init have to do with CM7? Or MIUI? To my understanding it simply allows scripts to Be ran in front of the Kernel settings. Unless I am wrong, What does this have to do with Heavily Modified roms if you are simply allowing a performance boost, etc?
Click to expand...
Click to collapse
Here's a link to cvpcs blog entry regarding 2nd-init when he was porting CM to Droid X.
http://cvpcs.org/blog/2011-06-14/2nd-init._what_it_is_and_how_it_works
Peperm1nt said:
@dragonzkiller
Quick question. I understand the 2nd INIT allows scripts to be ran at bootup to alter the kernel in a "temporary" environment(ie. Whatever settings are in place in the Init.d folder is used instead of default.. blah blah), at least that is my understanding of it. But the question here is
What does 2nd Init have to do with CM7? Or MIUI? To my understanding it simply allows scripts to Be ran in front of the Kernel settings. Unless I am wrong, What does this have to do with Heavily Modified roms if you are simply allowing a performance boost, etc?
Click to expand...
Click to collapse
2nd-init allows us to have a new init.rc script, not just scripts in general and in reality has no affect on init.d unless the init.rc script is told to do so. Basically 2nd-init kills the init process (and all spawned processes) that uses the stock init.rc and uses a new one which we copy during hijacking the boot process and starts the init process again.
The root directory (where init.rc lies) of our phone is writable, but is reflashed every time the phone boots up, thus erasing any changes we might have made to init.rc (kinda defeats the purpose of having a custom script). This script is the script that gets everything set up during the boot sequence starting roughly around the time the motorola logo first shows up and all through the boot animation. We need to have a custom init.rc to get our phone's environment setup for CM7.
Our problem arises when we have to have the script satisfy both the OS and the kernel. Motorola's kernel expects certain criteria to be fulfilled within the phone to allow it to do it's thing. If these aren't satisfied, the kernel panics and reboots the phone (hence why we get bootloops). We can use logging (a rather tedious, slow, and painful method) of finding out where the kernel panics, and adjust as needed. But we need to have the environment ready for CM7 also, so those changes need to be in there without causing a kernel panic.
"Heavily modified" is a bad way to put it, more like "non-BLUR." If we could get CM7 working we can use the init and build files/setup/etc to allow us to have more ROMs based of AOSP. MIUI is based off of AOSP and in theory if we figure out CM7 we can even have AOSP ourselves. In fact the ATRIX recently got a port of AOSP (albeit buggy, but still).
The link above to cvpcs's blog goes into the details about it. It's really good read.
dragonzkiller said:
The link above to cvpcs's blog goes into the details about it. It's really good read.
Click to expand...
Click to collapse
It is also written in a '2nd init for dummies' fashion. Don't be afraid to read it!
Sent from my DROID X2 using XDA App
I agree this phone is one big piece of poo!
SE7EN- said:
I agree this phone is one big piece of poo!
Click to expand...
Click to collapse
I don't remember seeing anyone in this thread say that. Who are you agreeing with?

CM7 or Miui for this noob...

So hey all, I am new here so bear with me. I have been on Android for about a year and am finally ready to root and run a rom. Started out with a Samsung Fascinate which got traded for a Droid X and that got replaced with a Droid X2. Having some small issues with the DX2, and since I need to factory reset I figured I would go ahead and try to root and run a rom...
So my question is being a complete noob would I be better with CM7 or Miui. Originally on the DX I looked into Miui and really liked how it looked and really wanted it and did a lot of research on it, but before I could try it I had to send back my DX and they replaced it with a brand new DX2 in the box. Then looking into it I noticed that Miui was not available for the DX2, so I just gave up and stayed put.
Recently reading thru the forums I see Miui is available now for the DX2, but I also was looking into CM7 which also looks really nice. I was wondering would either of them be easier for a noob? (i.e. install and post install customization) I have read up on both not having functional FM radio and HDMI, which are not big deals because I rarely use either... but are there any other big problems with either of these roms that would make a noobie like myself steer clear from them and is one of them faster than the other? I also looked into eclipse and not sure if that is something I should consider. Are there any major issues with eclipse and is it more stable than the other two? Honestly right now I am just trying to figure out where to start. I want to do something, but also want the easiest route so that I do not brick my phone as my wife would probably kill me, haha.
There is just so much info out there, I really don't know where to start. I know you guys probably get these questions all the time, but I could not find a specific thread that talked about just these two (or three) roms specifically for the DX2. I have been trying for the past month or two to research this stuff, and I have learned a lot, but I need a little help to push me in the right direction...
Oh, and if you couldn't guess I am on stock GB 2.3.4 unrooted...
kalojado said:
So hey all, I am new here so bear with me. I have been on Android for about a year and am finally ready to root and run a rom. Started out with a Samsung Fascinate which got traded for a Droid X and that got replaced with a Droid X2. Having some small issues with the DX2, and since I need to factory reset I figured I would go ahead and try to root and run a rom...
So my question is being a complete noob would I be better with CM7 or Miui. Originally on the DX I looked into Miui and really liked how it looked and really wanted it and did a lot of research on it, but before I could try it I had to send back my DX and they replaced it with a brand new DX2 in the box. Then looking into it I noticed that Miui was not available for the DX2, so I just gave up and stayed put.
Recently reading thru the forums I see Miui is available now for the DX2, but I also was looking into CM7 which also looks really nice. I was wondering would either of them be easier for a noob? (i.e. install and post install customization) I have read up on both not having functional FM radio and HDMI, which are not big deals because I rarely use either... but are there any other big problems with either of these roms that would make a noobie like myself steer clear from them and is one of them faster than the other? I also looked into eclipse and not sure if that is something I should consider. Are there any major issues with eclipse and is it more stable than the other two? Honestly right now I am just trying to figure out where to start. I want to do something, but also want the easiest route so that I do not brick my phone as my wife would probably kill me, haha.
There is just so much info out there, I really don't know where to start. I know you guys probably get these questions all the time, but I could not find a specific thread that talked about just these two (or three) roms specifically for the DX2. I have been trying for the past month or two to research this stuff, and I have learned a lot, but I need a little help to push me in the right direction...
Oh, and if you couldn't guess I am on stock GB 2.3.4 unrooted...
Click to expand...
Click to collapse
Eclipse is the most stable. Cm7 and miui are both betas and not everything works.. Cm7 is good for speed, and miui for crazy customization options.
Sent from my DROID X2 using xda premium
Jubomime said:
Eclipse is the most stable. Cm7 and miui are both betas and not everything works.. Cm7 is good for speed, and miui for crazy customization options.
Sent from my DROID X2 using xda premium
Click to expand...
Click to collapse
Can I ask if you were just starting out and never messed with any roms before, which one would you choose out of the three?
kalojado said:
Can I ask if you were just starting out and never messed with any roms before, which one would you choose out of the three?
Click to expand...
Click to collapse
Eclipse is likely the most stable, with CM7 following closely behind. MIUI is still in alpha. I haven't tried MIUI yet, but I've read people are having problems. For installing, they should all follow the same process.
Woops, accidentally clicked thank on your post. Oh well lol
kalojado said:
Can I ask if you were just starting out and never messed with any roms before, which one would you choose out of the three?
Click to expand...
Click to collapse
Definitely recommend eclipse for starting out.
Sent from my DROID X2 using xda premium
Well Eclipse is currently based on Android 2.3.5, which means if you decided on that ROM, you would have to update to 2.3.5 then flash the ROM. Then if you ever wanted to switch to a different ROM, you would have to go through the process of SBF'ing back to Android 2.3.4 since all other ROMs are 2.3.4 based. However, Eclipse is the most stable as was mentioned already. Now between CM7 and MIUI, both are great ROMs. MIUI has some issues with audio and video in some scenarios but still works well. Flashing ROMs isnt that hard so if you have the time, try them all out. Just have all the files ready to restore your phone back to health in case something goes wrong.
One other thing to think about between Eclipse (which is stable and the upcoming 2.0.4 release is really stable and fast) and CM7/MIUI is HDMI.
Eclipse still can output HDMI since it still has some of the BLUR components in it.
CM7/MIUI are both compiled from AOSP components and have ALL of the BLUR components removed, hence no HDMI.
So, if you use HDMI and it's deal-breaker for you, then Eclipse is definitely the way you want to go. But, stability is also nice thing for Eclipse.
I see the stability of the ROMs as follows with the most stable listed first:
Eclipse 2.0.X
CM7 Beta
MIUI
CM9 (not released yet but it has Ice Cream Sandwich)
I was on Eclipse 2.0.3, then went to CM7 and stayed there for awhile. Then, I got onto the Eclipse beta team and started testing 2.0.4. The latest 2.0.4 is the most stable I've seen Eclipse, after a few minor issues, but that's why were were beta testing it. Definitely, I'm sticking with Eclipse.
One thing I've noticed, no matter how hard you try to leave Eclipse, I'm always noticing that people keep coming back to it. That alone should tell you how great a ROM it really is.
Thanks everyone. Seems like maybe I should try out Eclipse first, which is fine. I do want the most stable rom when it comes to my first time... then if I am feeling adventurous later I can try out the others. I will go do a search and hopefully can find a post that lets me know everything I need to do in one post. Thanks again for all the help, if anyone else wants to chime in, please do, I am open to any and all suggestions!
Go here:
http://www.eclipserom.com/forum/viewtopic.php?f=17&t=46
Motcher has given a step-by-step explanation on how to get Eclipse 2.0.3 up and running. Once you have that, then when Eclipse 2.0.4 goes public, you'll already be set to flash it.
Eclipse 2.0.3 is here -> http://www.eclipserom.com/forum/viewtopic.php?f=17&t=11
Both of these links go to the Eclipse forums where Nitro posts all his releases now.
kalojado said:
Can I ask if you were just starting out and never messed with any roms before, which one would you choose out of the three?
Click to expand...
Click to collapse
kalojado said:
Thanks everyone. Seems like maybe I should try out Eclipse first, which is fine. I do want the most stable rom when it comes to my first time... then if I am feeling adventurous later I can try out the others. I will go do a search and hopefully can find a post that lets me know everything I need to do in one post. Thanks again for all the help, if anyone else wants to chime in, please do, I am open to any and all suggestions!
Click to expand...
Click to collapse
Eclipse is a good choice for your first time. It'll be gentle I promise.
kalojado said:
Thanks everyone. Seems like maybe I should try out Eclipse first, which is fine. I do want the most stable rom when it comes to my first time... then if I am feeling adventurous later I can try out the others. I will go do a search and hopefully can find a post that lets me know everything I need to do in one post. Thanks again for all the help, if anyone else wants to chime in, please do, I am open to any and all suggestions!
Click to expand...
Click to collapse
Lucky for you, motcher created this sticky in the Development forum here,
http://forum.xda-developers.com/showthread.php?t=1391824
[REF]How to go from any 2.3.4 stock/custom rom to any 2.3.5 (412) based custom rom
It has all the instructions you need in one place , it is all very easy also , don't be afraid of bricking your x2
We have this little thing called sbf, as long as you have a computer you will be able to bring you phone back from any "bricked" state if any problems happen.
just stay away from modifying any boot partitions or anything like that. Stick to basics like flashing roms and tweaks/mods/scripts that are found here in the x2 forum and you won't ever hard brick your x2 to the point of no return lol
if you are ever unsure about what exactly a mod/tweak/script/ROM/hack does to your phone then just ask before doing it, trust me tho, sbf is freaking great, so many times I've gotten "bricked" at the Motorola dual core splash screen and a quick sbf flash brings it right back...
And in case you didn't notice, I recommend eclipse enjoy, happy flashing, and welcome
Sent from my DROID X2 using Tapatalk
Thanks so much for the info! I was out searching and wanted to ask if there was a specific link I could get that I could trust, but I didn't want to bother you all as I am sure you get these same questions over and over again. So thank you so much for passing that along... such a huge help and I am gonna attempt it here in a few moments...
Yeah, I have read a lot about sbf'ing and some people still act like I should be worried about bricking my phone, but I have also read other places where people have stated they have yet to see a phone they couldn't get back. So I am gonna try this, and just follow it step by step so I don't screw anything up! Will let you all know how it goes. Again, I can't thank everyone enough for all the great info!!
kalojado said:
Thanks so much for the info! I was out searching and wanted to ask if there was a specific link I could get that I could trust, but I didn't want to bother you all as I am sure you get these same questions over and over again. So thank you so much for passing that along... such a huge help and I am gonna attempt it here in a few moments...
Yeah, I have read a lot about sbf'ing and some people still act like I should be worried about bricking my phone, but I have also read other places where people have stated they have yet to see a phone they couldn't get back. So I am gonna try this, and just follow it step by step so I don't screw anything up! Will let you all know how it goes. Again, I can't thank everyone enough for all the great info!!
Click to expand...
Click to collapse
Yea
I haven't seen anyone truly hard brick an x2
just stay away.from the mounts& storage options in BSR , and I think the only things you should touch in the advanced menu in BSR is wipe dalvik cache and battery stats...don't mess with anything else and you will be just fine brotha
Also, if there is anything you are to "embarrassed" to ask on the forum, then just shoot someone a private message my pm inbox is always open
And yes, when rooted and you are doing hacks and tweaks and such, you always have the risk of something going wrong, but like I said, never seen a truly hard bricked x2 that couldn't be fixed via sbf, ...you really gotta kinda be TRYING to brick for that to happen lol
ashclepdia said:
Yea
I haven't seen anyone truly hard brick an x2
just stay away.from the mounts& storage options in BSR , and I think the only things you should touch in the advanced menu in BSR is wipe dalvik cache and battery stats...don't mess with anything else and you will be just fine brotha
Also, if there is anything you are to "embarrassed" to ask on the forum, then just shoot someone a private message my pm inbox is always open
And yes, when rooted and you are doing hacks and tweaks and such, you always have the risk of something going wrong, but like I said, never seen a truly hard bricked x2 that couldn't be fixed via sbf, ...you really gotta kinda be TRYING to brick for that to happen lol
Click to expand...
Click to collapse
Okay one quick question. On the link you provided the very fist download, RSD lite is not available. When you go to download it you get "Such file does not exist or it has been removed for infringement of copyrights." I went into the eclipse forum and there is mention of it being updated, but that is all I can find. Do you know where else I could get this file?
http://forum.xda-developers.com/showpost.php?p=22117008&postcount=135
Someone else asked same question other day
that link shows my response
Also,
U said you were on stock 2.3.4 right?
you won't need to sbf if you are, just install the 2.3.5 update zip
Then root with zergrush and good to go
Unless you are just getting everything set up for just in case you need to sbf...which is a great idea also
Good luck
ashclepdia said:
http://forum.xda-developers.com/showpost.php?p=22117008&postcount=135
Someone else asked same question other day
that link shows my response
Also,
U said you were on stock 2.3.4 right?
you won't need to sbf if you are, just install the 2.3.5 update zip
Then root with zergrush and good to go
Unless you are just getting everything set up for just in case you need to sbf...which is a great idea also
Good luck
Click to expand...
Click to collapse
Yes, thats exactly what I was doing. I wanted to make sure I had everything just in case something went wrong. Just figured it would be good to have everything all set But thanks again... much appreciation!
Miui is my rom of choice when it's in full release candidate polish, and maybe eventually Ace's Miui4DX2 will get there. In the meantime, there's a battery-eating wakelock issue, app-by-app sound issues (sound sometimes just doesn't work), and some kind of rendering issue that slows Netflix/certain games/MX Video and various other media apps to a 1 frame per minute crawl. There's also an issue where wifi drops out periodically and doesn't reconnect unless you prompt it (or install a service like "Wi Fi Fixer" that toggles it for you).
So until Ace releases a better beta (which could be as soon as tomorrow, or as late as never), I'd count Miui out as a daily driver.
CM7 as a rom is great--not quite as pretty as Miui (and I find Miui eliminates a lot of the sloppiness in pre-ICS Android), but it is rock solid. DZK's build is an almost perfect CM7 build, except it has the same wifi connectivity issue as Ace's Miui. The advantages it offers more than compensate for the annoyance of having to run Wi-fi Fixer and every now and then waiting for wi-fi to reconnect.
I'm running CM7 on my DX2 and am quite happy with it. I'll give Miui another shot if there's another release (and I'm excited to see how DZK's CM9 runs), but CM7 is likely to be the best daily driver for the X2 for at least another month or two
Eclipse is Blur based (so it has the advantage of functional HDMI), but suffers from the slowdowns/choppiness/audio tearing when multitasking we all know Blur brings. Nitro did a good job of cutting Blur's visual crap out, and he built in a few useful scripts.
Eclipse is definitely better than stock, but if you're gonna go through the trouble of rooting and rom-ing, I'd go with CM7. There's also the issue jsgraphicart mentioned about 2.3.5 vs 2.3.4 requiring a couple extra SBFs if you ever want to switch to something else.
DaveRichardson said:
Miui is my rom of choice when it's in full release candidate polish, and maybe eventually Ace's Miui4DX2 will get there. In the meantime, there's a battery-eating wakelock issue, app-by-app sound issues (sound sometimes just doesn't work), and some kind of rendering issue that slows Netflix/certain games/MX Video and various other media apps to a 1 frame per minute crawl. There's also an issue where wifi drops out periodically and doesn't reconnect unless you prompt it (or install a service like "Wi Fi Fixer" that toggles it for you).
So until Ace releases a better beta (which could be as soon as tomorrow, or as late as never), I'd count Miui out as a daily driver.
CM7 as a rom is great--not quite as pretty as Miui (and I find Miui eliminates a lot of the sloppiness in pre-ICS Android), but it is rock solid. DZK's build is an almost perfect CM7 build, except it has the same wifi connectivity issue as Ace's Miui. The advantages it offers more than compensate for the annoyance of having to run Wi-fi Fixer and every now and then waiting for wi-fi to reconnect.
I'm running CM7 on my DX2 and am quite happy with it. I'll give Miui another shot if there's another release (and I'm excited to see how DZK's CM9 runs), but CM7 is likely to be the best daily driver for the X2 for at least another month or two
Eclipse is Blur based (so it has the advantage of functional HDMI), but suffers from the slowdowns/choppiness/audio tearing when multitasking we all know Blur brings. Nitro did a good job of cutting Blur's visual crap out, and he built in a few useful scripts.
Eclipse is definitely better than stock, but if you're gonna go through the trouble of rooting and rom-ing, I'd go with CM7. There's also the issue jsgraphicart mentioned about 2.3.5 vs 2.3.4 requiring a couple extra SBFs if you ever want to switch to something else.
Click to expand...
Click to collapse
Well hrmm, now you got me thinking about CM7 again, lol. I am in the process of downloading the Eclipse files and maybe I will look into CM7 some more before I proceed. Honestly, I am not at all concerned with the HDMI issue, as I rarely use it... but with that being said can you tell me any more issues with CM7 that would turn off a user from making it their daily rom? if no HDMI is the only issue, that is not a deal breaker for me...
kalojado said:
Well hrmm, now you got me thinking about CM7 again, lol. I am in the process of downloading the Eclipse files and maybe I will look into CM7 some more before I proceed. Honestly, I am not at all concerned with the HDMI issue, as I rarely use it... but with that being said can you tell me any more issues with CM7 that would turn off a user from making it their daily rom? if no HDMI is the only issue, that is not a deal breaker for me...
Click to expand...
Click to collapse
I had issues with apps sometimes hanging and having to kill them. Also, Super User would sometimes forget an app already had the permissions to run as root. Sometimes, I'd have to go into the application manager and tell it to stop the application and try again and then it would get the SU permissions.
With Eclipse, I've have never had this problem. Again, it just shows how Eclipse is much more stable.
As it is, I don't know how much farther Dragonzkiller will stick with CM7 since he's working on CM9 right now. He's been so busy trying to get CM9 out that any more development/enhancing of CM7 and curing the SU and hanging process issues seems to have stopped at this point. But, not pointing the blame at DKZ as he's one busy dude with CM9.
However, Nitro is constantly busy working on Eclipse and not just for the X2. He also does it for the Bionic, RAZR, Galaxy Nexus, and Droid Charge. I don't know how he does it!
Great points. Thanks for the info. I tried to thank your post, but being new I did not know I was limited to 8 thanks per day, lol. But I wanted to let you know I appreciated the feedback!

[WIP][2.3.4]Kexec for the Droid X2-Development Thread

Hey all!
As some have seen, I have started serious work on getting kexec on the Droid X2 for Android 2.3.4. Here's what I have working so far:
Code:
[B]procfs_rw.ko[/B] - Creates an empty slot in /proc/atags so we can place our atags in.
[B]LOADED AND ACCEPTED BY INSMOD![/B]
Code:
[B]kexec_load.ko[/B] - The main kernel module of Kexec.
[B]LOADED AND ACCEPTED BY INSMOD![/B]
Code:
[B]kexec-tools[/B] - The actual kexec binary. This is what loads the new kernel and executes it.
Code:
[B]Motorola DX2 Test Kernel[/B] - Nothing more than the stock DX2 kernel with native kexec and atag support, along with "-twitish" appended to the kernel version.
What works so far:
I have gotten the kernel to accept the proc_rw as well as the kexec_load modules.
The ATAGS (Some, maybe not all) have been found and load just fine.
What we need:
Patience
What can you possibly do to help?
Tomorrow I'm going to do a write-up on how I got my development environment set-up and post my git-hub links. If you have any experience with Linux and/or kexec, I encourage you to try it out and see what you can find. I can't notice everything.
Please be aware that I am NOT PROMISING I CAN GET KEXEC WORKING!!!!! I'm simply stating what I have done, and what I need.
I have a feeling we are close...very very close.
GitHub source to come soon.
Let's please try and keep this thread clean!
IF YOU WANT TO SAY "KEEP IT UP!" OR "GOOD JOB!" OR SOMETHING LIKE THAT, PLEASE JUST LIKE THIS POST!!!
Reserved For Tutorial on how to compile and stuff. (not today)
Reserved for (HOPEFULLY) Final Release.
Exciting! Keep up the great work. This could open lots of doors for our phone!
Reading Comprehension-FAIL!
Pr0f_Farnsw0rth said:
Exciting! Keep up the great work. This could open lots of doors for our phone!
Click to expand...
Click to collapse
twitish said:
Let's please try and keep this thread clean!
IF YOU WANT TO SAY "KEEP IT UP!" OR "GOOD JOB!" OR SOMETHING LIKE THAT, PLEASE JUST LIKE THIS POST!!!
Click to expand...
Click to collapse
PROGRESS REPORT FOR 09/27/12:
I have extracted the necessary cdt.bin from the phone and after talking with [mbm] (creator of sbf_flash) I was able to extract the ATAGS from it. The ATAGS are accepted by kexec, the new kernel is loaded into RAM, and then *poof* it freezes when kexec is actually executed. I'm going to try and see what I can find tomorrow by looking through the source of kexec. I think the problem lies in the kexec-tools, it seems to be looking at an incorrect memory block. (The one it is looking at doesn't exist on our device).
Still haven't heard back from Kholk, however, here's hoping that I wake up tomorrow with a PM from him.
ONE STEP CLOSER...
Again, unless you have something to say that pertains to the actual development of kexec, don't post. Just click "Thanks".
twitish said:
PROGRESS REPORT FOR 09/27/12:
I have extracted the necessary cdt.bin from the phone and after talking with [mbm] (creator of sbf_flash) I was able to extract the ATAGS from it. The ATAGS are accepted by kexec, the new kernel is loaded into RAM, and then *poof* it freezes when kexec is actually executed. I'm going to try and see what I can find tomorrow by looking through the source of kexec. I think the problem lies in the kexec-tools, it seems to be looking at an incorrect memory block. (The one it is looking at doesn't exist on our device).
Still haven't heard back from Kholk, however, here's hoping that I wake up tomorrow with a PM from him.
ONE STEP CLOSER...
Again, unless you have something to say that pertains to the actual development of kexec, don't post. Just click "Thanks".
Click to expand...
Click to collapse
definitely cant wait to get this up and running.. i will definitely help when git is posted and see what i can do
I hate to be the "negative nacy" here, but unfortunately for twitish and the rest of the X2 community.... this is nothing new. If any of you have been following the work that I've done on kexec mine does the exact same thing, if not getting a bit further. I'm not trying to seem like the a-hole here crashing the party, but we can't sit here and think that at this state this is 'developement." In fact, it's not even up to date to what I have going for it because: the ATAGs
I highly doubt (as in I know) that whatever you have going in the /proc/atags is incorrect and will not properly load kexec. I have the correct atags data that we need. If you're willing to help me work on it, I will be willing to hand it over. But keep in mind that this isn't exactly something I'm just going to hand over easily, as they've been slightly tweaked for what we need.
As for why it's freezing (besides the atags thing). It is a problem with the cpu_reset function not properly working with ARMv7 platforms for 2.6.32 and it's even worse for the Tegra 2. Needless the say, from what I can tell, the caches aren't being properly cleared to allow the cpu to reset into the proper location with out it freaking out.
If you would like anymore information, please PM me here and I will give you more details.
dragonzkiller said:
I hate to be the "negative nacy" here, but unfortunately for twitish and the rest of the X2 community.... this is nothing new. If any of you have been following the work that I've done on kexec mine does the exact same thing, if not getting a bit further. I'm not trying to seem like the a-hole here crashing the party, but we can't sit here and think that at this state this is 'developement." In fact, it's not even up to date to what I have going for it because: the ATAGs
I highly doubt (as in I know) that whatever you have going in the /proc/atags is incorrect and will not properly load kexec. I have the correct atags data that we need. If you're willing to help me work on it, I will be willing to hand it over. But keep in mind that this isn't exactly something I'm just going to hand over easily, as they've been slightly tweaked for what we need.
As for why it's freezing (besides the atags thing). It is a problem with the cpu_reset function not properly working with ARMv7 platforms for 2.6.32 and it's even worse for the Tegra 2. Needless the say, from what I can tell, the caches aren't being properly cleared to allow the cpu to reset into the proper location with out it freaking out.
If you would like anymore information, please PM me here and I will give you more details.
Click to expand...
Click to collapse
Sent a PM. I'll start looking into the kexec code.
I figured you had the correct ATAGs, I knew you had been in contact with kholk and probably got them. As for me, mine were simply extracted from the CDT because that would at least give me a starting point.
No worries about being a negative nancy! Lol. I'd rather have someone come in and tell me I'm doing something wrong than waste my time following something that doesn't work.
I'm looking forward to future collaboration dragonzkiller. Hopefully we can get this working.
Progress Report!!
Hey guys!!! How are you?? I'm great now. Life is back to normal!!! Anyways, Here's some good news!!!
So, I got Kexec to finally REBOOT THE PHONE!!! However, it doesn't load the new kernel. It may have been a bad kernel though, as I haven't touched any of this since about a month ago. So! A new one is compiling right now.
I don't think it is the new kernel though, it probably has to do with either the incorrect ATAGs I'm probably using. (Haven't talked to DZK yet, WILL DO!!!) Or it's something else that I don't know. HA!
Anyways, I'm back. I'm all in. And I'm TRYING MY HARDEST to get you guys kexec.
I'm sure at this point it is a really simple fix. (HOPEFULLY!)
Tl;dr
It loads the new kernel, loads the initrd, REBOOTS!!! (it froze before), then reboots back into the stock kernel.
NEW INFO:
Compiled the new kernel, no-go. Freezes again. Hopefully DZK's ATAGs are the trick.
Sounds great. What kind of set up do you have and what are the requirements for setting up a machine to try and work on a kexec for the mx2 myself.
Sent from my CM10 MX2
Lrs121 said:
Sounds great. What kind of set up do you have and what are the requirements for setting up a machine to try and work on a kexec for the mx2 myself.
Sent from my CM10 MX2
Click to expand...
Click to collapse
Any sort of computer that you have will work. I'm using an older desktop with Arch Linux on it.
You just have to be able to set-up a cross-compiler, be comfortable enough with the Linux Kernel and have the proper files necessary to boot the new kernel.
twitish said:
Any sort of computer that you have will work. I'm using an older desktop with Arch Linux on it.
You just have to be able to set-up a cross-compiler, be comfortable enough with the Linux Kernel and have the proper files necessary to boot the new kernel.
Click to expand...
Click to collapse
Perfect ill have to get my Linux systme up and running and get on it. Ill have some stuff to look up but ill be on track with it soon
Sent from my CM10 MX2
twitish said:
Hey guys!!! How are you?? I'm great now. Life is back to normal!!! Anyways, Here's some good news!!!
So, I got Kexec to finally REBOOT THE PHONE!!! However, it doesn't load the new kernel. It may have been a bad kernel though, as I haven't touched any of this since about a month ago. So! A new one is compiling right now.
I don't think it is the new kernel though, it probably has to do with either the incorrect ATAGs I'm probably using. (Haven't talked to DZK yet, WILL DO!!!) Or it's something else that I don't know. HA!
Anyways, I'm back. I'm all in. And I'm TRYING MY HARDEST to get you guys kexec.
I'm sure at this point it is a really simple fix. (HOPEFULLY!)
Tl;dr
It loads the new kernel, loads the initrd, REBOOTS!!! (it froze before), then reboots back into the stock kernel.
NEW INFO:
Compiled the new kernel, no-go. Freezes again. Hopefully DZK's ATAGs are the trick.
Click to expand...
Click to collapse
I would suggest seeing if it can load a different stock kernel so you rule out that its a problem with the kernel.
Sent from my Galaxy Nexus using xda app-developers app
redwingfaninnc said:
I would suggest seeing if it can load a different stock kernel so you rule out that its a problem with the kernel.
Sent from my Galaxy Nexus using xda app-developers app
Click to expand...
Click to collapse
The kernel that I'm trying to load is a stock kernel. It's just I was trying out some stuff and it may have been one of my experiments.
Sent from my XT912 using xda app-developers app
You need to check /data/system/dropbox after the system "reboots." If at any point the phone showed the Motorola logo it was because of a kernel panic and not because of a kexec reboot. In that folder there should be gziped files about APAINC_CONSOLE. That contains the dmesg of what was happening when the panic occurred. Probably a bad pointer or a pointer to a NULL space in memory.
dragonzkiller said:
You need to check /data/system/dropbox after the system "reboots." If at any point the phone showed the Motorola logo it was because of a kernel panic and not because of a kexec reboot. In that folder there should be gziped files about APAINC_CONSOLE. That contains the dmesg of what was happening when the panic occurred. Probably a bad pointer or a pointer to a NULL space in memory.
Click to expand...
Click to collapse
Is it weird that I'm impressed by every post you make? It's weird, isn't it.
Sent from my MB870 using xda app-developers app
dragonzkiller said:
You need to check /data/system/dropbox after the system "reboots." If at any point the phone showed the Motorola logo it was because of a kernel panic and not because of a kexec reboot. In that folder there should be gziped files about APAINC_CONSOLE. That contains the dmesg of what was happening when the panic occurred. Probably a bad pointer or a pointer to a NULL space in memory.
Click to expand...
Click to collapse
Collaboration
Sent from my MB870 using xda app-developers app
definitely love reading collaboration between devs trying to fix a phone that was abandoned by a good phone company (other than not unlocking the bootloader on the droid x2)
dragonzkiller said:
You need to check /data/system/dropbox after the system "reboots." If at any point the phone showed the Motorola logo it was because of a kernel panic and not because of a kexec reboot. In that folder there should be gziped files about APAINC_CONSOLE. That contains the dmesg of what was happening when the panic occurred. Probably a bad pointer or a pointer to a NULL space in memory.
Click to expand...
Click to collapse
I checked it. And no, the Motorola logo did not show.
If anything, it might have just soft rebooted randomly. Knowing this phone that's not out of the question. Lol.

Ubuntu Touch

https://wiki.ubuntu.com/Touch/Porting
Any Devs wanna start? I don't have the experience to even know where to begin
I hope someone does try, this could be really cool.
I can probably make this work, considering it's based of CyanogenMod 10.1. Now I just need to hope repo sync works with this, because it always breaks in the middle when I try to sync with paranoid 3.
I'm not at a computer right now, but I will let you know how it goes once I can get on one.
Sent from my NookColor using xda app-developers app
thejrcrafter2 said:
I can probably make this work, considering it's based of CyanogenMod 10.1. Now I just need to hope repo sync works with this, because it always breaks in the middle when I try to sync with paranoid 3.
I'm not at a computer right now, but I will let you know how it goes once I can get on one.
Sent from my NookColor using xda app-developers app
Click to expand...
Click to collapse
They have a switch to continue if failed in the middle.
Downloading repo now.
You guys probably know this...but just in case.
I installed this on my Nexus 7 yesterday. There are no apps, just screenshots of what the apps will be when they are ready. You can supposedly still make phone calls but that won't matter here. The UI was beautiful (I thought) but that is all they have done at this point.
Just saying, it is not even close to functioning as even a media device. I actually couldn't even get wireless up, although I think that is technically supposed to work. I never used it, but I would expect the NookBuntu to be way more functional at this point.
Not to rain on anyone's parade, porting new OS is a great way to learn new things, no matter your skill level. But don't expect much return on your investment at this point.
(Also, just because, make sure that there is a kernel and ramdisk and uboot and not a boot.img in whatever you build. The device tree should take care of that for you, but it didn't on AOSP for me, and I suffered as a result.)
mateorod said:
You guys probably know this...but just in case.
I installed this on my Nexus 7 yesterday. There are no apps, just screenshots of what the apps will be when they are ready. You can supposedly still make phone calls but that won't matter here. The UI was beautiful (I thought) but that is all they have done at this point.
Just saying, it is not even close to functioning as even a media device. I actually couldn't even get wireless up, although I think that is technically supposed to work. I never used it, but I would expect the NookBuntu to be way more functional at this point.
Not to rain on anyone's parade, porting new OS is a great way to learn new things, no matter your skill level. But don't expect much return on your investment at this point.
(Also, just because, make sure that there is a kernel and ramdisk and uboot and not a boot.img in whatever you build. The device tree should take care of that for you, but it didn't on AOSP for me, and I suffered as a result.)
Click to expand...
Click to collapse
What are the app extentions?
Gonna see what I can do to get it running anyway, since I have the entire repo.
moocow1452 said:
Gonna see what I can do to get it running anyway, since I have the entire repo.
Click to expand...
Click to collapse
That's awesome Moocow, let me know if you need any help testing.
I'm not terribly educated in the art of Android OS compiling, but if there's anything I can do to help, let me know.
tsukisan said:
That's awesome Moocow, let me know if you need any help testing.
I'm not terribly educated in the art of Android OS compiling, but if there's anything I can do to help, let me know.
Click to expand...
Click to collapse
And now I got to finish it, don't I? Get into XDA's Ubuntu Touch section, and start rooting around for porting tools, walkthroughs, and whatnot and we'll compare notes if one of us finds something the other doesn't.
I worked on building the phablet for the nook. I stopped because all reports were it works very badly with only 500 mb ram. Hashcode has ported it to the kindle fire and found he could only open a couple apps before it froze up. However, he did good work on porting and put the changes on github at https://github.com/KFire-Android . You can look for phablet branches on the otter branches. The kernel changes are also present in some of his repos. Look around those repos for good hints on getting started.The kindle fire is also an omap processor, albeit omap4, so it is close to ours. The changes should be similar.
Good luck.
drmarble said:
I worked on building the phablet for the nook. I stopped because all reports were it works very badly with only 500 mb ram. Hashcode has ported it to the kindle fire and found he could only open a couple apps before it froze up. However, he did good work on porting and put the changes on github at https://github.com/KFire-Android . You can look for phablet branches on the otter branches. The kernel changes are also present in some of his repos. Look around those repos for good hints on getting started.The kindle fire is also an omap processor, albeit omap4, so it is close to ours. The changes should be similar.
Good luck.
Click to expand...
Click to collapse
So the thing that's supposed to work better with lower grade hardware doesn't work better with lower grade hardware? Ain't that hysterical? :good:
It works somehow... on samsug 9003
voit said:
It works somehow... on samsug 9003
Click to expand...
Click to collapse
Well that's good. Right now, I'm trying to incorperate NookieDev source into the Manifest.xml to get it to properly build. It doesn't seem to be as easy as the fill in the blank I thought it was, but, progress is being made, I think.
Any progress on this?
Sent from my Nexus 4 using xda premium
Good news, I've gotten it to the point where I can brunch encore to try and make a new build.
Bad news, Brunch chokes up on mkimage, for reasons unknown to me. Seems like a problem for building an Android like image, but it escaped me thus far, and the irc on freenode is... of varying quality help to say the least.
Code:
make: *** No rule to make target `/home/user/Nook/out/host/linux-x86/bin/mkimage', needed by `/home/user/Nook/out/target/product/encore/ramdisk.ub'. Stop.
make: *** Waiting for unfinished jobs....
EDIT: Just figured out that I needed to patch the main.mk in build/core to specify a mkimage, now the compiler seems to be churning. Will update once something happens.
Well, it's something.
Anyway, have not had a chance to test this out on my own Nook yet, since it picked an excellent time to flake out on me. You do need to backup and completely wipe the device, assuming it even installs. (Did not work on just a Data/Cache wipe, anyway, and I need to recover my Nook after wiping emmc along with everything else, whoops.)
Anyway, it's like radioactive juice at this point, might kill your Nook, give it superpowers, or not really much of anything. YMMV.
https://docs.google.com/file/d/0B0iHVj8OqCAmMmhvMTY2d2cwbFk/edit
EDIT: It does install, but power on goes from Cyanoboot -> Backlight on -> Backlight off -> Device Off within a couple seconds, so more work is required. le sigh
EDIT2: Turns out that was because I only had the bootstrap on the device, no phablet-flash-preinstall that actually makes it work. :silly:
With both of them flashed, I get to Cyanoboot -> persistent black screen until I cut power. Common error, so I've heard and adb works, so there may be hope yet.
Ladies and Gentlemen, Children of All Ages. I give you Ubuntu Touch for the Nook Color!!
Conditionals:
1. I had to flash my homemade bootloader first (https://www.dropbox.com/s/q5g7mnadvkdmy8k/cm-10.1-20130511-UNOFFICIAL-encore.zip), then the Mobile World Congress Build of Ubuntu Touch. http://cdimage.ubuntu.com/ubuntu-touch-preview/quantal/mwc-demo/ (quantal-preinstalled-phablet-armhf.zip)
2. Rotation is mismatched, so that it cannot recognize that it's trying to use the portrait setup in landscape, should be an easy enough fix. Jossed, as this is the MWC build, it's not really built for tablets, and the Nook gets confused on how to display thing
3. The big one. TOUCH SCREEN IS BROKEN. Granted, it makes it more of a clock than anything useful, but Ubuntu has been built and runs on the Nook Color. Built a new bootstrap based on CM 10.1 RC2, works like a glove. Still not all that much more useful compared to a clock, but that's by design.
Super duper special thanks for the guys in the Ubuntu-Touch mailing list and irc.freenode.net #ubuntu-touch and #nookcolor, who I could not have done this without.
moocow1452 said:
Ladies and Gentlemen, Children of All Ages. I give you Ubuntu Touch for the Nook Color!!
Conditionals:
1. I had to flash my homemade bootloader first (https://www.dropbox.com/s/eaxcz91x7rm36tg/cm-10.1-20130508-UNOFFICIAL-encore.zip), then the Mobile World Congress Build of Ubuntu Touch. http://cdimage.ubuntu.com/ubuntu-touch-preview/quantal/mwc-demo/ (quantal-preinstalled-phablet-armhf.zip)
2. Rotation is mismatched, so that it cannot recognize that it's trying to use the portrait setup in landscape, should be an easy enough fix.
3. The big one. TOUCH SCREEN IS BROKEN. Granted, it makes it more of a clock than anything useful, but Ubuntu has been built and runs on the Nook Color.
So, what next?
Click to expand...
Click to collapse
Looks cool. What's next? fixing touchscreen and fix rotation.. the rotation bit, depending on what the issue is, might be fixed by a change to the kernel config or drivers-- see https://github.com/NookieDevs/andro...mmit/7894401f916eb90b08f113a0cedf4f4d12a1ed77 and https://github.com/NookieDevs/andro...mmit/297a7593c56a75691eb7a7ea4aabab4a052273c3
that's a kernel config flag sluo added. You can also play with the peripheral board file for more control... https://github.com/NookieDevs/andro...rch/arm/mach-omap2/board-encore-peripherals.c
Sweet Tiitties!
Sent from my NookColor using xda app-developers app
AgentCherryColla said:
Sweet Tiitties!
Sent from my NookColor using xda app-developers app
Click to expand...
Click to collapse
Indeed. Especially now that with the latest get of CM for Encore, I got touch screen working for the MWC demo. (Somehow) Turns out that rotation isn't so much the issue as is resolution, everything being too big to properly fit on the Nook Screen, and it looking more like a phone than anything, but it effing works like the half assed demo it's supposed to be.
https://www.dropbox.com/s/q5g7mnadvkdmy8k/cm-10.1-20130511-UNOFFICIAL-encore.zip
EDIT: Do any of you guys want me to do a write up or a Youtube video on how to patch and build your own version of encore for your Nook machine?

Categories

Resources