7-16: Some news. Well, I have some borked hardware and have begun to feel like, to new users, this thread might be more frustrating than helpful.
Therefore, if you are new to the thread/process, I would like to recommend that you try the Auto-Patcher instead. It ports all the functions of this thread (it is what I use to make the packages in the repo) with the assurance that the output won't be incompatible with your ROM.
Please see the release/support thread for the Auto-Patcher for downloads/help.
I am more than proud to have introduced so many of you to Botbrew and native Android package management. Inportb has put together a rock-solid platform that only improves with time. It was a distinct pleasure to watch it evolve, and I hope you all keep an eye on its progress.
I consider it to be the most powerful app available. There are literally limitless possibilities, software porting being among the least of them. I can't wait to compile my first ROM on a tablet- it will be Botbrew that makes it possible. The possibility of our mobile devices replacing laptops are only possible through things like this, and right now, Botbrew is the only game in town. I expect it to remain the standard.
Thanks, all. If you would like an existing package updated, you can always request it in the thread. I can no longer maintain in advance, but I will be happy to offer support on demand.
If you are new, please try the Auto-Patcher instead! Link above!
Offered Packages (only for Nook Color!)
mateorod-v6
Package that enable the v6 supercharger
mateorod-pdroid
Package that installs the framework for PDroid
mateorod-pdroid-v6
(wait for it...)Package that enables BOTH the v6 supercharger and PDroid
If you don't know what the v6, PDroid, or even Botbrew does exactly, please see the information section farther down this post.
Install Directions
Download and install Botbrew, free from Google Play. Botbrew will bootstrap in opkg or dpkg-apt along with several other packages necessary to its operation.
Install package repository-mateorod and press the refresh packages button at top right.
Install the mateorod-whatever package of your choice.
This will be the only system app package you will need to install. Any dependencies will automatically be resolved by its installation. That includes the v6 script.
Reboot.
If your mateorod package includes the v6 supercharger
After reboot open a terminal and enter the following:
Code:
su -c v6
The v6 script will run immediately and you can configure it from there. If you have any lingering questions about the configuration, please see the artifact that is post #3.
If this is your first time upgrading the V6 since update 8, (the one mrg666 used to recommend) don't re-supercharge from your sdcard or you will encounter mount issues! Just configure from scratch.
If your mateorod package includes Pdroid
Install PDroid from Google Play and configure
That's it!
**Should you ever wish to reverse these system changes, Botbrew completely takes care of that for you, restoring backups of every file modified by the process! Simply select the mateorod-whatever package and press Autoremove.
**Upon flashing a new nightly, just launch Botbrew. A repairable packages screen will automatically launch. Select those packages and reinstall them, then reboot. The Botbrew repo will keep up with the CM repo, so as long as you are upgrading to the latest nightly, you will be fine simply reinstalling!
Information
Botbrew
Botbrew is a package manager developed by the totally patient and kind inportb. I make the pitch for its capabilities, as well as my rationale for using it to distribute this software at the top of the 2nd post's ALL-NEW Q&A.
To learn more about Botbrew, visit its homepage OR the thread here on XDA.
v6 Supercharger
The v6 supercharger is a popular script that changes the way your android device's memory management is handled. It was developed by zeppelinrox and lent to Botbrew for the Nook Color by special dispensation. Read more and thank zeppelinrox here.
PDroid
PDroid is a security app available for free on Google Play. It has just about a million applications, the foremost of which is allowing you to block permissions to apps (system and user) from having permissions you are uncomfortable giving. Apps that are given permission to access your contacts, for instance, can now be blocked from that privilege at your discretion.
Pdroid also allows you to set static or random values for sensitive info should an app require them. So apps like Swype and others that require IMEI numbers or phone numbers can now be used like on regular devices. See svyat's original thread and thank him here.
This is the only method to use these programs outside of smali editing your own apps! Usually this is an either/or, but not with these packages!
Try the Auto-Patcher instead!
ohsnap...plug time!
Humility...
XDA News Portal article on v6 package (frontpaged!)
XDA News Portal article on Botbrew (x2)
XDA News Portal article on the PDroid packages(...x3!)
Gratitude...
inportb, for holding my hand through every step of this process, and for Botbrew itself.
Zeppelinrox for lending us the v6 supercharger script
svyat for developing PDroid
PoorCollegeGuy for his continuing support to the project.
racks11479- y'all know racks. But he's got his hands in Botbrew, as well.
pastime1971, my collaborator on the PDroid auto-patcher and the port of PDroid to ICS.
bet you didn't know it took so many people to supercharge a nook, now did ya?
Brand New Q&A!
Q: So why Botbrew and package management and not flashable zips?
A: Ahhh...the million dollar question, I suppose. After all, almost all system changes have been done with flashable zips everywhere else, right?Well, part of the experiment here is to get people comfortable with the idea of package management for their Android device. It is a method that people use with Linux (think Synaptic) and iPhones (Cydia) but is not yet in vogue with Android. But the advantage is not just theoretical, there is tangible and useful value that you will get to experience immediately.For instance, installing system apps for ICS makes the most sense when done through a package manager. With the CM repo being compiled on a nightly basis, the system apps themselves are a moving target. What I mean by that is that the services.jar I mod today may break an install tomorrow. If I distribute the file in a flashable zip that people apply over their install every time they upgrade, well, once the Cyanogen repo updates and the services.jar no longer plays nice with the rest of the install, everyone who flashes that zip on a regular basis is in for a nasty surprise that morning.With a package manager, the first person who realizes the services.jar is out of date (almost always me) just reports back to the thread. I quickly make a new file and update the Botbrew repo. Users don't have to monitor a thread, or personally make a new file, that only has to be done by one person.Now, as is available in this thread, think if there are two different mods to that same services.jar. One user just wants the original mod, while the next would like them both. Neither user has the time or energy to personally decompile and mod the source code for every nightly, but flashing will only install one or the other services.jar. The package management method allows the software distributors to foresee this, and allow for it. That is why you see packages like mateorod-pdroid-v6, something that is just not available for any other nightly install.One last benefit, and this one is a bit theoretical. As of right now, Botbrew only has a few people using it to supply software. But as awareness and the user base grows, more developers will see it as a means of reaching a wider audience. Right now, things like scripts and themes rely solely on word-of-mouth. Think of Botbrew as a potential store-front for all manner of software, everything that isn't a user app (because, of course, Google Play and others already do a fine job of that) could be found here, waiting for your perusal and discovery. That day isn't here yet, but by being willing to try a package manager, you are part of the growing user base that will attract devs. Getting users is the hard part, the devs will follow.Q: So what is Botbrew, exactly, if it just distributes software?
A: At its base, as inportb will tell you, Botbrew is simply a sophisticated installer, with the capacity to add software repos at will. When you install the repository-meteorod package, you are simply downloading my list of available software. You could add as many repos as you want from the Opkg configuration tab in the menu. However, Botbrew also uses unique maintainer scripts that allow software to be installed with a delicacy and precision not available elsewhere. Modding a live install is no everyday thing, and as Android devices get beefier and more powerful, some of the system-mods can be done live on the device, no pre-made software necessary. That will put the power of every script, theme and mod right in your hands, to apply, try and uninstall at will, without having to flash. There are enormous benefits to this.
Okay, the package management proselytizing is done...on to practical matters.
Such as...
Package date issues and build selection
Q: ZOMG! I just installed a package and now I have BOOTLOOPS! What do I do?
A: As they say, don't panic. Just reboot, and press the 'n' button as Cyanoboot loads. Use the menu to boot into recovery and reflash your ROM. The system app just went out-of-date and you were the lucky first user to discover it. Please come to the thread and report any such occurrence. I check each package on a nightly basis (because I love yooouououo) but I have missed a big repo change before and likely will again. I keep a close eye on the thread, and will update the Botbrew repo as soon as possible.Q: What do you mean, a package goes out-of-date?
A: As I said above, ICS is, as of right now, in an experimental and alpha state. What we flash every night isn't even an official release. I think in Cyanogen's perfect world, the amount of users on CM9 as a daily driver would be much less, but with it's popularity and rapidly educated user-base, that genie is out of the bottle. But when the source code used to create these system apps is changed enough, the apps made from the older code are no longer compatible with the newer builds. When that happens...ZOMG! and all that jazz.Q: Even though you just explained how it's basically risk free I am cautious by nature. How do I lessen the chances of bootloops?
A: Just flash in the morning. I check these packages almost every night on builds I set to be tested an hour or two before eyeballer and Samiam go live. By the time you wake up in the morning, there is a 95% chance the packages have already been vetted and replaced if necessary.Q: How often do the packages go out-of-date?
A: Maybe once every three weeks, although I recently had one go out of date after two days (ouch, right?). If you install the packages only over the latest nightly, you'll likely never notice.Q: So how do I know if the build I am using is covered by the Botbrew repo?
A: The absolute best way is to flash a nightly on the day it is released, go into Botbrew and install your packages then. That way you'll always be covered. Those packages will last as long as your nightly is installed. When you feel you are ready to update, just grab the latest nightly and do the same thing again.Q: I am real partial to the build from (for example) March 3rd. What if I want to use Botbrew packages on a certain older nightly?
A: At the bottom of this Q&A there is a list of downloadable packages and the build dates they go with. The links download the package which is installable from any browser or file manager, as long as Botbrew is installed.
Q: What do I need to do after updating to a new nightly?
A: It's real easy. Just launch Botbrew. A screen should automatically appear that supplies you with the list of packages that have been damaged (read: overwritten) by the flash. Select those packages and press reinstall. Then reboot and you're done.Q: Does it work on both eyeballer and Samiam303's builds?
A: The answer is yes, with a catch. Eyeballer clobbers his builds every night, which means he is using no prebuilts from earlier builds and everything in his build is fresh made from that night's source. Samiam currently does not. That means that if you are using Samiam's builds, I recommend you read your build.prop in /system and find the ro.build.date. The date that is there is the last time Sam clobbered, and you will need to use a package that corresponds with that date. You can download the package and save it to your sdcard, and whenever you update, simply check the build date. If he clobbers, pick the corresponding package and go from there. The list of older packages are at the bottom of this post.Q: OpenGL? Do I need different packages if I do/do not have that enabled?
A: Nope. The packages work with or without OpenGL functionality.Q: What about the (totally kick-butt) incremental updates that Team Win is distributing through GooManager?
A: The diff-cm.zips actually break the mechanism Botbrew uses to determine if a flash has been performed (symlinks). For now, we just hope user education will carry us until we come up with a more permanent solution. You WILL have to repair the packages after a flash. Just go into Botbrew and select the germane packages and reboot.
Installation problems and errors
Q: I just ran "su -c v6" and the terminal returned only a "$"! What gives?
A: That is an unfortunate side-effect of the package installation (one I hope I recently fixed!). Launch Botbrew, go to the v6 package and press reinstall. The script will work in the terminal as before, no reboot necessary.Q: I pressed Auto-remove, but it failed! What went wrong?
A: It is an unfortunate bug in Opkg, the engine that powers Botbrew, where the autoremoval process sometimes fails. Just try it again until it works. I find that when it fails for me, the third try finishes the removal process completely.Q: I just tried to install a mateorod package, but the install failed because of "check_data_file_clashes" and "file is already provided by * android-framework*"?
A: Yep, that is a designed file conflict, added to the packages to protect the integrity of the backups and prevent users from accidentally losing functionality they really wanted. The error means you already have a mateorod-whatever package installed. Look for it in the installed packages screen, uninstall that package first, and then try to install your other mateorod package.Q: Can I get (your favorite mod, script, or theme) supported by a package from Botbrew?
A: We can certainly try. Botbrew is only limited to offering packages we can figure out how to make. Request it in the thread, and maybe we can find a way to package it up together.
Older Packages
These packages are available for those of you running an older nightly who do not wish to flash an update. If your build is past any of the dates below, you can install directly from Botbrew!
If Botbrew is installed, the packages below can be installed directly from any browser or file manager.
ONLY install one package at a time!
3/10-4/14
PDroid only
android-framework-pdroid_1.3.2-2_encore.opk
Pdroid+v6
android-framework-pdroid-v6_1.3.2-2_encore.opk
v6 only
android-framework-services-v6.opk_0.0.4-5
4/17-5/05
PDroid only
android-framework-pdroid_1.3.2-4
PDroid+v6
android-framework-pdroid-v6_1.3.2-4
v6 only
android-framework-services-v6_0.0.4-6
5/05-5/06 (Ouch, right?)
PDroid only
android-framework-pdroid_1.3.2-5
PDroid+v6
android-framework-pdroid-v6_1.3.2-5
v6 only
android-framework-services-v6_0.0.4-7
5/07-5/10 (Ouch again, amirite?)
PDroid only
android-framework-pdroid_1.3.2-6
PDroid+v6
android-framework-pdroid-v6_1.3.2-6
v6 only
android-framework-services-v6_0.0.4-8
5/11-5/14 (It is starting to feel personal)
PDroid only
android-framework-pdroid_1.3.2-7
PDroid+v6
android-framework-pdroid-v6_1.3.2-7
v6 only
android-framework-services-v6_0.0.4-9
5/15-5/18 (It is
PDroid only
android-framework-pdroid_1.3.2-8
PDroid+v6
android-framework-pdroid-v6_1.3.2-8
v6 only
android-framework-services-v6_0.0.4-10
5/19-5/26
PDroid only
android-framework-pdroid_1.3.2-9
PDroid+v6
android-framework-pdroid-v6_1.3.2-9
v6 only
android-framework-services-v6_0.0.4-12
5/26-5/27
PDroid only
android-framework-pdroid_1.3.2-10
PDroid+v6
android-framework-pdroid-v6_1.3.2-10
v6 only
android-framework-services-v6_0.0.4-13
5/27-5/30
PDroid only
android-framework-pdroid_1.3.2-11
PDroid+v6
android-framework-pdroid-v6_1.3.2-11
v6 only
android-framework-services-v6_0.0.4-14
5/31-6/03
PDroid only
android-framework-pdroid_1.3.2-12
PDroid+v6
android-framework-pdroid-v6_1.3.2-12
v6 only
android-framework-services-v6_0.0.4-15
6/03-6/07
PDroid only
android-framework-pdroid_1.3.2-13
PDroid+v6
android-framework-pdroid-v6_1.3.2-13
v6 only
android-framework-services-v6_0.0.4-16
6/08-6/10
PDroid only
android-framework-pdroid_1.3.2-14
PDroid+v6
android-framework-pdroid-v6_1.3.2-14
v6 only
android-framework-services-v6_0.0.4-17
Current nightlies and any Android 4.0.3 builds are always supported by the package in repository-mateorod
*Note: There is no version 11 for the android-framework-services-v6 package.
If you are running samiam's builds, the package you need will depend on how recently he clobbered! Check the build date in the build.prop and choose your package accordingly!
Quick V6 Configuration Guide
This is an artifact, almost. But if you have questions about the configuration process for the v6, this is what I used.
The V6 Supercharger menu asks users to confirm operations at several points, usually prompting you to press the Enter button, y for yes or n for no. Those are just confirmations of intent and those steps are skipped in the guide. They are common sense though, and should pose no problem.
The script and the method of modding the services file is the product of the hard work of zepplinrox. I just followed the directions to save people the effort. Any risks are yours and yours alone, as always.
1) Download and Launch Botbrew. Botbrew will bootstrap in some necessary packages
2) Install package repository-mateorod[/] and press the refresh packages button at top right.
3) Install package mateorod-v6
4) Reboot. You will see an "Android is upgrading" pop up over your boot animation.
5) Open a terminal and run the following:
Code:
su -c v6
6) The script will run. The program should automatically run the Driver Options. (If not, enter option 26 in the main script menu to continue following this guide).
Choose 1-3 for scrolling speed. (do yourself a favor and select 1, for the fastest)
7) Y for yes to integrate into init.rc
8) Enter y if you do not want the V6 script animation.
9) The script will enter its main menu which has 30 options. Select option 7.
OpenGL Users: Some slightly less aggressive settings have been reported as resulting in increased stability with OpenGL.
10) You will be prompted to Super clean and Reboot.
This is no longer necessary. The supercharger settings take place immediately. But you can do it if it makes you feel better.
11) Disable and reenable zRAM at 18% in settings/performance/memory management/zRAM in the device settings if you experience lag later. Since this requires reboots, I have changed this to as-needed. Update HacDan informs us our kernel does not have zRam compression. Verdict: Unneeded!
12) Rerun V6 script and read the info beneath the menu list. It should indicate that
-Launcher is Die-Hard, i.e. Supercharged
-ADJ fixes NOT NEEDED
-OOM Groupings Fixed
-Current AND prior minfrees = 8, 14, 75, 90, 95, 125 mbs
-Supercharger Service is installed, and
-Supercharger Level = 100% Supercharged.
If so, then you are correctly installed and running, and your values are sticking after reboot. That's it
mateorod....nice job here....I've been wanting to do the V6 thingy for weeks but everytime I read those original posts I got a little paranoid.
I run MIRAGE on an SD card and the information you provided here worked well.
I'm not sure V6 is helping a lot but its only been a day. I'm seeing no HUGE increase in speed and in some cases....maybe a little slower.....but time will tell.
I just hope it is easy to back off if I want.
Thanks again for your documentation.
Glad it worked for you. Unsupercharge is an option in the menu, should you want to undo the changes. This update makes backups of all of your original settings during the setup process, so they are quick to restore.
Thanks for trying the guide for me.
Have you tried root explorer to see if it works
Posted from Asus Transformer Prime
I have tried to repack the modded services.jar into the nightlies using Root Explorer with varying results. I haven't downloaded the last few updates, but navigating within zips has been buggy in ICS for me. When I tried to copy/paste, it appeared to work, but the file remained unreplaced.
I usually use the latest release candidate of Total Commander for file moving, as its dual window format is easy and it uses a progress bar for large operations. But it too is buggy using the nightlies.
FWIW: I have tried ES Explorer, Root Explorer, Total Commander, OI File Explorer 1.2, and Astro with only Astro working for me.
Having said that, replacing the file is easy on a home computer . I just try my best to find a way to do things entirely from the Nook as a personal idiosyncrasy.
Tried using astro to put the services.jar in, only getting bootloops (1 hour+ and counting, way too long). Tried putting it in before and then flashing the update.zip (2/25 ICS). Tried letting it boot for 2 hours, nada.
Anyone know what I'm doing wrong?
Only thing I can think of, is that you have something in your data that is working against this. My advice is to grab a clean nightly(one you haven't messed with) and put it on your sd. Boot into recovery clear cache and dalvik, update to that nightly, and see if you get through. If you can't than you might have to do a clean install.
But if you get through, than perhaps you should run titanium backup to be safe. Launch root explorer and swap the service.jar files. Reboot and clear caches. If you are able to reboot completely than continue on your directions, if not than perhaps your .jar file is corrupt.
I made a services.jar modded from eyeballer's 2/26 non-opengl build. Has cut down on the bugs so far. I will run it in my device tonight and if it looks unharmful, I will replace the top file tomorrow.
mateorod said:
I made a services.jar modded from eyeballer's 2/26 non-opengl build. Has cut down on the bugs so far. I will run it in my device tonight and if it looks unharmful, I will replace the top file tomorrow.
Click to expand...
Click to collapse
PM me if it works, than I can replace my files on Sam's thread.
Sent from my Nook Color, running Samiam303's ICS nightly V6 SuperCharged, using Tapatalk.
When I do step 11 in the second post (rerun V6) nothing happens I just get dropped back to /sdcard #.
Rick_V said:
When I do step 11 in the second post (rerun V6) nothing happens I just get dropped back to /sdcard #.
Click to expand...
Click to collapse
This happened to me, download Script Manager from market(it's free). Run your V6 script in that program.
An encore (nook) specific services.jar for the 2/27 builds will be up in about 20 mins.
Update: Now up on original post attachment list.
Okay so I made this ZIP, it should replace your service.jar with the newest one for V6(from mateorod's post), and the bootanimation to the official CM9 one (Video Link)(Tnpapadakos' files).
Grey
Could you be more specific about what is included in the zip you just posted here for anyone who isn't following the other thread? I read it fairly regularly, but I have no idea myself. There are a ton of tweaked packages running around right now, they can be hard to keep straight.
Thanks
mateorod said:
Grey
Could you be more specific about what is included in the zip you just posted here for anyone who isn't following the other thread? I read it fairly regularly, but I have no idea myself. There are a ton of tweaked packages running around right now, they can be hard to keep straight.
Thanks
Click to expand...
Click to collapse
yeah i have to agree, its precisely why i gave up on running ics on my nook, too many messy mixed messaged threads going on mixing mods. itd be great to just see an ics rom compiled with everything included to make lives of idiots like me easier.
mateorod said:
Gray
Could you be more specific about what is included in the zip you just posted here for anyone who isn't following the other thread? I read it fairly regularly, but I have no idea myself. There are a ton of tweaked packages running around right now, they can be hard to keep straight.
Thanks
Click to expand...
Click to collapse
I fixed it
Am I the only one who can't find V6 U9RC6.9 and doesn't see build.prop options?
grayfoxmg1 said:
Okay so I made this ZIP, it should replace your service.jar with the newest one for V6(from mateorod's post), and the bootanimation to the official CM9 one (Video Link)(Tnpapadakos' files).
Click to expand...
Click to collapse
Thanks for that zip! Just a heads up though, if you drop any boot animation in /data/local, you dont have to worry about it being overwritten when flashing a new nightly. The one in /data/local overrides the one in /system/media, and will not be replaced on install of a nightly.
On another note, for those that have the boot animation already, or just want to have the script and latest services.jar, I made a zip (actually based off of yours, grayfoxmg1, since I'm new to this) that will copy services.jar (EDIT: This is for the 0227 services.jar file. I will be uploading a zip with the 0302 one shortly.)(mateorod's latest Nook specific one) to /system/framework, and will put the V6 script (latest RC6.9, named "V6.sh") onto the root of your sdcard. If there any issues let me know, as I am new to making flashable zips.
Zip without boot animation (EDIT: This is for the 0227 services.jar file. I will be uploading a zip with the 0302 one shortly.) :
http://db.tt/fUIddDP4
Zip with boot animation placed in /data/local to make it (EDIT: This is for the 0227 services.jar file. I will be uploading a zip with the 0302 one shortly.) :
http://db.tt/MjJ5LEgK
(If this is the wrong place to put this, or for any reason you dont want it here, just let me know and I will remove it!)
numus said:
Am I the only one who can't find V6 U9RC6.9 and doesn't see build.prop options?
Click to expand...
Click to collapse
No, for some reason (I suppose he just uses init.rc tweaks now) there is no longer that option. Ran the script 3 times, and no build.prop options :/
Related
So, the thing is...I absolutely cannot stand HTC Sense. I am an Android purist and a minimalist at heart. I love HTC's hardware...but their software is crap. Coming from a Nexus One, which had almost no bloatware on it at all, I experienced quite a shock when I first booted up my Amaze. I've seen less crap on a manure truck.
So, the logical thing to do of course would be to dump the stock rom, and load up CrackEyes SenseLess (or BulletLess or whatever he's calling it now). I've tried them...and no offense to CrackEyes...I'm sure he's put a lot of time and effort in to making these ROMs...but they're just not stable enough for me. On the other hand, Xboarder's QuikSense and BulletProof have proved themselves rock solid time and time again. But Xboarder doesn't seem to mind leaving some of the bloatware and stock HTC sense crap on there that a minimalist like myself hates.
I am actually working on compiling my own ROM (which I plan on calling AntiSense whenever it's done), but as I am a newcomer to the developing scene, it's taking a while b/c I've never done anything this complicated before. Luckily I've made some friends over in the G-Slate community who have helped me along quite a bit.
However, until my ROM is finished, I created 4 simple little batch files that will safely and quickly debloat XBoarder's BulletProof v2.5 (which is what I currently have installed and tested it on). Should work on earlier versions as well, and maybe even other ROMs (though probably not any of CrackEyes' as he's already removed a lot of this stuff already). There are 4 versions, two which will simply move the apps out of the way (into a folder called app-unused), and two of which will actually remove the apps from the device entirely. Each has its own trade-offs. The Debloaters will keep the apps from being visible by android, and will provide a backup location for these apps should you want to reinstall them later, however it will not save you any space on the internal phone storage. The Debloater-Removers will get you more space in your internal phone storage, but will not provide a backup for the apps and could potentially cause some errors or FCs with Sense (although I have yet to experience any during my tests). So, in other words, choose wisely which one you want to use.
REQ's:
1. ClockworkMod 5.5.0.4 (XBoarder's work) or HTC Sync and HTC drivers installed on PC.
2. BulletProof 2.5 or less (XBoarder again), or some other ROM that enabled root access except Senseless or BulletLess.
3. Android SDK installed and system variables are set properly on your Windows machine (btw this won't work for linux duh). Instructions for this are found in the quote below. Copied straight off'a Cyanogenmod Wiki. Adjust folder paths to your android-sdk folder as necessary.
Go to the Control Panel, and select the System Properties (Windows XP) or System (Windows Vista/7).
Select the Advanced settings;
Windows XP: Click on the Advanced tab.
Windows Vista/7: Click on Advanced system settings on the left.
Click on Environment Variables.
Under the "System variable" section, you will look for "Path". Double-click on it.
In the "Variable values" section, add at the very end the location of the tools & package-tools folder, with a semicolon separating these two paths from the rest, e.g. %SystemRoot%;C:\android-sdk\platform-tools;C:\android-sdk\tools
Click to expand...
Click to collapse
CWM RECOVERY INSTALL INSTRUCTIONS
1. Plug into PC via usb.
2. Boot phone into recovery.
3. Select Mounts & Storage, then select 'Mount /System'.
4. Download attached .zip file with your PC, unzip to wherever.
5. Run the .bat file with the 'CWM' ending. I put several pause commands in the file, so if you come up with some errors you can just copy them straight from command prompt and paste them here.
6. Reboot phone.
7. Done
HTC SYNC INSTALL INSTRUCTIONS
1. Plug phone into PC via USB, change connection type on phone to HTC Sync.
2. Wait for phone to find HTC Sync on PC.
3. Download attached .zip file with your PC, unzip to wherever.
4. Run the .bat file with the 'Sync' ending. I put several pause commands in the file, so if you come up with some errors you can just copy them straight from command prompt and paste them here.
5. Reboot phone
6. Done.
DISCLAIMER:
I claim no responsibility for anything this does lulz
No but seriously, this should work fine without causing any damage to your phone. I've tested it multiple times already. That being said, if it does f up your phone, I have no obligation to fix it. Use this at your own risk.
CHANGELOG:
v2.1 - Figured out easier HTC Sync method, included 2 new batch files that will work with it. Also updated a few minor things, made it look prettier, etc.
v2.0 - Debloater-Remover initial release, changed folder name to 'app-unused' in regular Debloater, few other minor changes.
v1.0 - Initial Release
nice work man
Like you, I've always preferred the pure Android experience. Sense isn't too bad, but I'd much rather do without.
I'm not using BulletProof (currently using OneGoodROM with the nonSense mod) at the moment, but I can't wait to see what you come up with for people like us who prefer the look and feel of AOSP ROMs over Sense
Hmmm. Maybe I can put this into my Toolkit I developed if you do not mind.
http://forum.xda-developers.com/showthread.php?t=1493905
Let me know if you want me to or not. Thanks!
adslee said:
Like you, I've always preferred the pure Android experience. Sense isn't too bad, but I'd much rather do without.
I'm not using BulletProof (currently using OneGoodROM with the nonSense mod) at the moment, but I can't wait to see what you come up with for people like us who prefer the look and feel of AOSP ROMs over Sense
Click to expand...
Click to collapse
I also like AOSP more than sense, mainly for the extra free RAM and space. Download speeds are always faster too on aosp ROMs. I've been waiting for XBoarders ICS or a stable aosp-like ROM to come through. I wish we had S=off so CM team would come over. Ive been using Energy ROM for now... It's so stable I can't justify trying any other sense ROM at the moment.
Sent from my HTC_Amaze_4G using xda premium
Never thought about doing it this way. I used to do this manually using Titanium Backup. Great work!
hasoon2000 said:
Hmmm. Maybe I can put this into my Toolkit I developed if you do not mind.
http://forum.xda-developers.com/showthread.php?t=1493905
Let me know if you want me to or not. Thanks!
Click to expand...
Click to collapse
Sure go for it.
Just uploaded v2.0, added Debloater-Remover in the .zip file. Let me know if you guys have any issues.
Just curious, will this work on any sense Rom besides the Amaze?
Edit: I added it to my toolkit anyways lol.
Sent From My HTC Amaze 4G via Someone's Room
hasoon2000 said:
Just curious, will this work on any sense Rom besides the Amaze?
Edit: I added it to my toolkit anyways lol.
Sent From My HTC Amaze 4G via Someone's Room
Click to expand...
Click to collapse
It should work with any ROM that enables root access, with the lone exceptions being SenseLess and BulletLess as they already have a lot of this stuff removed already.
Hey guys,
So, as I've finally started test out all the different ROMs on this forum (and on others) for the HTC Amaze, I've also begun to develop specific debloater tools for each one. Eventually of course my goal is to create my own ROM, but seeing as how I'm still learning a lot of the developing techniques, it's going to be a while. But, as a minimalist, and an Android purist, most of the apps that comes with the Amaze is, at least to me, crap. There are some useful apps developed by HTC, but not many, and 95% of them I can live without (or replace with a Google or 3rd party app that works just as well or better).
I'm rambling, I know, sorry. But to get to the point, I plan on releasing a customized Debloater tool for most ROMs already developed on this forum and others. The first ROM I developed this debloater tool for was XBoarder's Bulletproof, which most of you already have seen (that thread will be linked to later on).
Of course, proper credit must be given where proper credit is due, and I will never develop a customized debloater for a ROM without giving credit to it's respective developer. But, seeing as how these Debloater tools don't actually borrow anything developed ROM, and are simply customized to work better with them (rather than say a one-size-fits-all tool), I do plan on taking credit for developing them. So please don't steal them and re-use them in an app or one-click tool without giving proper credit, because I do take my own personal time to do this. Thanks.
REQ's:
1. ClockworkMod 5.5.0.4 (or later) or HTC Sync and HTC drivers installed on PC.
2. The ROM for which you are downloading the specific Debloater.
3. Android SDK installed and system variables are set properly on your Windows machine (btw this won't work for linux, that may come a bit later). Instructions for this are found in the quote below. Copied straight off'a Cyanogenmod Wiki. Adjust folder paths to your android-sdk folder as necessary.
Go to the Control Panel, and select the System Properties (Windows XP) or System (Windows Vista/7).
Select the Advanced settings;
Windows XP: Click on the Advanced tab.
Windows Vista/7: Click on Advanced system settings on the left.
Click on Environment Variables.
Under the "System variable" section, you will look for "Path". Double-click on it.
In the "Variable values" section, add at the very end the location of the tools & package-tools folder, with a semicolon separating these two paths from the rest, e.g. %SystemRoot%;C:\android-sdk\platform-tools;C:\android-sdk\tools
Click to expand...
Click to collapse
CWM RECOVERY INSTALL INSTRUCTIONS
1. Plug into PC via usb.
2. Boot phone into recovery.
3. Select Mounts & Storage, then select 'Mount /System'.
4. Download attached .zip file with your PC, unzip to wherever.
5. Run the .bat file with the 'CWM' ending. I put several pause commands in the file, so if you come up with some errors you can just copy them straight from command prompt and paste them here.
6. Reboot phone.
7. Done
HTC SYNC INSTALL INSTRUCTIONS
1. Plug phone into PC via USB, change connection type on phone to HTC Sync.
2. Wait for phone to find HTC Sync on PC.
3. Download attached .zip file with your PC, unzip to wherever.
4. Run the .bat file with the 'Sync' ending. I put several pause commands in the file, so if you come up with some errors you can just copy them straight from command prompt and paste them here.
5. Reboot phone
6. Done.
DISCLAIMER:
I claim no responsibility for anything this does lulz
No but seriously, this should work fine without causing any damage to your phone. I've tested it multiple times already. That being said, if it does f up your phone, I have no obligation to fix it. Use this at your own risk.
DOWNLOADS:
Bulletproof v2.5 Debloater & Debloater-Remover (All credit to XBoarder for this amazing ROM)
LINK to Thread
Stock Sense RUU (T-Mobile USA) Debloater & Debloater-Remover
DOWNLOAD
BeastMod 2.3 (Credit to XBoarder)
Coming Soon!
CHANGELOG:
Stock Sense RUU (T-Mobile) Debloater
v1.0 - Initial Release
Bulletproof v2.5 Debloater
LINK to Thread
NOTES:
Stock Sense RUU (T-Mobile)
After running the tool, you may get an error/fc message on your phone about the system app malfunctioning. This is normal. Just restart your phone (or if neccessary remove & re-insert the battery), and the messages will disappear.
Your tool looks real cool. Would it be possible to write a list of the programs it deletes?
realitysconcierge said:
Your tool looks real cool. Would it be possible to write a list of the programs it deletes?
Click to expand...
Click to collapse
Sure. Tell ya what, I'll include a README.txt file in the next update that lists which apps it removes.
This is not a thread to say ‘thanks’ to developers. Only post here if you have some input in this development progress, by either fixing bugs, or coming up with ideas (and ideally, try your idea and report what happens).
Having that said, let’s move on to where we are at the moment. Currently, we have a build which is based upon Ice Cold Sandwich 6.2 Test Edition for the HTC Desire HD. This build boots up by flashing my custom kernel on it, based on Flyer HC Original Kernel Source, with some patches:
-Quota2 Support
-Genlock Support
-Updated KGSL driver by applying Lord Clockans patches from his kernel
The ZIP we are working on now, can be downloaded here:http://w728685.open.ge.tt/1/files/9iI3CbF/0/blob?download
This ZIP contains a build which is mainly Lord Clockans ICS, with essential changes in the ROM to get it booting (we used LeeDroid’s Flyer HC as the donor ROM). This ROM is made for a HoneyComb HBOOT!
After you have flashed that ZIP, this is the kernel you need: http://ge.tt/9iI3CbF/v/1
You MUST flash this kernel to get it up and running, or it’ll just loop in the logcat complaining about unsupported stuff.
This set should do the following:
-Boot up (bootanimation resets after some time, it’s ok, it will boot within 5 minutes).
-Touchscreen works after you did this: open ADB Shell (by entering ‘adb shell’ on your pc,), and send the command “echo ‘1’> /sys/android_touch/event_google”. Now touchscreen should be working. (For some reason the file 90flyerhacks in /system/etc/init.d doesn’t do its job. If anyone has a clue > say so!) Also, the ntrig.c file in /drivers/input/touchscreen/ is modified in the kernel, don’t know if it helped though.
-Full Hardware Accceleration
-Screen is bugged at certain moments (seems to happen especially during things concering wallpapers. Rendering a wallpaper, showing a heavy LWP, etc.). The build.prop file contains some lines such as:
ro.fb.mode=1
debug.composition.type=gpu/mdp
debug.fb.rgb565=0
Perhaps we have to change these lines to get it running without issues (strange thing is, logcat doesn’t seem to make an issue about this). We can also try a recompile of the kernel using the entire driver folder from Lord Clockans kernel (it’s in /drivers/gpu/msm/ in his kernel, and /drivers/video/msm/gpu/kgsl_adreno205_hc in ours, moving the folder to where it should be causes issues, so we keep it like this for the time being).
-Sound is working
-Backcamera seems to be working fine, haven’t tested frontcamera.
-Hardware buttons under the screen aren’t working, and this should be a low
priority for now. It isn’t ideal to use them in ICS anyway (different button functions in comparison with the softbuttons), and I think we shouldn’t focus on this for now.
-GPS switch can be enabled, haven’t tested whether it works.
-Bluetooth switch can be enabled, but turns off automatically after about ten seconds.
-WiFi switch can’t be changed, logcat tells us that it can’t connect with /dev/rfkill, applying this patch in the ramdisk could fix it:
https://github.com/OpenSensation/an...mmit/da09360d70888a7e126871ab2ae5b218514cad18
-Power button and Volume buttons work fine.
-Pen works after we send the event_google command mentioned before.
If the ROM immediately reboots within 10 seconds and it seems like it’s looping, and you can’t even logcat, hold down Power and Volume Down until you get to HBOOT, select FASTBOOT, and enter ‘fastboot erase cache’ in the CMD/Terminal, and reboot, and it should work.
And that’s about it for the current things we know I think. If you manage to fix something, please write down and report what you did to fix it, so we can keep a list. I will work on a vendor folder using the known information, so we can compile a ROM from source, made for our device.
And last, but not least: don’t post here asking for release dates. We will do our utmost best to bring ICS experience to the Flyer, but do not bug us. Thanks.
Now let’s get this up and running guys! I will keep a log of what is fixed and what is not, so we can keep the thread organized. Else we’ll have 50 ZIPs around, not knowing which one is the right one et cetera.
Source code of kernel: http://github.com/Chaosz-X
Ramdisk will be uploaded tomorrow.
Donations are much appreciated, as I'm developing and building atm on a 1.67GHz Dual core...
Donations can me made to [email protected] using Paypal.
i suggest creating two repos... one for ROM and one for kernel... that way single file changes can be tracked even on ROM front, not just kernel...
willing devs can fork those repo and send pull requests to main repo when they get stuff working
I'm not a developer, and I have nothing but love for all the great devs that worked so hard to bring ICS to the Flyer.
Might I suggest, however, that instead of pursuing CM9 builds, the next effort be centered around porting the Android Open Kang Project (AOKP) ROM? In terms of features and customizations, it's considerably ahead of CM9, with numerous supported devices to boot.
I think this ROM, versus CM9, would give users the most flexible and dynamic ICS experience for their Flyer.
Chaosz-X said:
-Touchscreen works after you did this: open ADB Shell (by entering ‘adb shell’ on your pc,), and send the command “echo ‘1’> /sys/android_touch/event_google”. Now touchscreen should be working. (For some reason the file 90flyerhacks in /system/etc/init.d doesn’t do its job. If anyone has a clue > say so!)
Click to expand...
Click to collapse
Does it work if you add
write /sys/android_touch/event_google 1
to the init.rc file?
Could you post the init.rc file where you trigger the init.d scripts?
nickiberli said:
Does it work if you add
write /sys/android_touch/event_google 1
to the init.rc file?
Could you post the init.rc file where you trigger the init.d scripts?
Click to expand...
Click to collapse
yes that should work correctly
No, I didn't add that. I'll try it tomorrow (or one of you, if you have a Linux machine ready. Laptop with Ubuntu is having some issues atm, can fix it tomorrow).
So, assuming that's working, let's get to the display. We know that it causes issues, but how?
-Logcat doesn't error (except for HtcEbdLog, saying something about rotation, which seems to happen when glitches occur. Perhaps we need to swap the files?)
-At the very beginning, it does tell that initOverlay failed. This overlay-thing is baked in the ROM, and can be disabled in the ROM itself by setting an option to 'false' in the vendor setup. We don't know if it fixes the issue, but since the attempts to add this functionality to the kernel failed, it could be a better idea to fix it in the ROM to get rid of the error.
Any other suggestions?
Edit: and before I forget, tomorrow I'll check the ZIP for what is changed in comparison with the ROM it is based upon, so we know what we have to add in to a new build too.
Chaosz-X said:
No, I didn't add that. I'll try it tomorrow (or one of you, if you have a Linux machine ready. Laptop with Ubuntu is having some issues atm, can fix it tomorrow).
So, assuming that's working, let's get to the display. We know that it causes issues, but how?
-Logcat doesn't error (except for HtcEbdLog, saying something about rotation, which seems to happen when glitches occur. Perhaps we need to swap the files?)
-At the very beginning, it does tell that initOverlay failed. This overlay-thing is baked in the ROM, and can be disabled in the ROM itself by setting an option to 'false' in the vendor setup. We don't know if it fixes the issue, but since the attempts to add this functionality to the kernel failed, it could be a better idea to fix it in the ROM to get rid of the error.
Any other suggestions?
Edit: and before I forget, tomorrow I'll check the ZIP for what is changed in comparison with the ROM it is based upon, so we know what we have to add in to a new build too.
Click to expand...
Click to collapse
u want me to add stuff to that ramdisk?
start a github repo for the ramdisk and ROM too... trust me... its VERY helpful...
I'll start installing Ubuntu within 30 minutes, and will add everything to a GitHub by tonight within about 3 hours I think.
Chaosz-X said:
I'll start installing Ubuntu within 30 minutes, and will add everything to a GitHub by tonight within about 3 hours I think.
Click to expand...
Click to collapse
thats great... it should make keeping track of changes much easier and other interested devs can contribute if they want...
Hello, all.
Attempting to help by working on the build.prop settings. I'm S-OFF with revolutionary and have my device fully configured with the Honeycomb HBOOT/radio/bootloader/etc.
After flashing the ROM and the kernel, the device would immediately reboot upon attempting to return to the main recovery menu. I had to fastboot oem rebootRUU and reflash Globatron's PG41IMG-WIFI-light-B10 zip to get recovery back.
The device never proceeded to the boot animation.
Thracks said:
Hello, all.
Attempting to help by working on the build.prop settings. I'm S-OFF with revolutionary and have my device fully configured with the Honeycomb HBOOT/radio/bootloader/etc.
After flashing the ROM and the kernel, the device would immediately reboot upon attempting to return to the main recovery menu. I had to fastboot oem rebootRUU and reflash Globatron's PG41IMG-WIFI-light-B10 zip to get recovery back.
The device never proceeded to the boot animation.
Click to expand...
Click to collapse
I can confirm this happened to me also. The only difference is that I was using the kernel for a port of mine, and it did the same thing.
Yes, it is known that for some reason, Go Back already reboots the device. It's no problem though, it works fine anyway. If it is really looping the bootanimation every ten seconds, keep Vol Down and Power pressed, until you get to HBOOT. Select FASTBOOT, and enter 'fastboot erase cache' in the terminal. Then reboot on the device, and it should boot up fine.
Also, kernel won't work on Honeycomb, haven't checked why it doesn't though (and I won't btw, our goal is not to make a new kernel for Honeycomb, but for ICS, where it does its job fine).
Kernel source is uploaded to my Github: http://github.com/Chaosz-X
Edit the CROSS_COMPILE for your toolchain, and it should compile fine (it does here).
Will add the link to the OP within 5 minutes, ramdisk will be uploaded tomorrow.
If chaos has a device tree set up for the Flyer/View, no build prop editing should be necessary, can just submit requests - but I don't notice it on the git.
Thanks for uploading, I'll have a look and see what has changed so far. It's a little difficult to keep track of the changes since there are no commits that document the patches applied over time, but I'll try to make do with what you've got.
Is this straight from flyer HC kernel source?
I may be doing this wrong, but the touch screen commands do not seem to be working for me
Cimer said:
I may be doing this wrong, but the touch screen commands do not seem to be working for me
Click to expand...
Click to collapse
You have to type it in manually. Copying and pasting does not work, at least it did not for me. I think the issue is with the '
lawguy said:
You have to type it in manually. Copying and pasting does not work, at least it did not for me. I think the issue is with the '
Click to expand...
Click to collapse
It may just be me, I tried manual too. I had to use http://forum.xda-developers.com/showthread.php?t=1379875 since I'm stuck on Windows 8..maybe something is up with that. I guess I will just need to sit and wait =/
Cimer said:
It may just be me, I tried manual too. I had to use http://forum.xda-developers.com/showthread.php?t=1379875 since I'm stuck on Windows 8..maybe something is up with that. I guess I will just need to sit and wait =/
Click to expand...
Click to collapse
Hang tight for now. Wifi Does not work and the screen freaks out. I'm sure that these things will be fixed soon.
Going to upload ramdisk source within an hour, and try to apply a fix for WiFi, and try to fix the touchscreen by using the command in init.rc mentioned here earlier.
The new modem arrived, I have Internet again, so we have remote access to our Linux machine and can start compiling etc again
Indeed, we're grabbing AOKP source code now. Within about 2 hours we think, we'll start compiling the ROM for the HTC Flyer. Don't know if it will work out, but we have to start somewhere
Note: more content is coming regularly, so check back regularly! Also, post your input so this thread does not become buried.
As an initiative to kickstart development for the Galaxy Player 4.0, I have decided to put up this guide to try and attract more users to rom development. This, although, does not mean you can willy-nilly post up a rom including one mod, or a quick tweak. Making a rom involves a lot more than that.
The Developer's Code:
1. Your rom MUST be unique from the other roms.
This means you have to have a careful, well thought out rom. It must have several things differing it from other roms, something that makes it stand out. The last thing we need are 200 "me too" roms cluttering up development. Takes Klin's rom and mine, for example. We both have ICS themes, we both have tweaked our roms for performance, but they are both completely unique. Why? Because we didn't copy one another. We saw what the other had, and left it alone. I have an ICS theme, he has an ICS theme, but they are based on completely different themes. The biggest boo-boo in rom devving is copying someone else's rom/features/work. You will get kicked out unbelievably fast if you DO NOT follow this rule. To reiterate, the last thing we need is 200 identical roms. Make sure yours is unique from the others, and has a defining feature.
2. You must be willing to provide regular, consistent updates.
Maintaining a rom can be a full time job. You have bugs to deal with, features to add, and hours of work in which you only accomplish a small amount of work, due to some catastrophic failure. Last night it took me over 3 hours to fix a battery icon issue. Why? because I had almost space left in which to apply my fix, and if I did even one step wrong I had to reflash to correct the issue.
You should NOT release your rom once, and never look at it again. You should be willing to update it at least twice a month, if not sooner. I update mine several times a week, but that's because I have a lot of free time. Your mileage may vary, but try to hit for that mark. Too long wihtout an update and users will get bored/tired of your rom without anything new to spice things up.
3. You must be willing to provide helpful, friendly support.
At times, monitoring your thread can be frustrating. you may have someone complaining about an issue that was fixed several releases back, or someone who wants a new feature and keeps bugging you about it. It can be frustrating at times, but make sure you calmly answer everyone's questions in a fair manner. It can be extremely frustrating for a rom user to post up a question, and have it answered days later because the dev was "too busy" to monitor their thread. This, if anything, is almost more important than rom updates. Users love devs who actually converse and answer them, so be friendly, and keep your thread going!
4. ALWAYS ALWAYS ALWAYS give someone the apppropriate credit for their work.
It is the bane of the dev's existence: spending days/weeks/months of xyz feature/theme/rom, and have someone come along and snatch their work from them without as much as a "thank you". First of all, it will get you banned faster than any other offense out there. Secondly, it is one of the largest insults you can give someone. Our community is one that is supposed to share work, and most people do that freely, but you MUST give credit where credit is due. It is best if you ask someone's permission before you use their work, especially if it is something major (a huge theme for example). But even if you don't (and you should), at the very least list their username and what they did in your rom SOMEWHERE in your description.
5.You do not know everything.
After creating a rom, many people feel that they know much more then the "average" community, and that they are always right when it pertains the their rom. This could not be more wrong. The best way to improve your rom, is to listen to xyz person who knows more about a certain area than you do, and attempt to learn from that person. Everyone is skilled in a different area, so if you listen to your community, and assume they know best, you can learn and accomplish a lot evry quickly.
6. Google is your friend.
Do not assume that dev's know everything, and that they pull these features out of their heads. When in doubt, go to google. Always. There is normally a guide, or someone with your issue to help you out. As usual, make sure you give that person credit if you use their work.
So, to sum it up, Make your rom unique, be dedicated to your work, be ready to handle unexpected situations, ALWAYS give someone appropriate credit, listen to your community, and google a lot!
Not intimidated yet? ready to bring your amazing idea to the limelight? head on down to the section below to get started!
The Easy Way to Dev: Odin flashable packages.
Most people don't want to edit their rom on their computer. As a matter of fact, you can create a killer rom without even touching a computer to mod it. Up until I started theming, I working on my rom 100% on my device. This is the most tried-and-true method out there, and the one most likely to create the least drama. All you have to do is Pull the /system partition from your Player, and create a tarfile out of ti.
Prerequisites:
Samsung Device (system partition location may change with device type. This should be the same for US/INTL players)
PC running Ubuntu/form of linux (ubuntu is recommended for beginners)
ADB installed (actually not needed, but speeds up the process) (look below in resources for a guide)
appx. 300mb free on /sdcard
about 1 GB free on the Linux box
1. Apply whatever mods you want too
2. Open up a terminal emulator
3. type this in: dd if=/dev/block/stl9 of=/sdcard/factoryfs.rfs bs=4096
4. wait for it to complete (may take up to 10 minutes)
5. You now have a file called factoryfs.rfs on your internal sdcard
6. Hook it up to a computer and activate usb storage
7. copy factoryfs.rfs to whatever directory you want (home is recommended for simplicity)
8. Open up a terminal
9. cd to the directory of your file (if you placed it in home skip this step)
10. Type in "tar -H ustar -c factoryfs.rfs >packagename.tar"
11. Now you have a odin-flashable rom!
ADB users, simply run adb shell and type in the first command, then adb pull the file to the computer.
If you want to save space for a file sharing website (eg. mediafire, which has an upload cap of 200mb), simply Zip the file using 7-zip (set on ultra). You may have to do this on a windows machine.
Now this is even easier! simply flash the stock image in the link below with all the essentials included, and you can apply all the mods you want without having to ever go through dsidxa kitchen! Klin even fixed busybox for you! this way you can easily start from stock and work your way up to more advanced hacks.
http://forum.xda-developers.com/showthread.php?p=27973753#post27973753
The Advanced Users Guide: CWM packages.
Maybe you want more flexibility. Maybe you need to deodex your rom to mod some stock files, or zipalign to speed things up. This guide is for you people who need the more advanced options. It is harder, and you have a greater chance of messing things up, but you get to completely control your rom, even easily edit it on the computer! This guide is for advanced users only, or someone who is willing to spend a lot of time on trial and error.
Prerequisites:
ADB installed (Extremely helpful, and may to required)
Samsung device
Ubuntu/linux box
A bit of caution
Patience
1. Install Dsidxa Kitchen
2. Put your factoryfs.rfs in the necessary folder
3. cd to the directory you installed the kitchen
4. Type "sudo su"
5. enter your password
6. Type "chmod +x menu"
7. run "./menu"
8. you are now in the main menu of the kitchen.
9. There are many options, choode the one that you need!
Note: stay away from installing busybox using the kitchen. It installs a bad version of busybox which can make rom development a big headache for you!
10. There is a working folder in the kithcne directory, in there mod all the files you need.
11. When you are done, head into option 99 (create rom)
12. Run the interactive option
13.When you get to the update-script type, type "y" to install the newer type, which is required to flash a cwm zip in the Galaxy Player.
14. If you want to flash your rom using stock recovery, sign it. Else, leave it alone.
15. You can keep the normal name, or change it to what you want. If you are going to be flashing using stock recovery, make sure it is named "update.zip"
That is it! If you want to create a odin package out of it, simply flash the cwm zip, then follow the instructions above!
I will be adding on to this guide as time goes on, so make sure you ask pertinent questions below!
Resources/Additional Guides:
Install ADB:
http://forum.xda-developers.com/showthread.php?p=11823740#post11823740
Install dsidxa kitchen:
http://forum.xda-developers.com/showthread.php?t=1303311
4.0 base (essentials installed, just apply your hacks and you are good to go! thanks klin):
http://forum.xda-developers.com/showthread.php?p=27973753#post27973753
Easy theming guide:
http://androidforums.com/optimus-m-...guide-theme-guide-noobs-adding-lots-more.html
APK multi-tool (needed to theme):
http://apkmultitool.com/?q=node/5
Recommended hosting sites:
www.mediafire.com
Good Rom practices:
1. If you retheme, include screenshots! people love screenshots.
2. Make a logo if you can, it makes it easy for people to support your rom by adding it into their signature.
3. If you mod, make sure you can easily explain it to someone if need be. Messy hacks are not good in the long run!
4. Focus evenly on all parts of your rom. Some people love speed, others love features. You can focus on one or the other but try and keep it balanced.
5. If you create a custom script/init,d script/documentable file make sure you include comments in your mod so people can try and fix it if need be!
6. Make sure all the bugs are ironed out before release. People love fast releases, but if it is really buggy they may switch to another rom.
7. if you have exhausted all other methods of fixing an issue, or cannot work on it a lot in the opcoming days/weeks, release a beta version stating the bugs clearly. That way while you are gone, more experienced people can help you iron out the bugs.
8.Make sure it is easy for the person to obtain your rom. If they have to download another utlity or click through 30 ads, they may just want to use another rom than go through the hassle. Worse, they may mess it up, forcing you to help them troubleshoot.
9. Make sure you update utilities on your rom as soon as an update becomes availible. That way you get the fewest bugs, and as I said before, users love updates!
10. Even if someone's issue seems isolated, at least spend some time with them figuring out what happened so they can fix it. You never know, it may be the harbinger of a HUGE outbreak of issues.
11. Base your rom on an intl version. There is a fortunate "bug" that klin discovered that allows US users to use any intl rom without their home button breaking. Of course, that has a lot of asterisks, but if you will look below, I have developed a fix for that issue, which allows anyone with a "broken" home button to use it with the problematic rom!
12. Practice good rom devving. If there is a major issue that could be a pain, don't take the easy way/fix out. That always comes back to bite you later, as I have figured out. I once had a corrupt journal on my system partition, and did not want to go through the hassle of recreating my rom on a clean partition. So, I simply added a flag to have /system mount as rw if there are any issues. Sure enough, about 3 days later, I started having some filesystem issues, and had to completely rebase, because I did not have any backups.
13. ALWAYS keep backups. Just do it. Not just one, either. Keep at least three days worth of backups, just in case there is an issue in backup 1 and two, but it not in no. 3. This would have been hugely helpful to me in many cases, but I didn't want to "waste" the space. Guess what I did a few days later: spent a nice evening with linux fully recreating my rom from scratch. Just do it.
Fix home button issues. (useful if you use a rom seperate than a flasher's region) (developed by me)
I have finally, after a bit of luck and some know-how, determined a fix for the home button issue! This will work on ALL roms, not just this one, and will probably work for the 5.0 as well. This also means you can fully wipe data if you want, and simply apply my fix.
1. Navigate to /dbdata/databases/com.android.providers.settings
2.Optionally copy to a computer (easier that way)
3.Open it up in a sqlite editor (if you are doing this on the device, copy it to /sdcard and and then copy it back
4.Navigate to the locale/first section (there should only be one string in there
5.It should look like en_US if you have a US player, or en_GB if you have a UK/intl player
6.Change the string to the language/locale you use (if you are INTL you can merely change it to xx_GB, where xx is your language. If you are US, just perform the same steps, but change the last part to US)
7. commit/save the file and copy it over the old one
8. Reboot, and your home button *should* be fixed!
NOTE: I have not personally tested this. It has a 99% change of working, but I have yet to completely verify it.
NOTE: after you replace the file, android may go a little haywire (wifi disconnects, forgets password, advanced reboot option unavailable, etc.). THIS IS OKAY. Simply reboot, and it will all be back. Do not change any settings after copying until it reboots, as it may possibly break the fix
NOTE: I cannot provide a downloadable file, as that file contains all of your system settings, and if you use mine, my settings will be applied, which could be pretty bad in some cases.
NOTE: this has no chance of bootlooping or bricking your device. At absolute worst, you have to set up a few settings/restore from a /dbdata backup. There is almost no risk involved.
Potential fixes for potential issues:
1.Bluetooth breaks. The main cause of this is if you install supercharger and nullify. Simply unullify and verify it is remove from build.prop, and you are good to go!
2. Home button breaks. (see above )
3. Root/busybox breaks. It's kinda messy, but if you absolutely HAVE to, simply reroot. That should fix it in a pinch. This is a classic case of keeping good backups. I have had to spend an entire afternoon redoing my entire rom because of my lack of recent backups. If you have the space, keep them. I have more than once managed to create a stopgap solution in my rom just to have some weird issue pop up again, and again. Just do it.
I LOVE you, man.!!
Hanthesolo,
Very good achievement, we all have to learn from your good sharing.
Congratulations man
rgds
I am really happy you guys like this! I will continue to add to it as time goes on, so expect even more content!
Sent from my EtherealPlayer.
New content up! also notice the link to the stock rom klin made so that you never need to go through a kitchen to get your rom started!
Has anyone used this yet? successes/failures? make sure you give me feedback so I can make this better!
Yet mre content up! Could this be possibly stickied? I know it's a little rough right now, but noone replies to this thread as there really is nothing to reply TO. I have worked hard on this and would hate to see this information go the way of the dead threads.
Thanks for this info man, making roms for my old evo and just stacking up on guides and any kind of reading material that I can utilize for my advantage. So, this will be helpful lol. I'll be checking back every so often on anything new added, but thanks again bro. Thanks given! Feel Encouraged!! lol
iAMsalm said:
Thanks for this info man, making roms for my old evo and just stacking up on guides and any kind of reading material that I can utilize for my advantage. So, this will be helpful lol. I'll be checking back every so often on anything new added, but thanks again bro. Thanks given! Feel Encouraged!! lol
Click to expand...
Click to collapse
Glad you enjoy it, this forum is the abandoned, dusty wasteland of xda, so I wrote this guide to (hopefully) stimulate development a bit.
hanthesolo said:
Glad you enjoy it, this forum is the abandoned, dusty wasteland of xda, so I wrote this guide to (hopefully) stimulate development a bit.
Click to expand...
Click to collapse
I know it definitely feels like that from time to time, but that's a byproduct of the nature of our devices. There's ridiculous money in selling someone a shiny new crippled phone with a horrific contract that will never get updated. You won't see a jawdropping ad on TV featuring a Galaxy Player because there's just no money in it. I'd love to have the T-Mobile girl holding my phone while wearing a pink leather riding suit(her, not me). That ain't happening.
I'm pleased and more than a little shocked that some new roms have come out in the past month thanks to this guide. I wanted a Android powered phone without the contract. I wanted an iPod Touch without all the bull**** that comes from being tied to Apple. Thanks to XDA my device fast, sexy as Hell, and does everything I want.
The only thing that makes me sad is that a year from now I probably won't be able to buy a Galaxy Player 4.0 v2 because there's just too much money to be made from contract only devices.
Thanks for this guide. It help me for begin android development.
GalaxySWifi4 said:
Thanks for this guide. It help me for begin android development.
Click to expand...
Click to collapse
I hope you have fun beginning development! It really is a lot of fun once you et past the basics.
Gswifi, I never replied to you, but your speech was so awesome, that I want to put it in the OP .
If you want me to update the OP with an equivalent for ROM compiling (I know that I had a hard time figuring out just WHERE the folders to go, so we need a good guide...), chime in your support please!
hanthesolo said:
If you want me to update the OP with an equivalent for ROM compiling (I know that I had a hard time figuring out just WHERE the folders to go, so we need a good guide...), chime in your support please!
Click to expand...
Click to collapse
@hanthesolo
do you have some knowledge about kernel compiling, so you could hel me?
hanthesolo said:
If you want me to update the OP with an equivalent for ROM compiling (I know that I had a hard time figuring out just WHERE the folders to go, so we need a good guide...), chime in your support please!
Click to expand...
Click to collapse
please do
I understand early nothing about this advanced stuff of making ROMs, even more about make Kernels XD. But I want to experiment some little things to learn by myself step at step. But... I cannot start... I'm in CM10.1 with Koala's Kernel and I can't make the factoryfs.rfs file doing this: dd if=/dev/block/stl9 of=/sdcard/factoryfs.rfs bs=4096 in Terminal Emulator because /dev/block/stl9 doesn't exists. With ADB I have the same error.
Is this due to this ROM is not stock or something like this? Or only I have to create this folder or change it by other...
---------- Post added at 02:55 AM ---------- Previous post was at 02:37 AM ----------
I'm trying to do this but without if=/dev/block/stl9. I don't know if I'm doing well...
How about some info on modifying or tweaking already compiled roms?
Say you want to remove some of the apps included with CoolDevXYZ's rom or modify some of the settings pre-install (e.g. build.prop tweaks, etc.). How do you tell the kernel these changes are intentional, not the result file corruption, infection or something?
GEEWIZ 3.4 SCH-I500 JZO54K JELLY BEAN 4.1.2 ROM/KERNEL
RETIRED -- GEEWIZ 3.4 WAS THE FINAL RELEASE OF GEEWIZ BASED ON ANDROID 4.1
OTHER AVAILABLE GEEWIZ VERSIONS:
GeeWiz 4 - AOSP Jelly Bean 4.2: http://forum.xda-developers.com/showthread.php?t=2088224
GeeWiz 3.4 is a ROM for the Samsung Fascinate, based on AOSP Jelly Bean 4.1. Like it's predecessors of the same name, GeeWiz doesn't aim to provide a lot of bells and whistles or incorporate all of the latest and greatest tweaks and enhancements developed by the community; the aim is to provide a basic, stable, functional device.
GeeWiz 3.4 uses a modified version of the GeeWiz 2.8 Gingerbread (Linux 2.6) kernel with a number of very specific tweaks/hacks in order to continue to support the proprietary Samsung RFS file system and other features I wanted to carry over. As a result, this ROM may not be used in conjunction with any other Kernel, and this Kernel cannot be used in conjunction with any other ROM. Please consider it a "matched set", and they will always be updated/distributed together. XDA community developed enhancements to the ROM or Kernel are encouraged, and will be given prominent feature status in this post.
Your device needs to be set up as stock or stock-like (e.g. GeeWiz 2.8) before installing this ROM/Kernel. If you are currently running with an MTD-based platform, the device must be reverted back to the original OEM volume format. Please refer to the forum/thread were you acquired your current ROM for guidance on how to revert the device as necessary.
Installing this ROM/Kernel or any other provided component(s) will void your device's warranty, and I cannot be held responsible for any damages of any kind (including data loss) that are incurred either directly or indirectly by these packages and components. What you do to your device is ultimately your problem!
FEATURES
Android Jelly Bean AOSP build JZO54K (android-4.1.2_r1)
Google Apps version JZO54K from the Galaxy Nexus
All devices (GPS, compass, orientation, camera, flash) are functional
Wifi (WPA/WPA2) and Bluetooth Tethering support
Supports OEM DBDATA volume to keep performance reasonable
Supports both RFS and EXT4 formatting on all volumes
OEM USB modes (CD-ROM/Kies/MTP) replaced with standard Android Mass Storage
Advanced Battery Settings: Maximum Charge, Automatic Recharge Point
Advanced CPU Settings: Maximum/Minimum Clock Speed, Governor Selection
Advanced In-Call Volume Boost Selection
Backlight Notifications built into system, controlled by the OS
Supercurio Voodoo Sound 10
Fascinate Dock audio simulates a true USB audio device for seamless output path switching
Custom Dock options - Enable BLN, Stay Awake, Enable audio output
CREDITS
While it would be impossible to remember/cite every possible reference that was used during development, I would like to specifically thank the following teams/individuals for making their work public so that others could learn from it and in more cases than not, shamelessly "borrow" it:
jt1134 - A primary source of knowledge for all things Samsung Fascinate
sgtkwol - Maintains a Linux 2.6 kernel for the Epic that provided a vast amount of reference material for the kernel updates
pawitp - Fixed my video driver changes to eliminate a 'microlag' issue (thank you!)
Entropy512- Customizations to allow WPA/WPA2 Wifi Tethering to work on the Galaxy S
teamhacksung - Maintains a large repository for all Galaxy S devices, I can't count how many code compares I did against their material
Cyanogenmod - The fact that this ROM can make a call at all is thanks to this team. So much of this effort is based on theirs!
rxwookie - A long-time supporter of all things GeeWiz and always takes the time to help other folks out here. I think he probably knows more about GeeWiz than I do!
ACTIVATION AND PROVISIONING
While I have no reason to believe that activation/provisioning wouldn't work properly on this ROM, it is a difficult thing to test on CDMA networks. Until it's been established that activation/provisioning is indeed working properly, I suggest you do not use anything like the ODIN "EFS Clear" option that may affect it. If the phone was properly provisioned before installing this ROM, it should maintain that provisioning. I have successfully activated a Fascinate on this ROM, but have not tested the process enough to be fully confident with it.
KNOWN ISSUES
USB Mass Storage / ADB may not work after device has been docked
After docking and removing the device from a Samsung Fascinate dock, USB Mass Storage and/or ADB may stop working. When this occurs, the only way to restore USB connectivity is to power off the device and power it back on. Rebooting is not sufficient and will not alleviate the problem.
FIRST-TIME INSTALLATION RECOMMENDATION
This ROM performs significantly better when the device uses the EXT4 file system. Unfortunately, using ODIN will always format the device with the RFS file system. Unlike previous versions of GeeWiz, the new "Full Wipe" ODIN package has been modified such that it will format the data volumes (DATA, DBDATA, CACHE) with the EXT4 file system on the first boot. This is now the recommended installation method for first-time installation.
If the "Full Wipe" ODIN package is not used, please note that your data must be wiped manually if coming from another ROM to avoid problems, and I strongly recommend converting, at minimum, the data volumes of the device (DATA, DBDATA, CACHE) to the EXT4 file system.
UPGRADING FROM GEEWIZ 3.2/3.3
GeeWiz 3.2.x/3.3.x Versions can be upgraded directly to GeeWiz 3.4 without a need to wipe the device data or revert the file system back to RFS. The EDIFY update-zip below is compatible with most, if not all, recoveries and will work regardless of if the device is formatted with RFS or EXT4.
Your Dalvik-cache will be automatically wiped, so the first reboot will take a long time
Due to problems with some Google services after a kernel change, the Google Services Framework package will have its data cleared during installation. You will be prompted to accept Google's location services again
DOWNLOADS
EDIFY Update-Zip (ClockworkMod / GeeWiz Recovery) Compatible Downloads
GeeWiz 3.4 ROM/Kernel (EDIFY Update-Zip)
http://www.mediafire.com/file/ascgikdaqdg3ai5/geewiz-3.4-syskernel-01122013.zip
MD5: 6b2e280f9d51492febec43b8b9fa3bd4
GeeWiz 2.8 Recovery (EDIFY Update-Zip)
http://www.mediafire.com/file/5fxee76vrxv28eq/geewiz-2.8-recovery-04162012.zip
MD5: 9869d3138279d99f1237a442f7573cad
ODIN Compatible Downloads
GeeWiz 3.4 ROM/Kernel/Modem/Recovery/Data Wipe Full Update (ODIN)
This will delete all user data from your device, replace your RECOVERY with GeeWiz Recovery as well as replace your modem with the EH03 revision. Your data volumes will be formatted with EXT4 on the first boot
http://www.mediafire.com/file/2266vgo7uma5xmk/geewiz-3.4-fullwipe-01122013.tar.md5
MD5: 0d6c2cf955d0024c925c2d10ce046e1d
GeeWiz 3.4 ROM/Kernel (ODIN)
http://www.mediafire.com/file/jzfwybqu6ns70ay/geewiz-3.4-syskernel-01122013.tar.md5
MD5: 46e17141a8f8a8ae48001c3e4653e088
GeeWiz 2.8 Recovery (ODIN)
http://www.mediafire.com/file/h5gov2c1r8836tj/geewiz-2.8-recovery-04162012.tar.md5
MD5: b70d4063dffaa9cd89629f307d3beae5
SOURCE CODEThe entire baseline for GeeWiz is available on github: https://www.github.com/djp952.
Device repo: android-platform-device-samsung-atlas3g (branch android-4.1.2_r1)
Kernel repo: android-kernel-atlas (branch android-4.1.2_r1)
Please see post #2 of this thread for an overview of how to build the GeeWiz ROM/Kernel from source as well as how to package your modifications. I would be happy to include any XDA community developed modifications or enhancements to the baseline as featured packages, add-ons or patches for GeeWiz!
Disclaimer: djp952 reserves the right to mercilessly kang your changes and assimilate them when you fix things that he was unable to. djp952 will also give you *major* props and full credit for the fix, so it's not that bad, right?
HOW TO BUILD THE GEEWIZ 3 ROM AND KERNEL
A common request I've gotten is how to build either the GeeWiz ROM or kernel from source. I think GeeWiz 3 is a little less intimidating as a first step for getting into AOSP builds since it doesn't stray too far from the Android baseline, and the kernel is based on Samsung's stock model for the device rather than the enhanced MTD model. Whatever the reason, I'm happy to try and describe how I build these components and generate the packages that I post for the community. Sometimes it's normal, sometimes it's a bit wonky, but as long as I don't miss anything important it should be a workable process for anyone that would like to get into building custom Android builds.
I think GeeWiz 3 would be a great learning tool, it works as-is but leaves enough room for additional customizations and enhancements that it may be a better place to start than jumping into something like Cyanogenmod or AOKP as your first project. It's up to date at the moment with the latest Android code as well, so that's a definite bonus as opposed to working with something like Gingerbread where tricks you learn may not apply to the next project you take on.
BUILD ENVIRONMENT
I use Ubuntu 12.04 Desktop x64 for my Android build environment, and even though Google states that this environment is "Experimental", I've not run into any issues with it. To get started, simply follow the directions Google has provided here:
http://source.android.com/source/initializing.html
If you are running on Windows x64, I can also recommend using a Virtual Machine as your build environment. I like Oracle VirtualBox the best, but the stock Fascinate code by Samsung has major USB problems with it, you won't be able to use ADB or Heimdall. For Fascinate-specific development I recommend VMWare Player since it can work with the stock USB. Note that you need an x64 OS and a CPU with Virtualization Support to host an x64 guest OS regardless of the software you choose. The best performance and compatibility will come from installing Linux natively on your system.
DOWNLOAD GEEWIZ SOURCE TREE
Once your environment is set up, you of course need some source code. I've opted to use Google's repo tool and AOSP manifests to control the source tree, so the first thing you need is the Google repo tool. Follow the first section of this document, entitled "Installing Repo":
http://source.android.com/source/downloading.html
I have two separate "builds", or in Android terms Manifests out there. One is called DEFAULT and includes just changes to AOSP necessary to support the Fascinate. The other is called CUSTOMBUILD and adds the light OS customizations I have done. Since I never use DEFAULT and I'm not sure t even builds at the moment, we're going to use CUSTOMBUILD, or as it's called here at XDA "GeeWiz".
Open a terminal window to your home directory (~/)
mkdir android
mkdir android/platform
cd android/platform
repo init -u https://github.com/djp952/android -m custombuild.xml -b android-4.1.2_r1
What we just did was initialize the repository for AOSP, but haven't downloaded anything yet. The -u argument to repo tells it where to find the manifest XML files. In this case, my github "android" repo. The -m tells it what manifest to use. The -b tells it what branch to pull. This is important because like most folks, I have multiple branches out there. I have been indicating at the very end of the first post what the current active branch is, android-4.1.2_r1 right now.
At this point, I suggest going into the ~/android/platform/.repo/manifests directory and having a look at the manifest file. (.repo is a hidden folder). Open up custombuild.xml in GEDIT and you can see that I've taken the AOSP manifest and simply replaced portions of it to point into my own github repos for things I've changed. I'll try to include details on how I manage this below so you could do something similar if you want to.
The most time-consuming part of building Android is downloading the code. Can't go much farther without it, so get yourself a cup of coffee and a good book ...
In the terminal, at the ~/android/platform directory
repo sync
The SYNC command uses the manifest to go get all the code. Most of it is going to come from Google, but all the bits I've altered will come from my github instead. It's going to take a very long time to download.
BUILD GEEWIZ ROM
Once downloaded, we have to choose what device to build for. GeeWiz has two target devices, "atlas" and "atlas3g" (Technically, there are three as I use the same build for "toro" - VZW Galaxy Nexus). Atlas is the Wifi-only target known here as "GeeWiz Media". Atlas3G adds to that changes required to include voice/data support (mostly courtesy of Cyanogenmod!). Let's assume if you're reading this, you're interested in Atlas3G.
In the terminal, at the ~/android/platform directory
source build/envsetup.sh
lunch
The "Lunch Menu" (haha Google) will present you with a list of device builds to choose from. You can select by number, or you can type in anything not on the menu. As of this writing, the build we want is #8, full_atlas3g-userdebug. userdebug generates a generally release-quality build, but doesn't odex (pre-optimize) the APKs and has some additional debugging support you wouldn't ordinarily find. You could also type in full_atlas3g-eng for an "Engineering" build or full_atlas3g-user for a "Release" build. I think you'll prefer userdebug most of the time.
Select 8 - full_atlas3g-userdebug
make -j4 rompackage
This will kick off the build. It will take a long time the first time through. The rompackage argument is something I added to AOSP to support the Fascinate. This will build the EDIFY update-zip that I upload for everyone and use to generate the ODIN packages (more on that later). On typical Android devices, you would use otapackage (update-zip install) or updatepackage (fastboot install) instead. Fascinate is a special needs child, so it gets a special needs build process.
Once it's done, provided I didn't forget anything important here, you'll have a full ROM/Kernel package ready to be flashed via Clockworkmod or GeeWiz Recovery in the ~/android/platform/out/target/product/atlas3g folder. It will be named along the lines of full_atlas3g-rom-YYYYMMDD.HHMMSS.zip. Making a package for ODIN involves more steps, but I'll get to that. First I have to tell you how to build a modified Kernel ...
BUILDING THE GEEWIZ KERNEL
The Atlas and Atlas3G repos have a pre-compiled kernel in them that is packaged with the ROM build. This section will describe how to build and include customized versions of that kernel. First step is, of course, to get the source code. Both ROMs share a kernel but due to differences in the ramdisk (initramfs), they are built independently.
In a Terminal, at the ~/android directory
git clone https://github.com/djp952/android-kernel-atlas.git
cd android-kernel-atlas
git branch android-4.1.2_r1 remotes/origin/android-4.1.2_r1
git checkout android-4.1.2_r1
Now the build environment needs to be set up. I use the compiler provided with AOSP to build the kernel as this is how Google does it. If you are using a different compiler, or have put your AOSP tree into a different location, you may have to modify these commands slightly.
In a Terminal, at the ~/android/android-kernel-atlas directory
export ARCH=arm
export SUBARCH=arm
export CROSS_COMPILE=arm-eabi-
export PATH=~/android/platform/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin:$PATH
NOTE: From this point forward, don't close that Terminal, otherwise you will have to execute the environment export commands again.
The kernel is built in three steps. This is necessary because the Fascinate doesn't conform to Android's models and we have to include the ramdisk (initramfs) in the kernel image. The first step is to select which device you are building the kernel for, which in this case will be "atlas3g_defconfig". (The other configuration for GeeWiz Media is called "atlas_defconfig").
make atlas3g_defconfig
This initializes the kernel build for Atlas3G. Since we need to build the ramdisk as part of the kernel, the next step is to generate any loadable kernel module (.ko) files that need to be part of that ramdisk
make modules
The way I have the kernel set up, it will pull the necessary files for the ramdisk by looking at the device "initramfs.list" file, in the AOSP tree. The file that describes the atlas3g ramdisk, for example, is in ~/android/platform/device/samsung/atlas3g. If you examine this file you can see that it lists where all the files should come from, relative to the kernel source root directory. This explains why I went through how to build the AOSP tree before the kernel, the kernel depends on the AOSP build. Provided everything is in the right place, it's time to build the kernel
make
This executes the main kernel build. Should any ramdisk files be missing, it will error out early on and let you know what the problem is. Assuming everything goes well, your kernel will be in the ~/android/android-kernel-atlas/arch/arm/boot directory. It's named zImage and it's the combined kernel/ramdisk required for the Fascinate.
This zImage file can now be flashed directly to the device with Heimdall, packaged up for ODIN, etc. However in order to make it part of your AOSP build and corresponding EDIFY update-zip, we have to copy it into the AOSP tree and rebuild the ROM. It's a bit tedious, and other folks have different and more streamlined ways of accomplishing this, but this method has worked for me.
cp ~/android/android-kernel-atlas/arch/arm/boot/zImage ~/android/platform/device/samsung/atlas3g/kernel
cd ~/android/platform
source build/envsetup.sh
lunch full_atlas3g-userdebug
make installclean
make -j4 rompackage
This set of commands will clean out and rebuild your ROM package with the updated kernel.
CREATING ODIN PACKAGES
While not the most popular way for people to install your ROM, no guide would be complete without describing how to generate the ODIN-based installation packages. I like to provide a "Full Wipe" ODIN package that will take care of resetting the device while flashing the new ROM/Kernel, it's an easy way for people that are comfortable with ODIN to just completely replace the contents of their phone with your stuff. For this section, I'm going to assume that you are using GeeWiz Recovery, version 2.8 or later. Other recoveries will work, but as you may expect I'm most familiar with the one I made and I know for certain it has all the necessary features in place.
The ODIN factoryfs.rfs file must be generated by formatting the SYSTEM volume with RFS and then installing your ROM:
Copy your generated EDIFY update-zip to the SDCARD
Reboot into GeeWiz Recovery
Wipe the device data by selecting Wipe Device Data and then Wipe all User Data (Factory Reset)
Press the HOME key to return to the main menu
Format the SYSTEM volume with RFS by selecting Manage Volumes / Format Volumes / Format SYSTEM / Format SYSTEM [rfs]
Press the HOME key to return to the main menu
Select Install Update Package, and choose your EDIFY update-zip to install
After the installation is complete, reboot the phone by selecting Exit from the main menu. Not rebooting the device after the flash will result in a bad ODIN file more often than not. Trust me on this one.
After the device has fully booted, reboot it back into GeeWiz Recovery. The next step will be to generate a backup of the RFS-formatted SYSTEM volume to ultimately use with ODIN. GeeWiz Recovery can create these by choosing to execute a "raw dump" of the volume:
Select Manage Volumes / Backup Volumes / Backup SYSTEM / Backup SYSTEM [raw dump]
GeeWiz Recovery tries to keep volumes unmounted after it's done working, so the SDCARD must be mounted before the contents can be accessed with ADB:
Press the HOME key to return to the main menu
Select Manage Volumes / Mount Volumes / Mount SDCARD
GeeWiz Recovery will store the backup as /sdcard/backup/volume/SYSTEM-YYYYMMDD.img.gz, so as an example, I might pull it to my home folder with this command:
adb pull /sdcard/backup/volume/SYSTEM-20121022.img.gz ~/
The .gz file will contain a compressed copy of the backup, just open it up, extract the file, and then rename it to factoryfs.rfs. This is the SYSTEM volume for ODIN. There are also a number of other files you can include in your ODIN package to perform various other flash or wipe operations (I'll tell you where to get them, too)
boot.bin - Will replace the primary bootloader. VERY DANGEROUS to include, I strongly recommend against including it.
cache.rfs - Will wipe the CACHE volume; necessary if you want the device to boot into recovery automatically and run a command
dbdata.rfs - Will wipe the DBDATA volume
factoryfs.rfs - Will replace the SYSTEM volume
modem.bin - Will replace the CDMA modem
movinand.bin - Will wipe the DATA, PREINSTALL and FOTA volumes
param.lfs - Will replace the parameter block. Semi-dangerous to include, but required to ensure an initial boot into recovery mode
recovery.bin - Will replace the RECOVERY kernel and ramdisk
Sbl.bin - Will replace the secondary bootloader. VERY DANGEROUS to include, I strongly recommend against including it.
zImage - Will replace the BOOT kernel and ramdisk
To generate an ODIN-compatible tarball, gather the files you want to include and execute the following commands from a Terminal. Replace tarfilename.tar with the name you want to give the tarball, and replace file file file file with the names of the files from the table above you want to include:
tar --format=ustar -cf tarfilename.tar file file file file
md5sum -t tarfilename.tar >> tarfilename.tar
mv tarfilename.tar tarfilename.tar.md5
NOTE: If you rename the .TAR file, it will invalidate the MD5 checksum and you will have to md5sum it again.
OK, where to get the files. You can access a "full stock" ODIN package for the Fascinate, like the EH03 version that is available here on XDA to get copies of all the stock versions of these files. Or, you can use the ones from my ODIN "Full Wipe" package if you'd like as well. My ODIN tarball has a gimmick that you may find useful. If you include my copies of cache.rfs, param.lfs and recovery.bin, the device will initially reboot into recovery and automatically format the CACHE, DATA and DBDATA volumes with the EXT4 file system. It's a relatively simple trick, but an effective one to help improve the performance of your ROM. I also like to provide a "syskernel" tarball that includes only factoryfs.rfs and zImage. The benefit of this is that it will not wipe out any of your user's data. The downside is that the user may be responsible for going into Recovery on their own and executing any steps your EDIFY update-zip would have typically taken care of, like clearing the Dalvik-cache.
==================
For now, that pretty much sums it up! I can expand on this, or perhaps more appropriately compress it (I am a tad verbose!) based on feedback and how useful this little guide ends up being for everyone. Let me know -- PM me or post here in this thread, I'll see it either way!
reserved post
reserved 3
Downloading now. Will reply with the results soon
Just have one question though. I am on a voodoo kernel ie kgb with geewiz 2.9 rom. And I will be using the edify update method to flash the 3.2 rom. Do I need to convert the file system to ext? Or can I just flash it over the existing setup.
Thanks in advance
edit...I flashed the JB rom on the above setup. The phone is stuck at the big X logo. Doesnt seem to go beyond that. So i went back to stock froyo. Then flashed GW 2.8.1. Booted properly. Everything working fine. Next i flashed geewiz recovery & converted files to ext4. rebooted. works fine too. Flashed JB rom. Phone still stuck at the X logo.
Kindly help...
Sent from my SCH-I500 using xda app-developers app
swapnilss said:
Downloading now. Will reply with the results soon
Just have one question though. I am on a voodoo kernel ie kgb with geewiz 2.9 rom. And I will be using the edify update method to flash the 3.2 rom. Do I need to convert the file system to ext? Or can I just flash it over the existing setup.
Thanks in advance
edit...I flashed the JB rom on the above setup. The phone is stuck at the big X logo. Doesnt seem to go beyond that. So i went back to stock froyo. Then flashed GW 2.8.1. Booted properly. Everything working fine. Next i flashed geewiz recovery & converted files to ext4. rebooted. works fine too. Flashed JB rom. Phone still stuck at the X logo.
Kindly help...
Sent from my SCH-I500 using xda app-developers app
Click to expand...
Click to collapse
Let me follow those exact steps and see what happens. Mandatory silly question: did you wipe data after installing the JB rom?
Just to clarify to make sure I do the same thing, you went back to stock Froyo (ED05), not stock Gingerbread (EH03)?
It will sit at the X logo for quite some time after flashing the ROM, since it has to dalvik all the apps. "Quite some time" in this case means like 3-5 minutes though. It does take much longer than Gingerbread to do this, but it's not some craziness like half an hour.
:crying:
edit: If I can't duplicate this, I can post a kernel update where debugging is ON by default so we could use ADB to see what it's hanging up on, but I will totally understand if you don't want to go through all that effort. Been there!
Odined back to stock. Loaded full wipe 3.2 and everything is golden. MMS, WiFi etc works great.
Did have to restart before WiFi would start. ROM is a little laggy at first but once it settles performance is on par with other JB Roms:thumbup:
Thanks Mr.GeeWiz: looks great for a "beta"
Edit: speakerphone works great also, sweet^o^
Sent from my SCH-I500 using xda app-developers app
I still think in overall the ROM is laggy.
WiFi requires restart each time you switch it off.
Whatsapp is not working after SMS code verification.
Thanks DJP952
i decided to give this a try. everything works great. wifi did not require a reboot for me. camera, mms, wifi all work great. a little sluggish getting started, but pretty stable nonetheless. great work DJ. thanks
djp952 said:
Let me follow those exact steps and see what happens. Mandatory silly question: did you wipe data after installing the JB rom?
Just to clarify to make sure I do the same thing, you went back to stock Froyo (ED05), not stock Gingerbread (EH03)?
It will sit at the X logo for quite some time after flashing the ROM, since it has to dalvik all the apps. "Quite some time" in this case means like 3-5 minutes though. It does take much longer than Gingerbread to do this, but it's not some craziness like half an hour.
:crying:
edit: If I can't duplicate this, I can post a kernel update where debugging is ON by default so we could use ADB to see what it's hanging up on, but I will totally understand if you don't want to go through all that effort. Been there!
Click to expand...
Click to collapse
Hi djp,
I forgot to mention that I have bought the handset from Reliance (mobile service provider in India ). And that puts a limitation on me as I am not able to wipe the data dalvik and cache whenever I flash my phone to a new rom. If I do the data wipe I lose my 1x/3g Connectivity and I cannot restore it (tried various options like data fix files, apn restore etc etc) unless I flash the stock rom from Reliance (EK10 Froyo. No official gb rom for India yet ). Hence whenever I flash roms I do not wipe data. But in spite of that I have never faced any problems. Infact now the number of user apps is close to 100 and I can still flash any touchwiz rom (geewiz 2.8, 2.9, tsm resurrection and 2.2 etc without any problems. I am in no way promoting my method of not wiping but I have no other choice.
With the given restrictions that I have, please advise me how and what I can do to successfully flash JB rom. Currently there are no user apps in my device so clearing dalvik should not be a problem.
Sent from my SCH-I500 using xda app-developers app
swapnilss said:
Hi djp,
I forgot to mention that I have bought the handset from Reliance (mobile service provider in India ). And that puts a limitation on me as I am not able to wipe the data dalvik and cache whenever I flash my phone to a new rom. If I do the data wipe I lose my 1x/3g Connectivity and I cannot restore it (tried various options like data fix files, apn restore etc etc) unless I flash the stock rom from Reliance (EK10 Froyo. No official gb rom for India yet ). Hence whenever I flash roms I do not wipe data. But in spite of that I have never faced any problems. Infact now the number of user apps is close to 100 and I can still flash any touchwiz rom (geewiz 2.8, 2.9, tsm resurrection and 2.2 etc without any problems. I am in no way promoting my method of not wiping but I have no other choice.
With the given restrictions that I have, please advise me how and what I can do to successfully flash JB rom. Currently there are no user apps in my device so clearing dalvik should not be a problem.
Sent from my SCH-I500 using xda app-developers app
Click to expand...
Click to collapse
Ah, I see your point. When you had problems with activation, were you wiping data using Recovery or using the "Factory Reset" option in the OS? The latter, at least the Samsung version of it, will indeed nuke your activation. However, using Recovery to do it *shouldn't* affect anything. The activation stuff is stored in some secret location that recovery doesn't affect. I honestly have no idea where it's even stored, I used to think it was on the "EFS" volume, but as it turns out it's not!
I've never spent any real time trying to figure out a more surgical way to wipe data other than nuking the DATA and DBDATA partitions completely. Unfortunately, I don't really have the necessary knowledge to be able to do it any other way. While I'm relatively confident that wiping data through Recovery won't hurt, of course I cannot be 100% certain of that.
I apologize that I don't know enough about the non-Verizon models to be more confident in a recommendation for you. From what I know of the SCH-I500 CDMA, wiping outside of the Samsung OS, changing the modem version, or using the evil "EFS Clear" option in ODIN has never affected activation for me.
Sorry sir. Without a wipe, this one's not going to work. Just too far removed from the stock ROMs.
I can duplicate the Wifi issue and am looking into it. For me, it just took a REALLY long time for it to turn on, like 10 minutes. I think I know what I've done that might cause this and hope to fix it Getting the logs now.
edit: I think I see what the problem is, not sure why it hasn't been an issue with the "Media" version. I have to dynamically load and unload the Wifi driver to prevent bad things from happening, this isn't the usual way it's done. The OS is set up to start the Wifi "supplicant" automatically, when it probably shouldn't be. The supplicant can't load if the wifi driver isn't up yet. Sometimes it works, sometimes it doesn't, and when it doesn't Wifi will be hosed until the OS sorts it out. I have two solutions to try, the first is to see how Android behaves if I don't allow the supplicant to be started as part of the "main" service class, the second is to figure out that aforementioned bad thing and do it more properly. I'll get it. Sorry for the bug
Thanks for trying this guys! I never expected it to be as good as the "big" ROMs, and I wish I could do something about it being so ungodly slow for a while. It seems to pick up and work properly after all the apps have been updated and it's had a chance to do all the Google backups and whatnot that it wants to do.
One problem I saw yesterday for the first time that you might need to watch out for ... The battery TANKED in a matter of 2 hours for some reason. It looks like Google Search went off the reservation. I've also seen "GPS Status and Toolbox" destroy the battery if you don't close it all the way (long-press HOME, then swipe it away).
Oh, one cool feature we have now ... "Take Bug Report". Check in Settings/Developer options to see it. What this does is collect all kinds of logs and information about the phone and make an e-mail out of it. The default sends it to your GMail account. It's about 3MB, but it will be nice to have something everybody can use to gather logs for problem resolution rather than asking folks to hack around in ADB. So, if you run into weirdness, you can click that button, wait a while and watch scary "shell has been granted superuser permissions" pop up a lot, and you'll ultimately end up in GMail with something you can send you me or post parts of here! Great that Google added that in an accessible way finally!!
For the folks having trouble with turning Wifi on and off, I have an experimental/test patch for you. This patch will replace the GeeWiz 3.2 kernel with an updated version that changes the ramdisk/initramfs such that the wifi services are not started until Android requests them to be started. It may affect Wifi and Bluetooth Tethering, but my testing of the change here for both showed no ill-effects:
GeeWiz 3.2.1 Wifi Patch [Experimental] [EDIFY update-zip]
REMOVED: Please use official patch in the DOWNLOADS section of the main post
NOTE: You will be asked to re-opt-into the Google Location service on the first boot, this is normal. I clear the "Google Services Framework" app on any kernel change now to avoid the well known Jelly Bean issues with losing connection to Google Services when you alter the kernel. This may have been fixed with JZO54K, but why risk it when all you have to do is click "Agree"
You may have to reboot once more after installing this to clear up the Wifi on/off problems so that the Android settings are synchronized with the changes. If after a second reboot this does not solve your problem, please let me know!
Rollback: This change can be rolled back by installing the EDIFY update-zip for GeeWiz 3.2 again on top of it without wiping data. I can also package/provide a more specific rollback that only undoes the changes if necessary.
Please let me know if this solves your Wifi issues or not, so that I can either post it as a primary patch for GeeWiz 3.2 (and GW Media 3.2) or take another crack at solving it Thanks!!!
djp952 said:
Ah, I see your point. When you had problems with activation, were you wiping data using Recovery or using the "Factory Reset" option in the OS? The latter, at least the Samsung version of it, will indeed nuke your activation. However, using Recovery to do it *shouldn't* affect anything. The activation stuff is stored in some secret location that recovery doesn't affect. I honestly have no idea where it's even stored, I used to think it was on the "EFS" volume, but as it turns out it's not!
I've never spent any real time trying to figure out a more surgical way to wipe data other than nuking the DATA and DBDATA partitions completely. Unfortunately, I don't really have the necessary knowledge to be able to do it any other way. While I'm relatively confident that wiping data through Recovery won't hurt, of course I cannot be 100% certain of that.
I apologize that I don't know enough about the non-Verizon models to be more confident in a recommendation for you. From what I know of the SCH-I500 CDMA, wiping outside of the Samsung OS, changing the modem version, or using the evil "EFS Clear" option in ODIN has never affected activation for me.
Sorry sir. Without a wipe, this one's not going to work. Just too far removed from the stock ROMs.
Click to expand...
Click to collapse
Hi!
Wiped data dalvik and cache & now I am on JellyBean. Thanks djp952. :good::good::good:
This Rom looks great and apart from the Wifi issue ( havent got time to update my phone with the patch for wifi issue as yet) which takes some time to start or sometimes just rebooted my phone altogether, everything seems to work fine. Had a problem verifying Whatsapp but used their "Verify by Call" method and now its working fine too. Battery life seems good to me as of now. Liked the inbuilt BLN.
Sadly, as i mentioned before, i lost my 1x/3g connectivity (nothing to do with this Rom) and thats Ok for a day or two till i try & figure out something to enable it again. By the way, i have always done the wipe through recovery only. Never used the factory reset option in settings menu. And that means the 1x/3g settings get wiped out the moment I wipe Data (note: wiping dalvik & cache does not affect it).
Anyways , looking forward for more developments on this rom from you.
edit... The stock gallery does not seem to show all the files available in that folder. I have 1400 plus pics in that DCIM folder and the stock gallery shows 1000 or sometimes 500 only.
QuickPic
swapnilss said:
The stock gallery does not seem to show all the files available in that folder. I have 1400 plus pics in that DCIM folder and the stock gallery shows 1000 or sometimes 500 only.
Click to expand...
Click to collapse
We are a little off topic, but... I too have had nothing but problems with the stock Gallery application... not loading at all, not showing pictures, generally being grumpy (okay, so I get that way too sometimes), etc.
Try Quickpic (http://market.android.com/details?id=com.alensw.PicFolder) , it's a free app that is a gallery replacement (ad-free too!). Just make it the default and you should be set. If, for some reason, you don't like it... Just uninstall and revert back.
As for the Jellybean ROM... too sweet! I love having an original Galaxy S with JB running on it! I get questioned all the time what phone I have, because it's running the latest Android build and doesn't look like any out there right now.
Sent from my SCH-I500 using xda app-developers app
I'll load up some huge amount of photos and have a look at Gallery. I could switch from using the Google Nexus version to the AOSP, if it shows any improvements. One bonus we could get there is that I enabled widescreen photos in the AOSP branch Didn't include it for various reasons, one I recall was that it would crash if you tried the "face detect" option.
I'll have a look -- maybe it can be fixed! I also have to download this "Whatsapp" that people are using ... never heard of it What does it do?
Thanks as always for the feedback guys! Glad it's going pretty well thus far
FYI for any aspiring developers, I've started making a "HOW TO" guide for building GeeWiz from scratch in Post #2:
http://forum.xda-developers.com/showpost.php?p=33011164&postcount=2
I've gotten as far as how to make the AOSP ROM and compile the kernel. At minimum, I need to add how to make the ODIN files as well, but maybe later. Depending on level of interest, I can go into as much as anyone wants there, short of how to make actual code changes (but I could try to help offline). I think describing how to get from source to the flashable files is a good first step, I'll see how it goes from there
DJ, you should link this on the home page of GeeWiz 2.9, so more folks can get this. Also, I think you should name it JellyWiz...
Can I ask what this is ?
AndroidGee209 said:
Can I ask what this is ?
Click to expand...
Click to collapse
JellyBean for the Fascinate, with GeeWiz recovery and kernel
---------- Post added at 03:53 PM ---------- Previous post was at 03:51 PM ----------
where can i find the compass?