[Q&A] MultiSystem for Android - Android Q&A, Help & Troubleshooting

MultiSystem is a powerful tool for locked- and unlocked-bootloader Android devices with many features that at least includes the following:
Keeps stock system partition safe/rooted
Permenant root survival with proper use
MultiROM support via virtual ROMs
Unlimited number of virtual ROMs
Booting options to choose stock, primary, or secondary virtual ROM
Any of the virtual ROMs can work as a recovery replacement
Flashing multiple ROMs at the same time without a reboot
Ability to create/install ROMs on Linux to microSD card
Great performance & battery life on virtual ROMs
Recovery solution to install ROMs or Mods
Easy upgrade to newer versions of Android
Ability to safely apply OTA updates to virtual system
Permissive SELinux and other kernel tweaks
Safe flashing that doesn't trip KNOX flag on Samsung devices
Wrapper script runs via ADB or a Terminal Emulator on device
APK to manage all MultiSystem functions with a nice UI and extra options
Management for the best performance & user experience
Support for all Android devices with microSD card
Portability to almost all devices
Compatibility with all Android versions
Click to expand...
Click to collapse
Q&A​
What is the concept behind MultiSystem?
It runs virtual Android ROMs on microSD, like booting multiple systems on a PC from different partitions/disks. So, your stock system partition is kept safe/rooted. It won't affect performance or anything (might even be better on the virtual system if you've high quality microSD & the device supports its speed). Also, you can freely modify any of the virtual systems & in the worst case, reboot the safe stock system or another working virtual system to recover. So, no root loss or potential damage to the original device partitions.
Click to expand...
Click to collapse
Is it a recovery or an APK tool?
It's a shell script that hijacks system at early boot & force Android to boot from the stock system partition or a virtual system IMG & an APK that manages all booting options, virtual ROMs, and works as a recovery replacement + extra features...
Click to expand...
Click to collapse
Does it work as a recovery replacement?
It IS a POWERFUL recovery replacement. You can do whatever you do in recovery with the APK. HOW? recovery does its magic b/c it doesn't depend on the system & has its own kernel/ramdisk. In MultiSystem, you can boot a virtual ROM from extSD that sure doesn't depend on stock system partition or any of the other virtual ROMs (it does depend on the kernel, which you can't flash on locked devcies anyway). Hence, install, backup, restore, ... & all recovery functions are all possible +++ more features since you're running a full ROM not just a recovery ramdisk like Safestrap.
Bottom Line: I think it's the best & most convenient recovery replacement ever for locked devices & it can also attract unlocked devices for the powerful features, MultiROM, and recovery from within ROM.
Click to expand...
Click to collapse
Can I use FlashFire along with MultiSystem?
Yes. MultiSystem is compatible with FlashFire & fully supports it on stock & virtual ROMs. So, you can use both/any of them for flashing to either a stock or virtual ROM. However, it's recommended to use MultiSystem when flashing to the stock system partition (shouldn't be needed anyway since you can always be safe & flash to your old/new virtual ROMs).
Click to expand...
Click to collapse
Does MultiSystem require FlashFire?
No, MultiSystem doesn't require FlashFire. They're fully combatible though.
Click to expand...
Click to collapse
Would the virtual ROM we install be exactly the one in the stock slot?
In MultiSystem APK, you can create a virtual ROM from stock system, a copy from other virtual ROM, a new IMG, a dev-provided ROM, a flashable .ZIP, ... etc. Literally, your virtual ROMs can be any stock or custom ROM that's compatible with your firmware/kernel.
Click to expand...
Click to collapse
How can it run virtual ROMs from external microSD card?
External MicroSD will be formated into 2 partitions:
exFAT or FAT32 for the 1st partition (your new external storage)
EXT4 for the 2nd partition (your MultiSystem partition)
It'll hijack the system & boot a virtual system from the 2nd partition. The 1st partition will be automatically detected as your extSD.
Click to expand...
Click to collapse
Can I run unrooted virtual ROM for work apps or any other reason?
Yes. You can add unrooted virtual ROM & reboot to it via MultiSystem APK.
Click to expand...
Click to collapse
How do you boot back into a different ROM?
MultiSystem APK manages all functions including ROM activation & reboot to current system, another stock/virtual system, download mode, recovery, ... etc.
Click to expand...
Click to collapse
Will it be OK to still store media like movies/photos/music to extSD?
100% OK; That's my setup a few months ago. 2 virtual ROMs in the SECOND extSD partition in EXT4 format while all personal data are stored on the FIRST extSD partition in exFAT or FAT32 format... TWO COMPLETELY DIFFERET PARTITIONS.
Click to expand...
Click to collapse
How much space are we going to have for virtual ROMs?
The size of the 2nd partition is optional (> 4GB) for your ROMs, but here is an estimated sizes:
1 Virtual ROM Uncompressed = ~2.7 GB ---> ready for running
1 Virtual ROM Compressed = ~1.5 GB ---> for full ROM backups
I'd say better allocate 4 GB for each ROM you plan to run. If you just need one virtual ROM to keep stock system safe, 4 GB 2nd extSD partition is enough; The remaining space is allocated for the 1st extSD partition as your external storage.
For me, I run Linux too from extSD via MultiSystem. So, I've 64 GB extSD card with two partitions 32 GB each.
Click to expand...
Click to collapse
Can I clear up space on an existing SD card and partition it while full or will the entire card need to be wiped and partitioned from scratch?
You need to backup all your files; it'll be wiped & repartitioned.
Click to expand...
Click to collapse
How can I swap microSD cards & be able to run virtual ROMs?
You can swap microSD cards as you wish provided that the device is powered off; don't remove the microSD card when running a virtual ROM. If the new microSD card doesn't include a 2nd parition of available virtual ROMs, the device will boot directly to the stock system.
Click to expand...
Click to collapse
Is there a specific sd card you recommended for this?
I personally have two microSD cards:
SanDisk Extreme Plus 64GB (Up to 80MB/s read speed)
Samsung 64GB PRO (Up to 90MB/s read speed)
You don't have to change your microSD card for MultiSystem; any card you use on your device should work just fine. The need for more speed is relevant when the device supports that speed & if you're going to buy a new card anyway that you may use with a newer device later.
Click to expand...
Click to collapse
Can I copy virtual ROMs to a new microSD card?
Yes. I'll add a feature for swapping microSD cards so that you can backup/restore virtual ROMs from/to the current extSD to/from internal storage as follows:
power off device
use MultiSystem APK to backup your virtual ROMs
insert the new properly formatted microSD,
power on device (it'll boot to stock system)
use MultiSystem APK to restore your virtual ROMs
use MultiSystem APK to activate one of your virtual ROMs
use MultiSystem APK to reboot to any of your ROMs
Click to expand...
Click to collapse
What about other data/cache partitions and internal storage?
Only system img's are in the extSD. All ROMs share all other partitions. This substantially improves the performance & you won't notice any difference between your stock & virtual ROMs. The reason for performance improvement is that EXT4 loop devices are very fast in reading but not in writing. Your system partition is read-only while data (for example) is read write & cache IMGs cause problems like Safestrap issues on ROM slots. Also, you don't have to worry about switching data/settings between ROMs (they're shared), but you just need to regularly backup your important data (which is healthy anyway).
Click to expand...
Click to collapse
Can your elaborate where data is stored?
The userdata partition is also shared; so, you'll have access to all your FULL storage partitions & all apps/data similarly on either stock or virtual ROMs. This also solves the Safestrap issue of having less storage on ROM slots...
Click to expand...
Click to collapse
Will mSDcard incur a significant performance penalty on some devices?
there's no diffrerence between virtual & stock ROMs in terms of performance & battery life. The reason is simple: loop devices associated with the READ-ONLY system IMG mounted from EXT4 partition using a high-quality microSD card IS very fast more than enough.
The read speed is faster than the device can operate anyway + the exact same device should perform on the lowest speed when reading/writing from/to the FAT/FAT32/ExFAT extSD card (where you store your files or even move apps!!!) anyway, which is much slower than the read speed of a loop device mounted from EXT4 partition.
That's why data partition is shared for many reasons, including the poor READ/WRITE performance.
Click to expand...
Click to collapse
If virtual systems are read only, how do we modify them? Do we have to boot to another multisystem rom to modify a virtual rom?
The stock system partition is mounted by default read only & so are the virtual systems. To modify a stock/virtual system, the MultiSystem APK remounts them read/write. You can modify the currently running virtual system, copy it & modify the copy, modify another stock/virtual system.
Click to expand...
Click to collapse
How is a corrupted virtual rom handled? Does it see it's bad and default to stock system?
At early boot, MultiSystem checks for the microSD & active virtual ROM to boot it. There's a boot menu that gives you options to select a stock/virtual system, but it crashes on LP. I'm debugging it, but all functions won't be affected if I removed it. To fail safe, you can remove the microSD card to boot to stock system & restore/repair your virtual ROMs.
UPDATE1: MultiSystem v1.0.1 now allows you to also switch to stock system on boot to repair corrupted virtual IMGs or any other reasons. More options will be added during boot to ultimately select another virtual system if the active IMG is not booting normally (e.g., bootloop after applying a mod or flashing a bad .ZIP).
UPDATE2: Now, on boot, you can choose from two primary/secondary virtual ROM or stock ROM. Flashing multiple ROMs at the same time without a reboot is now possible.
Click to expand...
Click to collapse
How to check if an IMG is corrupted using MultiSystem status?
Code:
Current System IMG: Test_Rom.img
Current System DEV: [B][COLOR="Red"]/dev/block/mmcblk0p23[/COLOR][/B]
When you see "/dev/block/mmcblk0p23"; it's the original system partition; so MultiSystem failed to boot Test_Rom.img, but it should be your current system.
So, the check is simple based on "Current System Device":
/dev/block/mmcblk0p23 = Stock System Partition
/dev/block/loop0 = Virtual System IMG
Note: The block device number (mmcblk0p23) may vary per device & per variant !
Click to expand...
Click to collapse
Does android do any maintenance whatsoever on stored data within /data or external sd? So if I have an app installed on 1 system and not on another system will android see it and clear the data?
No, all storage partitions are shared between ROMs. If you installed an app, it'll be availabe for all of them. Since on locked devcies we're limited to stock manufacturer-based ROMs, this makes the switch between ROMs very convinient (you don't have to worry about your changes/data/setup & storage space on the another ROM; all ROMs share everything except system). However, you should make regular backups in case a virtual ROM (probably with unsafe mods) results in bootloop due to your user data. In this case, it's safe to wipe data & selectively restore apps/data from backup(s). Another advantage of sharing all storage partitions is that your messages/emails/etc received on a virtual ROM are immediated synced (actually shared) to the other ROMs.
Click to expand...
Click to collapse
Will anything like Xposed modify the virtual ROM system IMG as opposed to the stock system IMG?
When you run a Virtual System, everything incldung kernel & apps are hijacked to speak to it as the original system.
Click to expand...
Click to collapse
Can we install AOSP ROMs on locked devices?
You can only install stock/manufacturer-based ROMs on locked devices while unlocked devices can use kexec or flash the required kernel to boot any AOSP/Stock ROMs. I've got a Note 4 Developer Edition & a lot of development is planned to go there (thanks to the unlocked bootloader!) More devices will get supported including unlocked TMO & international variants after adding more features untilizing the unlocked bootloader with kexec'd kernels.
Click to expand...
Click to collapse
Are there limitations to the combinations of ROMs that can be loaded on the "stock" and "virtual" slots? Can you mix KK and LP?
Yes, if they can run on the same kernel. LP won't run on KK kernels & so, you'd have to upgrade the firmware anyway. As for running mixed compatible Android versions, this is possible but your'd have to backup your data before switching ROMs; if it cause no issues, enjoy smooth switch & if it doesn't, do factory reset in recovery & restore your data backup. Backups via MultiSystem are painless.
Click to expand...
Click to collapse
Are applications installed once for each ROM slot that has that applicaiton installed, or can I share a game across ROMs (for instance?)
Everything is shared between ROMs, which is very good for storage & for easy switching. Just make regular backups of your sensitive data.
Click to expand...
Click to collapse
How there are no performance hits while internal storage memory was much faster than any microSD technology?
Read speeds from microSD is very fast compared to write speeds & since virtual ROMs are actually a virtual read-only systems (hence, MultiSystem), they provide a high performance. Moreover, again, read speeds from EXT4 loop devices are higher compared to physical partitions. They're very bad in writing, which we don't need for the read-only "system".
Click to expand...
Click to collapse
Is there a preferred "daily driver" ROM that should be installed in the stock slot?
Uses a stock ODEXED ROM on stock slot for better stability!
Click to expand...
Click to collapse
Is it based off of Safestrap?
Short answer NO. I've been working on MultiSystem & Safestrap for ~7 months. Earlier versions of MultiSystem (called, JasmineREC) was based on Safestrap, but it failed to support newer versions of Android mainly due to TWRP changes in the graphics/UI libraries that cause segmentation fault & the stock kernel framebuffer issues. Then, I decided to find another solution. However, the basic idea of system hijack is powered by Safestrap (or 2nd-init recoveries in general) & all the work done by @Hashcode is GREATLY appreciated.
Click to expand...
Click to collapse
How can it overwrite system files while running?
MultiSystem allows you to install safe mod's or a ROM in full or OTA-like update. It's strongly recommended to install .ZIP files NOT to the current system, b/c some files can not be overwritten while running. So, you can use backup function to copy the current system & install to the new img or any of your other virtual systems. You'll have several options to activate a virtual img & reboot directly to stock system, any virtual img you've activated, quick reboot, Download/bootloader, recovery,... etc.
Click to expand...
Click to collapse
How would I benefit from it if I'm only running Stock ROM or would there be no point for me to install it?
If you run a ROM on stock system, you're vulnerable to root loss unless/untill a new rooting method for LP comes out. MultiSystem gives you the option to run safe-to-mod virtual ROMs + recovery replacement + extra features.
Click to expand...
Click to collapse
Is there a way to convert a normal ROM .ZIP into MultiSystem .IMG?
Create or copy any of your IMGs, activate it & reboot to the active IMG! Then, use FlashFire to flash the ZIP file. However, the updater-script should be safe/compatible. Some devs mount the phyical partition, which will redirect everything to it!!
For example:
Code:
mount(“ext4″, “EMMC”, “/dev/block/mmcblk0p23″, “/system”);
will mount the original system partition; while
Code:
run_program("/sbin/mount", "-t", "auto", "/system");
will mount the current system (stock or virtual). This is recommended/safe.
Click to expand...
Click to collapse
Would a KitKat ROM work with multisystem even though my stock is Lollipop?
Any ROM requires a compatible kernel & modem. So, running KK ROMs requires flashing KK firmware (namely, kernel & modem). This may work with MultiSystem on other devices, especially if the bootlpoader is unlocked. For example, I plan to add features for Note 4 DevED to allow different Android versions (including AOSP, manufacturer-based, & probably Linux systems) by utilizing kernel swapping or execution.
Click to expand...
Click to collapse
When MultiSystem comes out will it be open sourced?
Most probably, haven't decided yet!
Anyway, here's the repository on GitHub: https://github.com/hsbadr/MultiSystem
Click to expand...
Click to collapse
Click to expand...
Click to collapse

Video Tutorials
A quick preview of MultiSystem v1.0 tested on Lollipop for VZW Note 3. The video has been captured on a stable virtual ROM of JasmineROM v5.0.1. It's FULLY compatible with FlashFire on virtual/stock systems. More devices will get supported as well, after required testing.
Facebook: https://www.facebook.com/hsbadr/videos/vb.331488823689599/428178174020663

How to check if you are running a Stock/Virtual System?
There're many ways to check whether you're running a Stock or Virtual system. MultiSystem app should include this simple check at some point. That's important to avoint ruining the Stock system & keep it safe. To make it clear to NOOBZ & anyone who's requesting "another" proof even though I owe hime nothing. Very weird!
Anyway, BusyBox mountpoint applet can print the current block/device mounted to /system mountpoint by running the following command:
Code:
busybox mountpoint -n /system
The stock system is mounts the original system partition:
Code:
[B][COLOR="Red"]/dev/block/mmcblk0p23[/COLOR][/B]
while the virtual system mounts a loop device associated with a system IMG:
Code:
[B][COLOR="Blue"]/dev/block/loop0[/COLOR][/B]
Here're two videos for both stock & virtual systems...
UPDATE:
Now, you could run the following command to print the current system (stock or virtual) and the system device (physical partition or loop device):
Code:
MultiSystem status
Note: The block device number (mmcblk0p23) may vary per device & per variant !

How to repartition microSD card for MultiSystem?
You can use any tool/program for partitioning on Android, Linux, Mac, or Windows. For example, MiniTool Partition Wizard is a good partitioning tool for Windows. So, let's use it for this task. Simply, you need to follow this PDF tutorial (thanks to @carl1961). In sum:
Step 1: delete old partitions on SD card
Step 2: create FAT32 PRIMARY partition
Step 3: create EXT4 PRIMARY partition
Then, apply changes (note that the program UI may get changed in newer versions).
Notes:
This partitioning tutorial doesn't create PRIMARY partitions (it creates logical partitions). So, you need to change "Create As" from "Logical" to "Primary" when creatig a partition.
The sizes of the two partitions are arbitrary depending on number of ROMs you plan to install on the 2nd EXT4 partition.
The 1st partition (check size) is automatically detected as your external storage
In Terminal Emulator or ADB shell, check the existence of the two partitions by running the following command (in red):
Code:
[email protected]:/ # [COLOR="Red"]ls -l /dev/block/platform/msm_sdcc.3/[/COLOR]
drwxr-xr-x root root 2015-05-02 21:08 by-num
lrwxrwxrwx root root 2015-05-02 21:08 mmcblk1 -> /dev/block/mmcblk1
lrwxrwxrwx root root 2015-05-02 21:08 mmcblk1p1 -> [COLOR="Blue"]/dev/block/mmcblk1p1[/COLOR]
lrwxrwxrwx root root 2015-05-02 21:08 mmcblk1p2 -> [COLOR="Blue"]/dev/block/mmcblk1p2[/COLOR]
/dev/block/mmcblk1p1 is mounted by Android as your external storage.
/dev/block/mmcblk1p2 is NOT mounted & will be your MultiSystem partition.
Click to expand...
Click to collapse

How to check microSD card partitions for MultiSystem?
You need to correctly repartition microSD card into two partitions:
exFAT or FAT32 for the 1st partition (your new external storage)
EXT4 for the 2nd partition (your MultiSystem partition)
Use the directions in this post!
You should check your 2nd SD partition in EXT4 format mounted to /MultiSystem:
check that the /MultiSystem directory exists after a reboot
check that the 2nd SD partition (/dev/block/mmcblk1p2) is mounted to /MultiSystem by running the following command in Terminal Emulator or ADB shell:
Code:
mount | grep /MultiSystem
The output should be:
Code:
/dev/block/mmcblk1p2 /MultiSystem ext4 rw,seclabel,relatime,data=ordered 0 0

How to check MultiSystem Installation?
The 1st thing to do after installing MultiSystem is to check the /MultiSystem directory & its contents (it shouldn't be empty!). Then, check usage by running the following commands in Terminal Emulator or ADB shell:
Code:
su
bash
MultiSystem
If it retuns "MultiSystem not found" or permission denied, try to use open MultiSystem app to Update Configurations & try again. If this does't fix it, try the following command:
Code:
/MultiSystem/bin/MultiSystem
This should work if you've MultiSystem binaries installed in (extracted to) /MultiSystem directory. If so, you can create a symlink in /system/xbin as follows:
Code:
mount -o remount,rw /system
ln -sv /MultiSystem/bin/MultiSystem /system/xbin/MultiSystem
Then, test it by running:
Code:
MultiSystem
The last thing before using it is to check the boot options: reboot & monitor the GREEN LED indicator for 3 seconds (change in the app) , which give you the following options:
Volume UP = Primary virtual ROM
Volume DOWN = Secondary virtual ROM
HOME KEY = Stock System
Pressing nothing will boot the active system: stock or primary virtual system. Sure, you should have installed one or more virtual ROMs.
Backup & restore or creating/installing a virtual ROM are easy as copy & paste: all img's will be at
Code:
/MultiSystem/img/system
To backup a virtual/stock system, you have many options:
Use create function to create from stock system
Use copy function to copy the IMG
Copy & paste with a new name
Use FlashFire (fully supported on virtual/stock ROMs)
...
If you've IMG mounting issues, run the following commands:
Code:
mount -o remount,rw /system
busybox ln -sv /proc/self/mounts /system/etc/mtab
If this doesn't help, try mounting from Terminal Emulator or ADB shell after selecting the IMG in MultiSystem app, by running the following command:
Code:
MultiSystem mount virtual

Will this work on the s5 active version?

jasonj711 said:
Will this work on the s5 active version?
Click to expand...
Click to collapse
Maybe; it works on ARM-based Android devices with microSD card. Howerver, it's currently tested on the devices listed here. You may test it (backup all your files/ROM!) & report back.

Looking forward to trying this out. I've been waiting for a solid MultiBoot solution for some time. Kudos.
Sent from my SM-N910P using XDA Premium 4 mobile app

Sorry, I'm a bit confused as to how one installs a ROM into an img. Whenever I mount an img and try selecting a flashable zip file it returns "file selected: null"
Am I doing something incorrectly?

U kind Sir a genius and a god-send.
Quick Question:
I plan to add features for Note 4 DevED to allow different Android versions (including AOSP, manufacturer-based, & probably Linux systems) by utilizing kernel swapping or execution.
Click to expand...
Click to collapse
Does it mean that we have to wait for this functionality yet or can I use SimplRom or Dr Ketan's Rom as Primary ROM and CM12 as secondary ROM.
Also the MiniTool Partition does not see the phone's SD card. I have a Note 4 International version (N910F).
Thank U and plz forgive the noob question (if the answer is obvious), I have just recently started using Android.

Alright, so whenever I try flashing a ROM the red LED turns on and then quickly off again. Here's my log http://pastebin.com/txN8mSjq

ok a dumb question. do you recommend a special tutorial to show how to convert a zip rom to img rom

Yeah. Support for this is terrible so i gave up.
from my Samsung Galaxy S5 SM-G900T on AT&T, Android 5.0. DOB1 with twi5ted lollipop 5.0 ROM v6

So I installed this and read the Q&A (which tells you what it does) . Now is there instructions somewhere on how to use it?

Dhs92 said:
Sorry, I'm a bit confused as to how one installs a ROM into an img. Whenever I mount an img and try selecting a flashable zip file it returns "file selected: null"
Am I doing something incorrectly?
Click to expand...
Click to collapse
Anubis22666 said:
U kind Sir a genius and a god-send.
Does it mean that we have to wait for this functionality yet or can I use SimplRom or Dr Ketan's Rom as Primary ROM and CM12 as secondary ROM.
Also the MiniTool Partition does not see the phone's SD card. I have a Note 4 International version (N910F).
Thank U and plz forgive the noob question (if the answer is obvious), I have just recently started using Android.
Click to expand...
Click to collapse
Dhs92 said:
Alright, so whenever I try flashing a ROM the red LED turns on and then quickly off again. Here's my log http://pastebin.com/txN8mSjq
Click to expand...
Click to collapse
BACARDILIMON said:
ok a dumb question. do you recommend a special tutorial to show how to convert a zip rom to img rom
Click to expand...
Click to collapse
jt1998 said:
Yeah. Support for this is terrible so i gave up.
Click to expand...
Click to collapse
jir591 said:
So I installed this and read the Q&A (which tells you what it does) . Now is there instructions somewhere on how to use it?
Click to expand...
Click to collapse
Click to expand...
Click to collapse
I'm working with Rootjunky to create a full video tutorial that describes everything to make it easier for you.
As for kexec support for unlocked devices, this has not been implemented yet. MultiSystem supports many devices & so, there'll be delays in responding to all questions in all threads.

thanks for making the video. I think it will help a lot of people.

jt1998 said:
Yeah. Support for this is terrible so i gave up.
from my Samsung Galaxy S5 SM-G900T on AT&T, Android 5.0. DOB1 with twi5ted lollipop 5.0 ROM v6
Click to expand...
Click to collapse
It a work in progress and I am willing to bet when he gives us video we flash junkies will love this . changing rom to fit our mood. I will take it.
---------- Post added at 01:36 AM ---------- Previous post was at 01:35 AM ----------
hsbadr said:
I'm working with Rootjunky to create a full video tutorial that describes everything to make it easier for you.
As for kexec support for unlocked devices, this has not been implemented yet. MultiSystem supports many devices & so, there'll be delays in responding to all questions in all threads.
Click to expand...
Click to collapse
Thank you for all your hard work.

I have a question. I know you recommend a good base but lets say I keep stock image a odex . most roms are deodex will that cause any issues?

BACARDILIMON said:
I have a question. I know you recommend a good base but lets say I keep stock image a odex . most roms are deodex will that cause any issues?
Click to expand...
Click to collapse
It doesn't matter! I like the ODEXED ROMs for stability & memory while DEODEXED ROMs are great for customizations... So, basicly, I use the stock ODEXED on Stock partition & DEODEXED ROMs for the virtual systems.

Related

[Script][A2SD] Darktremor 2.7.5.3 Beta 04 [N1] (01/29/2011)

Introducing...
Darktremor Apps2SD 2.7.5.3 Beta 04
Date of Release: January 29, 2011
Download Current Version
Instructions - Change Log - Commands - ROM List - Developer's Guide
Darktremor Apps2SD Fan Page ----
Darktremor Apps2SD Development Group
Are you installing Darktremor Apps2SD on your phone? Here are the instructions to help you: Facebook
Are you a developer wanting to include Darktremor Apps2SD in your latest ROM? Here is the Developer Guide: Facebook
Click to expand...
Click to collapse
Update on Beta 4
It seems I'm getting mixed results with these betas. I'm not sure why this is occurring, some people have been able to get this working right while others have had a hard time with it.
Currently, I'm rebuilding the entire program. This takes a while because I have to figure out how to pack all these options into the program but make it small enough to where it will run correctly.
I will say that some of the beta features are coming back out...one of them is the search for a partition code. I suspect that code may be leading me into issues with certain platforms, so I'm going back to the 2.7.5.2 method of mounting (mmcblk0p2 or mmcblk1p2).
Also, parts of the code will use Busybox Ash (the only code that won't will be starta2sd, which will still use Bash for the time being). The startup code will definitely use Busybox Ash.
Until then, here are the links to the the last two betas and the last official release:
Version 2.7.5.3 Beta 04 - http://www.darktremor.info/files/a2sd/dtapps2sd-2.7.5.3-beta04-signed.zip
Version 2.7.5.3 Beta 03 - http://www.darktremor.info/files/a2sd/dtapps2sd-2.7.5.3-beta03-signed.zip
Version 2.7.5.2-1 - http://www.darktremor.info/files/a2sd/dtapps2sd-2.7.5.2-1-signed.zip
And, if you want past versions, you can view the repository: ftp://dtuser:[email protected] (ignore the smiley face...that's XDA doing that.)
Click to expand...
Click to collapse
Beta 04 took longer than I expected to release. I have done major changes to the code:
1. New commands: convert-ext4 - This will convert your EXT3 partition into EXT4. Just a friendly reminder on this command: Not every rom supports EXT4, so it is possible to go into a boot loop if you switch roms. Use with caution.
2. Reworked convert-ext3 (convert-ext4 gets similar code)...now a flag file is set before the reboot (no conversion is done before the reboot). At load time, the conversion is performed. This takes longer in the reboot process and you may think your phone has locked up...wait about five minutes before doing anything with the phone.
3. Repair is rebuilt...now it uses existing commands to repair the setup (reinstall, remove, cachesd, cachepart, nocache, datasd, nodata). Definitely shrinks the code.
4. Added fix_permissions program to the package. This may help with Superuser issues when using the datasd feature. It is used in reinstall, remove, datasd and nodata.
5. a2sd install is back!!! Both a2sd install and a2sd reinstall do the exact same thing.
6. Dalvik heap code has been shrunk and now creates a file called dalvikheap. Actually, the code has been doing this all along (since about 2.7.5.2, I think), but I never put the code in to use the file.
7. Low Memory Killer code has also been shrunk and uses a file caled dtset_lowmem to set the low memory killer parameter.
8. Replaced Busybox PS function with Toolbox PS. The issue with Busybox PS is that it gives a false reading when I look for android.process.acore (which is the main program when the GUI starts up). If that is present, the program thinks you are trying to run Darktremor without any command line parameters. This was because Busybox would report the process was there when, in reality, it wasn't (validated this when my phone was boot looping.) Toolbox's PS reports the correct setting. This should fix the bootlooping issues some people are experiencing.
9. New commands: usedtbusybox and usedefaultbusybox - these commands may help in diagnosing issues that is may be related to the native Busybox on your rom. a2sd usedtbusybox will use the Busybox that is packaged with Darktremor. a2sd usedefaultbusybox will turn back on the scan behavior of the program introduced in Beta 03.
10. Support for Darktremor Apps2SD version 2.7 and earlier has been discontinued. To upgrade correctly from one of those versions, use version 2.7.5.3 Beta 03b or earlier.
11. Finally fixed stalled boot issues (or at least my tests with several roms says so.)
See the change log for additional details.
You will notice that if the program runs repair and finds a problem, it will correct the issue and reboot. You will see a second reboot when the dalvik-cache clears (this is to fix timing issues with CyanogenMod...I can't control that startup as well as I can other roms). This only happens if repair is ran or you flash a new rom (as repair will realign all data). If you are upgrading from a previous version of Darktremor, you should not see the reboots.
Click to expand...
Click to collapse
This is Darktremor Apps2SD, a multipurpose program that primarily allows a user to execute applications created for the Android OS on their Secure Digital card (with the proper setup...more on that later). But, Darktremor Apps2SD is all about stability. The goal is to be able for all users of the Android OS to be able to take advantage of a method to run their applications from a secure digital card.
But just because the Darktremor Apps2SD is all about stability, doesn't mean it isn't packed with features:
- Move applications (both free and paid) to the Secure Digital card.
- Move Dalvik Cache to run either from your Secure Digital card or from your cache partition and clears the cache on demand.
- Boot Loop Protection: prevents the phone from boot looping in the event the SD card could not be mounted.
- Dalvik JIT for faster performance on Roms which support it.
- User selectable sizes for the Dalvik heap sizes, allowing a user to freely optimize their system.
- Activate a swap partition on your SD card and sets how often the swap partition is utilized.
- Automatically fixes configuration issues.
- Users can check the free space on their SD card and check the installation to make sure all is setup correctly.
- Runs ZipAlign on demand...this makes your programs load faster.
- Built in help system for easy reference of commands.
- All features can also be reversed without repartitioning your Secure Digital card.
- New logging features assists in troubleshooting issues.
- Commands to set the Low Memory Killer feature at boot time. Great for those people who are the "set it and forget it" type.
- And more...
Darktremor Apps2SD is not the same as Froyo Apps2SD. Froyo Apps2SD creates a secure folder on the FAT32 section of your SD card (this is the section that you see when you mount your phone to your computer) and stores the programs there. This is nice as you don't have to do anything special with the phone, but it isn't backwards compatible with older versions of Android (Cupcake, Donut, Eclair) and, because of the way Froyo works, older programs not designed for Froyo will automatically stay on your internal storage (unless you install a program that forces the move to your SD card).
Darktremor Apps2SD takes a different approach. Based on the original CyanogenMod works, Darktremor Apps2SD uses symbolic linking to force Android into moving your applications to the SD card. Because Android will not allow anything to be ran from the FAT32 partition on your SD card (and, in Froyo, it will only allow you to run programs from a special folder), Darktremor utilizes filesystems called EXT2, EXT3 and EXT4. Each one of these filesystems is native to Linux (the operating system running Android), which allows you to run programs from them (same as, say, a computer running Ubuntu). This method is completely compatible with all versions of Android, including Froyo. In fact, you can run both the Darktremor Apps2SD and Froyo Apps2SD at the same time.
Check out the list of Roms that either have Darktremor Apps2SD installed or are compatible with Darktremor Apps2SD. Click on the link labeled ROM List at the top of this message.
Darktremor Apps2SD Installation Instructions
For the list of people that helped me test this on the various roms that use or can use Darktremor Apps2SD and the changelog: http://forum.xda-developers.com/showpost.php?p=7034326&postcount=3
Click to expand...
Click to collapse
The installation instructions can be found here: http://forum.xda-developers.com/showpost.php?p=7021325&postcount=2
Click to expand...
Click to collapse
If you want a list of commands for Apps2SD, type a2sd help.
Reserved...
Thank you so much!!! Can I flash this with ClockworkMod Recovery? I saw that you recommend Amon's but just thought I would ask before I flash back to Amon's.
Since we only have Amon's and Darch's recoveries, those were the only ones I could test with. It's possible you may be able to use ClockworkMod (I didn't ask my testers what recovery they were using).
Do a backup of your phone, then try it. If it works, let me know and I'll update the post.
THATTON said:
Thank you so much!!! Can I flash this with ClockworkMod Recovery? I saw that you recommend Amon's but just thought I would ask before I flash back to Amon's.
Click to expand...
Click to collapse
tkirton said:
Since we only have Amon's and Darch's recoveries, those were the only ones I could test with. It's possible you may be able to use ClockworkMod (I didn't ask my testers what recovery they were using).
Do a backup of your phone, then try it. If it works, let me know and I'll update the post.
Click to expand...
Click to collapse
Everything went well and I'm up an running. Thanks.
Ps-proud to be a test subject. Lol
As a reward for being the test subject, I have updated both the install post to include Clockworks Recovery and added your name on the Credits post as the tester.
THATTON said:
Everything went well and I'm up an running. Thanks.
Ps-proud to be a test subject. Lol
Click to expand...
Click to collapse
tkirton said:
As a reward for being the test subject, I have updated both the install post to include Clockworks Recovery and added your name on the Credits post as the tester.
Click to expand...
Click to collapse
Hey, that works for me! Thank you!
Add Apps2SD support in your Rom
I created a guide in my main thread on how to add Apps2SD into roms that don't have it.
http://forum.xda-developers.com/showthread.php?t=715116
Bump....New version 2.7.5 Preview Fix 4 is out (and there was a PF3, but it was only released to Desire users to try to work through the NAND protection on their device...their changes are part of PF4).
Has anyone tried this on the latest CM6 nightly build?
Chahk said:
Has anyone tried this on the latest CM6 nightly build?
Click to expand...
Click to collapse
I was going to, but the nightly are so often that I would hate to keep having to do it every update...well the nightlies have slowed down....I might try it out! Will report back if works!
djdarkknight96 said:
I was going to, but the nightly are so often that I would hate to keep having to do it every update...well the nightlies have slowed down....I might try it out! Will report back if works!
Click to expand...
Click to collapse
Cool, let us know here and in the CM thread. I would love to know as well.
THATTON said:
Cool, let us know here and in the CM thread. I would love to know as well.
Click to expand...
Click to collapse
I flashed the zip in recovery using CM6 and it did not work. The zip flashed without error but my apps did not move to the EXT partition
I'll check it out and see what's going on.
EDIT: It's possible that Busybox Run-Parts won't process two files with the same name. Since I can't run it, can you run a logcat so I can see what's going on. Send it to [email protected] and I'll take a look at it.
mightykc said:
I flashed the zip in recovery using CM6 and it did not work. The zip flashed without error but my apps did not move to the EXT partition
Click to expand...
Click to collapse
mightykc said:
I flashed the zip in recovery using CM6 and it did not work. The zip flashed without error but my apps did not move to the EXT partition
Click to expand...
Click to collapse
It works on CM6. All you need to do is flash boot from Modaco's (Paul's) Froyo R21 with a2sd.
I'm eager to try this -- but I noticed that in the update.zip, there's a "new" copy of Vending.apk. Why is the Market app being replaced? How does this one differ from the stock FRF91 copy? It makes me a bit nervous to be replacing the app. Previous apps2sd approaches haven't needed to modify this. Can you explain a bit what's going on under the covers?
I would have thought that just an init script, an ext3 partition and a few symlinks would be all that was required...
Thanks
Don't worry about it. It only replaces the app when you execute a2sd fixmarket. This was to address an issue with a disappearing market, but since then the problem has been pointed to zipalign (which is why zipalign won't run automatically at boot).
I think PF4a doesn't even have the command anymore, so, unless you manually push it from /data/a2sd, it won't replace anything.
The upcoming RC1 version will have that removed, as it is no longer needed.
Here's how Darktremor Apps2SD works:
1. First thing it does is transfer control to launcha2sd, which is ran by using bash instead of sh (bash seems to be more stable).
2. Once launcha2sd is running, it performs a quick test to see if you are asking for help (a2sd help). If so, it displays the contents of the help file and exits.
3. Next, it checks to see if the following properties are in the init.rc:
- cm.filesystem.ready or dc.filesystem.ready (only one has to be present)
If so, it can run the more advanced boota2sd. If not, it will run a basic version of Apps2SD (FYI, these properties actually are used to stop the init.rc until Apps2SD [and any other script the rom developer deems necessary to run] are complete. This prevents dalvikvm from interferring, preventing a race condition).
4. Next, it runs starta2sd unless you don't have the properties stated before, then it continues by moving the /data/app and /data/app-private to SD card (if needed and after attempting to mount the ext partition). Then it activates swap (if available) then it exits.
5. Under starta2sd, it checks to see if a command was requested (install, remove, cachesd, cachepart, jit, nojit, etc...). If so, it runs the appropriate commands for the command requested.
6. If no command was given, it checks to see if apps2sd is being ran for the first time. If so, it transfers control to boota2sd. If not, it displays a message stating you need to supply a command and promptly exits.
7. In boota2sd, it checks for the old flag files (from version 2.5 - 2.7) and moves them to the /data directory.
8. Next, boota2sd attempts to mount the ext partition. If that fails, it will engage Boot Loop Protection, which puts your /data/app, /data/app-private and /data/dalvik-cache (if it is stored on the SD card) back to internal storage and sets the No Apps2SD flag file. This can be reversed by executing a2sd install once the issue with the ext partition is fixed.
9. Next, it checks for flag files and whether the correct setup exists. If not (say you have the Dalvik to SD cache flag file active but your dalvik-cache is being stored on your internal storage), the program initiates auto-repair.
10. Once that is complete, it checks to see if it needs to move applications to the SD card and moves them, unless the No Apps2SD flag file is present.
11. Next, it looks to see if the user has activated ZipAlign on boot (a2sd zipalign) and, if so, will proceed to zipalign the /data/app and /data/app-private directories.
12. Next, it activates the swap partition, unless the swap partition isn't present or the No Swap flag file is set.
13. The program then ends.
This is the automated boot sequence. You can control the behavior of apps2sd by using commands (a2sd install, a2sd cachepart, a2sd align...)
System files are only modified if there is a need to (i.e. JIT) and only if the user activates the correct command (i.e. a2sd jit, a2sd nojit). In fact, the only time the /system partition is changed to a read-write state is during the JIT installation (and that is changed back to read-only when the setup is complete)...otherwise, the /system partition is read-only through the entire Apps2SD run.
mlevin said:
I'm eager to try this -- but I noticed that in the update.zip, there's a "new" copy of Vending.apk. Why is the Market app being replaced? How does this one differ from the stock FRF91 copy? It makes me a bit nervous to be replacing the app. Previous apps2sd approaches haven't needed to modify this. Can you explain a bit what's going on under the covers?
I would have thought that just an init script, an ext3 partition and a few symlinks would be all that was required...
Thanks
Click to expand...
Click to collapse
tkirton said:
Don't worry about it. It only replaces the app when you execute a2sd fixmarket. This was to address an issue with a disappearing market, but since then the problem has been pointed to zipalign (which is why zipalign won't run automatically at boot).
I think PF4a doesn't even have the command anymore, so, unless you manually push it from /data/a2sd, it won't replace anything.
The upcoming RC1 version will have that removed, as it is no longer needed.
Click to expand...
Click to collapse
Awesome! Thanks so much for the quick and detailed reply!
Just read through the code. Nice work!
I see that one of the options is to put dalvik-cache in /cache. Any reason apps can't be put into this partition as well? On a rooted device, /cache is mostly wasted space. Or does /cache get wiped on reboot like /tmp?

[Q] Best way to backup and restore on a number of devices

Hi
I've done a bit of searching but can't find anything too specific to what I'm trying to do. Basically we have 10 Android tablets, and I want to make them all standardised e.g. have the same Apps on, configured in the same way (e.g. enterprise wireless network added).
Now the thing is if anyone messes around with them I want a really easy way to restore them to the original config which I've done.
One way I thought was to configure one fully, install Titanium Backup on it, do a full backup of apps/system data etc, and put the backup onto an SD card. Then I already have the base ROM on an SD card so if theres any problems, I can just flash the ROM over it again, install TB, and restore all the data. Would this be suitable to do to duplicate the data onto 10 tablets, and also restore the data if required?
The other thing I looked into was customising a ROM myself, don't want to do anything too tricky it'll just be a case of removing all the preinstalled crap I don't want, preloading the Apps we do want, and if possible preloading the wireless key and getting rid of the first boot initial set up wizard.
PS I've looked at installing CWM and doing whole image backups, but supposedly the tablet isnt supported (its an Ainol Novo 7 Elf 2)
Any advice would be great, hopefully theres some fairly straight forward way of managing this
Thanks
One of the reasons I integrated a full blown GNU/Linux on my devices, was the need to run full and automated backups. If you are looking into the possibility making a custom ROM, this might be a solution for you as well. I'm using BackuPC to run backups nightly, backing them up as any other GNU/Linux machine (using tar over ssh).
See the link in my signature for more information about this.
kuisma said:
One of the reasons I integrated a full blown GNU/Linux on my devices, was the need to run full and automated backups. If you are looking into the possibility making a custom ROM, this might be a solution for you as well. I'm using BackuPC to run backups nightly, backing them up as any other GNU/Linux machine (using tar over ssh).
See the link in my signature for more information about this.
Click to expand...
Click to collapse
Hi
Thanks for the reply, not too sure this would be the right option for us. I don't really need to take nightly backups, I just need to make a backup of a preconfigured image, and then put that image onto 10 other devices. Then I want to keep the original backup and have an easy way to restore it onto any devices which have been messed up. Sort of like image cloning for PCs, I want to prepare a base image, and then flash it over all the devices.
fro5tie said:
Hi
Thanks for the reply, not too sure this would be the right option for us. I don't really need to take nightly backups, I just need to make a backup of a preconfigured image, and then put that image onto 10 other devices. Then I want to keep the original backup and have an easy way to restore it onto any devices which have been messed up. Sort of like image cloning for PCs, I want to prepare a base image, and then flash it over all the devices.
Click to expand...
Click to collapse
Ok, I see. Compile the image to you likings (boot image and system partition), and then flash it using fastboot onto you devices.
Hi
Does anyone have any more thoughts on this?
I have experimented with Titanium Backup and this seems to work quite well. I have installed a ROM, and customised it e.g. installed the apps I need and configured the apps, wireless settings and home screens etc. Then I do a full apps + system backup in TB to my SD card.
Then the plan is, I can reflash the ROM onto the other device, install TB and then restore this backup. This saves my user state and wireless settings etc.
Only problems is when I flash the ROM, I have to go through all the initial set up again and also remove some preinstalled apps which I dont want. Any ways around this?
There must be something I'm missing. Why don't you install the device, walk through the setup, remove the bloatware you don't want and then dumps the disk partitions into images you flash the other devices with using fastboot? This way you'll get'em cloned, isn't it this you want..?
Of course there's still some tinkering needed once restored/cloned, such as giving them individual Google accounts etc, but you can easily fix this without re-running the setup wizard.
kuisma said:
There must be something I'm missing. Why don't you install the device, walk through the setup, remove the bloatware you don't want and then dumps the disk partitions into images you flash the other devices with using fastboot? This way you'll get'em cloned, isn't it this you want..?
Of course there's still some tinkering needed once restored/cloned, such as giving them individual Google accounts etc, but you can easily fix this without re-running the setup wizard.
Click to expand...
Click to collapse
Hi
Yes that's what I want to do! How would I go about dumping the disk into an image and then flashing?
fro5tie said:
Hi
Yes that's what I want to do! How would I go about dumping the disk into an image and then flashing?
Click to expand...
Click to collapse
There are several methods. Some boot loaders (such as nvflash for tegra based devices) can actually read back the disk partitions to a computer via the USB port. You can also on the tablet read the raw mtd device with busybox/dd. I assume you've unlocked the bootloader and gain root access to the device, since this is a requirement for flashing them as well. A third alternative is using busybox/tar, and then recreate the filesystem image using mkyaffs (or if ext3/ext4 even easier, just loopback mount an image on you linux maching to unpack the tar archive to). Once you got the images (system and userdata partitions), you flash the devices with "fastboot flash system system.img" and "fastboot flash userdata data.img". I don't believe you'll need to tamper with the other partitions.
kuisma said:
There are several methods. Some boot loaders (such as nvflash for tegra based devices) can actually read back the disk partitions to a computer via the USB port. You can also on the tablet read the raw mtd device with busybox/dd. I assume you've unlocked the bootloader and gain root access to the device, since this is a requirement for flashing them as well. A third alternative is using busybox/tar, and then recreate the filesystem image using mkyaffs (or if ext3/ext4 even easier, just loopback mount an image on you linux maching to unpack the tar archive to). Once you got the images (system and userdata partitions), you flash the devices with "fastboot flash system system.img" and "fastboot flash userdata data.img". I don't believe you'll need to tamper with the other partitions.
Click to expand...
Click to collapse
Hi
Thanks for the quick reply, much appreciated.
Unfortunately you've lost me a bit here!
Yes the device is rooted, I dont have a linux machine though.
Any chance you'd be able to provide some more specific instructions? The device is a chinese tablet from manufacturer Ainol, the model is a Novo 7 Elf 2. Unfortunately there isn't much discussion on these online so specific help is hard to find!
fro5tie said:
Any chance you'd be able to provide some more specific instructions? The device is a chinese tablet from manufacturer Ainol, the model is a Novo 7 Elf 2. Unfortunately there isn't much discussion on these online so specific help is hard to find!
Click to expand...
Click to collapse
I can provide you specific answers to specific questions, but I have no experience of the tablet in question, so you'll have to do some digging yourself first. Make sure it supports fastboot, investigate what the proprietary bootloader is capable of, see how/if you can obtain an original image etc.
One maybe easier solution, especially if you plan to restore the tablets on a regular basis, is to only make a new boot image to reflash the devices with. The only modification done is that you change the /init.rc script to mount /data and /system from the SDcard instead of from the internal nand disk device.
Once this is done, you'll power up and run the installation wizard and everything on your master tablet. Then power it down, and clone the SDcard. This SDcard now contains everything, so you'll simply restore a device by replacing its SDcard with a copy of this master card. I guess it's easier to clone a SDcard than reflashing several internal partitions. Easier to make the master as well - you don't need to dd or tar them, they are already in "image" format. If you can get hold of the original firmware, this should be quite easy without the need to preserving data from the device itself.
fro5tie said:
Any chance you'd be able to provide some more specific instructions?
Click to expand...
Click to collapse
Issue the commands "cat /proc/mtd" and "mount" on your device at command prompt (e.g. via "adb shell" or the "ConnectBot" terminal app). This shows you if the device allows you to copy the boot image from it. Paste in the output into this thread. If you believe the "clone the tablet via the SDcard" is a good solution for you, the process is in short terms something as below;
Copy the boot image to the sdcard:
# dd if=/dev/mtd/mtd2ro of=/mnt/sdcard/boot.img bs=2048 (device dependent of contents of /proc/mtd)
Remove the sdcard, insert into a computer, split the boot image info kernel + initramfs. Read http://android-dls.com/wiki/index.php?title=HOWTO:_Unpack%2C_Edit%2C_and_Re-Pack_Boot_Images for instructions about how to work with the boot.img file. I really recommend a GNU/Linux environment for this.
Then edit /init.rc replacing the "mount yaffs2 [email protected] /system" with "mount ext3 /dev/block/mmcblk0p2 /system" for system and data (use p3 for data partition, the device name may be different on your tablet, see mount output).
Create an SDcard with three partitions: #1 vfat (standard), #2 and #3 ext3. Insert into you device and boot it up again.
# mount -t ext3 /dev/block/mmcblk0p2 /root
# cd /system
# tar cf - . | (cd /root ; tar xf - )
# umount /root
# mount -t ext3 /dev/block/mmcblk0p3 /root
# cd /data
# tar cf - . | (cd /root ; tar xf - )
# umount /root
This copies your partitions to the SDcard. Shutdown the tablet again.
Make a new boot.img using the instructions in the link above, using the edited init.rc script.
Now you can non-destrutive give this a try.
Place you tablet in fastboot mode (often vol-up (or vol-down) during power on).
$ fastboot devices
This vill verify the tablet is in fastboot mode. It should be listed. Then:
$ fastboot boot boot.img
Note here, only BOOT the tablet, do NOT use the "flash" keyword. This in case of the image isn't working, you'll just have to restart you tablet, and no harm's done.
Look around. Do a "mount" command. Everything works? Mount shows /data and /system from sdcard? Perfect. Now you can reflash it. Shutdown and flash:
$ fastboot flash boot boot.img
Now the device will use /data and /system from the SDcard every time. Customize your device, and then clone your SDcard and try it in tablet #2 you'll booting with your new boot.img and the cloned SDcard. Verify that #tablet #2 is a perfect clone of tablet #1. It is? Now you can flash the boot,img into all your tablets.
--------------------
But don't forget, there may be other solutions as well, maybe more suitable. This you'll have to investigate yourself.
And the usual disclaimer - you can probably not follow above by the letter. There sure is some obstacle you'll have to overcome, something non-standard, etc.
Also keep the original boot.img file for safekeeping in the case you want to restore the device's boot image some day.
Wow! Thanks for the info! This is really helpful, I need to set aside a bit of time to work through this and have a look. Thanks again its really appreciated, I'll be back with info once I've had chance to give it a go!
I certainly can't offer more detailed info than the fellow from Sweden who seems to really know his stuff...but what about making a nandroid backup of your fully configured reference tablet (I'm assuming all tablets are rooted). Ensure all your tabs have CWM recovery and copy your nandroid file to each one.
If any of your fleet get 'corrupted' you can simply restore the original, fully configured ROM.
In fact that sounds too obvious..likely I missed something about your scenario which precludes this option from consideration!
Good luck mate.
tweeny80 said:
I certainly can't offer more detailed info than the fellow from Sweden who seems to really know his stuff...but what about making a nandroid backup of your fully configured reference tablet (I'm assuming all tablets are rooted). Ensure all your tabs have CWM recovery and copy your nandroid file to each one.
If any of your fleet get 'corrupted' you can simply restore the original, fully configured ROM.
In fact that sounds too obvious..likely I missed something about your scenario which precludes this option from consideration!
Good luck mate.
Click to expand...
Click to collapse
Hi
Yes that was my first thought as well, tablets are rooted yes but there is no CWM for the tablet. Its an obscure Chinese branded tablet.
Unless there is another way to do nandroid backups?
hmm tricky situation. Catch 22 ! From what I know, your best bet is to backup all possible things through Titanium Backup given that you don't have the use of Nandroid backups. You can include wifi settings, messages etc but it's modular & not systemic.
I did a quick google search with no luck - time to upgrade your fleet dude :-0
Best of luck.

[Q&A] [TOOL][NABI2] NabiLab - Root, Play, Recovery

Q&A for [TOOL][NABI2] NabiLab - Root, Play, Recovery
Some developers prefer that questions remain separate from their main development thread to help keep things organized. Placing your question within this thread will increase its chances of being answered by a member of the community or by the developer.
Before posting, please use the forum search and read through the discussion thread for [TOOL][NABI2] NabiLab - Root, Play, Recovery. If you can't find an answer, post it here, being sure to give as much information as possible (firmware version, steps to reproduce, logcat if available) so that you can get help.
Thanks for understanding and for helping to keep XDA neat and tidy!
State of Nabi 2 Root as of 12/14?
So I have admittedly been out of the loop on the state of rooting my two Nabi 2s since after I restored them to stock and all back last year when they released the update that included the Gapps. So I've been running stock since then and am on the latest firmware (2.4.6 I believe). All is mostly fine, but I would really like to get the external SD cards to be writable again, and from what I can tell, I need root again to do that.
So...as of today...what is the state (and best procedure) of rooting the Nabi 2 on the latest OTA update? Is Nabi Lab still the best tool? From what I've pieced together from scattered threads, it's looking like possibly use Nabi Lab to install TWRP, and then use that to install the SuperSU (http://forum.xda-developers.com/showthread.php?t=1538053). However, I could likely be wrong...hence why I'm asking.
Eyebolt said:
So I have admittedly been out of the loop on the state of rooting my two Nabi 2s since after I restored them to stock and all back last year when they released the update that included the Gapps. So I've been running stock since then and am on the latest firmware (2.4.6 I believe). All is mostly fine, but I would really like to get the external SD cards to be writable again, and from what I can tell, I need root again to do that.
So...as of today...what is the state (and best procedure) of rooting the Nabi 2 on the latest OTA update? Is Nabi Lab still the best tool? From what I've pieced together from scattered threads, it's looking like possibly use Nabi Lab to install TWRP, and then use that to install the SuperSU (http://forum.xda-developers.com/showthread.php?t=1538053). However, I could likely be wrong...hence why I'm asking.
Click to expand...
Click to collapse
Nabilab will still work as long as you use a version with a Jellybean TWRP(since you are on 2.4.6).
katinatez repackaged it for jellybean here:
http://forum.xda-developers.com/showpost.php?p=48987089&postcount=2088
I've searched high and low and can't find anything. I have nabi2S running KitKat. Every rooting guide I've found is for JB. Is there any way to root the 2S?
Sent from my Nexus 5 using XDA Free mobile app
jaxbierley said:
I've searched high and low and can't find anything. I have nabi2S running KitKat. Every rooting guide I've found is for JB. Is there any way to root the 2S?
Sent from my Nexus 5 using XDA Free mobile app
Click to expand...
Click to collapse
For the sake of anyone else looking for this information we are discussing it at the main Nabi thread starting at post #2477
http://forum.xda-developers.com/showthread.php?t=1905674&page=248
Stock Restore
Hi
I have downloaded NabiLab, as I am having wifi issues on my updated Nabi2. I unzipped, ran the .bat and chose option 3 (with my nab connected via USB). Nothing happened, no errors etc, the screen flashed up and shut down. Do I need to do something with the Nabi (recovery mode etc), do I need to install anything from NabiLab before trying this? Any help would be appreciated
Firepants said:
Hi
I have downloaded NabiLab, as I am having wifi issues on my updated Nabi2. I unzipped, ran the .bat and chose option 3 (with my nab connected via USB). Nothing happened, no errors etc, the screen flashed up and shut down. Do I need to do something with the Nabi (recovery mode etc), do I need to install anything from NabiLab before trying this? Any help would be appreciated
Click to expand...
Click to collapse
What version of software? Use Nabilab2015 http://forum.xda-developers.com/showpost.php?p=59073456&postcount=2544
It has more diagnostic info. Just be in Android or TWRP with ADb enabled. It also can see if drivers are loaded.
Hacking Nabi2 to Allow Data2SD
I managed today to hack my kids Nabi2 to enable Data2SD. I was to frustrated by the limited space in the tab. My kids were complaining about not being able to add more games. Thus, I decided to take the risk of modifying the mount points of the tab to allow the data partition to point to a partition in a large sdcard, instead of the limited 4.5 GB space in the internal storage.
Warning: I am not responsible of any damage as a result of following the next steps. Always make backups
Note: I have the last update (KitKat) installed in the Nabi2
1- Dump the boot image from an adb shell:
Code:
su
cat /dev/block/platform/sdhci-tegra.3/by-name/LNX > /sdcard/boot.img
2- Open this url http://android-dls.com/wiki/index.php?title=HOWTO:_Unpack,_Edit,_and_Re-Pack_Boot_Images
to see the instructions of how to unpack and repack the boot image. Note that, the splitimage script mentioned in the page can be found at https://gist.github.com/jberkel/1087743
Warning: do not do anything in the tutorial, just wait
3- Format an sdcard as one partition of ext4 type
4- Insert the sdcard in the nabi2
5- Use the tutorial in step 2 to extract the ramdisk contents from the boot image and then Modify the file "fstab.mt799" in the ramdisk folder by replacing the line
Code:
/dev/block/platform/sdhci-tegra.3/by-name/UDA /data ext4 noatime,nosuid,nodev,journal_async_commit,data=writeback,nodelalloc,errors=panic wait,check,encryptable=/dev/block/platform/sdhci-tegra.3/by-name/MDA
with
Code:
/dev/block/platform/sdhci-tegra.0/by-num/p1 /data ext4 noatime,nosuid,nodev,journal_async_commit,data=writeback,nodelalloc,errors=panic wait,check,encryptable=/dev/block/platform/sdhci-tegra.3/by-name/MDA
which switches the data partition mount point to be on the sdcard
and the line
Code:
/devices/platform/sdhci-tegra.0/mmc_host/mmc2 auto vfat defaults voldmanaged=sdcard1:auto
with
Code:
/devices/platform/sdhci-tegra.3/mmc_host/mmc0 auto vfat defaults voldmanaged=sdcard1:12
which mount your old data partition into the directory of the external sdcard
6- Repack the boot image as mentioned in the url in step 2
7- Copy the new boot image to the nabi2 sdcard
8- Once you copied the new boot image (e.g. new_boot.img), replace the current boot image with the new one using adb shell:
Code:
su
cat /sdcard/new_boot.img > /dev/block/platform/sdhci-tegra.3/by-name/LNX
9- Now the kernel is replaced and once you rebooted your external sdcard would be in use, but note that your device is now having an empty data partition on the external sdcard, so you have to setup everything from the beginning. Note also that your previous data partition is now mounted as an sdcard, however, you have to format it from ext4 to fat32 to work as an sdcard (you can do the format from setings->storage->sdcard format)​
ashahin1 said:
I managed today to hack my kids Nabi2 to enable Data2SD. I was to frustrated by the limited space in the tab. My kids were complaining about not being able to add more games. Thus, I decided to take the risk of modifying the mount points of the tab to allow the data partition to point to a partition in a large sdcard, instead of the limited 4.5 GB space in the internal storage.
Warning: I am not responsible of any damage as a result of following the next steps. Always make backups
Note: I have the last update (KitKat) installed in the Nabi2
1- Dump the boot image from an adb shell:
Code:
su
cat /dev/block/platform/sdhci-tegra.3/by-name/LNX > /sdcard/boot.img
2- Open this url http://android-dls.com/wiki/index.php?title=HOWTO:_Unpack,_Edit,_and_Re-Pack_Boot_Images
to see the instructions of how to unpack and repack the boot image. Note that, the splitimage script mentioned in the page can be found at https://gist.github.com/jberkel/1087743
Warning: do not do anything in the tutorial, just wait
3- Format an sdcard as one partition of ext4 type
4- Insert the sdcard in the nabi2
5- Use the tutorial in step 2 to extract the ramdisk contents from the boot image and then Modify the file "fstab.mt799" in the ramdisk folder by replacing the line
Code:
/dev/block/platform/sdhci-tegra.3/by-name/UDA /data ext4 noatime,nosuid,nodev,journal_async_commit,data=writeback,nodelalloc,errors=panic wait,check,encryptable=/dev/block/platform/sdhci-tegra.3/by-name/MDA
with
Code:
/dev/block/platform/sdhci-tegra.0/by-num/p1 /data ext4 noatime,nosuid,nodev,journal_async_commit,data=writeback,nodelalloc,errors=panic wait,check,encryptable=/dev/block/platform/sdhci-tegra.3/by-name/MDA
which switches the data partition mount point to be on the sdcard
and the line
Code:
/devices/platform/sdhci-tegra.0/mmc_host/mmc2 auto vfat defaults voldmanaged=sdcard1:auto
with
Code:
/devices/platform/sdhci-tegra.3/mmc_host/mmc0 auto vfat defaults voldmanaged=sdcard1:12
which mount your old data partition into the directory of the external sdcard
6- Repack the boot image as mentioned in the url in step 2
7- Copy the new boot image to the nabi2 sdcard
8- Once you copied the new boot image (e.g. new_boot.img), replace the current boot image with the new one using adb shell:
Code:
su
cat /sdcard/new_boot.img > /dev/block/platform/sdhci-tegra.3/by-name/LNX
9- Now the kernel is replaced and once you rebooted your external sdcard would be in use, but note that your device is now having an empty data partition on the external sdcard, so you have to setup everything from the beginning. Note also that your previous data partition is now mounted as an sdcard, however, you have to format it from ext4 to fat32 to work as an sdcard (you can do the format from setings->storage->sdcard format)​
Click to expand...
Click to collapse
If you are not sure which line to change, I have the fstab.mt799 file attached with this post. You can simply replace your file with this one.
ashahin1 said:
I managed today to hack my kids Nabi2 to enable Data2SD. I was to frustrated by the limited space in the tab. My kids were complaining about not being able to add more games. Thus, I decided to take the risk of modifying the mount points of the tab to allow the data partition to point to a partition in a large sdcard, instead of the limited 4.5 GB space in the internal storage.
Warning: I am not responsible of any damage as a result of following the next steps. Always make backups
Note: I have the last update (KitKat) installed in the Nabi2
1- Dump the boot image from an adb shell:
Code:
su
cat /dev/block/platform/sdhci-tegra.3/by-name/LNX > /sdcard/boot.img
2- Open this url http://android-dls.com/wiki/index.php?title=HOWTO:_Unpack,_Edit,_and_Re-Pack_Boot_Images
to see the instructions of how to unpack and repack the boot image. Note that, the splitimage script mentioned in the page can be found at https://gist.github.com/jberkel/1087743
Warning: do not do anything in the tutorial, just wait
3- Format an sdcard as one partition of ext4 type
4- Insert the sdcard in the nabi2
5- Use the tutorial in step 2 to extract the ramdisk contents from the boot image and then Modify the file "fstab.mt799" in the ramdisk folder by replacing the line
Code:
/dev/block/platform/sdhci-tegra.3/by-name/UDA /data ext4 noatime,nosuid,nodev,journal_async_commit,data=writeback,nodelalloc,errors=panic wait,check,encryptable=/dev/block/platform/sdhci-tegra.3/by-name/MDA
with
Code:
/dev/block/platform/sdhci-tegra.0/by-num/p1 /data ext4 noatime,nosuid,nodev,journal_async_commit,data=writeback,nodelalloc,errors=panic wait,check,encryptable=/dev/block/platform/sdhci-tegra.3/by-name/MDA
which switches the data partition mount point to be on the sdcard
and the line
Code:
/devices/platform/sdhci-tegra.0/mmc_host/mmc2 auto vfat defaults voldmanaged=sdcard1:auto
with
Code:
/devices/platform/sdhci-tegra.3/mmc_host/mmc0 auto vfat defaults voldmanaged=sdcard1:12
which mount your old data partition into the directory of the external sdcard
6- Repack the boot image as mentioned in the url in step 2
7- Copy the new boot image to the nabi2 sdcard
8- Once you copied the new boot image (e.g. new_boot.img), replace the current boot image with the new one using adb shell:
Code:
su
cat /sdcard/new_boot.img > /dev/block/platform/sdhci-tegra.3/by-name/LNX
9- Now the kernel is replaced and once you rebooted your external sdcard would be in use, but note that your device is now having an empty data partition on the external sdcard, so you have to setup everything from the beginning. Note also that your previous data partition is now mounted as an sdcard, however, you have to format it from ext4 to fat32 to work as an sdcard (you can do the format from setings->storage->sdcard format)​
Click to expand...
Click to collapse
If you don't have the time to do all these steps, I have the modified boot file attached here.
Yo can either follow steps 7 and 8 above to write it, or use the fastboot command as follows:
Code:
fastboot flash boot new_boot.img
Nabi2 not found
Hi, I purchased a reconditioned Nabi, which was reset back to stock. The wifi worked fine, until I updated it through the tablet. I am now on version 2.0 with no wifi. I have tried various options through NabiLab , however my Nabi is not recognised as being connected (although windows picks it up). Please help!
Swipe to restore
I am trying to return my nabi to stock, i can get to the screen that asks you to 'swipe to restore' but the screen is not responding. I dont have issues with the touchscreen normally
Aytul said:
I am trying to return my nabi to stock, i can get to the screen that asks you to 'swipe to restore' but the screen is not responding. I dont have issues with the touchscreen normally
Click to expand...
Click to collapse
That's weird...if you keep messing with it you may find a spot a little left, right, higher, or lower where you can grab the button to swipe....or you try to re-flash TWRP or maybe there's a new version of TWRP for your particular nabi software version.
did you ever get nabilab to see it? did you check the device manager to see if it was totally recognized? Are developer options enabled?
n3wt said:
That's weird...if you keep messing with it you may find a spot a little left, right, higher, or lower where you can grab the button to swipe....or you try to re-flash TWRP or maybe there's a new version of TWRP for your particular nabi software version.
did you ever get nabilab to see it? did you check the device manager to see if it was totally recognized? Are developer options enabled?
Click to expand...
Click to collapse
The Nabi is showing as a device, it's responds as it should up to the point of TWRP. I had to repeatedly press buttons to get to the restore swipe and have tried many times, unsuccessfully. Where do I enable developer options?
I am on version 2 (Nabi) and using the most up-to-date version of NabiLab. I am trying to restore to stock so that the software version goes back, as the update has stopped my wifi working. Even a factory reset doesn't take the Nabi software back further than v2.0
Aytul said:
The Nabi is showing as a device, it's responds as it should up to the point of TWRP. I had to repeatedly press buttons to get to the restore swipe and have tried many times, unsuccessfully. Where do I enable developer options?
I am on version 2 (Nabi) and using the most up-to-date version of NabiLab. I am trying to restore to stock so that the software version goes back, as the update has stopped my wifi working. Even a factory reset doesn't take the Nabi software back further than v2.0
Click to expand...
Click to collapse
For developer options you go to settings, scroll all the way down, if you don't see "Developer options" there, press About tablet, then repeatedly tap build number until it pops up and says "You are now a developer!", then go back and now you should see the Developer options menu item, press it and then make sure it's on at the top and that the USB Debugging option is checked.....then try nabilab again.
n3wt said:
For developer options you go to settings, scroll all the way down, if you don't see "Developer options" there, press About tablet, then repeatedly tap build number until it pops up and says "You are now a developer!", then go back and now you should see the Developer options menu item, press it and then make sure it's on at the top and that the USB Debugging option is checked.....then try nabilab again.
Click to expand...
Click to collapse
Yes this is enabled, as without it I am unable to run nabilab etc. The problem is TWRP & the version of software I am running on the tablet?
Aytul said:
Yes this is enabled, as without it I am unable to run nabilab etc. The problem is TWRP & the version of software I am running on the tablet?
Click to expand...
Click to collapse
Well, the touch issues are probably due to a bad build of TWRP but not necessarily the wrong one. The problem with nabilab not being able to see the tablet I think has to be drivers. Have you checked device manager to make sure there are no unrecognized things? 'cause the tablet show up as two separate things in there and it sounds like the USB storage part is working but not the adb and/or fastboot part(s).
n3wt said:
Well, the touch issues are probably due to a bad build of TWRP but not necessarily the wrong one. The problem with nabilab not being able to see the tablet I think has to be drivers. Have you checked device manager to make sure there are no unrecognized things? 'cause the tablet show up as two separate things in there and it sounds like the USB storage part is working but not the adb and/or fastboot part(s).
Click to expand...
Click to collapse
I've managed to sort the drivers by installing PDANet, then managed to sort TWRP by installing an older version. I've now updated to 2.1 on the Nabi but no luck with the wifi issue..i'm guessing it's really broken and it happening whilst updating may have been a coincidence?!
Aytul said:
I've managed to sort the drivers by installing PDANet, then managed to sort TWRP by installing an older version. I've now updated to 2.1 on the Nabi but no luck with the wifi issue..i'm guessing it's really broken and it happening whilst updating may have been a coincidence?!
Click to expand...
Click to collapse
It might just be broken but that's a heck of a coincidence... Do you have a backup from before the wifi issue started? If so, I'd try to thoroughly wipe everything but your external sd card and then restoring your backup and see if that helps.
n3wt said:
It might just be broken but that's a heck of a coincidence... Do you have a backup from before the wifi issue started? If so, I'd try to thoroughly wipe everything but your external sd card and then restoring your backup and see if that helps.
Click to expand...
Click to collapse
Hi, I bought it as a reconditioned did unit. Turned it on, updates it (wifi worked) and then had this problem, so no backup to go back to unfortunately

[T235][ROM][5.1.1][LMY48G] CyanogenMod 12.1 for T235(Y) [Alpha 09/08/2015]

This is a CyanogenMod 12.1 ROM for the Exynos3470 based Samsung Galaxy Tab 4 7.0 LTE (T235/T235Y).
DO NOT USE IT FOR T230(NU)/T231 OR YOU WILL BRICK YOUR DEVICE
Although T235 and T230(NU)/T231 (T230:WiFi / T231:3G) share the "Galaxy Tab 4 7.0" name they are not related in terms of hardware due to the different SoCs used (Samsung Exynos3470 vs. Marvell PXA1088).
Hence please do not ask for support or ROMs for the T230(NU)/T231.
Working features
Receiving and making calls
Hardware sensors (Acceleration)
Audio
Bluetooth
Wifi
HW accelerated GUI
MTP storage
GPS
USB-OTG (Mass-Storage, Keyboard, Mouse working, USB-Audio untested)
Camera (pictures+video: Back+Front)
Non-working features:
SELinux
Known issues:
See the Bug Report section of this thread
Disclaimer:
You flash this image at your own responsibility. I am not responsible for any damage that might be caused by flashing this image (bricked device, lost data, ...)
Flashing this kernel image will trigger the KNOX counter, so your warranty will be void.
Applications that use KNOX (e.g. "Private Mode") might not work anymore when returning to the stock ROM, as the device is regarded as compromised. Do not flash this ROM if you need those applications.
The image is only for Tab 4 7.0 SM-T235 and SM-T235Y (Exynos)
It might be instable, crash your device, drain your battery, or even might damage your smartphone
Backup your data before flashing and check if the original firmware is present (e.g. at SamMobile)
Click to expand...
Click to collapse
Before you start:
Backup your data, like call history, contacts, sms, WhatsApp messages, favourite app settings that are on internal and external sd (by using Titanium Backup or other apps available on PlayStore). At least all internal data will be lost in any case. If you have bad luck you might also loose data from your external sd card.
Download:
Odin3-v1.85
TWRP 2.8.7.0 recovery image [09/08/2015] (AndroidFileHost Mirror)
CM 12.1 ROM (AndroidFileHost Mirror)
Google Apps (contains Google Play, ...) for Android 5.1.1 from Jajb (Recommended) or the one that suits you best from Consolidated GApps.
Install recovery:
Reboot your device into Odin mode: turn off your device, then press Volume-Down + Home + Power button at the same time and release them.
Confirm the following warning message with the Volume-Up button.
Connect your device to your PC via USB
Make sure the device driver's are installed on your PC
Start Odin
In Odin select PDA and select the recovery image (recovery.tar.md5)
Check that only "Auto Reboot" and "F. Reset Time" is set
Click on "Start": the kernel image should be flashed now and the device should reboot afterwards. By flashing the recovery, your warranty will be void.
After the recovery flashing process was successful, power of your device. If not restart into Download mode and flash again or flash the stock rom.
Before you flash:
You need the latest TWRP recovery (see links above). Otherwise TWRP might not be able to flash the ROM.
Wipe the device to avoid problems with remaining files from the old installation (see instructions below). This also applies if you already installed an older version of CM 12.1.
Flash CyanogenMod:
Reboot into recovery mode (Press Volume-Up + Home + Power button)
If you come from a stock ROM, this is your opportunity to make a Backup of your phone(Backup, then select Boot, System, Data, then swipe to backup). Note that the recovery might fail to restore the backup when you want to go back to the stock ROM (for me it got stuck after a restore during boot. But the backup was made with a different version of TWRP, so it might work in general) - simply do not expect too much of it at the moment.
If you haven't copied the installation files yet, you can now copy the GApps and CyanogenMod zip to your internal sd or external sd (be careful not to put the files into the data directory of the internal sd card as this will be deleted in the next step). Be sure that MTP is enabled (inside Mounts, click on Enable MTP), then, from your pc, copy the files. If MTP does not work from recovery, try it directly from Android or remove the external sd card from the phone and put it into your PC.
Wipe Dalvik Cache, Cache, System and Data (inside Wipe -> Advanced Wipe). Do not report problems if you did not wipe those partitions as the problems are most probably related to this!
Install the CM 12.1 ROM zip-package
Install the GApps zip-package
Reboot the system and enjoy a Lollipop
How to root:
No SuperSu is needed as CyanogenMod already comes with integrated root support. Root access is disabled by default.
You normally do not need root access. If you want to activate root access for apps, do the following:
Open the Settings menu, select "About Phone"
Tap on the "Build number" entry seven times. You should be notified, that the developer settings are now active.
Open the Settings menu, select "Developer options". Enable root access by selecting "Apps" in the "Root-Access" setting.
In case you want to go back to the stock ROM:
lf you do not have the latest stock ROM you can download it from SamMobile
Reboot your phone into Odin mode
Open Odin on your PC and connect your smartphone with your PC via USB
If you have a zip-file unzip it so that you have a .tar.md5 file
In Odin click on the PDA button and select the .tar.md5 file. Then press "Start".
Normally the stock rom fails to boot as the data from CM12 is still on the data partition. So after flashing the stock rom, reboot into recovery mode (it looks a bit different now). First wipe the data partition, then wipe the cache.
Reboot
Changelog
Code:
09/08/2015:
*Update kernel to T235XXU1AOD1
*Synchronize with newest CM 12.1 sources (contains stagefright patches)
*Fixed black screen on minimal brightness
12/07/2015:
* Charging animation in standby-mode fixed
11/07/2015:
* Update to newest CyanogenMod sources (LMY48G)
* Left touchkey working now (configured as App-Switch button)
* Camera Preview working (saving a picture might still crash)
30/06/2015:
* Image sizes reduced to fix "unable to mount /system" problems
28/06/2015:
* Initial test-build
This section is for developers:
A README file with build instructions can be found here:
https://github.com/cm-3470/patcher_degaslte
Sources:
Code:
https://github.com/cm-3470/android_device_samsung_degaslte
https://github.com/cm-3470/android_vendor_samsung_degaslte
https://github.com/cm-3470/android_kernel_samsung_degaslte
https://github.com/cm-3470/android_device_samsung_smdk3470-common
Developers welcome
Help from other developers is always welcome. See the bug/feature section and this thread to see what is missing. Just give some short info (here in this thread or PM) that you want to work on some issue or feature so that work can be synchronized. Maybe there are also other devs that want to work with you on the same issue.
Knowledge in how the kernel works and good programming skills in C, C++ and Java would be nice but not necessary for all problems. At least you should be able to build the ROM and test your changes yourself but you do not need experience in porting ROMs.
XDA:DevDB Information
[T235][ROM][5.1.1][LMY48G] CyanogenMod 12.1 for T235(Y) [Alpha 09/08/2015], ROM for the Samsung Galaxy Tab 4
Contributors
hennymcc
Source Code: https://github.com/cm-3470
ROM OS Version: 5.1.x Lollipop
ROM Kernel: Linux 3.4.x
ROM Firmware Required: TWRP Recovery [version from 09/08/2015]
Based On: CyanogenMod
Version Information
Status: Alpha
Created 2015-06-29
Last Updated 2015-09-24
i've tried to test the rom but i can't install so far... i've wiped all but it said it can't mount system again...
http://www.mobosdata.com/samsung-galaxy-tab-4-7-0-lte-sm-t235y
According to this the SM-T235Y is based on Marvel cpu vs exynos on the sm-t235
Does anyone really know the differences ? On another page i read the sm-t235y has a snapdragon 400 ...
Hectic confusing samsung numbering + different devices with same model name .
@hennymcc
do you have included selinux_defconfig in your twrp kernel?
androidboot.selinux=disabled at twrps kernel cmd line should be removed
i wiped system and all partitions using your new twrp but when i install the zip file then /system becomes unmountable
/system is formated ext4
should i try to format it f2fs ?
interstellar22 said:
i wiped system and all partitions using your new twrp but when i install the zip file then /system becomes unmountable
/system is formated ext4
should i try to format it f2fs ?
Click to expand...
Click to collapse
any marvell devices will not work with this or any other custom rom.
sub77 said:
any marvell devices will not work with this or any other custom rom.
Click to expand...
Click to collapse
this is an exynos device not marvell
and now for some reason i cant restore the backup i made
i tryed restorng the backup with twrp 2.8.6.0 recovery from this thread and the 2.8.1.0 from the other.
one gives boot animation loop and the other is stuck at boot
hennymcc said:
In case you want to go back to the stock ROM:
lf you do not have the latest stock ROM you can download it from SamMobile
Click to expand...
Click to collapse
Stock Roms on Android File Host (quicker, free-er host site than Sammobile)
@interstellar22 did you try wiping cache after you restored, before you booted?
thisisapoorusernamechoice said:
Stock Roms on Android File Host (quicker, free-er host site than Sammobile)
@interstellar22 did you try wiping cache after you restored, before you booted?
Click to expand...
Click to collapse
i tryed once without wiping cache, but i had cache backed up also
then i tryed to do a factory reset
still stuck at bootlogo
and adb logcat and adb devices shows nothing
sub77 said:
@hennymcc
do you have included selinux_defconfig in your twrp kernel?
androidboot.selinux=disabled at twrps kernel cmd line should be removed
Click to expand...
Click to collapse
The default selinux setting is enforced. As the selinux configuration files are not complete, Android would not boot.
Setting androidboot.selinux=permissive might work, but when I tested this setting on my S5 mini, it was rather unstable for some reason.
interstellar22 said:
http://www.mobosdata.com/samsung-galaxy-tab-4-7-0-lte-sm-t235y
According to this the SM-T235Y is based on Marvel cpu vs exynos on the sm-t235
Does anyone really know the differences ? On another page i read the sm-t235y has a snapdragon 400 ...
Hectic confusing samsung numbering + different devices with same model name .
Click to expand...
Click to collapse
sub77 said:
any marvell devices will not work with this or any other custom rom.
Click to expand...
Click to collapse
interstellar22 said:
this is an exynos device not marvell
Click to expand...
Click to collapse
T235 and T235Y definitely use Exynos 3470 SoCs. Here an extract from the T235Y default.prop:
Code:
ro.product.model=SM-T235Y
ro.product.name=degasltezt
ro.product.device=degaslte
ro.product.board=universal3470
ro.chipname=exynos3470
The default.prop file of the T235 is similar, only that the product name is degasltexx.
Marvell's PXA1088 SoC is used in the T230/NU which is the non-LTE (WiFi-only) variant of the Tab 4 7.0.
Marvell's PXA1088 and Samsung's Exynos3470 are totally different and have nothing in common (except an ARM core), the same applies to Qualcomm's Snapdragon. There are many websites that mention wrong SoC names as Samsung's naming scheme is rather confusing.
The same applies to the S5 Mini: G800F/M/Y -> Exynos3470, G800H -> Qualcomm Snapdragon.
corneo said:
i've tried to test the rom but i can't install so far... i've wiped all but it said it can't mount system again...
Click to expand...
Click to collapse
Code:
Info: format successful
I:mkfs.f2fs -t 1 /dev/block/mmcblk0p18 process ended with RC=0
Done.
Why was the system partition formatted with f2fs? The default file system is ext4.
The TWRP partition table is hardcoded to ext4 so that's probably the reason for these lines:
Code:
E:Unable to mount '/system'
I:Actual block device: '/dev/block/mmcblk0p18', current file system: 'ext4'
Could you reformat it with ext4?
interstellar22 said:
i tryed once without wiping cache, but i had cache backed up also
then i tryed to do a factory reset
still stuck at bootlogo
and adb logcat and adb devices shows nothing
Click to expand...
Click to collapse
Did you flash the stock ROM with Odin?
And afterwards wipe the data partition and then the cache with the _stock_ recovery (as TWRP is not available after flashing the stock ROM)?
interstellar22 said:
i wiped system and all partitions using your new twrp but when i install the zip file then /system becomes unmountable
/system is formated ext4
should i try to format it f2fs ?
Click to expand...
Click to collapse
Short summary:
interstellar22 and corneo tried it so far and both got the error message "/system unmountable"
Strange that corneo was able to generate an error log.
 @corneo: did you create the log with adb?
At least according to corneo's log, it seams that after the F2FS format the partition is reformatted with EXT4 afterwards:
Code:
Formatting system using make_ext4fs function.
It also says:
Code:
erasing 588800 blocks
blkdiscard failed: Invalid argument
writing 134395 blocks of new data
lseek64 failed: Invalid argument
I:Legacy property environment disabled.
E:Error executing updater binary in zip '/external_sd/cm-12.1-20150627-UNOFFICIAL-degaslte.zip'
Error flashing zip '/external_sd/cm-12.1-20150627-UNOFFICIAL-degaslte.zip'
Not that sure about what causes this error. Maybe the partition sizes have to be changed.
hennymcc said:
Short summary:
interstellar22 and corneo tried it so far and both got the error message "/system unmountable"
Strange that corneo was able to generate an error log.
@corneo: did you create the log with adb?
At least according to corneo's log, it seams that after the F2FS format the partition is reformatted with EXT4 afterwards:
Code:
Formatting system using make_ext4fs function.
It also says:
Code:
erasing 588800 blocks
blkdiscard failed: Invalid argument
writing 134395 blocks of new data
lseek64 failed: Invalid argument
I:Legacy property environment disabled.
E:Error executing updater binary in zip '/external_sd/cm-12.1-20150627-UNOFFICIAL-degaslte.zip'
Error flashing zip '/external_sd/cm-12.1-20150627-UNOFFICIAL-degaslte.zip'
Not that sure about what causes this error. Maybe the partition sizes have to be changed.
Click to expand...
Click to collapse
i've created the log in recovery and copied it to sd.
now i flashed the tab again with odin and try it again. same issue...
Gesendet von meinem One M8
i managed to get the original firmware back with odin
could it be that the system.new.dat file is corrupted ?
i had formated system with ext4 then did the update and was still getting unable to mount /system afterwards
so most probably the system.new.dat file has some problems or i have no idea why i cant mount /system afterwards
Maybe it is caused by wrong BOARD_...IMAGE_PARTITION_SIZE values in BoardConfig.mk.
Could you please post the contents of /proc/mounts and /proc/partitions:
Code:
cat /proc/mounts
cat /proc/partitions
The above should be performed from the stock ROM. The device must be rooted.
Hmm, the problem might be here:
Code:
Patching system image unconditionally...
blockimg version is 2
erasing 588800 blocks
blkdiscard failed: Invalid argument
writing 134395 blocks of new data
lseek64 failed: Invalid argument
588800 * 4096 = 2411724800 bytes (2,2GB)
This is the value of the BoardConfig.mk taken from the S5 Mini (BOARD_SYSTEMIMAGE_PARTITION_SIZE := 2411724800).
But the system partition is only 2233466880 bytes:
Code:
/system | /dev/block/mmcblk0p18 | Size: 2096MB Used: 1828MB Free: 268MB Backup Size: 1828MB
Code:
I:wipe_path '/system'
Formatting System using make_ext4fs function.
Creating filesystem with parameters:
Size: 2233466880
The system.img itself is only 500MB in size. So I guess reducing the image size should fix the problem.
An updated ROM is available. The image sizes have been reduced. I hope this fixes the problems with the system-partition.
Also use the new TWRP recovery as the partition sizes might be hardcoded in the old one.
good news! new recovery and system image works! very smooth so far, searching for bugs now. the only one i found are the extended settings option. it doesn't work but thats no problem for me. thank you very much!
Gesendet von meinem One M8

[GUIDE] EXT4 to F2FS migration for performance improved file system [upd. 2017.01.24]

F2FS is a brand new file system developed by Samsung. The F2FS acronym stands for Flash Friendly File System. It creates an additional layer that improves the performance and life of the flash memory and the overall performance of any system with flash storage. Almost all the Android phones today still come with the old linux ext4 filesystem. This type of file system is not hardware optimized so it is a baseline for performance. There are plenty of benchmarks and tests throughout the web providing evidence of the overall performance improvement of F2FS over ext4 in Android phones. New flagship devices from Huawei, One Plus and many Motorola phones are now using F2FS as stock filesystem. The flagship Moto Z comes with F2FS, sporting a fabulous 1/10 of lag compared to the Pixel XL. However mind that it is a new technology with barely 3 years of development and you might encounter some issues if you try different configurations. But, we are here testing unofficial things, so risk is a known partner. Just keep a safe backup, that is all you need.
Migrating /system has no sense since it is a read only partition (most of the times) and ext4 is faster for pure readings. On the other hand /cache is formatted to ext4 at boot by the kernel. So patching the kernel is the only way to migrate that partition.
Data partition along with the internal storage can be upgraded to F2FS with visible results. Here I share a method to migrate your system without losing any information. The procedure is reversible, so you can return back to the traditional ext4 in case you are not satisfied with the result. The procedure only requires TWRP recovery 3.0.3 and an external sdcard with enough free space to do at least a backup of the data partition. Since we are not modifying boot or system, this procedure is compatible with unrooted systems with locked bootloaders. It is compatible with all the AXON 7 ROMs.
INSTALLATION
1. Reboot to TWRP and perform a backup of your data partition to your external sd (you can't use internal storage since it will be wiped during the process along with the data partition).
2. Backing up your Internal SD card requires a different way. Here I propose 2 options:
2a. If you have an External SD card with enough free space (check that first), you can use it to temporary store the content of the internal sdcard. While in TWRP root menu, go to Advanced / File Manager and browse into the sdcard (You will see the contents of your internal storage). Tap on the checked folder icon on lower right corner. Select Copy Folder. Now browse into the external_sd folder (you will see the contents of yout external SD) and tap the checked folder icon again. Upon confirmation, it will create a folder named sdcard into the external sd with all the contents inside.
2b. If you do not have a micro SD card with enough space then you can use your computer as backup location. From your computer type adb pull /sdcard and all the content of the internal sdcard will be transferred into a folder named sdcard under you current directory in your computer.
3. Now we can safely change the format of the data filesystem. Go back to the root menu of TWRP, go to Wipe / Advanced Wipe and select only the Data partition. Go to Repair or Change File System / Change File System / F2FS. Upon confirmation, the Data and internal sdcard will use the improved F2FS filesystem. If you have an AOSP based ROM such as LOS, RR or AEX among others, then you can do the same to format the Cache partition as F2FS. But do not reboot yet!
4. Go back to the root menu of TWRP and go to Settings. Ensure "Use rm -rf instead of formatting" is set. This will avoid future restores to change the type of filesystem.
5. We can't restore the data at this time since the system won't boot properly with all kernels, the Stock kernel is one of them. At this point it is safer to reboot the system and wait until the Android welcome wizard shows up on the screen. This will setup everything internally.
6. Now reboot to TWRP, go to Advanced > Terminal and enter the commands (you can bypass these commands only if you are using TWRP 3.0.4 or above):
Code:
mount -o remount,discard,nosuid,nodev,noatime,nodiratime,nobarrier,inline_xattr,inline_data /data
mount -o remount,discard,nosuid,nodev,noatime,nodiratime,nobarrier,inline_xattr,inline_data /sdcard
and then without leaving TWRP restore the backup you created in step 1. This will restore your data partition but this time applying an optimized F2FS structure. Do not leave TWRP yet, there is one more step left before booting into the system.
7. depending on the option you used in step 2 you have to follow one of the following options to restore your internal sdcard:
7a. If you used your External SD card for the internal sdcard backup then while in TWRP root menu, go to Advanced / File Manager and browse into the external_sd/sdcard folder. Tap on the checked folder icon on lower right corner. Select Copy Folder. Now while the root directory is listed tap the checked folder icon again. Upon confirmation, it will restore all the backup into the external sdcard back into the Axon 7 internal memory.
7b. From your computer type the following commands:
Code:
adb push sdcard /
adb shell chmod -R 777 /sdcard
This will restore all the backup of the internal sdcard back into the Axon 7 internal memory. All but the empty directories.
You are done!!!! just reboot into the system with the new state of the art F2FS filesystem.
Sometimes the lockscreen information gets corrupted after restoring a backup. Since this process relies on restoring a TWRP backup, chances are that you are experiencing this issue too. In such case please follow the guide for clearing the lockscreen security settings in the AXON 7.
UNINSTALL
In case you want to go back to the initial state with ext4 filesystem in the Data and internal storage just follow these steps:
1. Reboot to TWRP and go to Settings. Ensure "Use rm -rf instead of formatting" is NOT set. This will allow to restore the data partition to the original filesystem of the backup.
2. Follow steps 6 and 7 of the installation instructions, exactly the same way, to restore the Data and internal storage to ext4 with the same contents.
I hope you find this interesting since it is a performance improving method that drains less battery, doesn't involve rooting, doesn't overheat the processors and provides noticeable results. Just let me know if this guide has been useful for you.
NOTE: If you delete Dlavik/cache in the process, please note that rebuilding it is quite fast, less than 5 seconds. This is caused by the cache of the F2FS filesystem, but all processing has to be done. The system will boot after a quick apps initialization but you will see the system somehow a little slow. Leave it for some minutes until all the apps had been completely processed. It is done in the background, but al least you have your system up and running quite fast even after deleting dalvik/cache partitions.
UPDATE (2017-01-20)
If you have already switched to F2FS filesystem without the optimization parameters for TWRP (using TWRP 3.0.3-2 or below with the initial version of this guide), then you just have to enter in TWRP and follow all the steps without leaving recovery:
STEP 1: reboot to recovery and go to advanced / terminal. Type the command df. This will give you the current usage of the partitions. Write down the total 1K blocks, used and available statistics for the /dev/block/dm-0, the partition shared by data and sdcard. You will use these statistics to compare before and after.
STEP 2: Backup of your system (Boot, system and Data) to external SD.
STEP 3: Backup your internal storage (either way of those detailed in the guide)
STEP 4: Format Data and internal storage.
STEP 5: If you are using TWRP 3.0.4 or above then you can bypass this step. Otherwise open the terminal under advanced menu and type
Code:
mount -o remount,discard,nosuid,nodev,noatime,nodiratime,nobarrier,inline_xattr,inline_data /data
mount -o remount,discard,nosuid,nodev,noatime,nodiratime,nobarrier,inline_xattr,inline_data /sdcard
STEP 6: Restore your Data partition.
STEP 7: Restore your internal storage.
STEP 8: Go again to the terminal inside TWRP and type df again to see the difference in the data and sdcard shared partition.
Please let us know your statistics before and after.
Soon this guide will include the final F2FS optimization patch to be used within your system, it will require root, but is that a problem? On the other hand @jcadduono is working on a new version of TWRP using the backported f2fs drivers from Android kernel 4.10 (our stock kernels still use Android 3.18) with the correct optimized mount options. It is still under development but as soon as it was finished, I will update this guide on how to use the new features. Stay tuned!
That's all folks!
Switching to most F2FS doesn't make sense for anything other /cache (which is rarely even used, so probably not worth it) and /data (probably very worth it). The benefits that F2FS related to writing to the partition a lot over time.
There is no benefit to using F2FS for /system over ext4, in fact there are probably downsides. You aren't generally writing to /system very often, so no need to worry about write speeds to it. Read speeds are going to be similar anyway. And unless all the more recent F2FS development is backported into the kernel, you'd be running a very old version of F2FS as well.
I got almost 5000 more score in Antutu just by migrating the data partition from ext4 to F2FS. Writes are slower than reads for almost all the storage systems, and a flash memory is not different. An increase in the write performance is more noticeable than the reduction in read performance. That combination provides an overall increase in performance to the system.
I have been using it in my previous phone for more than 1 year without any issue, however having a stable and updated implementation is in the hands of the kernel developers. recently the Moto-Z uses the F2FS in its data partition with a very effective mount options. Probably this mix of mount options are the trick that makes the Moto-Z the fastest phone regarding filesystem.
jcadduono said:
you can enable it by opening the zip file for the kernel installer and editing patch.d/*-f2fs-fstab
all you have to do is remove the # in front of the partitions you want f2fs added for near the bottom, just below the comment telling you what to do
Click to expand...
Click to collapse
I do not find those files inside the patch.d folder inside the zip file (the minimal kernel patch). I will take the file from the full kernel and I will insert into the minimal patch.
I would like to enable F2FS for the cache partition as well as using the mount options: rw,seclabel,nosuid,nodev,noatime,nodiratime,background_gc=on,discard,user_xattr,inline_xattr,acl,inline_data,nobarrier,extent_cache,active_logs=6 for the data partition. It should increase the performance over the current options set. System partition has no reason to be migrated.
I will modify fs_data_opts string definition in the 06-f2fs-fstab file as well as trying to configure cache as a F2FS. If Motorola is using F2FS with successful results, then probably it worths it. I am trying to test whether the solution Motorola did with the Moto Z also works in our device. A deep analysis can be found here.
Oki said:
I do not find those files inside the patch.d folder inside the zip file (the minimal kernel patch). I will take the file from the full kernel and I will insert into the minimal patch.
I would like to enable F2FS for the cache partition as well as using the mount options: rw,seclabel,nosuid,nodev,noatime,nodiratime,background_gc=on,discard,user_xattr,inline_xattr,acl,inline_data,nobarrier,extent_cache,active_logs=6 for the data partition. It should increase the performance over the current options set. System partition has no reason to be migrated.
I will modify fs_data_opts string definition in the 06-f2fs-fstab file as well as trying to configure cache as a F2FS. If Motorola is using F2FS with successful results, then probably it worths it.
Click to expand...
Click to collapse
https://raw.githubusercontent.com/o...er/marshmallow/ailsa_ii/patch.d/06-f2fs-fstab
add it to the patch.d folder then. change the data mount flags to whatever you want.
i highly advise against uncommenting system/cache, f2fs is nothing but downsides for them. (incompatibilities for cache, which is unused by OS anyways), system is going to be read only all the time and ext4 has much better inode access/index times than f2fs so clearly better for read only, ex. $PATH reading to find locations of binaries to run, so please don't use f2fs on /system.
rw - lol all filesystems are rw by default
seclabel - this isn't a flag for you to use
nosuid/nodev - somewhat of a safety mechanism, unrelated to performance
noatime - very tiny write performance increase that won't be noticeable
nodiratime - same as noatime, but even less so
discard - i don't believe discard mount option is supported on Axon 7.
acl - acl will reduce performance (that's just extra access control/permission management)
nobarrier - this will increase the performance, yes, and it's probably a good idea because you don't have to worry at all about power outages other than severe kernel panics
extent_cache - this is on by default, so no need to specify it
inline_data - this is also on by default, no need to specify it
inline_xattr - no noticeable changes in performance, but normally specified on android i'd keep it
active_logs=6 - the default is 6, so no need to specify it, and there's no need to change this value (6 is optimal)
background_gc=on - the default is on, so need to specify it....
user_xattr - this isn't actually a valid f2fs flag, it is the default though, and don't specify nouser_xattr on android, it will cause bad things to happen
so....nobarrier is the only flag you should care about adding. no, it won't make a noticeable difference.
read: https://www.kernel.org/doc/Documentation/filesystems/f2fs.txt
You can Only go in TWRP then format Data to F2FS and then install the Rom .Have No Problem and all works fine.But cache not work.Every time i Boot android he write it back to Ext4.But data work
jcadduono said:
https://raw.githubusercontent.com/o...er/marshmallow/ailsa_ii/patch.d/06-f2fs-fstab
add it to the patch.d folder then. change the data mount flags to whatever you want.
i highly advise against uncommenting system/cache, f2fs is nothing but downsides for them. (incompatibilities for cache, which is unused by OS anyways), system is going to be read only all the time and ext4 has much better inode access/index times than f2fs so clearly better for read only, ex. $PATH reading to find locations of binaries to run, so please don't use f2fs on /system.
rw - lol all filesystems are rw by default
seclabel - this isn't a flag for you to use
nosuid/nodev - somewhat of a safety mechanism, unrelated to performance
noatime - very tiny write performance increase that won't be noticeable
nodiratime - same as noatime, but even less so
discard - i don't believe discard mount option is supported on Axon 7.
acl - acl will reduce performance (that's just extra access control/permission management)
nobarrier - this will increase the performance, yes, and it's probably a good idea because you don't have to worry at all about power outages other than severe kernel panics
extent_cache - this is on by default, so no need to specify it
inline_data - this is also on by default, no need to specify it
inline_xattr - no noticeable changes in performance, but normally specified on android i'd keep it
active_logs=6 - the default is 6, so no need to specify it, and there's no need to change this value (6 is optimal)
background_gc=on - the default is on, so need to specify it....
user_xattr - this isn't actually a valid f2fs flag, it is the default though, and don't specify nouser_xattr on android, it will cause bad things to happen
so....nobarrier is the only flag you should care about adding. no, it won't make a noticeable difference.
read: https://www.kernel.org/doc/Documentation/filesystems/f2fs.txt
Click to expand...
Click to collapse
BIG FAT thanks for the resource. I have a safe backup of the whole system. and I am willing to play the guinea pig role in testing all these options. I already had moved the 06-f2fs-fstab patch into the patch.d folder. But it was late and got some error while flashing. Today I will try again.
Kevinkuensken said:
You can Only go in TWRP then format Data to F2FS and then install the Rom .Have No Problem and all works fine.But cache not work.Every time i Boot android he write it back to Ext4.But data work
Click to expand...
Click to collapse
I have tried to format F2FS and then restore the data and the system doesn't boot. What ROM are you using? So fat I only have tested stock and Z.A.D. ROMs and both exhibit the same behavior.
Im on ZAD Rom and have no Problem to change data to f2fs in TWRP.And Im on Beast Kernel
@jcadduono, I have been trying to add the patched 06-f2fs-ftab file into patch.d folder of your ailsa_ii_xda_safetynet_kcal-1.0 file. But recovery log always returns an error while flashing:
- Executing: 06-f2fs-fstabpatch.d/06-f2fs-fstab: line 2: : not found
patch.d/06-f2fs-fstab: .: line 3: can't open '/tmp/kernel-flasher/patch.d-env '
- Error: Script failed: 06-f2fs-fstab!- Aborting...
Failed to patch boot image!Updater process ended with ERROR: 1
Any clue on what could the problem be?
BTW, I look forward to see your Nougat Kernel!!!!
Thanks for all your help.
Oki said:
@jcadduono, I have been trying to add the patched 06-f2fs-ftab file into patch.d folder of your ailsa_ii_xda_safetynet_kcal-1.0 file. But recovery log always returns an error while flashing:
- Executing: 06-f2fs-fstabpatch.d/06-f2fs-fstab: line 2: : not found
patch.d/06-f2fs-fstab: .: line 3: can't open '/tmp/kernel-flasher/patch.d-env '
- Error: Script failed: 06-f2fs-fstab!- Aborting...
Failed to patch boot image!Updater process ended with ERROR: 1
Any clue on what could the problem be?
BTW, I look forward to see your Nougat Kernel!!!!
Thanks for all your help.
Click to expand...
Click to collapse
You must have somehow removed patch.d-env from the zip at some point, or added a space inside the quotes of . "$env"? I don't know why that error would happen otherwise.
Also, I told you seclabel and user_xattr are not valid f2fs flags, they are display flags only, you won't be able to boot with them.
jcadduono said:
You must have somehow removed patch.d-env from the zip at some point, or added a space inside the quotes of . "$env"? I don't know why that error would happen otherwise.
Also, I told you seclabel and user_xattr are not valid f2fs flags, they are display flags only, you won't be able to boot with them.
Click to expand...
Click to collapse
Finally I was able to flash it. Notepad++ caused the issue. It changed the line end control character and replaced CF by CR+CF. So I just edited it using Sublime and everything went as expected. It flashed properly and the options are in place after reboot. By the way, I removed also seclabel and user_xattr, they are applied by default. I will start doing tests tomorrow.
Happy new year!!!
Cache partition still boot as ext4 after the patched F2FS patch.
I have run AnTuTu v6.2.7 without any overclock at all after applying the F2FS options of the Moto Z. I used my daily drive data with the stock ROM and the repatched patch of @jcadduono to allow F2FS with the extra options.
The AnTuTu score is 152937 Wich makes it the third Android phone in the top 5 list. Adding this patch to an optimized kernel configuration could be close to the iPhone 7 score.
Wow! This phone is a S7 killer!!!
Oki said:
Cache partition still boot as ext4 after the patched F2FS patch.
I have run AnTuTu v6.2.7 without any overclock at all after applying the F2FS options of the Moto Z. I used my daily drive data with the stock ROM and the repatched patch of @jcadduono to allow F2FS with the extra options.
The AnTuTu score is 152937 Wich makes it the third Android phone in the top 5 list. Adding this patch to an optimized kernel configuration could be close to the iPhone 7 score.
Wow! This phone is a S7 killer!!!
Click to expand...
Click to collapse
Dude, I get 152K with B29 stock OS
XblackdemonX said:
Dude, I get 152K with B29 stock OS
Click to expand...
Click to collapse
Even when using the same device, there will be people with more and less performance with stock OS using ext4. It will depend of the bin of the processor, the temperature (thermal throttling), the set of apps you have installed running in background, etc. The important number is the score difference between ext4 and F2FS, in my case it was 7657 points after the F2FS options patch.
Thanks for sharing this. I was under the impression that the stock kernel didn't support f2fs fully for some reason.
I am trying to optimize the filesystem even more. The next step is to provide specific parameters for the geometry with the fs geometry options in the mkfs.f2fs -s- z: these options control number of segments per section and number of sections per zone. Sizes that match chip parameters may speed up FLASH write operations. I assume this should have been taken care of, but I am just trying to find more optimization opportunities within the options.
Does anyone know these two geometry parameters for our eMMC?
@jcadduono Do you know what is the default geometry for mkfs.f2fs partitions in TWRP?
On the options part, I am also considering inline_data and inline_dentry.
Thanks
@Oki
Have you shared with ZTE for inclusion in future updates?
puremind said:
@Oki
Have you shared with ZTE for inclusion in future updates?
Click to expand...
Click to collapse
Nope, I hanven't. But feel free to share this with them if you wish!!!
Happy new year.
I have updated STEP 6 to optimize the initial F2FS structure when restoring the backup. I have also modified jcadduono kernel patch to inject these options also in the kernel to make them permanent. This results in about 3000 extra score in Antutu.

Categories

Resources