[MOD][ANY][Mitsuyoshi EXT4 Mod][flo] - Nexus 7 (2013) Original Android Development

This is the flo version of my mod for the old nexus 7 here http://forum.xda-developers.com/show....php?t=2280496
Repeating the intro to save you guys going there
Background..
With any linux system i build first thing i do is remove the journal from all my EXT4 partitions, to make a long story short ( i wont bore you with details of just how journal writes totally slow disk i/o , google it ) this gave me on average a 25% increase in system speed ( obviously due to the increased i/o rate )
I usually did it with
Code:
mke2fs.ext4 -O ^has_journal ...device...
before installing the distro, now i thought hey maybe this would work on android?
Now mke2fs is not well supported on arm but tune2fs is! in fact its included in TWRP 2.5 so
Code:
run_program("/sbin/tune2fs", "-O", "^has_journal", "/dev/block/platform/msm_sdcc.1/by-name/system");
( for the system partition) should work right , and in fact yes it does !!!, tried it from TWRP command line and hey presto %^$%^$^%$ FAST system
This is the code for a recovery script version
Code:
ui_print("jubei.....remove journals from all ext4 partitions");
ui_print("/dev/block/platform/msm_sdcc.1/by-name/boot /boot emmc");
ui_print("/dev/block/platform/msm_sdcc.1/by-name/recovery /recovery emmc");
ui_print("/dev/block/platform/msm_sdcc.1/by-name/misc /misc emmc");
ui_print("/dev/block/platform/msm_sdcc.1/by-name/system /system ext4");
ui_print("/dev/block/platform/msm_sdcc.1/by-name/userdata /data ext4");
ui_print("/dev/block/platform/msm_sdcc.1/by-name/cache /cache ext4");
ui_print("/dev/block/platform/msm_sdcc.1/by-name/sbl1 /sbl1 emmc");
ui_print("/dev/block/platform/msm_sdcc.1/by-name/sbl2 /sbl2 emmc");
ui_print("/dev/block/platform/msm_sdcc.1/by-name/sbl3 /sbl3 emmc");
ui_print("/dev/block/platform/msm_sdcc.1/by-name/tz /tz emmc");
ui_print("/dev/block/platform/msm_sdcc.1/by-name/rpm /rpm emmc");
ui_print("/dev/block/platform/msm_sdcc.1/by-name/aboot /aboot emmc");
ui_print("/dev/block/platform/msm_sdcc.1/by-name/sbl2b /sbl2b emmc");
ui_print("/dev/block/platform/msm_sdcc.1/by-name/sbl3b /sbl3b emmc");
ui_print("/dev/block/platform/msm_sdcc.1/by-name/tzb /tzb emmc");
ui_print("/dev/block/platform/msm_sdcc.1/by-name/rpmb /rpmb emmc");
ui_print("/dev/block/platform/msm_sdcc.1/by-name/abootb /abootb emmc");
ui_print("");
ui_print("");
ifelse(is_mounted("/system") == "/system", unmount("/system"));
ifelse(is_mounted("/cache") == "/cache", unmount("/cache"));
ifelse(is_mounted("/data") == "/data", unmount("/data"));
ui_print("converting partitions to ext4 minus journal");
ui_print(" ");
ui_print("e2fsck system partition");
ui_print(" ");
run_program("/sbin/e2fsck", "-p", "/dev/block/platform/msm_sdcc.1/by-name/system");
ui_print("e2fsck data partition");
ui_print(" ");
run_program("/sbin/e2fsck", "-p", "/dev/block/platform/msm_sdcc.1/by-name/userdata");
ui_print("e2fsck cache partition");
ui_print(" ");
run_program("/sbin/e2fsck", "-p", "/dev/block/platform/msm_sdcc.1/by-name/cache");
ui_print("now lets rub out those nasty journals");
ui_print(" ");
run_program("/sbin/tune2fs", "-O", "^has_journal", "/dev/block/platform/msm_sdcc.1/by-name/userdata");
run_program("/sbin/tune2fs", "-O", "^has_journal", "/dev/block/platform/msm_sdcc.1/by-name/system");
run_program("/sbin/tune2fs", "-O", "^has_journal", "/dev/block/platform/msm_sdcc.1/by-name/cache");
ui_print("and re-fsck to clean any set bits");
ui_print(" ");
ui_print("e2fsck system partition");
ui_print(" ");
run_program("/sbin/e2fsck", "-p", "/dev/block/platform/msm_sdcc.1/by-name/system");
ui_print("e2fsck cache partition");
ui_print(" ");
run_program("/sbin/e2fsck", "-p", "/dev/block/platform/msm_sdcc.1/by-name/userdata");
ui_print("e2fsck cache partition");
ui_print(" ");
run_program("/sbin/e2fsck", "-p", "/dev/block/platform/msm_sdcc.1/by-name/cache");
ui_print("end of jubei mod ");
And i include a zip for those who like to test
there are 2 scripts, one to remove the journal from your ext4 partitions, and one to re-instate the journal, this should allow people to test their setup with each without any wiping or reformatting
Instructions.......
( tested with TWRP 2.5+ only )
Flash the bugger
DO NOT WIPE ANYTHING, after flashing, doing so will only reformat the wiped partition with a journal
There will be one update that includes a test routine to ensure journals have been erased
I am now able to extend the mod to any device that uses twrp 2.5+ and ext4, plese ask for a particular device on this thread
Thank you
Edit Please note non flo versions are not tested by me.
Edit mako version added after request
Edit hammerhead version added after request

great mod. will definitely try after school
sent from nowhere

I imagine this will still work on CWM? Or is there a reason it won't?
Sent from my Nexus 5 with the KlearKat tapatalk app!

djdarkknight96 said:
I imagine this will still work on CWM? Or is there a reason it won't?
Sent from my Nexus 5 with the KlearKat tapatalk app!
Click to expand...
Click to collapse
to be honest no idea. im developing on twrp exclusively, as long as CWM has tune2fs and is EDIFY complient should be good to go

Nice speed up on flo.
How bout if i run this on mako....?
Sent from my Nexus 7 using xda app-developers app

Is this safe though?
Sent from my Nexus 7 (2014) using Tapatalk. My mobile is a CM11 run Galaxy S3.

kcxda78 said:
Nice speed up on flo.
How bout if i run this on mako....?
Sent from my Nexus 7 using xda app-developers app
Click to expand...
Click to collapse
not sure will have to check but doubt it
As said in the post though, can do a version for any device that uses ext4 and twrp , do you need a mako version ?

jubei_mitsuyoshi said:
not sure will have to check but doubt it
As said in the post though, can do a version for any device that uses ext4 and twrp , do you need a mako version ?
Click to expand...
Click to collapse
i would personally appreciate a mako version as well if that is possible, it has a similar hardware set to this 2013 n7 too

Yes plz. Id like to try it on mako. :thumbup:
Sent from my Nexus 4 using xda app-developers app

I'll try on my n7.
Can you do a nexus s?

ok will do a mako and nexus s for tonight sometime

and hammerhead please?
vía n7II r-paco

I remember the great results on got from this on my grouper when I flashed this on flo it seemed to run the script fine but the recovery automatically rebooted when it had finished. Is this to be expected? Device booted fine and running great so far. Thanks!
Sent from my Nexus 7 using XDA Premium 4 mobile app

jubei_mitsuyoshi said:
ok will do a mako and nexus s for tonight sometime
Click to expand...
Click to collapse
Thanks! :good:

jubei_mitsuyoshi said:
ok will do a mako and nexus s for tonight sometime
Click to expand...
Click to collapse
Removing journal works good here. Actually I'm always doing the same (using manjaro here).i wonder if you even have the time to make a patch for removing the journal for the LG G2 (d802). Just a question ☺ I never thought about removing it on my phones, too.. Really nice idea and patch! ☺ than you very much!

elfrosto said:
I remember the great results on got from this on my grouper when I flashed this on flo it seemed to run the script fine but the recovery automatically rebooted when it had finished. Is this to be expected? Device booted fine and running great so far. Thanks!
Sent from my Nexus 7 using XDA Premium 4 mobile app
Click to expand...
Click to collapse
no have not had twrp just go straight into reboot, it normally stops then allows the normal options, a bit strange of anyone else gets it will look into it, if it happens to you again please mention it here,
Thanks

mako done, but obviously canot test thoroughly, if anyone has any issues please bring em up here and i will look into them.
hammerhead and nexus s coming

Ran benchmark in antutu and it decreased storage io by about 200, and database io by about 80.
Is this suppose to happen?
Sent from my Nexus 7 using xda app-developers app

datallboy said:
Ran benchmark in antutu and it decreased storage io by about 200, and database io by about 80.
Is this suppose to happen?
Sent from my Nexus 7 using xda app-developers app
Click to expand...
Click to collapse
nope most of the testing from the previous thread seemed positive, although i believe the benchmarker was different.
I have done zero benchmarking on the n7 2013.
Try running the same test several times i think you will find quite a large margin of innacuracy.
Removing the journal on a battery backed solid system seems common sense to me, thats why i do it.
I believe you would find most benefit flashing after gapps since then the system will have never initialised a journal in the first place.
And the following code in your init.d should bring out the i/o benefits
Ps hammerhead is up
Code:
busybox mount -o remount,noatime,nobh /system
busybox mount -o remount,noatime /data
busybox mount -o remount,noatime,nobh /cache

jubei_mitsuyoshi said:
nope most of the testing from the previous thread seemed positive, although i believe the benchmarker was different.
I have done zero benchmarking on the n7 2013.
Try running the same test several times i think you will find quite a large margin of innacuracy.
Removing the journal on a battery backed solid system seems common sense to me, thats why i do it.
I believe you would find most benefit flashing after gapps since then the system will have never initialised a journal in the first place.
And the following code in your init.d should bring out the i/o benefits
Ps hammerhead is up
Code:
busybox mount -o remount,noatime,nobh /system
busybox mount -o remount,noatime /data
busybox mount -o remount,noatime,nobh /cache
Click to expand...
Click to collapse
So what does this code do? Should i add it into my init.d on mako?

Related

[PRJ] [DATA2SD] Flashable zips for converting any Rom to Data2SD, For N1

Updated April 7th, 2011
All credit to sibere and droidzone and other devs who've developed the Data2SD codes.
Before you do anything with your phone, Pls nanodroid fisrt!!! And flash your phone at YOUR OWN RISK
It's been a while since this post last updated.
In fact, developers of HTC Desire have already create a stable method to implement Data2sd or whatever you call it, which gives you full use of EXT space to install APPs while improving I/O speed at the same time.
The theory is explained here, in case you want to take a further look at it
[DEV][DATA2SD] More space (and more I/O) for your Desire (Updated/EXT4/Flashable ZIP)
And thanks to sibere and droidzone 's great work, now we could make any ROM we like run with Data2sd. here they provide us Flashable ZIP files to make it done
[DATA2SD] Flashable zips for converting any Rom to Data2SD
Updated Instructions and Zips (14/Mar/2011)
I've streamlined the installation procedure so as to make it more generic and compatible with the newer StarBurst zips.
Basic Installation Steps for Data2SD
1. Install your ROM
2. Install the A2SD Killer (specific for your ROM)
3. Next step differs depending on whether you're reflashing your Rom on an existing install, or whether you are installing for the first time.
If you're installing the ROM for the first time:
· Reboot once after running the A2SD Killer
· Setup the timezone, language etc (But not your Google Account/Market)
·Reboot to recovery once again and install the Data2SD Installer
If you're reflashing the ROM (after having installed Data2SD once previously)
·Do not reboot after running the A2SD Killer
·Install the Data2SD Re-Installer right away
·Now reboot.
Click to expand...
Click to collapse
Download Link:
http://hotfile.com/dl/110226722/85a18a8/Data2SDv11.zip.html
http://www.easy-share.com/1914241904/Data2SDv11.zip
Important Notes from droidzone
Fully supports Cyanogen
Fully supports Clockworkmod3.0+ (Edified)
I wanted to consolidate all the flashable zips for Data2SD into one place, so that I will find it easy to update the links as I modify the scripts, and to also help Sibere to point his link to this post from OP, so that he doesnt need to reupload each file as they are modified.
Once again, I must assert that Data2SD is totally Sibere's work with other devs who've developed Data2SD code of their own. In my opinion, however, this is the best!
My contribution is conversion of his excellent code into flashable scripts which may be installed via Recovery. So you dont have to type out the code.
The flashable zip is packed as a package of zip files. Each zip file within the package is seperate flashable zip
There are the following files:
Killer, Installer and Reinstaller files for Sense Roms
A2SDKillerV11_Sense.zip
Data2SDInstallerv1.3_Sense.zip
Data2SDReInstallerv1.3_Sense.zip
Installer and Reinstaller files for AOSP Gingerbread Roms and CM7 nightlies (excluding Cyanogen 6 and MIUI 2.2 , but including Cyanogen 7 nightlies and MIUI 2.3.3 )
A2SDKillerV11_GB.zip
Data2SDInstallerv1.3_GB.zip
Data2SDReInstaller1.3_GB.zip
Installer and Reinstaller files for Cyanogen 6 and MIUI 2.2 (Not for CM7 nightlies or MIUI 2.3.3), which are Older Version
A2SDKillerV9.zip
Data2SDInstaller_cyanogen.zip
data2sd-Reinstall_cyanogen.zip
Whether you are trying this method for Sense or AOSP Roms, the installation procedure is same. Only the file is different.
Click to expand...
Click to collapse
Following droidzone's instruction, I tried these flashable ZIPs with MIUI 1.4.1(Gingerbread 2.3.3)
A2SDKillerV11_GB.zip
Data2SDInstallerv1.3_GB.zip
And it's working just fine. No random reboots, no data or APP lost or system crash after reboot. It's stable and fast!
One more note, you can ignore the previous information below...
————————————————————————————————————————————————————————————————————
updata from
melethron's post, and his update package data2whatever.zip included.
you can buy melethron a beer if you want. All credits to melethron!
I test the script with new install MIUI N1 12.24,
so far no reboot issues, or data corruption.
[DATA2whatever] Flashable All-in-one-Solution for Data2sd (HUGE update (dec 23th))
data2whatever v0.2
Features:
- Supports: Ext2, Ext3, Ext4 (and if kernel supports it: ) btrfs, ReiserFS
- Supports loop device as optional addon (as siberes data2sd)
- Flashable zip for many app2sd ROMs (no long setup required)
- It does a e2fsck (disk check) on every boot and creates a logfile on the sdcard (/sdcard/e2fscklog.txt)
- looks nice if you do a logcat on boot
- no "settings lost on reboot" bug like in my old or siberes script
- changes the scheduler for the sd-card and internal to noop for better performance on sd.
- Nandroid Backup of EXT2/3/4 external with AmonRa 2.0.0.1 or any clockwork recovery.
- Removes the common app2sd scripts on its own
Requirements
- A second partition (same as app2sd - Min 512 mb - 1024mb is highly recommended - max 2048 MB or there will be issues with market) in any format (as long as the kernel supports - ext2/3/4 support is default in most kernels - Ext4 or ReiserFS is recommended).
- An app2sd or non app2sd ROM (data2sd versions wont work) (this SHOULD work with most or at least many ROMs . Roms that are confirmed to work can be found in the post below. Please report to me it it works or not so i can update this thread. If it doesn't work i try to make it compatible asap. )
Installation
1.) Full wipe (at least needed on first installation)
2.) Flash the app2sd Version of the ROM of your choice
3.) DONT REBOOT
4.) If you rebooted then start over at 1.)
5.) flash the attached "data2whatever.zip"
6.) now reboot
ADDITIONAL INFO: Even without "life on the edge" you should watch the first 4 "don't"s of "life on the edge". The normal script use the same disk safety methods as NTFS on Windows or EXT4 on linux. But as you know you shouldnt just switch off the computer because there can still be issues in very rare cases. Reboots with tools like "snqs power menu" is the same as a batterypull (or pulling the ac plug on PC) and this isn't good in general (and this also applies for using it with app2sd). If you want to go to recovery just make a normal shutdown and switch the phone on with "volume down" button pressed.
Optional life-on-the-edge add on
you can find this add on in melethron's original post, and try it on your own risk
This patch has the same effect as sibere's and ownhere's script (loop device - the way ownhere does in v4 doesnt work though). Other than those scripts it this addon doesnt need any repartitioning or other setup (like FAT or a third partition) and can simply be installed or removed with a flashable zip. All you need for this is a normal ext 2/3/4 partition (as above ^^). Ext4 is recommended for this (as above) since it is the fastest of those 3. This patch is more risky than normal ext3/4 considering the possibility of data loss. If you want to use this add-on you should watch the following (this also applys to ownheres and sibere script and is NOT more risky than their scripts):
- DON'T use the reboot of snq's powermenu (or any other reboot app)
- DON'T use anything in the "ROM Manager" that makes it reboot.
- DON'T do adb reboot / abd reboot recovery / adb reboot bootloader
- DON'T pull the battery while the phone is on (this should be obvious)
- DON'T remove the "sync" mount options for the Quadrant "boost" (this is a fake boost anyway)
All of this is like a powerloss for the sd-card and has a high change of data corruption.
From my test with this i give you an estimate what can happen if a powerloss occurs or any of the 5 points above happen:
- 50% general chance of corruption that will be autofixed on boot (not a problem)
- 10% chance of forcecloses after reboot of some apps (this can be fixed by deleting the app data or restoring it with titanium (or other) backup)
- REALLY tiny chance (didnt happen for me in over 40 "simulated" powerlosses) that partition gets corrupted (needs complete repartitioning of the microSD so all data on it will be gone then)
As long as you watch the 5 points above and as long as you don't drop the phone and the battery jumps out this will be safe.
Installation of the addon:
- Flash the "life-on-the-edge.zip" any time after you installed "data2whatever".
Installation of the addon:
- Flash the "life-on-the-edge-UNPATCH.zip" any time after you installed "data2whatever" and the addon. (this will revert back to the normal script)
Personal remark: While this is a improvement over normal ext4 it is not the "holy-grale" of a data2sd lag fix. I'm not using this myself and use a ReiserFS as second partition instead which is more safe and completly feels the same as a "loop" device considering performance.
--------------------------------------------------------------------------------
__________________________________________________________________________________
Dec14 info update:
I uploaded A mod script for CM6.1 stable by Carrol
Carrol changes the script to create a ext4 loop device on EXT4 partition.
Code:
$BUSYBOX mkdir /mnt/asec/extdata
if [ ! -e /data/data2sd.ext.finish ];
then
echo "+++Need create ext4 loopback device for data, please wait... this is 1/5 size of your ext partition"
extsize=`$BUSYBOX df /dev/block/mmcblk0p2|$BUSYBOX grep mmcblk0p2|$BUSYBOX awk '{print $2}'`
datasize=`$BUSYBOX expr $extsize / 5 / 1024`
$BUSYBOX dd if=/dev/zero of=/data/ext4 bs=1048576 count=$datasize
/system/xbin/mkfs.ext4 -b 4096 -m 0 -F -L userdata /data/ext4
/system/bin/tune2fs -o journal_data_writeback /data/ext4
/system/bin/e2fsck /data/ext4
#/system/bin/tune2fs -O ^has_journal /data/ext4
#$BUSYBOX mount -o loop,errors=continue,noatime,nodiratime,nosuid,nodev /data/ext4 /mnt/asec/extdata
$BUSYBOX mount -o loop,barrier=0,nobh,nouser_xattr,errors=continue,noatime,nodiratime,nosuid,nodev /data/ext4 /mnt/asec/extdata
$BUSYBOX chown 1000.1000 /mnt/asec/extdata
$BUSYBOX chmod 771 /mnt/asec/extdata
$BUSYBOX cp -a /data/data /mnt/asec/extdata/
sleep 1
$BUSYBOX umount /mnt/asec/extdata
sleep 1
$BUSYBOX touch /data/data2sd.ext.finish
fi
/system/bin/e2fsck -y -v -f /data/ext4
#$BUSYBOX mount -o loop,sync,errors=continue,noatime,nodiratime,nosuid,nodev /data/ext4 /mnt/asec/extdata
#$BUSYBOX mount -o loop,errors=continue,noatime,nodiratime,nosuid,nodev /data/ext4 /mnt/asec/extdata
$BUSYBOX mount -o loop,barrier=0,nobh,nouser_xattr,errors=continue,noatime,nodiratime,nosuid,nodev /data/ext4 /mnt/asec/extdata
$BUSYBOX chown 1000.1000 /mnt/asec/extdata
$BUSYBOX chmod 771 /mnt/asec/extdata
Note that this script is for CM6.1 stable only, only ONE EXT partition needed on your SDCard, and it will be formated into EXT4, do nanodroid before you try
Also a CM6.1 ROM with Data2Ext by Carrol can be found here
CM6.1 ROM with Data2Ext by Carrol
download: http://rom.anshouji.com/htc/N1/bbs.anshouji.com-N1-data2sd-20101213.zip
________________________________________________________
ownhere Data2Ext script V4
Data2ExtV4
2010/12/12 update V4 script:
/data/:ext4, disable journaling
/data/data:ext4 loopfile on ext4 device, enable journaling on ext4 device, disable journaling on ext4 loopfile, for fast and stable sqlite3 access.
really smooth this time
Click to expand...
Click to collapse
There's a version for Desire, which is here [DATA2EXT] [11/Dec] FULL BENCHMARK, V4, Improve the efficiency of IO
While improving IO efficiency, it moves all userdata to EXT so to avoid insufficient ROM space, cos the whole EXT is recognized as the internal ROM.
with ownhere's v4 script, I got my miui rom working, no data lost or crash after reboot/battery-removed:
1. miui rom 12.03 clean installation(a2sd+ script removed), then flash update.zip of v4 script. working. applying 12.03 to 12.10 and 12.10 to 12.11 ota packages, working.
2. miui rom 12.11 clean installation, flash v4 update.zip, working.
3. miui rom 12.11 with a2sd+ running, 38 apps installed and /data/data moved to ext. The v4 update.zip can still do the job.
However, one problem is that Root explorer couldnot display Chinese filenames of APK , showing only ???. and if install those apks via root explorer, it just reports errors...
Another thing i am not sure of is not knowing how much v4 script could improve when there is only 1 ext partition. According to ownhere, 2 ext partitions are needed to make the best out of his v4 script...
I attached the v4 updtae.zip - Data2ext_update.zip ,in case you might wanna try:
1. BEFORE you try this package, you need to remove the app2ext script(file like 04apps2sd or 01 apps2sd) from /system/etc/init.d, or you would only get bootloop going on and on
2. And of course, Nanodroid...
3. disable signature checking in recovery...
______________________________________________________________________________________________
I tried merging those files into MIUI N1 ROM.
When N1 boots for the 1st time, everything's working just fine.
Now we know the previous script is faking the Quadrant score...
Quadrant bechmark really rocks with I/O scoring 8000+ and a total score @ 3000+
But after reboot, there came some issues:
System config could not be saved;
Home button wouldn't work;
Flight mode and Quiet mode missing in the reboot menu...
Could someone pls help to rewrite the script to fit in N1 ROM?
I think people using N1 would interested in such a script or rom that brings N1 more I/O performance and more space for Apps.
But I have no knowledge of coding, don't know how to fix the issues above.
So I add download link of the script CREATED by ownhere, not by me, hoping someone could make a N1 MOD...
data2ext.zip
data2ext.zip is not a flashable package
Thanks!
mattrb said:
This goes in Q and A.
Also the answer is darktremor. A simple search of the the Nexus One Android Development gets that answer.
Click to expand...
Click to collapse
Sorry, but I don't think Darktremor Apps2SD script could do the job.
Since there is difference between Apps2SD and Data2Ext:
Apps2SD moves
/data/app, /data/app-private and /data/dalvik-cache to EXT
And with some commands /data/data could also be moved to EXT
But Data2Ext moves
/data/app to EXT4
/data/data to a virtual EXT2 device on EXT4, which is the trick to improve IO efficiency working at peak level...
SO I don't know if there is a answer fort this in Q&A...
this comes up after searching
G1 data2sd instruction works for the N1 i suppose ?
http://forum.xda-developers.com/showthread.php?t=527636&highlight=app2sd
**There is NO booting into recovery and wiping of the phone!**
My bad for not being clear on the wipe instructions!
1) (optional) If you are to wipe it (your choice it is not required), then press menu->settings->SD card & phone storage->scroll to bottom of screen and select "Factory data reset". This will wipe the /data partition only removing all apps and settings. BACKUP YOUR /data dir to sd, First or you will need to down load all your apps again to include paid apps!!
2) place data2sd.img in root of SDcard (fat32)
3) terminal in or adb shell in.
4) cp /sdcard/data2sd.sh to /data/local/bin - to copy the script to your user-space
5) chmod 0750 /data/local/bin/data2sd.sh - to make it executable
6) /data/local/bin/data2sd.sh or data2sd.sh may work to run the script
7) once the install is done it should tell you to reboot. If you had the ddms debugger running, you can observer the log as it is working.
8) done. It may boot a little longer if you clean-slate installed and then restored your apps by copying them back into /data/app and /data/app-private which has the affect of reinstalling everything, and thus the boot will take a while if you have alot of apps like I do. Again you can observe this as the Android boots if you have the debugger running.
Click to expand...
Click to collapse
I'm also confused, how does darktremor move all of that to ext? Please explain. I thought darktremor moves apps to ext. If you fail, then you sir are an idiot and gtfo.
A "simple" reread (If that's even enough, maybe 100x more for you) would've told you want he wanted.
Sorry for invading your post jayfallen!!
I for one, am glad you posted this and would like to try it once you get it going.
Try this: http://forum.xda-developers.com/showthread.php?t=853001
I recommend only moving the data of non-essential apps and those apps which DO NOT contain security sensitive data (games, Google Earth, etc. should be fine).
I edited the thread title, and added download link of the script created by ownhere.
someone might wanna take a look, if you're interested in bring your N1 more I/O performance and more space for Apps.
Thanks for everyone replying this thread. I will try your suggestions.
eVil's hd rom~
it's not work on the evil's hd sense?i try that last night~ but it's very hard!!!
i m abt to try this
http://www.miui.com/thread-10723-1-1.html?extra=page=1
wish me luck
the thread @ miui.com was posted by me earlier...
that rom is just experimental, if you don't reboot, everything works fine.
once rebooted, config lost and homebutton lost...
I don't know how to fix, that's why I start this thread @ xda, hoping someone could make it work for N1...
Wow this I want
Not sure if this can help..
Found a post on HiAPK (a Chinese Android discussion forum)
here's the link to the post:
http://www.hiapk.com/bbs/viewthread.php?tid=717815&extra=page=1&filter=type&typeid=211
And here's the link to the ROM:
http://rom.anshouji.com/htc/N1/bbs.anshouji.com-N1-data2sd-20101208.zip
The rom is said to be based on Cyanogen Mod 6.1 Stable, with data2EXT enabled by default.
The attached screenshot comes from a user of the data2Ext rom, note that the internal storage has 0.9GB left.
luciefer said:
it's not work on the evil's hd sense?i try that last night~ but it's very hard!!!
Click to expand...
Click to collapse
That because the current script will only move system/app to ext. There is nothing else in there to tell it to move any other folder, thus failing.
there's been new development...
as houzuoguo mentioned, a CM6.1stable+data2ext mod ROM is out, but there're still some issues
ownhere update his script to V3
http://forum.xda-developers.com/showthread.php?t=859419
1.change loopback device to real partition for powersave and better write performance.
2.disable second partition's journaling.
3.You need 3rd partition for /data/data. But even without the third partition of this script can also work(not stable). My partition settings:second partition:1.5G, thrid partition:0.5G
meanwhile, another new approach is coming out:
http://forum.xda-developers.com/showthread.php?t=868102
NILFS2 - data2nilf2 will be much faster then data2ext and won't have Lags.
whoa
i m glad there are so many new development out everyday
feel so good knowing the n1 is not being left behind
speaking of this is pretty freaking awesome
houzuoguo said:
Not sure if this can help..
Found a post on HiAPK (a Chinese Android discussion forum)
here's the link to the post:
http://www.hiapk.com/bbs/viewthread.php?tid=717815&extra=page=1&filter=type&typeid=211
And here's the link to the ROM:
http://rom.anshouji.com/htc/N1/bbs.anshouji.com-N1-data2sd-20101208.zip
The rom is said to be based on Cyanogen Mod 6.1 Stable, with data2EXT enabled by default.
The attached screenshot comes from a user of the data2Ext rom, note that the internal storage has 0.9GB left.
Click to expand...
Click to collapse
...
That is a huge improvement in IO!
Lets hope this reaches a stable state soon
I wonder why quadrant weighs so much on disk IO for the total score.
Would this be possible on other devices? lets say the g2?
Would someone mind explaining what tangible improvements this makes? Obviously there is an impressive boost in Quadrant scores, but I'm unsure what difference it makes to the actual operation of the device.
bcpk said:
Would someone mind explaining what tangible improvements this makes? Obviously there is an impressive boost in Quadrant scores, but I'm unsure what difference it makes to the actual operation of the device.
Click to expand...
Click to collapse
App2sd u get 512mb for ext3.
Data2ext u get at least 2gb for apps and stuff
Lol. Are u serious. For io scores it cheats. See the script. Fake ext2 for quadrant
truth to be told,they say TTL 2000+ and IO 3000 is the actual scroe...

howto - mount ISO in CD-ROM

install gscript
create a folder on your sdcard (example /sdcard/iso)
copy in /sdcard/iso *.iso files
create in gscript 2 scripts
mount_iso - to mount an image(NAME.iso - the name of your file)
Code:
echo "/sdcard/iso/NAME.iso" > /sys/devices/platform/msm_hsusb/gadget/lun1/file
umount_iso - to umount an image
Code:
echo "" > /sys/devices/platform/msm_hsusb/gadget/lun1/file
i assume this script assumes your first loop file is free
what if its already used example in case on a apps2sd application
I have so in MIUI
/sys/devices/platform/msm_hsusb/gadget/lun0 - sdcard
/sys/devices/platform/msm_hsusb/gadget/lun1 - sdrom
can create /sys/devices/platform/msm_hsusb/gadget/lun2 ??
But how? vold.fstab vold.conf ???
I do not use apps2sd, I do not know how it works
Code:
volume_cdrom {
media_path /sys/devices/platform/msm_hsusb/gadget/lun1/file
media_type cdrom
mount_point /system/etc/cdrom.iso
}
dik-m said:
I have so in MIUI
/sys/devices/platform/msm_hsusb/gadget/lun0 - sdcard
/sys/devices/platform/msm_hsusb/gadget/lun1 - sdrom
can create /sys/devices/platform/msm_hsusb/gadget/lun2 ??
But how? vold.fstab vold.conf ???
I do not use apps2sd, I do not know how it works
Code:
volume_cdrom {
media_path /sys/devices/platform/msm_hsusb/gadget/lun1/file
media_type cdrom
mount_point /system/etc/cdrom.iso
}
Click to expand...
Click to collapse
these are basically loop files when you do a loopmount using losetup i suppose you get that autocreated.
however i am no expert on MIUI ROM and hence will not comment any further on this.
anantshri said:
however i am no expert on MIUI ROM and hence will not comment any further on this.
Click to expand...
Click to collapse
it is not only MIUI, on the official firmware also
sorry for translation
very good
its possible make a apk for this?
monta990 said:
its possible make a apk for this?
Click to expand...
Click to collapse
Yeah a APK with auto mount would rock.
OmegaRED^ said:
Yeah a APK with auto mount would rock.
Click to expand...
Click to collapse
With a widget
Sent from my X10i using XDA App
guys i am not promising anything right now as currently i am still learning on how to create apps, i can may be make an app/widget for this... but this will be low priority as i already have some bigger projects that i am working on
max 700 mb
this mod only support 700 mb isos.
fack, to Gingerbread not work
doesn't mount have something like
mount -o loop -t iso9660 iso_file /path?
in the kernel does not support USB-CDROM
where to get path? can create using mknod? but how and whether to work?

[ROM] HTC Evo 3D GSM aka SHOOTERU Test MIUI Build 15 1.11.18 [WIP]

Ok so I don't have this device and there is a bunch of people that want to try it so here you go.
If you brick your **** don't blame me! Its a test build Don't even know if it will boot!
Adb me some logcats and we can get it working
logcat.miui.us and paste link I will see what I can do!
I would hope others would step in and help out with this!
Test 15 http://www.mediafire.com/?c1osls4cz4lnizg
Last test of the night
nattskift said:
"[3a] Revolutionary CWM
(i) download Revolutionary shutteru CWM recovery from here
(ii) reboot device in bootloader mode > plug in usb cable until u see FASTBOOT USB on device screen
(iii) now in adb type : fasboot flash recovery cwm-4.0.1.4-shooteru.img
(iv) Done."
This file.
Click to expand...
Click to collapse
just in case
ok last one for fun!
not a fan of miui but I'm willing to give it a try . what's the chances of a brick with this ?
shouldn't effect recouvery right so i can always restore ?
Garrytheogre said:
not a fan of miui but I'm willing to give it a try . what's the chances of a brick with this ?
shouldn't effect recouvery right so i can always restore ?
Click to expand...
Click to collapse
yeah I included the stock boot.img so you should be fine there is no recovery added so will not brick you device.
but test at your risk.
I have been asked a bunch of times to help out. if there is a aosp kernel that would help a bunch
will this suffice
forum.xda-developers.com/showthread.php?t=1313117
got an error 6 on flashing then it aborts the flash
Tld you guys he was working on it its always good to follow ppl on Twitter. Right Scott LOL
Sent from my PG86100 using xda premium
Garrytheogre said:
will this suffice
forum.xda-developers.com/showthread.php?t=1313117
got an error 6 on flashing then it aborts the flash
Click to expand...
Click to collapse
Cwm or twrp?
Sent from my PG86100 using XDA App
revolutionary cwm
ok test two with the kernel you said http://www.mediafire.com/?9bx2vmhd0ec82pg
Just making a backup now and will test it and report back.
By the way, does it support multilanguage like Arabic? Do we need to choose kernel ? Thanks
Hi,
Tried and get the error status 7.
coreless88 said:
Hi,
Tried and get the error status 7.
Click to expand...
Click to collapse
test 3 http://www.mediafire.com/?5xlvk3bsccjs4e3
I will be following this closely and will try flash tonight. How exciting its like xmas!
Sent from my Evo 3D GSM...bring on the AOSP!!!
Downloaded.
Error during flash.
Code:
Installing update...
mount() expects 4 args. got 3
E:Error in /sdcard/roms/SHOOTERU-MIUI-1.11.11.11-TEST-BUILD-3.zip
(Status 7)
Installation aborted.
Recovery.log coming up...
it does not work gave me status error 7
this one when ran on test 2, will check test 3 and report back
maaafeb05 said:
it does not work gave me status error 7
Click to expand...
Click to collapse
test3?
seems weird
Recovery.log:
Code:
-- Installing: /sdcard/rom/SHOOTERU-MIUI-1.11.11-TEST-BUILD-3.zip
Finding update package...
I:Update location: /sdcard/rom/SHOOTERU-MIUI-1.11.11-TEST-BUILD-3.zip
Opening update package...
Installing update...
Creating filesystem with parameters:
Size: 838859776
Block size: 4096
Blocks per group: 32768
Inodes per group: 7315
Inode size: 256
Journal blocks: 3200
Label:
Blocks: 204799
Block groups: 7
Reserved block group size: 55
Created filesystem with 11/51205 inodes and 6651/204799 blocks
script aborted: mount() expects 4 args, got 3
mount() expects 4 args, got 3
E:Error in /sdcard/rom/SHOOTERU-MIUI-1.11.11-TEST-BUILD-3.zip
(Status 7)
Installation aborted.
result was NULL, message is: assert failed: install_zip("/sdcard/rom/SHOOTERU-MIUI-1.11.11-TEST-BUILD-3.zip")
Ok updater script and build prop are jacked up
scott951 said:
Ok updater script and build prop are jacked up
Click to expand...
Click to collapse
The two lines that contain mount and only has three args are
mount("MTD", "userdata", "/data");
mount("MTD", "system", "/system")
Must be one of those right?
Is there anything i can do to help?

[Q] How Can I Convert Yaffs2 to Ext4?

hey guys.
First Sorry Me for my bad English.
When I had galaxy ace , there is a way for convert bfs to ext4.
and when I changed my file system to ext4 , the speed of phone become very fast.
My question from developers is: How can I convert file system to Ext4?
(my phone is Live)
Nobody has tried it with our phones, i wanted also to try it before and the only way according to me is to edit the edify script of a custom rom...exactly you need to edit these lines:
format("MTD", "system"); -> format("ext4", "MTD", "system");
format("MTD", "userdata"); -> format("ext4", "MTD", "userdata");
format("MTD", "cache"); -> format("ext4", "MTD", "cache");
I think it will not work coz CWM expects only 2 arguments and we have got 3 there, i don't understand it coz when i have been on x10 mini pro the recovery acted differently. You can try it, nothing bad can happen from it
I have test it But It Dont Work.
Any other Idea?
lol ^^
if it would have worked you would have formatted /system and thus won't boot into cam again... you would have bricked your phone (only flashing ftf may have helped then).
So be smart doing such experiments...
Few years ago I was researching for my old x10 mini pro if it is possible to convert to ext4 on certain filesystems. But I memorized now that yaffs2 is the best for our phones, our memory (hardware) etc.
Also you must rewrite all roms to suite your needs because in many scripts inside the rom there are many mount commands mounting a filesystem as yaffs2...
but if you like to try further:
start by only converting/formatting data.
in edify script you can mount/load your system partition and then use the bash-tools by running an external script that formats your data partition to ext4.
See FXPs "backup" script in their rom installer for an example
It's ridiculous...
We're with Kamarush tried a lot of things to convert file system to ext4, but it's impossible, 'cause the MTD partition table.
First off, an MTD is a "Memory Technology Device", so it's just "MTD". An "MTD device" is a pleonasm.
Unix, and Unix based OSes (like Linux/Android) traditionally only knew block devices and character devices. Character devices were things like keyboards or mice, that you could read current data from, but couldn't be seek-ed and didn't have a size. Block devices had a fixed size and could be seek-ed. They also happened to be organized in blocks of multiple bytes, usually 512.
Flash doesn't match the description of either block or character devices. They behave similar to block device, but have differences. For example, block devices don't distinguish between write and erase operations. Therefore, a special device type to match flash characteristics was created: MTD.
So MTD is neither a block nor a char device. There are translations to use them, as if they were. But those translations are nowhere near the original, just like translated Chinese poems.
And Ext2, ext3, XFS, JFS, FAT and other "conventional" file systems work with block devices. They are designed this way. Flashes are not block devices, they are very different beasts.
So we can't get EXT4 etc. on our MTD based system. Check all other devices too. All EXT4 based device has EMMC partition system. On SGS the system particion MTD too, only the data EMMC, so they can use EXT4 in only data.
Cheers!
expeacer said:
It's ridiculous...
We're with Kamarush tried a lot of things to convert file system to ext4, but it's impossible, 'cause the MTD partition table.
First off, an MTD is a "Memory Technology Device", so it's just "MTD". An "MTD device" is a pleonasm.
Unix, and Unix based OSes (like Linux/Android) traditionally only knew block devices and character devices. Character devices were things like keyboards or mice, that you could read current data from, but couldn't be seek-ed and didn't have a size. Block devices had a fixed size and could be seek-ed. They also happened to be organized in blocks of multiple bytes, usually 512.
Flash doesn't match the description of either block or character devices. They behave similar to block device, but have differences. For example, block devices don't distinguish between write and erase operations. Therefore, a special device type to match flash characteristics was created: MTD.
So MTD is neither a block nor a char device. There are translations to use them, as if they were. But those translations are nowhere near the original, just like translated Chinese poems.
And Ext2, ext3, XFS, JFS, FAT and other "conventional" file systems work with block devices. They are designed this way. Flashes are not block devices, they are very different beasts.
So we can't get EXT4 etc. on our MTD based system. Check all other devices too. All EXT4 based device has EMMC partition system. On SGS the system particion MTD too, only the data EMMC, so they can use EXT4 in only data.
Cheers!
Click to expand...
Click to collapse
i have two questions,
is ext4 faster than ntfs?
so is it possible to have swap with ext4 since from what little i understand from your explanation there is no block as such for the ext4 system?
In Unix-based OSes the EXT4 more faster than NTFS.
If you place out your swap to SDCard, which partitioned properly, yes you can make swap to EXT4.
expeacer said:
It's ridiculous...
We're with Kamarush tried a lot of things to convert file system to ext4, but it's impossible, 'cause the MTD partition table.
First off, an MTD is a "Memory Technology Device", so it's just "MTD". An "MTD device" is a pleonasm.
Unix, and Unix based OSes (like Linux/Android) traditionally only knew block devices and character devices. Character devices were things like keyboards or mice, that you could read current data from, but couldn't be seek-ed and didn't have a size. Block devices had a fixed size and could be seek-ed. They also happened to be organized in blocks of multiple bytes, usually 512.
Flash doesn't match the description of either block or character devices. They behave similar to block device, but have differences. For example, block devices don't distinguish between write and erase operations. Therefore, a special device type to match flash characteristics was created: MTD.
So MTD is neither a block nor a char device. There are translations to use them, as if they were. But those translations are nowhere near the original, just like translated Chinese poems.
And Ext2, ext3, XFS, JFS, FAT and other "conventional" file systems work with block devices. They are designed this way. Flashes are not block devices, they are very different beasts.
So we can't get EXT4 etc. on our MTD based system. Check all other devices too. All EXT4 based device has EMMC partition system. On SGS the system particion MTD too, only the data EMMC, so they can use EXT4 in only data.
Cheers!
Click to expand...
Click to collapse
> is this your source? http://www.linux-mtd.infradead.org/faq/general.html

[DEV][REQUEST/SUGGESTION] Symlinks in Sammy JB Roms

Hi all,
So as everyone knows the vast majority of custom roms based on Sammy JB use preload and symlink to system/app. From reading most of the threads here I have noticed that there is not much consistency between different roms on what is symlinked and what is left in system/app. I have noticed this is making themers and modders lives difficult as they have to assume that the apks they want to install are in preload and symlink accordingly. If they arent this causes fc etc.
So...I have a proposition which I think will help the community as a whole but needs devs here to agree. Instead of splitting the apks between preload and system and then symlinking every single apk that is in preload (which leaves room for typos etc and missing apps) like this...
Code:
symlink("/preload/symlink/system/app/ApplicationsProvider.apk", "/system/app/ApplicationsProvider.apk");
symlink("/preload/symlink/system/app/AutomationTest_JBUP.apk", "/system/app/AutomationTest_JBUP.apk");
symlink("/preload/symlink/system/app/BackupRestoreConfirmation.apk", "/system/app/BackupRestoreConfirmation.apk");
symlink("/preload/symlink/system/app/BadgeProvider.apk", "/system/app/BadgeProvider.apk");
symlink("/preload/symlink/system/app/BasicLiveWallpapers.apk", "/system/app/BasicLiveWallpapers.apk");
symlink("/preload/symlink/system/app/BCService.apk", "/system/app/BCService.apk");
symlink("/preload/symlink/system/app/BluetoothAvrcp.apk", "/system/app/BluetoothAvrcp.apk");
symlink("/preload/symlink/system/app/BluetoothMap.apk", "/system/app/BluetoothMap.apk");
symlink("/preload/symlink/system/app/CapabilityManagerService.apk", "/system/app/CapabilityManagerService.apk");
symlink("/preload/symlink/system/app/CertInstaller.apk", "/system/app/CertInstaller.apk");
symlink("/preload/symlink/system/app/ChromeBookmarksSyncAdapter.apk", "/system/app/ChromeBookmarksSyncAdapter.apk");
symlink("/preload/symlink/system/app/ClipboardSaveService.apk", "/system/app/ClipboardSaveService.apk");
symlink("/preload/symlink/system/app/ClockPackage.apk", "/system/app/ClockPackage.apk");
t
symlink("/preload/symlink/system/app/CSC.apk", "/system/app/CSC.apk");
symlink("/preload/symlink/system/app/DataCreate_U1_EUR_OPEN.apk", "/system/app/DataCreate_U1_EUR_OPEN.apk");
symlink("/preload/symlink/system/app/Days.apk", "/system/app/Days.apk");
symlink("/preload/symlink/system/app/DefaultContainerService.apk", "/system/app/DefaultContainerService.apk");
symlink("/preload/symlink/system/app/Divx.apk", "/system/app/Divx.apk");
symlink("/preload/symlink/system/app/DrmProvider.apk", "/system/app/DrmProvider.apk");
symlink("/preload/symlink/system/app/EdmSysScopeService.apk", "/system/app/EdmSysScopeService.apk");
symlink("/preload/symlink/system/app/EdmVpnServices.apk", "/system/app/EdmVpnServices.apk");
symlink("/preload/symlink/system/app/EnterprisePermissions.apk", "/system/app/EnterprisePermissions.apk");
symlink("/preload/symlink/system/app/FactoryTest_U1_EUR_OPEN.apk", "/system/app/FactoryTest_U1_EUR_OPEN.apk");
symlink("/preload/symlink/system/app/GmsCore.apk", "/system/app/GmsCore.apk");
symlink("/preload/symlink/system/app/GoogleCalendarSyncAdapter.apk", "/system/app/GoogleCalendarSyncAdapter.apk");
symlink("/preload/symlink/system/app/GoogleContactsSyncAdapter.apk", "/system/app/GoogleContactsSyncAdapter.apk");
symlink("/preload/symlink/system/app/GoogleFeedback.apk", "/system/app/GoogleFeedback.apk");
symlink("/preload/symlink/system/app/GoogleLoginService.apk", "/system/app/GoogleLoginService.apk");
symlink("/preload/symlink/system/app/GooglePartnerSetup.apk", "/system/app/GooglePartnerSetup.apk");
symlink("/preload/symlink/system/app/GoogleServicesFramework.apk", "/system/app/GoogleServicesFramework.apk");
symlink("/preload/symlink/system/app/GoogleTTS.apk", "/system/app/GoogleTTS.apk");
symlink("/preload/symlink/system/app/GroupCast.apk", "/system/app/GroupCast.apk");
symlink("/preload/symlink/system/app/InputDevices.apk", "/system/app/InputDevices.apk");
symlink("/preload/symlink/system/app/InputEventApp_U1_EUR_OPEN.apk", "/system/app/InputEventApp_U1_EUR_OPEN.apk");
symlink("/preload/symlink/system/app/JobManager.apk", "/system/app/JobManager.apk");
symlink("/preload/symlink/system/app/KeyChain.apk", "/system/app/KeyChain.apk");
symlink("/preload/symlink/system/app/Keystring_factory_JBUP.apk", "/system/app/Keystring_factory_JBUP.apk");
symlink("/preload/symlink/system/app/Kobo.apk", "/system/app/Kobo.apk");
symlink("/preload/symlink/system/app/lcdtest_U1_EUR_OPEN.apk", "/system/app/lcdtest_U1_EUR_OPEN.apk");
symlink("/preload/symlink/system/app/LogsProvider.apk", "/system/app/LogsProvider.apk");
symlink("/preload/symlink/system/app/Microbes.apk", "/system/app/Microbes.apk");
symlink("/preload/symlink/system/app/minimode-res.apk", "/system/app/minimode-res.apk");
symlink("/preload/symlink/system/app/MusicFX.apk", "/system/app/MusicFX.apk");
symlink("/preload/symlink/system/app/MusicPlayer.apk", "/system/app/MusicPlayer.apk");
symlink("/preload/symlink/system/app/NetworkLocation.apk", "/system/app/NetworkLocation.apk");
symlink("/preload/symlink/system/app/OmaCP.apk", "/system/app/OmaCP.apk");
symlink("/preload/symlink/system/app/OmaDrmPopup.apk", "/system/app/OmaDrmPopup.apk");
symlink("/preload/symlink/system/app/PackageInstaller.apk", "/system/app/PackageInstaller.apk");
symlink("/preload/symlink/system/app/PanningTryActually.apk", "/system/app/PanningTryActually.apk");
symlink("/preload/symlink/system/app/Phone_Util_U1_EUR_OPEN.apk", "/system/app/Phone_Util_U1_EUR_OPEN.apk");
symlink("/preload/symlink/system/app/PhoneErrService.apk", "/system/app/PhoneErrService.apk");
symlink("/preload/symlink/system/app/Phonesky.apk", "/system/app/Phonesky.apk");
symlink("/preload/symlink/system/app/PopupuiReceiver.apk", "/system/app/PopupuiReceiver.apk");
symlink("/preload/symlink/system/app/Preconfig.apk", "/system/app/Preconfig.apk");
symlink("/preload/symlink/system/app/SamsungCamera.apk", "/system/app/SamsungCamera.apk");
symlink("/preload/symlink/system/app/SamsungIME.apk", "/system/app/SamsungIME.apk");
symlink("/preload/symlink/system/app/SecBrowser.apk", "/system/app/SecBrowser.apk");
symlink("/preload/symlink/system/app/SecCalendar.apk", "/system/app/SecCalendar.apk");
symlink("/preload/symlink/system/app/SecCalendarProvider.apk", "/system/app/SecCalendarProvider.apk");
symlink("/preload/symlink/system/app/SecCalculator2.apk", "/system/app/SecCalculator2.apk");
symlink("/preload/symlink/system/app/SecContacts.apk", "/system/app/SecContacts.apk");
symlink("/preload/symlink/system/app/SecContactsProvider.apk", "/system/app/SecContactsProvider.apk");
symlink("/preload/symlink/system/app/SecDownloadProvider.apk", "/system/app/SecDownloadProvider.apk");
symlink("/preload/symlink/system/app/SecDownloadProviderUi.apk", "/system/app/SecDownloadProviderUi.apk");
symlink("/preload/symlink/system/app/SecEmail.apk", "/system/app/SecEmail.apk");
symlink("/preload/symlink/system/app/SecExchange.apk", "/system/app/SecExchange.apk");
symlink("/preload/symlink/system/app/SecGallery2.apk", "/system/app/SecGallery2.apk");
symlink("/preload/symlink/system/app/SecLauncher2.apk", "/system/app/SecLauncher2.apk");
symlink("/preload/symlink/system/app/SecMediaProvider.apk", "/system/app/SecMediaProvider.apk");
symlink("/preload/symlink/system/app/SecMms.apk", "/system/app/SecMms.apk");
symlink("/preload/symlink/system/app/SecNoteMyFiles.apk", "/system/app/SecNoteMyFiles.apk");
symlink("/preload/symlink/system/app/SecOmaDownloadProvider.apk", "/system/app/SecOmaDownloadProvider.apk");
symlink("/preload/symlink/system/app/SecPhone.apk", "/system/app/SecPhone.apk");
symlink("/preload/symlink/system/app/SecSettings.apk", "/system/app/SecSettings.apk");
symlink("/preload/symlink/system/app/SecSettingsProvider.apk", "/system/app/SecSettingsProvider.apk");
symlink("/preload/symlink/system/app/SecSetupWizard.apk", "/system/app/SecSetupWizard.apk");
symlink("/preload/symlink/system/app/SecTelephonyProvider.apk", "/system/app/SecTelephonyProvider.apk");
symlink("/preload/symlink/system/app/SelfTestMode_U1_EUR_OPEN.apk", "/system/app/SelfTestMode_U1_EUR_OPEN.apk");
symlink("/preload/symlink/system/app/serviceModeApp_U1_EUR_OPEN.apk", "/system/app/serviceModeApp_U1_EUR_OPEN.apk");
symlink("/preload/symlink/system/app/SetupWizard.apk", "/system/app/SetupWizard.apk");
symlink("/preload/symlink/system/app/SharedStorageBackup.apk", "/system/app/SharedStorageBackup.apk");
symlink("/preload/symlink/system/app/shutdown_JBUP.apk", "/system/app/shutdown_JBUP.apk");
symlink("/preload/symlink/system/app/SmartcardService.apk", "/system/app/SmartcardService.apk");
symlink("/preload/symlink/system/app/SPlannerAppWidget.apk", "/system/app/SPlannerAppWidget.apk");
symlink("/preload/symlink/system/app/Stk.apk", "/system/app/Stk.apk");
symlink("/preload/symlink/system/app/Swype.apk", "/system/app/Swype.apk");
symlink("/preload/symlink/system/app/SystemUI.apk", "/system/app/SystemUI.apk");
symlink("/preload/symlink/system/app/talkback.apk", "/system/app/talkback.apk");
symlink("/preload/symlink/system/app/TwDVFSApp.apk", "/system/app/TwDVFSApp.apk");
symlink("/preload/symlink/system/app/UserDictionaryProvider.apk", "/system/app/UserDictionaryProvider.apk");
symlink("/preload/symlink/system/app/VideoPlayer.apk", "/system/app/VideoPlayer.apk");
symlink("/preload/symlink/system/app/voice_talk_U1.apk", "/system/app/voice_talk_U1.apk");
symlink("/preload/symlink/system/app/VoiceSearchStub.apk", "/system/app/VoiceSearchStub.apk");
symlink("/preload/symlink/system/app/VpnDialogs.apk", "/system/app/VpnDialogs.apk");
symlink("/preload/symlink/system/app/WAPPushManager.apk", "/system/app/WAPPushManager.apk");
symlink("/preload/symlink/system/app/Zinio.apk", "/system/app/Zinio.apk");
....why not move ALL apks from system/app to preload, symlink the entire folder and then REMOVE system/app from your ROM zips. So system/app exists purely as a link. Like this...
Code:
symlink("/preload/symlink/system/app", "/system/app");
My ROM has been doing this since LSJ and personally I find it makes a lot more sense. :good:
Benefits:
Consistency between ROMS
One line in your script instead of a huge list.
All apks in one place meaning modders and themers know they can safely install stuff to preload without having to put symlinks in their scripts as the folder is already linked.
Users can move more easily between ROMS of the same base without FC because of left over stuff in other places.
Opinions?
This did not work for me on LSD roms for some reason... I noticed that most devs started symlinking using a script called create_preload_symlink:
#!/system/bin/mksh
mount -o remount rw /system
cd /preload/symlink/system/app
# Can't create array with /sbin/sh, hence we use mksh
apk_list=( `ls | grep .apk` )
odex_list=( `ls | grep .odex` )
items=${apk_list[*]}" "${odex_list[*]}
for item in ${items[@]}
do
ln -s /preload/symlink/system/app/$item /system/app/$item
done
rm -f /system/app/placeholder
I didn't like the idea having apk files on preload partition, since this partition is not yet supported by CWM backup. So I modded the sysmlink script to have all system apk's symlinked to the data partition instead (/data/symlink/system/app). Now the entire JB rom fits on the system+data partitions and is fully cwm backupable... Of course, with this method, you cannot do a factory reset, as it will delete data partition including the symlinked sys files, resulting is a useless rom (bootloop). But why factory reset a good working rom?
Odp: [DEV][REQUEST/SUGGESTION] Symlinks in Sammy JB Roms
Goldie this is awesome, and the funniest ( also the best) thing about that I had the same idea
Thanks!
TeamXD: Official Beta Tester
Phone: Samsung Galaxy S II
Mods: No MODS
Rom: Disaster ( Awesome!)
Kernel: Jeboo
Battery: Stock 1650
Send via: Tapatalk
it's good idea but , i think EB10000 is right ,, symlink from data partition will be fine + compatible with CWM + we can make dualbooting easily
Here's new Idea making new ROM Dualboot-able with optimized updater-script (symlink from data partition) + OTA for its mods & Themes

Categories

Resources