Related
Just throwing an idea out there, and since it's for developers (specifically people who make their own recovery images) I assume this is the right section.
Since we have 'control' over the recovery image on our phones, would it not be possible to add a little script to an update.zip that a suitably modified recovery image could extract and run to interactively prompt the user for various Rom options? I'm thinking specifically of kernel choices, but it could be extended to almost anything that needs to be done prior to booting the installed image.
Imagine installing a rom, and during the install you got a little menu like this:
1: RamHack, BFS Kernel
2: RamHack, CFS Kernel
3: No-RamHack, BFS....
etc...
inefficient, it adds extra baggage to rom, and more things can go wrong. what would you rather downlaod a 90mb file or a 110 mb file.
Which would you rather download, one 110MB ROM or 2 90MB ROMS?
I'm pretty sure there's more than a few people who'll download different variations of the same ROM so they can see which is faster, how much easier would it be to just download one thing and then choose which options you want in there without downloading anything else.
I believe it is entirely possible. As a matter of fact, I was working on a ROM project that would have an interactive installer from the update.zip that would selectively install different features, apps, customization, themes, etc., based on the recovery menu application. It would use a lot of the /cache for temp space, though, as the installer application and its resources and configuration file, and later, the necessary parts of the ROM itself, would need to be unzipped before the install can run, if I recall correctly.
Does anyone have a good link to a reference for the command syntax for the /META-INF/com/google/android/update-script file? I'll go search for it in a few moments myself. I could probably make a simple ROM installer that chooses between ROM X and ROM Y based on a key input, as a proof of concept. I'll test it myself, I don't really mind half-bricking my device for science. (As long as I don't need to touch the SPL/Radio, that is.)
Update: Some creative searching finds me this:
JesusFreke said:
Assuming you mean update-script in an update.zip update, you will need to either look at existing update-script files for an example of the syntax, or look at the source of the recovery program in the android source
Click to expand...
Click to collapse
There's also a "make-update-script.c" file I'm seeing here and there, I'm trying to find the file in the Android source.
Update 2: From install.c at donut from cyanogen's android_bootable_recovery:
Code:
#define ASSUMED_UPDATE_SCRIPT_NAME "META-INF/com/google/android/update-script"
#define ASSUMED_UPDATE_BINARY_NAME "META-INF/com/google/android/update-binary"
and in commands.c, toward the bottom at register_update_commands is all the commands defined, and above that are all the functions they carry out.
sorry about that deicist i was sleepy when i wrote that so i must have been cranky yea i guess that is a fine idea, with just 30 more mb you have like 300mb worth of stuff. and you can pick which 90 mb you want.
markolo25 said:
sorry about that deicist i was sleepy when i wrote that so i must have been cranky yea i guess that is a fine idea, with just 30 more mb you have like 300mb worth of stuff. and you can pick which 90 mb you want.
Click to expand...
Click to collapse
Well, on the 32B platform with the Death SPL (my phone) we have the following partitions of the internal NAND memory (mtdblock*) from the df and mount command:
NAND 3: /system 92160kb - OS partition, static and read-only
NAND 5: /data 91904kb - User, system config, app config, and apps (without a2sd)
NAND 4: /cache 30720kb - OTA cache, Recovery/update config and temp
And I'd assume NAND 1 and 2 are the kernel, ramdisk, and bootloader config.
So the ROM wouldn't exceed 92MB installed (most leave some room in /system for hacks and updates). And the update process doesn't ever really "flash", per se; it just formats, copies files, and sets permissions and initialization configs, like Windows or Mac.
So the files that are common to the different ROMs being packaged don't need to be duplicated, only the ones that are changed (like a boot.img, or 32A/B compatibility, or different apps). The update script and chooser menu will decide which files to copy. Meaning the ROM package in and of itself shouldn't really need to exceed 128MB, even if choosing from a wide variety of platforms. And upon installation, the system might take less than 32 MB.
yeah, what he said ^
The scenario I was thinking about specifically was SuperD. If you look here:
http://forum.xda-developers.com/showthread.php?t=613809
There's 8 different downloads there. How many files are actually different between those 8? I guess the themes mean a lot of application files are different (due to having different resources in them) but the underlying framework files will be pretty much the same I think.
Deicist said:
yeah, what he said ^
The scenario I was thinking about specifically was SuperD. If you look here:
http://forum.xda-developers.com/showthread.php?t=613809
There's 8 different downloads there. How many files are actually different between those 8? I guess the themes mean a lot of application files are different (due to having different resources in them) but the underlying framework files will be pretty much the same I think.
Click to expand...
Click to collapse
I could download them all, and find the differences of each. It would be cool if a ROM like this were available in a single download, from which you would choose the content from the device before flashing.
Also, inspired by talking about this, I wrote up a guide on the update-script in the package file. It's still not finished, but it'll be the only guide available for that syntax yet (trust me, I couldn't find one myself ). Link's in my sig.
I'm surprised that nobody's mentioned the Droid... the sholes.info rom (now called droidmod) have used a .tgz archive instead of a .zip, the .tgz installs have always allowed this customization, droidmod makes one of the most common recovery's AND rom's. (SPRecovery/Droidmod).
It give you the option to choose what launcher to install, what theme, what apps to remove.
page here: http://droidmod.org/news/droidmod-v1-0-is-out/
how big of a ROM are you thinking about?
There are roms (WG etc...) that offer more than one kernel as update.zip you can flash over an existing installation of your rom instead of adding all the stuff to one big file. also you can download themes for several roms/for metamorph.
so why would you want some big install script instead of just downloading the files you like and flash it?
jmhalder said:
I'm surprised that nobody's mentioned the Droid... the sholes.info rom (now called droidmod) have used a .tgz archive instead of a .zip, the .tgz installs have always allowed this customization, droidmod makes one of the most common recovery's AND rom's. (SPRecovery/Droidmod).
It give you the option to choose what launcher to install, what theme, what apps to remove.
page here: http://droidmod.org/news/droidmod-v1-0-is-out/
Click to expand...
Click to collapse
Is the Droid's recovery image capable of running on the G1, and/or is it open-source enough to be cross-built to the G1? If so, we could port it here. Only problem there though, is that all the roms are in update.zip format for the G1 already, we'd need to make it dual-compatible if we don't want to split the community and annoy generally everyone ("My rom only supports TGZ recovery!" "ROMs are in ZIP format, and I will not make a TGZ one for those unfortunate enough to use the other Recovery!")
domenukk said:
There are roms (WG etc...) that offer more than one kernel as update.zip you can flash over an existing installation of your rom instead of adding all the stuff to one big file. also you can download themes for several roms/for metamorph.
so why would you want some big install script instead of just downloading the files you like and flash it?
Click to expand...
Click to collapse
Well, for one, devs need to host one file only, and users need to download one file only. The file won't be much bigger or more complex at all, really. And the way things look on the recovery side, we could probably put a selection of themes in with the updater and patch them in post-install with a Metamorph script straight from recovery. That way, the rom is as you want it out-of-the-box, no multiple reboots, etc.
Also, those scripts that usually run on first-boot, like zipalign, dexopt, apps2sd etc. should run from the recovery environment, instead of before the Android bootanimation (I do get tired of hearing "This ROM will take a LONG time on the first boot. If it's stuck at the G1 screen, just wait 10-30 minutes.")
So what would you rather have, one single ROM (G1_Android_ROM_v1.17.zip) for each version released,
or six different ZIPs to flash (G1_Android_ROM_10MB_CFS.zip, G1_Android_ROM_Greentheme.zip, G1_Android_ROM_Bluetheme.zip, G1_Android_Nowipe_GApps.zip)?
Would you rather select what you want to include at flash (and be able to change things like themes or features after flashing), or have 20 different files to choose from, wiping and flashing on each?
I am aware of the no-wipe upgrades for many ROMs, but they can get confusing (I once flashed a CFS_10MB.zip that was for a Hero ROM, stupidly thinking that it might have been for the Eclair that I just downloaded.) Needless to say, I had to wipe and reflash. Again.
TylTru said:
Is the Droid's recovery image capable of running on the G1, and/or is it open-source enough to be cross-built to the G1? If so, we could port it here. Only problem there though, is that all the roms are in update.zip format for the G1 already, we'd need to make it dual-compatible if we don't want to split the community and annoy generally everyone ("My rom only supports TGZ recovery!" "ROMs are in ZIP format, and I will not make a TGZ one for those unfortunate enough to use the other Recovery!")
Well, for one, devs need to host one file only, and users need to download one file only. The file won't be much bigger or more complex at all, really. And the way things look on the recovery side, we could probably put a selection of themes in with the updater and patch them in post-install with a Metamorph script straight from recovery. That way, the rom is as you want it out-of-the-box, no multiple reboots, etc.
Also, those scripts that usually run on first-boot, like zipalign, dexopt, apps2sd etc. should run from the recovery environment, instead of before the Android bootanimation (I do get tired of hearing "This ROM will take a LONG time on the first boot. If it's stuck at the G1 screen, just wait 10-30 minutes.")
So what would you rather have, one single ROM (G1_Android_ROM_v1.17.zip) for each version released,
or six different ZIPs to flash (G1_Android_ROM_10MB_CFS.zip, G1_Android_ROM_Greentheme.zip, G1_Android_ROM_Bluetheme.zip, G1_Android_Nowipe_GApps.zip)?
Would you rather select what you want to include at flash (and be able to change things like themes or features after flashing), or have 20 different files to choose from, wiping and flashing on each?
I am aware of the no-wipe upgrades for many ROMs, but they can get confusing (I once flashed a CFS_10MB.zip that was for a Hero ROM, stupidly thinking that it might have been for the Eclair that I just downloaded.) Needless to say, I had to wipe and reflash. Again.
Click to expand...
Click to collapse
You could just have flashed the original rom without wipe.
Would be a step forward if you could simply put roms and additional files in folders... maybe even whole zip files containing some updates and an xml like file to describe them. This would guarantee compatibility with earlier boot images (just unpack the updates in the zip). Tar might work better than zip as it is not compressed thus faster afaik.
http://droidninja.com/?p=26334
We got ninja'd. Apparently the Droid Does exactly this.
So let's get to work on porting it! Like this comment says, I'm working on finding the source code to a good Droid recovery image (sadly Droid hasn't its own forum here), and if it's closed source, I'll get on reverse-engineering a .tgz rom to see exactly how it works.
TylTru said:
http://droidninja.com/?p=26334
We got ninja'd. Apparently the Droid Does exactly this.
So let's get to work on porting it! Like this comment says, I'm working on finding the source code to a good Droid recovery image (sadly Droid hasn't its own forum here), and if it's closed source, I'll get on reverse-engineering a .tgz rom to see exactly how it works.
Click to expand...
Click to collapse
This is pretty awesome. I was going to say, we could easily run bash scripts but this is so much better.
This needs to be merged with both Amon_ra's recovery and the new 2.x based recovery...
I have made several CM10 Nexus 7 roms using the repo sync to cm's repositories. I was wondering how best I can make the rom my own so that it what me and my friends find useful.
I would like to be able to change the meta inf updater script for example to say "Fallon Rom"
or include supersu, not superuser.
(obviously no paid apps)
is there a way to include an app as a user app so that if the user wants to get a paid version it is easy? (eg romtoolbox lite --> rom tool box pro)
Lastly, how can i best make this apply to each release. Can I make a folder that will then get included in future builds (so i don't have to manually unzip the rom and change stuff)
Thanks for any responses. :highfive::highfive::highfive:
edit: and how can i include hillbeast's 720p camera mod
i am also planing on including gapps. How best to include them (or is staying separate that much more preferable)
anyone??
Can anyone give any tips?
Hey guys, I made a simple script here and thought I'd share it
Many of us flash roms often and like to add things back to our /system or /data partitions afterwards.
For the longest time I had a 'flashpack.zip' file sitting on my sdcard that I'd flash right after I flashed a new rom. It added ringtones, hosts file, custom eri.xml, etc. But it was a pain to keep up to date with stuff I wanted and it sucked to have to flash two zips all the time.
If you didn't know, there are some scripts in /system/addon.d/ that survive wipes and get run by recovery. They generally have a switch statement that controls when certain things run. (when you back up, when you restore, after you flash a rom, etc)
This little script just runs after a rom install and merges in whatever you have sitting in /sdcard/flashpack/ to your root filesystem
Script/directions: http://pastie.org/7726407
Flashable zip to enable this: http://invisiblek.org/99-flashpack_enabler.zip
Feel free to modify, or do whatever you want. If you come up with something cool, share it!
Someone should find a way to apply a metamorph theme via this method...I really like the SuperuserLock from here: http://faithcry.believable.org/lockrings.html
Hi. I'm currently on CM11 Nightlies now and this script isnt working. I have other addon.d scripts that work but this one doesnt. I try to use it for some fonts, sounds and apps. I've read the instructions carefully and i don't see a reason why it wouldnt work other than the script is outdated.
anyway thanks~
Team Voxive Presents: Vox Remover [DISCONTINUED]
[CROSS-POSTED from old Voxive GApps thread, some doesn't apply]
Long time no see, huh? Well, contrary to the Post title, I am back but it's different now! Why?
THESE GApps ARE NOW APART OF Open GApps!
I wanted to cover a few things about this package real quick though!
First, the source code has been moved and updated (the old actually was missing the newer releases!) onto GitLab. One note though is that the APKs themselves are managed using Git-Annex, so you will need that to "complete" your repo. Find the source code here: http://gitlab.com/TeamVoxive/vox_gapps/
Second, Open GApps includes a AROMA version too that will be easy for you guys to migrate over to!
Third, my other project, Vox Remover is on hiatus as it is semi-replaced by Open GApps as not only it includes more removals than the original PA/TK Gapps these were based on but it also includes the ability to remove ANY app (have to configure in config file).
Lastly, I want to mention my "other" project that I am still working on. Vox Variety is a 24-hour variety station playing a lot unique stuff!
You can find Open GApps at http://opengapps.github.io/opengapps/ with daily, auto-generated builds for 4.4x to 5.1x on arm(64) and x86(_64) with a ton of variants!
OLD OP BELOW!
Vox Remover, based on PA GApps Remover by @TKruzze, is a flashable script for rooted Android devices that allow you to remove some bloatware that may come with your ROM.
To use, just flash after your ROM of choice! It will walk you through making the file and it will then remove them. Finally, the Addon.d script will keep them removed across updates without a reflash!
REMOVABLE ITEMS
To see the list of items you can remove, visit this page on our GitHub Wiki.
DOWNLOAD AND FLASH
You will find detailed instructions how to flash and download links on this page on our GitHub Wiki.
SOURCE CODE
View the Source Code on GitHub! If you want to contribute, feel free!
CREDITS
@TKruzze for making the original PA GApps Remover
@Kiray1982 for the code to run the shell script remover inside the AROMA installer.
XDA:DevDB Information
Vox Remover, Tool/Utility for all devices (see above for details)
Contributors
dotmaniac
Source Code: https://github.com/TeamVoxive/vox_remover
Version Information
Status: No Longer Updated
Current Stable Version: v5
Stable Release Date: 2014-12-26
Current Beta Version: v6.0.1
Beta Release Date: 2015-04-23
Created 2014-09-07
Last Updated 2015-06-27
CHANGELOG
Changelog
v5.1
Added CM AudioFX under the existing DSP option.
v5
Version Merge
The Major change in v5 is the fact that Lollipop and KitKat versions are no longer separate. This changes a few things behind the scenes but only one thing up front: A new Version selector dialog that let's you select KitKat or Lollipop! MAKE SURE YOU CHOOSE THE CORRECT ONE OR IT WON'T REMOVE!!
New Apps
I have added a couple of new apps also!
Euphoria Wallpapers
CyanogenMod's Eleven Music Player
These apps are most likely lollipop only but if you find a KitKat ROM with them, you should be able to remove them!
Other Fixes
Fixed Sorting of CyanogenMod and Other ROM items to be Alphabetical.
Spaces to TABS
NOTE
This is early days for the Mixed Installer and I need all the testing I can get! Please report your issues!
v4-kitkat and v2-lollipop
With v2, you can now restore from the config file so you don't have to edit it every time you flash!
Simply choose RESTORE when you flash to jump straight to the installer.
Want to edit your choices? Tap DON'T RESTORE and you will be greeted with the classic installer!
v3.3.1-kitkat and v1.1.1-lollipop
FIXES BUG IN v3.3-kitkat and v1.1-lollipop, see changelog below!
20141122 releases: v3.1/v3.2-kitkat/v3.3-kitkat and v1-lollipop/v1.1-lollipop
LOLLIPOP VERSION STILL NEEDS TESTING! PLEASE HELP!
NEW FEATURES
All versions
Thanks to a request on XDA, I have added support to remove the Boot Animation. Just select the new option and it will remove the animation, defaulting you back to the one built into the code.
v3.2+ and both Lollipop versions
Also, you can now separately remove Exchange Services so you can still use Exchange accounts in Gmail!
v3.3 and v1.1-lollipop versions
Finally, you can remove AOSPA's Lightbulb/Torch App.
BUGS
v3.3 and v1.1-lollipop versions
Fixed Git messing up EOL which made development tricky, didn't impact end users.
All versions
Wouldn't flash in some recoveries like the MultiROM one because it didn't have an updater script file. I added a dummy file and now it works.
All versions
When I based this project off of the PA GApps Easy Config script I was working on, I accidentally left some items in the config script named "aosp_prop" instead of "gapps_prop". To make it easier, I renamed both to just "prop".
CLEAN UP
All versions
I did some misc. cleanup including:
Changing the author name to my new username: "bgiesing"
In config script, fixed leftover PA GApps config name and replaced with Vox Remover.
In the Install Script, I removed some extra headers and the part that looks for your text file as it is always in the same place now.
v3
AROMA Installer: The zip is now using AROMA! That means that you can use a simple click interface to config your choices.
One ZIP! I figured out how to run the current script from AROMA and show output which means you don't need two ZIPs! Flash one for everything!
Added a request: PhotoPhase Live Wallpaper
Combined: Development and SpareParts into one entry as if you are going to remove one, you are most likely going to remove the other.
Fixed: Addon.d Script! In the older releases, there were two problems with the script. The first was the ZIP not installing it on your device which means it can't work at all. The second is that even if you copied over the script manually, the items to restore were in the "restore" section and not "pre-restore" and this caused things like AOSPA's script to not restore completely!
v2
Fix SlimIRC and PAC-Man apps not removing
First Public release
v1
BETA Release, Initial Release
Reserved
good
this looking helpful!
No instructions on how to install/flash? I understand you based your work on TKRuzze's GApps Remover but it might be wise to add instruction in your original post as to how and when to flash your zip and/or would it conflict with TKRuzze's and the likes of those kind of questions.
So far, I'm liking this project.
Rickav said:
No instructions on how to install/flash? I understand you based your work on TKRuzze's GApps Remover but it might be wise to add instruction in your original post as to how and when to flash your zip and/or would it conflict with TKRuzze's and the likes of those kind of questions.
So far, I'm liking this project.
Click to expand...
Click to collapse
There is instructions, it tells you how to make the text file and to flash, if you don't know how to flash, then you shouldn't be using custom ROMs!
As for possible conflicts, they both supplement each other, one removes GApps and the other removes stock apps! They are safe to use together!
dotmaniac said:
If you don't know how to flash, then you shouldn't be using custom ROMs.
Click to expand...
Click to collapse
If I didn't know how to flash, I couldn't use a custom ROM in the first place.
In any case, I must have missed the the "when to flash" bit in your OP and, on that front, this project looks even more promising.
Rickav said:
If I didn't know how to flash, I couldn't use a custom ROM in the first place.
In any case, I must have missed the the "when to flash" bit in your OP and, on that front, this project looks even more promising.
Click to expand...
Click to collapse
I agree with you, the OP didn't mentioned where we have to put the file etc...
For beginners (like me) it's not as easy as it could be for experienced people.
Please give us some advice
Sent from my One
splokow said:
I agree with you, the OP didn't mentioned where we have to put the file etc...
For beginners (like me) it's not as easy as it could be for experienced people.
Please give us some advice
Sent from my One
Click to expand...
Click to collapse
Read again:
dotmaniac said:
To use, make a text file named ".vox-remove", put it in the same folder as the ZIP or the /sdcard root, and put a keyword from the list below. The file should have no extension. Remove anything in BOLD. After making the file, flash normally anytime after flashing the ROM (before or after GApps, kernel, etc.)
Click to expand...
Click to collapse
dotmaniac said:
Read again:
Click to expand...
Click to collapse
Thank you for editing
Sent from my One
Okay guys, here is a little bit of a news update!
I am still working on this, I just need a suggestion on apps that you guys want removed!
Secondly, I am in contact with @osm0sis to make an AROMA zip that will create a file for the new AOSPA shell GApps! This will save people the trouble of figuring out how to correctly make the text file. Hopefully, I can also make one for the remover!
I just released an AROMA zip to make the text file for PA GApps remover, I am going to try to have one up for Vox remover eventually!
dotmaniac said:
Me, @hlxanthus, and @osm0sis have been working on an easy config tool for making the .gapps-remove (soon .gapps-config) file. @hlxanthus has already posted a few versions and now here is the next step.
Download pa_gapps_config-20140916b.zip
Compared to his versions, the interface is completely slimmed down and the ZIP is smaller. How? Well, I used my base which is categorized and has a better file structure. The ZIP is smaller thanks to a few things: One includes less words in script files. An example is resread instead of zipread. This allows you to not have to enter the full file path. Secondly, he added a Splash image and I ran it through a PNG compressor. Before it was 520 KB and is now 130 KB. Third, my base doesn't include extra themes and icons that make up most AROMA zips.
Thanks to @osm0sis and @hlxanthus for ideas, shell help, and AROMA help. Specifically @hlxanthus for the backup code and verification screens. Also @osm0sis for the grep -w flag hint and help for other projects I have done.
Click to expand...
Click to collapse
Suggestion
dotmaniac said:
Okay guys, here is a little bit of a news update!
I am still working on this, I just need a suggestion on apps that you guys want removed!
Secondly, I am in contact with @osm0sis to make an AROMA zip that will create a file for the new AOSPA shell GApps! This will save people the trouble of figuring out how to correctly make the text file. Hopefully, I can also make one for the remover!
Click to expand...
Click to collapse
1. Thank You!
2. Can you add the following Apps?
Cell Broadcast
CM Account
CM Video Editor
CM Home
3. What is the difference between (Development Extra dev tools & SpareParts Extra dev tools) ?
Thanks Again!
zakaziky said:
1. Thank You!
2. Can you add the following Apps?
Cell Broadcast
CM Account
CM Video Editor
CM Home
3. What is the difference between (Development Extra dev tools & SpareParts Extra dev tools) ?
Thanks Again!
Click to expand...
Click to collapse
CM Home, Cell Broadcast, and CM account are essential for device use, aka if you remove them, your device won't work.
There is no such thing as the CM Video Editor... The video editor included in CM is the AOSP Movie Studio.
Also, Spare parts and Development are two separate apps. They both are advanced tools for app development.
- Exchange services
- AOSP keyboard (?)
- Camera
- Black hole, Sun beam, Bubble
(Do basic live wallpapers include Nexus and Spectrum?)
PünchUp said:
- Exchange services
- AOSP keyboard (?)
- Camera
- Black hole, Sun beam, Bubble
(Do basic live wallpapers include Nexus and Spectrum?)
Click to expand...
Click to collapse
Exchange services are there.
The keyboard we don't allow to remove because if you don't install a keyboard, you will be unable to type!
Camera I'll have to think about.
The live wallpapers are there, they just may have different names. Black hole is actually called Galaxy4.
Basic live wallpapers (I think) include Nexus. Spectrum is a part of Visualization Wallpapers.
‘Email’ removes both Email and Exchange Services?
PünchUp said:
‘Email’ removes both Email and Exchange Services?
Click to expand...
Click to collapse
No... Email removes email and Exchange removes Exchange
PünchUp said:
‘Email’ removes both Email and Exchange Services?
Click to expand...
Click to collapse
Sorry, forgot... Email removes both.
Hi guys,
for those of us who are waiting for at least the M1 of CM12 before switching lanes, I did a build of Carbon (and a few of CM11, previously) for our Photons.
This is an odexed ("user", not "userdbg") build, running on the cm-12.1 kernel branch and using the latest available f2fs_tools. It also features a modified init which can use either f2fs or ext4 for /cache and /data - so switching to f2fs is highly recommended, but not mandatory. Superuser is included.
This is esentially for those who switched to CM12 just for f2fs; it's miles faster than cm12, and a bit more responsive that the old official cm11 nightlies.
A word of warning. TWRP's "change filesystem" function formats the partition (PhilZ does too, but at least it makes that explicit).
So what you want to do when switching from an ext4 ROM is,
before you begin: copy everything in the internal sdcard somewhere on the external sdcard; this is needed, since the "internal sdcard" is actually a folder in /data;
in TWRP, begin by creating a backup of /data (that saves everything except the "internal sdcard" and /cache - that's why you need step #1);
do the FS change for both /data and /cache
restore the /data backup, on the freshly formatted /data partition; ignore the "different filesystem" warning, it's inconsequential;
install the ROM;
once you booted the phone, copy back the old contents of the internal sdcard
You only need to do this when you change filesystems, which will be exactly once if you like my ROMs And obviously, if you don't, you have to use the exact same procedure before flashing an ext4 ROM, if you don't want to lose data.
Though, in all fairness, I'd recommend flashing this cleanly - unless you're upgrading from an ext4 Carbon build.
A note on the radio
I have included a tool called radio-tool (of my own design) that allows people to enable/disable the US GSM lock and individual network bands;
if you're having the SIM mod, and are from, or have business in, the US, you can use it to kill the CDMA and Sprint LTE bands altogether, as well as to enable US GSM bands and disable the US GSM lock;
the source code is here
Use (as superuser)
Code:
radio-tool [dbg] [{+|-}opt [...]]
where opt is one of
uslock - US GSM lockout
cdma - CDMA bands (CDMA800 / CDMA1800 / CDMA2000 1xEV-DO)
usgsm - US GSM/HSPA bands (GSM850, GSM1900, WCDMA850, WCDMA1900)
eugsm - EU GSM/HSPA bands (GSM900, GSM1800, WCDMA900, WCDMA2100)
sprlte - Sprint LTE (LTE25, 1900)
vzwlte - Verizon LTE (LTE13, 700)
Download:
ROM: CARBON-KK-UNOFFICIAL_f2fs-20150526-moto_msm8960.zip
Recoveries: TWRP-2.8.6.0-20150526-f2fs-moto_msm8960_jbbl-xt897.img, PhilZ-6.59.0-20150520-crkk_f2fs-moto_msm8960_jbbl-xt897.
You do not need to use a su app with this; but if you want to, please use the latest SuperSU. Attempting to use a different, or older, su app could result in no radio.
Changes from stock Carbon:
alternative mount points support - this enables the ROM to work with either f2fs or ext4 for /data and /cache
tuned mount settings - kickass speed with both ext4 and f2fs
256MB of lz4-compressed swap space (zram0)
built on gcc-4.8-sabermod
build.prop tweaks - this defaults to GSM/WCDMA - plus a few radio and network tweaks;
added a few goodies that are present in CM builds (Term, Apollo, Calendar, CMWallpapers, VideoEditor, plus the cmdline utils);
removed the stats and the update apps (for obvious reasons)
added Romanian (programmers) keyboard support in Asanti Keypad
built with: twrp 2.8.6.0, cm12.1 kernel, cm12.1 f2fs-tools, cm12.1 e2fsprogs, cm12.1 exfat, cm12.1 fuse.
(this will allow me to pick up any improvements in kernel, file systems, and recovery, with great ease )
Quirks:
MTP doesn't start by default in TWRP, despite the fact that it claims to be enabled; disable and re-enable MTP, and it will work
in PhilZ' mount menu, entries for cache and data are duplicated; this is cosmetic - mounting and umounting works just fine, regarless which of the two entries for each partition you choose
.
Older, CM11 vanilla builds:
Download:
cm-11-20150427-UNOFFICIAL_f2fs-moto_msm8960_jbbl.zip - repo syncs, builds with TWRP, uses branch cm-12.1 of the kernel, uses latest available f2fs-tools
Use latest SuperSU with any of the CM ROMs - older, or different, su apps might make the radio not work.
NOTE. These ROMs are actually moto_msm8960_jbbl, so they should work on all devices for which official moto_msm8960_jbbl builds did, as long as they're still on the JB bootloader (jbbl) and you have a device-specific recovery that supports f2fs. A suitable PhilZ touch for non-xt897's can be found on the AtrixHD thread, courtesy of @palmbeach05, or you could use PhilZ-6.59.0-20150506-crkk_f2fs-moto_msm8960_jbbl-mb866 (note, despite the -mb866 suffix, it should work on any moto_msm8960_jbbl device except xt897).
The current repo is available here. To use,
repo init -u https://github.com/mionica/android.git -b cr_kk_gcc-4.8
repo sync
. build/envsetup.sh
breakfast carbon_moto_msm8960_jbbl
edit the .repo/local_manifests/roomservice.xml, changing the device project for android_device_motorola_moto_msm8960_jbbl to
Code:
<project path="android" name="mionica/android_device_motorola_moto_msm8960_jbbl" remote="mionica" revision="cr_kk_xt897" />
repo sync again
finally, (cd vendor/carbon && ./get-prebuilts).
After you do that, you're good to go - (optional) configure ccache (if it's your first build), (optional) enable ccache, choosecombo, then mka carbon 2>&1 | tee BUILD.LOG.
If you're not sure how to do any of these, either just use the provided ROM, or search on youtube for "building CyanogenMod" - that should help, I know it helped me Anyway, this thread is not the right place for learning how to build Android.
Mirrored for archival purposes.
This server WILL BE SLOW. You've been warned.
http://lionspaws.net/cm-11-20150401-UNOFFICIAL_f2fs-moto_msm8960_jbbl/
98e652a97965ba5d88cb9068fe7d4dbe *cm-11-20150401-UNOFFICIAL_f2fs-moto_msm8960_jbbl.zip
Using it for the last few days, seems good so far. Thanks
taking a break
Quick one. I'll take a break from this for now - my little sister's phone broke down, so she got my Photon. I just ordered one from the States today, but between that arriving and cornholiogsm doing the SIM mod, it might take a while (US to Ireland to Czech Republic to Ireland - and Tomas is pretty busy in my experience).
Thanks much for building this!
Forgive my ignorance, I've been using CM11 a while but other than the initial installation in which I followed wiki instructions, have only ever updated thru the phone. But since there hasn't been an update in a couple months, I'm considering installing this, particularly to solve the google service problems. If it makes the phone faster with better file system and ram stuff, that's a bonus, although concerned that might cause problems in the future. I don't fully understand what you mean by messed up build and odexed user stuff means. Basically I wonder can I just install this on top of the latest CM11 nightly without issues ("dirty flash")? My "recovery" is recovery-clockwork-6.0.4.4-xt926 clock but I only used that cuz that was what the wiki said, I've never used it since the initial install.
If the answer is yes, and I understand your post right, these are the install steps:
1. Download cm-11-20150408-UNOFFICIAL_f2fs-moto_msm8960_jbbl.zip
2. Download & install TWRP-2.8.6.0-20150408-cm11_f2fs-moto_msm8960_jbbl.img
3. Change filesystem of /cache and /data to f2fs using TWRP
4. Install cm-11-20150408-UNOFFICIAL_f2fs-moto_msm8960_jbbl.zip using TWRP
You said something about flash SuperSU alongside this. I don't recall having to do that before, can you provide a little more info?
Do I need to reinstall gapps, and if so, is it the same as I used before, gapps-kk-20140606-signed.zip?
And a couple more easy questions I could probably find by searching... how do I install that twrp....img file, can I do that thru clockwork... and how do I get into clockwork anyway, I remember it was holding some volume key during power or something but last time I tried to guess weird things happened with robots getting operations and such so if you happen to know the right keys/etc that would be convenient... will twrp replace clockwork and have the same keys to get boot to it, if not, what keys?
And last but not least... when CM11 M13 finally comes out, will I be able to upgrade to that from this, or perhaps because of the stuff you've taken from CM12 (f2fs/zram/etc) maybe I can't, or maybe I can if I set the filesystem back to default with TWRP first? How bout if one day I decide to use Lollipop (which I may never do anyway as I understand it's only recommended for phones with more than 1GB memory), will I be able to upgrade to CM12 the same way as regular CM11 user? I'd always used official stuff so this unofficial is making me nervous, but I really want my google stuff working right again and my battery to last all day like it used to...
Wait what wiki told you to use CWM for xt926!? CM's wiki?
enigma9o7 said:
Thanks much for building this!
Forgive my ignorance, I've been using CM11 a while but other than the initial installation in which I followed wiki instructions, have only ever updated thru the phone. But since there hasn't been an update in a couple months, I'm considering installing this, particularly to solve the google service problems. If it makes the phone faster with better file system and ram stuff, that's a bonus, although concerned that might cause problems in the future. I don't fully understand what you mean by messed up build and odexed user stuff means. Basically I wonder can I just install this on top of the latest CM11 nightly without issues ("dirty flash")? My "recovery" is recovery-clockwork-6.0.4.4-xt926 clock but I only used that cuz that was what the wiki said, I've never used it since the initial install.
If the answer is yes, and I understand your post right, these are the install steps:
1. Download cm-11-20150408-UNOFFICIAL_f2fs-moto_msm8960_jbbl.zip
2. Download & install TWRP-2.8.6.0-20150408-cm11_f2fs-moto_msm8960_jbbl.img
3. Change filesystem of /cache and /data to f2fs using TWRP
4. Install cm-11-20150408-UNOFFICIAL_f2fs-moto_msm8960_jbbl.zip using TWRP
You said something about flash SuperSU alongside this. I don't recall having to do that before, can you provide a little more info?
Do I need to reinstall gapps, and if so, is it the same as I used before, gapps-kk-20140606-signed.zip?
And a couple more easy questions I could probably find by searching... how do I install that twrp....img file, can I do that thru clockwork... and how do I get into clockwork anyway, I remember it was holding some volume key during power or something but last time I tried to guess weird things happened with robots getting operations and such so if you happen to know the right keys/etc that would be convenient... will twrp replace clockwork and have the same keys to get boot to it, if not, what keys?
And last but not least... when CM11 M13 finally comes out, will I be able to upgrade to that from this, or perhaps because of the stuff you've taken from CM12 (f2fs/zram/etc) maybe I can't, or maybe I can if I set the filesystem back to default with TWRP first? How bout if one day I decide to use Lollipop (which I may never do anyway as I understand it's only recommended for phones with more than 1GB memory), will I be able to upgrade to CM12 the same way as regular CM11 user? I'd always used official stuff so this unofficial is making me nervous, but I really want my google stuff working right again and my battery to last all day like it used to...
Click to expand...
Click to collapse
I agree with @arrrghhh you should use what your device maintainers recommend you use. I would also recommend you looking at what bootloader you have before trying this as there are KKBL builds in a different thread on I believe the RHD section. Odexed is like what you get from the manufacturer. It has .apk and odex files in it. odex assist the apk files. 6.0.4.4 is outdated, as 6.0.5.1 is the most recent. The install method you just recited is exactly what the OP just said. Per the OP, SU was not built into the 4/8 ROM, so you need to flash it as well. Yes you should be able to flash that Gapps, you just have to update your Gapps after finishing setup via playstore. Lollipop is able to be used on your device, as it currently has official builds. 5.0 had issues, 5.1 just got its official release yesterday. As far as unofficial builds go, I refer you to epinter and krystianp who both took an older device and provided unofficial updates that were very stable, despite the neverending work on a custom kernel. Furthermore, you can go talk to Quarx about unofficial builds, since his builds has been running the Defy for years. So being nervous about an unofficial build is like saying you're nervous about using a generic brand of something vs the more publicized item. Battery life will always be an issue if you have a bad setup (wifi and bt on all the time, max bright screen, hrs of listening to music or streaming, etc.)
@enigma9o7 Personally, I can't wait to do an unofficial cm11 build based on the cm11 m13 code base - with f2fs, and I expect, by then, zram (if it proves useful on cm11 at all - this thing works unreasonably well to begin with ). So I wouldn't worry about m13, as I'm pretty sure to release a parallel build on its side.
Now, I'm a bit impaired re. testing equipment atm but I have a mind to keep building this weekly or so anyway, while I judge the commits to be low-risk, and resume the riskier stuff once I get the new toy. Was away from Dublin this week, hence from my home PC , but that gets fixed tonight...
mionica said:
@enigma9o7 Personally, I can't wait to do an unofficial cm11 build based on the cm11 m13 code base - with f2fs, and I expect, by then, zram (if it proves useful on cm11 at all - this thing works unreasonably well to begin with ). So I wouldn't worry about m13, as I'm pretty sure to release a parallel build on its side.
Now, I'm a bit impaired re. testing equipment atm but I have a mind to keep building this weekly or so anyway, while I judge the commits to be low-risk, and resume the riskier stuff once I get the new toy. Was away from Dublin this week, hence from my home PC , but that gets fixed tonight...
Click to expand...
Click to collapse
One question i did have that i was wondering, when you built the kernel, did you set it up for GSM, CDMA, or both? I know we've talked via pm about things, but i've gotten it to boot up with your kernel, but no signal and baseband unknown
Sent from my ATRIX HD using XDA Free mobile app
palmbeach05 said:
One question i did have that i was wondering, when you built the kernel, did you set it up for GSM, CDMA, or both? I know we've talked via pm about things, but i've gotten it to boot up with your kernel, but no signal and baseband unknown
Click to expand...
Click to collapse
Mmm will have to check. For me it's working in the EU using GSM/HSPA on the xt897 with the SIM mod.
I used the stock config from the cm12.1 xt897 kernel - I'll have to diff that with the cm11 one.
Another possibility is that it wouldn't work because of SElinux mismatches between kernel and userland. The following has to be in the fstab:
Code:
/dev/block/platform/msm_sdcc.1/by-name/modem /firmware ext4 ro,nosuid,nodev,noatime,nodiratime,barrier=1,[b]context=u:object_r:radio_efs_file:s0[/b] wait,check
If it doesn't, on the xt897 you get no WiFi, but I expect results might vary by device
All I'm saying is, it might or might not be a kernel config, would have to check when I get to my PC.
mionica said:
I used the stock config from the cm12.1 xt897 kernel - I'll have to diff that with the cm11 one.
Click to expand...
Click to collapse
I reviewed the entire changelog from cm-11.0 to HEAD, and couldn't find anything that looked even remotely radio-related, so I reckon it's most likely the SElinux thing. And now that I built a TWRP that has a chance of running on AHD, I guess you could tell me whether that's the case
arrrghhh said:
Wait what wiki told you to use CWM for xt926!? CM's wiki?
Click to expand...
Click to collapse
Yep, pretty sure. All started a year ago when I was looking for an android smartphone with a keyboard, this one was rated best, wikipedia itself said CM was required for kitkat, so looked into CM, found their installation wiki http://wiki.cyanogenmod.org/w/Install_CM_for_xt897 which step #2 is install clockworkmod recovery. Right now if I follow the link it leads to recovery-clockwork-6.0.1.3-asanti.img, but I'm pretty sure at the time I originally installed it lead to that version I used, which did work fine for installing CM as I do have it installed. But it's possible something else lead me to that version, I can't really remember for 100% sure, but I definitely started from CMs wiki.
---------- Post added at 10:17 AM ---------- Previous post was at 10:04 AM ----------
palmbeach05 said:
I would also recommend you looking at what bootloader you have before trying this as there are KKBL builds in a different thread on I believe the RHD section
....
The install method you just recited is exactly what the OP just said. Per the OP, SU was not built into the 4/8 ROM, so you need to flash it as well.
...
Yes you should be able to flash that Gapps, you just have to update your Gapps after finishing setup via playstore.
...
So being nervous about an unofficial build is like saying you're nervous about using a generic brand of something vs the more publicized item.
Click to expand...
Click to collapse
Thanks. My understanding is there is no KKBL for Photon Q anyway, but anyways I've always used the msm...jbbl roms.
Okay, will add installing SU to install steps.
Since I already have that version of gapps, my question is do I need to reinstall it then update everything. Shouldn't it already be good? I didn't have to reinstall gapps with the official nightlies, so want to know if I really need to for this.
My concern with unofficial is not that I dont trust it or think it's less stable, just that it may make it more difficult in future to upgrade or get back onto official path as I may not be able to follow the same steps as everyone else.
I'm still unsure if it's okay to dirty flash over CM11 nightly. I do actually use my phone for work so don't want to mess it up... but really want google stuff working again and can't keep waiting forever for official cm11.
enigma9o7 said:
Yep, pretty sure. All started a year ago when I was looking for an android smartphone with a keyboard, this one was rated best, wikipedia itself said CM was required for kitkat, so looked into CM, found their installation wiki http://wiki.cyanogenmod.org/w/Install_CM_for_xt897 which step #2 is install clockworkmod recovery. Right now if I follow the link it leads to recovery-clockwork-6.0.1.3-asanti.img, but I'm pretty sure at the time I originally installed it lead to that version I used, which did work fine for installing CM as I do have it installed. But it's possible something else lead me to that version, I can't really remember for 100% sure, but I definitely started from CMs wiki.
---------- Post added at 10:17 AM ---------- Previous post was at 10:04 AM ----------
Thanks. My understanding is there is no KKBL for Photon Q anyway, but anyways I've always used the msm...jbbl roms.
Okay, will add installing SU to install steps.
Since I already have that version of gapps, my question is do I need to reinstall it then update everything. Shouldn't it already be good? I didn't have to reinstall gapps with the official nightlies, so want to know if I really need to for this.
My concern with unofficial is not that I dont trust it or think it's less stable, just that it may make it more difficult in future to upgrade or get back onto official path as I may not be able to follow the same steps as everyone else.
I'm still unsure if it's okay to dirty flash over CM11 nightly. I do actually use my phone for work so don't want to mess it up... but really want google stuff working again and can't keep waiting forever for official cm11.
Click to expand...
Click to collapse
Yes, you can dirty flash this ontop of an existing CM11 after switching /data and /cache from ext4 to f2fs. Gapps will be fine since they install on the /system partition.
Sent from my ATRIX HD using XDA Free mobile app
Switched to Carbon, but preserved most of the goodies from CM; links in the first post.
Also added a note on how to hack your radio to disable CDMA/LTE - so you could go with this phone in the US and never register on Sprint's network (unless they have a GSM/WCDMA network in place too, which should be fine).
I decided to give it a try with your latest CM11. I installed the TWRP from your first post, was able to backup fine, but don't see how to reformat as f2fs....
enigma9o7 said:
I decided to give it a try with your latest CM11. I installed the TWRP from your first post, was able to backup fine, but don't see how to reformat as f2fs....
Click to expand...
Click to collapse
There should be an option to wipe things, go there
Sent from my ATRIX HD using XDA Free mobile app
palmbeach05 said:
There should be an option to wipe things, go there
Click to expand...
Click to collapse
Thanks, found it.
And now I'm stuck. But I bet it's an easy solution.
I changed filesystems, restored data & cache, installed cm (04/27), installed superuser (wasnt sure if needed, but figured it couldnt hurt), and I booted.
No wifi or phone service but I'm hoping the last step will fix that, restoring sdcard0. However, I can't figure out how to copy that back. I used ES File Explorer to copy it to a folder in sdcard1 before I started. But now I can't paste it back to /storage, always told copy fails. There is a 0 byte file called sdcard0 there, if I delete it, it comes back. Since it's not a directory I can't change to it and copy the contents of my previous save into it... I tried deleting it and making a folder called sdcard0 before it recreated the 0 byte file but that failed too.
I thought maybe I'd try command line, but I'm no expert there... I su'd and tried similar things as in EX but similar results.
I thought I'd try to copy it back with TWRPs file manager, but I couldn't figure out where to put it, there was no /storage directory, so I tried putting it in / and that started copying for a while but before it was done it rebooted and just hung at the TeamWin screen until I powered off...
So yeah. Dunno how to restore sdcard0. Help please....
edit: maybe superuser doesn't work? I tried to use default "file manager" and it wont let me switch to root mode. Then I noticed that while trying ES File Manager again I didnt see the popup about "root granted" or something like that that I normally see. But superuser is installed, its in the apps menu and runs and a quick look thru the settings seems okay to me, but I don't recall ever setting anything before.
edit2: I'm giving up and going to try to go back to last cm11 nightly and hope my phone starts working again. I tried reflashing multiple times, eventually tried supersu instead of superuser and that worked to get root explorer working, but I still couldn't copy over sdcard0 using ES anyway, but using default filemanager I could start (although I hate that filemanager cuz I dont know how to change directories, usually have to tap about 15 times before it opens a folder), but it would always start then reboot before it finished. So I still dunno how to copy that back.
enigma9o7 said:
No wifi or phone service but I'm hoping the last step will fix that, restoring sdcard0. However, I can't figure out how to copy that back. I used ES File Explorer to copy it to a folder in sdcard1 before I started. But now I can't paste it back to /storage, always told copy fails. There is a 0 byte file called sdcard0 there, if I delete it, it comes back. Since it's not a directory I can't change to it and copy the contents of my previous save into it... I tried deleting it and making a folder called sdcard0 before it recreated the 0 byte file but that failed too.
Click to expand...
Click to collapse
Superuser is probably not a smart choice on KK. Use SuperSU instead.
The very first boot is somehow handled differently - I discovered this when I worked on integrating SuperSU into a catch-all zip of mine (alongside Windows Mobile ringtones, Midnight Commander, patched hosts, and a few other goodies). I got no radio with my package, but if I flased SuperSU instead, it worked.
It took me a coupe of tries to find the culprit - a flag file in /etc that SuperSU created after the first boot (and I attempted to create that from my zip). Made my zip not create that, and bang! everything worked just fine. Btw, removing that file after the first boot had no effect, the phone'd be screwed until you wiped /data.
Now, the fact that SuperSU handles the first boot differently kinda makes me think that older su's might very well not work (properly) on KK - and what you're reporting seems to confirm that.
I would strongly suggest going Carbon instead; that includes a working su. It's essentially CM with a different boot logo and a good few extra customization options (which you can safely ignore if you're not into that sort of thing).
So if you didn't go back yet, try either
flashing carbon and being done with it, everything will work;
flash the cm rom alongside supersu, not any other root app,
Either way, root will work, phone will work, and you'll be able to copy stuff around to your heart's desire.
As for a FM, I strongly suggest an app called Total Commander. The UI is atrocious as of late (the author is obviously better at coding than designing icons ), but it' probably the most complete FM solution for Android, bar none. And it's free, without adds; wait til you try it in landscape
I'm sorry for you inconvenience, but I also somehow feel it's earned - the OP said SuperSU back before Carbon replaced CM; because that's what I was using, and it worked for me - no guarantees if you went your own way. I've re-added the limitation and made it bold+orange in the CM part of the post (Carbon has its own, fully working, su).
Added the 2015.05.03 build of Carbon; links to 2015.04.30 removed.
At this stage, CM users should have everything they liked about CM, already compiled in (except for WhisperPush, the point of which I don't quite see).
Changelog from 2015.04.30:
added Calendar (!!!) - why on earth would the Carbon guys build an ROM without this?!
built on gcc-4.8.x-sabermod-20150429
added CMWallpapers, Video Editor
added the previously-missed vim, unrar, zip and gdbserver
synced with upstream; in particular, there was a noteworthy GPU memory allocation improvement in the kernel
Todo:
add an app for messing with the NV settings (enable/disable bands, enable/disable US GSM lockdown)
enable zram.
Added the 2015.05.05 build of Carbon; links to 2015.05.03/04 removed.
Changelog from 2015.05.04:
set default governor to msm-dcvs - better out-of-box performance
imported the cm-12.1 init support (including swap enabling)
Changelog from 2015.05.03:
support for fstab alternatives, cm12-style (my own code in fs_mgr); now you can use the ROM with either f2fs or ext4 for /cache and /data
massively improved FS performance for both ext4 and f2fs - tuned the fstab settings for best performance;
added radio-tool to enable/disable US GSM lock and groups of radio bands (CDMAs, US GSM/HSPA, EU GSM/HSPA, Sprint LTE, Verizon LTE) - see spoiler in first post
Todo:
figure out why swapping doesn't want to start, despite the device being there and mkswap succeeding (error -16).
Updating the recovery to a 20150505 build is highly recommended.