[DEV][REQUEST/SUGGESTION] Symlinks in Sammy JB Roms - Galaxy S II Android Development

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

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...

customMTD not working on Sony Xperia Arc /S

i realised that with the great JJ's rom i have 215mb of free space in my /system which becomes about 169 after integrating the system dalvik into the cache, plus keeping room for merging future updates into the rom i guessed that 150mb of space is annexable from /system (400-250) into the /data (420+150) .
the cache partition has 101.5mb size and can be reduced to 51.5.
only that i haven't been able to get it to work like i did on my g1, and my friend's wildfire.
620mb of space in the data partition is definitely exciting.
i am thinking that it may be cuz our recovery is built into the boot/kernel.
comments n suggestions please
UPDATE: i am getting the following error in the logs
+ echo -e recovery Patcher v1.5.8-Beta\npartition layout not found in dmesg
UPDATE : just tried the 1.5.9 beta autopatch. it's error says
Error misc not found in dmesg.

[30 OCT 2012][DEV] NativeSD Rom Boot Script for HD2

This is an idea to make the HD2 faster and fancy, I worked with Xylograph to make it more usable and easy to implement by common users.
Index
Post 1 Introduction
Post 2 ROMs, Scripts, Installer template for Devs by Xylograph
Post 3 Q&A
Introduction
We have SD ROMs for very long time, but I think most of the people should agree with me that the SD ROMs are slower than NAND ROMs. because the SD ROMs use system.ext4 and data.ext4 files to store all the ROM contant on the FAT partition, the IO access is the bottleneck.
My Class10 SD card has 10MB/s R/W speed, but the NAND flash R/W speed is only about 4MB/s. so if we can directly install the ROMs to SDCARD and boot from SDCARD we will get lots of benifits:​
Faster Read/Write speed than NAND ROMs
Bigger data partition for user space (depends on how big the ext4 partition on SDCARD)
Install servel ROMs at the same time. and each ROM share the same space
Muilt-boot support, easy to switch between the ROMs been installed.
The NativeSD Rom is a new kind of ROM it needs an ext4 partition on your SDCARD.
This thread will tell you how to install a ROM to SDCARD and give some script templates for ROM Devs to make the ROM installer which can support install the ROM to NAND flash or SD/EXT4.
Install the ROM to SD/EXT4 will not effact the ROM(WM or Android) on NAND flash, NativeSD should support run from MAGLDR CLK or WM6.5(need test).
Important Notes:
Backup all the SDCARD content to PC before you create the ext4 partition on SDCARD.
Change Log:
05-09-2012 @2nd Post [05-09-2012] NativeSD Dual Installer v2 [nand/sdext][wip]
10-09-2012 Add NativeSD CM7 script template
13-09-2012 nativeSDMultiBoot Version4 Credits to datagr
20-09-2012 nativeSDMultiBoot Version5 Credits to datagr
26-09-2012 nativeSDMultiBoot Version6 Credits to datagr
30-10-2012 nativeSDMultiBoot Version9 Credits to datagr
30-10-2012 New initrd mod for NativeSD Credits to marco.palumbi
[05-09-2012] NativeSD Dual Installer v2 [nand/sdext][wip]
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
NativeSD Dual Installer v2
Keep in mind that this is a work in progress featuring a possibility to run a full nand rom on a SD-EXT partition..
Please check my current AOKP & PA jellybean ROMS or CM9ight ICS ROM for some 'NativeSD functionality' in action
​
Features:
Compatible with every bootloader and stock OS
Recovery package for users without Android on nand
Pre-Installation Requirements and recommendations:
HTC HD2 Phone
Sdcard with enough free space (performance may differ based on the quality of your card)
4EXT Recovery (Highly recommended)
Primary Fat32 partition and Primary EXT4 partition
Downloads : (Please do not mirror stuff)
Download 4EXT Recovery from here.
Pick the SD version if you would like to boot 4EXT Recovery from SD (unpack to your sdcard)
Pick the NAND version if you would like to flash the 4EXT Recovery on your NAND (flashable via recovery)
Users with non-working hardware keys can try the various touch recoveries I've ported , though I highly recommend 4EXT recovery..
Dual_Installer_v2_example.zip (only for advanced users, unpack the contents to your computer)
Contents :
4EXTRecoverySD for users with no or a different recovery on nand:
Code:
- Contains 4EXT Recovery ported for SD users.
- Unpack to the root of your sdcard
- Set your SD Boot to the Recovery folder or use clcad/haret to boot
4EXTRecoveryNAND for users who would like this recovery on nand:
Code:
- Contains 4EXT Recovery for android NAND users
- Flash it using DAF.exe (Magldr) cLK users can flash it using the HD2 toolkit
Dual Installer example Package (advanced users) :
Code:
- Contains an example (not flashable!) of how I use this for my roms.
- You can check all the stuff, folder structure and scripts.
- I've tried to make the updater-script and aroma-config 'easy to read'
- Placeholders with text on what to put where when porting stuff to NativeSD.
Installation Steps & Instructions:
Sdcard for NativeSD:
Code:
1. First make sure you have at least 1 Fat32 partition and 1 EXT4 partition on your sdcard
2. If you don't have these partitions ?? [B]backup your sdcard[/B][COLOR="Red"][B] , because everything will be wiped from your sdcard when you create partitions and format them ![/B][/COLOR]
3a Use the [URL="http://goo.im/devs/Xylograph/Various/Recoveries"]provided 4EXT recovery (NAND or SD version)[/URL] to create the partitions and format them.
3b If you rather use a computer for creating and formatting partitions keep in mind that both partitions [B]must[/B] be primary partitions (not logical)
4. The recommended size of your EXT4 partition is depending on how many roms and apps you are going to install.. 512M is the minimal size..
5. Restore/move the sdcard contents back to the Fat32 partition
6. (WP7 users) make sure the EXT4 partition is located @ /dev/block/mmcblk0p2
To check this mount your sd-ext partition in 4EXT recovery and use adb shell or QtADB shell and type [B]df[/B]
7. Your sdcard is now ready for NativeSD usage..
NativeSD Installation for Magldr NAND Android & WP7 users :
Code:
1. WP7 and SD users set your SD BOOT directory to the 'Recovery' folder by choosing '10.services' , '1. Bootsettings' , 3. AD SD Dir in the Magldr menu.
2. Boot into (NAND or SD) 4EXT recovery.
3. Flash the ROM.zip package and follow instructions
4. Set your SD BOOT directory to the 'NativeSD' folder after flashing the ROM (see step 1)
5. Boot into the ROM and have fun..
NativeSD Installation for cLK NAND Android users : (thanks clio94)
Code:
1. Copy the [URL="http://www.mediafire.com/?nhyausx0p5whu"]flash_bootv2.zip[/URL] to your sdcard.
2. Boot into cLK and make a sboot partition.Be aware that only clk from kokotas allows to make a sboot partition directly from device
3. Boot into recovery (4EXT recovery = recommended) and install rom by choosing sd-ext method
4. After installation finishes,dont reboot, but install flash_sbootv2.zip and then reboot to cLK
5. In cLK choose to boot from sboot and wait for the ROM to boot.
6. If you are stuck on the boot animation,try to wipe your ext partition and install the ROM again.
NativeSD Installation for Windows Mobile and other OS users :
Code:
1. Boot into recovery by executing the usual clcad and haret stuff inside the Recovery folder.
2. Flash the ROM.zip package and follow instructions
3. Reboot and boot the ROM by executing the usual clcad and haret stuff inside the NativeSD folder.
RMNET or PPP ??? summary :
Code:
- as of dual installer v2 you can choose your data connection during ROM installation
- For Magldr users I recommend using the RMNET connection
- For all other users I recommend using the PPP connection (default)
- PPP connection should work for all users !
Switch between different NativeSD ROMS ?
Code:
- If you want to use a previously installed/other NativeSD ROM ?
- Copy the contents of that roms folder found inside the NativeSD folder to the root of the NativeSD folder (overwriting the kernel+ramdisk)
- Boot to sd and that ROM will boot !
- Repeat the above steps when you want to switch again
- In the future we want to make the above steps easier and possible with either a 'gscript' or an 'android app'
Previous Roms (Examples) featuring NativeSD and Dual Installer :
Code:
- [URL="http://d-h.st/pFR"]PA_v1.992se_dual_installer_v2.zip[/URL] - [B][URL="http://tinyw.in/Xhft"]mirror[/URL][/B] (Flash via recovery) - md5: ce2138748c6b2cbc62848272acf92600
- [URL="http://d-h.st/p33"]AOKP_N2408se_dual_installer.zip (Magldr only!)[/URL] - [B][URL="http://tinyw.in/clMS"]mirror[/URL][/B] (Flash via recovery) - md5: 6a116ad3eebb0f92729af6954f0a9217
*** all flashing is at your own risk ! Always make backups in recovery and/or titanium backup ! ***
*** This is a NativeSD thread ! Please, Keep this thread NativeSD related and report issues with roms in the rom thread !!! ***
Thanks & Credits to : securecrt, Phoenix, clio94, LNE team and everybody I forgot !​
Q&A
How is the NativeSD ROM work?
To boot the Android from SD card, the old SD ROMs mount the system.ext4 and data.ext4 before the init(rename to init.android) thread is start. I changed the initrd.gz to make it mount the ext4 partition before the android init.android start. here is the main code for the init script
Code:
echo "mount system and data partition on sdcard"
# change the rom_name TO PA MIUI CM7 will support
# to boot other system on SD/EXT4
# the system layout :
# /NativeSD/NexusHD2/
# /system
# /data
# /PA/
# /system
# /data
# /MIUI/
# /system
# /data
# /app
# the app dir is shared for all ROMs
#
# set the name of the rom to boot
rom_name="PA"
# mount the 1st (NativeSD) SD-EXT partition
mkdir -p /NativeSD
mount -t ext4 -o rw,noatime,nodiratime,barrier=0 /dev/block/mmcblk0p2 /NativeSD
# mount the system data app dir
mount --bind /NativeSD/$rom_name/system /system
mount --bind /NativeSD/$rom_name/data /data
# create app data/app dir
mkdir -p /NativeSD/app
mkdir -p /data/app
mount --bind /NativeSD/app /data/app
So for the ROM Devs should create new initrd.gz which is different with the NAND version, use different rom_name distinguish with others the whole templete is in 2nd post by Xylograph​
How is the multi-boot works on NativeSD ROM?
Set the SD boot dir /sdcard/NativeSD in Magldr or CLK,the dir structure is
/sdcard/NativeSD/NexusHD2/zImage
/sdcard/NativeSD/NexusHD2/initrd.gz
/sdcard/NativeSD/PA/zImage
/sdcard/NativeSD/PA/initrd.gz
/sdcard/NativeSD/zImage
/sdcard/NativeSD/initrd.gz​
The Magldr& CLK always read the /sdcard/NativeSD/zImage /sdcard/NativeSD/initrd.gz files to boot, so if you want to switch from PA to NexusHD2 just only need to copy the zImage & initrd.gz to the up layer dir, use the NativeSD ROM switch app made by datagr​
How to convert the NAND ROM to NativeSD ROM?
HOWTO port NAND ROM to NATIVESD STEP-BY-STEP Credits to c1cl0n
This is for Devs and advanced users only. For example if we got the NAND version of the NexusHD2 extract the zip file and replace 2 files and add 1 file will finish the convert.
/kernel/boot/initrd.gz
the initrd.gz is similar with the SD ROMs but need to change the init script to mount the ext4 partition
/META-INF/com/google/android/updater-script
the updater-script is used for CWM to execute the install process; execute install.sh before copy the system content to the ext4, here is the sample code
Code:
package_extract_file("install.sh", "/tmp/install.sh");
set_perm(0,0, 0777, "/tmp/install.sh");
run_program("/tmp/install.sh");
show_progress(0.8, 80);
if file_getprop("/tmp/nfo.prop","NativeSD") == "true"
then
package_extract_dir("kernel/boot", "/boot");
package_extract_dir("kernel/boot", "/boot_dir");
package_extract_dir("system", "/system");
......
else
ui_print("can't find ext4 partition on your SDcard");
ui_print("install failed");
endif;
/install.sh
Code:
#!/sbin/sh
# Set the ROM name
ROM_NAME=NexusHD2
export ROM_NAME
mmcblk0p2=`ls /dev/block/mmcblk0p2`
# Mount the ext4 partition
if [ $mmcblk0p2 == "/dev/block/mmcblk0p2" ]
then
mkdir -p /ext4p
mkdir -p /sdcard/NativeSD/$ROM_NAME
mkdir -p /boot /boot_dir
mount -t ext4 /dev/block/mmcblk0p2 /ext4p
mkdir -p /ext4p/$ROM_NAME/system /ext4p/$ROM_NAME/data
mount --bind /ext4p/$ROM_NAME/system /system
mount --bind /ext4p/$ROM_NAME/data /data
mount --bind /sdcard/NativeSD/$ROM_NAME /boot
mount --bind /sdcard/NativeSD /boot_dir
#delete the old system
rm -rf /system/*
#clean the dalvik-cache
rm -rf /data/dalvik-cache/*
#all the dir has ready write some info for updater-script
echo "NativeSD=true" >> /tmp/nfo.prop
else
#no ext4 partition found
echo "NativeSD=false" >> /tmp/nfo.prop
fi
​
How to make ext4 partition on my SDCARD?
http://forum.xda-developers.com/showthread.php?p=31414628#post31414628
Spaqin said:
You just posted it, but I have a couple of questions - what is it really? How SD builds will be faster because of that? What can we expect? How will it work? Any details?
Click to expand...
Click to collapse
Securecrt will explain everything.. give the man some time to create the first post..
Expect the same/similar or even better performance compared to android on NAND with a descent SD card.
I will post an example ROM which I am working on so people can check it out @ 2nd post when I am done with it..
Spaqin said:
You just posted it, but I have a couple of questions - what is it really? How SD builds will be faster because of that? What can we expect? How will it work? Any details?
Click to expand...
Click to collapse
:laugh: Just be patient. I am updating the post.
Wow man! I can hardly wait!
securecrt said:
[coming soon] ...
This is an idea to make the HD2 more faster, I worked with Xylograph to make it more usable and easy to implement by common users.
Click to expand...
Click to collapse
Xylograph said:
Securecrt will explain everything.. give the man some time to create the first post..
Expect the same/similar or even better performance compared to android on NAND with a descent SD card.
I will post an example ROM which I am working on so people can check it out @ 2nd post when I am done with it..
Click to expand...
Click to collapse
Looking forward to trying this
Sent from my GT-I9100 using Tapatalk 2
Well everybody (especially sd rom users) waiting to test this stuff can already start by making sure they have an SD-EXT (EXT4 if possible) partition on their sd-card..
Make a big one for future use
Xylograph said:
Well everybody (especially sd rom users) waiting to test this stuff can already start by making sure they have an SD-EXT (EXT4 if possible) partition on their sd-card..
Make a big one for future use
Click to expand...
Click to collapse
ready - steady ...
dimdimdim said:
ready - steady ...
Click to expand...
Click to collapse
GO GO GO !!!
ext4 partition can be made from windows using minitool partition wizard home edition http://www.partitionwizard.com/download.html
I assume FAT32 partition should be first and ext4 partition second.
Robbie P said:
ext4 partition can be made from windows using minitool partition wizard home edition http://www.partitionwizard.com/download.html
I assume FAT32 partition should be first and ext4 partition second.
Click to expand...
Click to collapse
What size partition should I create?
I usually use partitions of 1 or 2 GB on 16 or 32 GB cards
hi..
my phone's hardware button (green button) is not working.. so i can not make any changes to magldr..
currently, my boot folder is set to ICS..
I was just wondering if its possible to edit the initrd.gz as mentioned in post 3 in such a way that it would reflect my folder (ICS) instead of NativeSD?
should i just replace all places which have NativeSD with my folder that is ICS? or is it just some specific places?
jjblaster3 said:
hi..
my phone's hardware button (green button) is not working.. so i can not make any changes to magldr..
currently, my boot folder is set to ICS..
I was just wondering if its possible to edit the initrd.gz as mentioned in post 3 in such a way that it would reflect my folder (ICS) instead of NativeSD?
should i just replace all places which have NativeSD with my folder that is ICS? or is it just some specific places?
Click to expand...
Click to collapse
I did not consider this case... let me think how to solve it.
Robbie P said:
ext4 partition can be made from windows using minitool partition wizard home edition http://www.partitionwizard.com/download.html
I assume FAT32 partition should be first and ext4 partition second.
Click to expand...
Click to collapse
Yes sir, or use recovery for partitioning your sdcard.. I recommend 4EXT recovery for the job.
aldai2 said:
What size partition should I create?
I usually use partitions of 1 or 2 GB on 16 or 32 GB cards
Click to expand...
Click to collapse
Depends on how many roms you are going to install...
I think 2 GB is a nice start.. especially when apps will be shared in future updates you won't have to install all apps over and over again.
securecrt said:
I did not consider this case... let me think how to solve it.
Click to expand...
Click to collapse
much appreciated friend, keeping my hopes up
Great work guys, have installed on a class 6, speed seems fine (personally I haven't found there to be any noticeable lag with SD builds).
Have just run some benchmarks; would attach if i could find a screenshot button. And will see how it performs for a day or two and report back before messing with it.
Just a suggestion, but with future builds are you considering adding an option to choose which ext to install to? So that you can have multiple sd-ext builds and/or a NAND build with a sd-ext and a separate sdext rom.
Likin' the installer as well, haven't used aroma too often, but you've customised this one and made it your own.
Nice Work.
Can't find screenshot, so. Using a class 6 card in:
Code:
System Test = 3398 ; SD card read/write = 13.6/8.0 MB/s
PassMark Performance = 816 ; Internal Storage read/write = 14.7/13.1 MB/s External Storage r/w = 15.1/8.27 MB/s
AnTuTu = 2741 (typical SDROM score) SD card r/w = 9.7/7.4 MB/s
jjblaster3 said:
hi..
my phone's hardware button (green button) is not working..
Click to expand...
Click to collapse
So besides changing the folder are you actually able to enter recovery without a working green key?
You'll need that 2
Xylograph said:
So besides changing the folder are you actually able to enter recovery without a working green key?
You'll need that 2
Click to expand...
Click to collapse
Couldn't he copy the files into the partition on the desktop? Using ubuntu for example, or while in a running nand build? Or would that be likely to cause issues?
Xylograph said:
So besides changing the folder are you actually able to enter recovery without a working green key?
You'll need that 2
Click to expand...
Click to collapse
well to b honest when i read on the first post that wm6.5 users and magldr users using wp7 in nand are also to be supported in the future, i never considered that recovery was a must.. guess i was wrong

int2ext won't install

Hello,
i installed AORP kitkat 4.4.2 on xperia ray and everything is ok.
I just want to install int2extv2+ script.
I tried to install the update zip file and it does not install (error status 0)
I try to copy the 40int2ext by hand to /etc/init.d and fix permission to 0755 and ghroup to shell with cm file exploerer.
After that i reboot and wipe data partition but the phone won't start. I hangs on the boot screen (which still rotate).
I have no clue how to get more information what is happening.
I formated /system and reinstalled the ROM to get back into the system but i checked /data for a log but i didn't found one. I suspect that 40intext did not start for some reason.
Maybe someone of you already did that with kitkat 4.4.2 and has an idea.
BR
Sven
Hi,
i found a solution. It works for me now with AORP 1.2 on xperia ray.
The post that pointed me to it is here:
http://forum.xda-developers.com/showthread.php?t=2577975&page=4
Modify the current 40int2ext from int2extv2+ package with the following patch and put it into /etc/init.d using CM fileexplorer amd reboot.
If a directory is not properly copied you have to wipe/factory reset and then everything worked fine for me. I guess it is because the script uses "mv" to move the data. I guess a cp -aR and a rm -rf after checking would have been a better solution but i had no time to check.
I added app-lib directory because it seemed to be missing for kitkat.
--- CronMod-INT2EXTV2+/system/etc/init.d/40int2ext 2013-02-28 18:36:42.000000000 +0100
+++ todevice/40int2ext 2014-01-26 22:29:45.000000000 +0100
@@ -10,6 +10,8 @@
VER=INT2EXTV2+
LOG=/data/$VER.log
+busybox sleep 2
+
## Only continue if mmcblk0p2 exists
if [ ! -e /dev/block/mmcblk0p2 ]
then
@@ -57,7 +59,7 @@
busybox mv /sd-ext/$VER.log /data;
## Move existing files
-for i in app app-private dalvik-cache;
+for i in app app-private dalvik-cache app-lib;
do
if [ ! -e /data/$i ]
then
Unfortunatly i can neither post in the ROM thread nor in the int2ext thread as my postcount is too low. So i post here.
BR
Sven
Use. Mount2sd
Sent from my Xperia Mini using xda app-developers app
6236552 1138
riyasopr said:
Use. Mount2sd
Sent from my Xperia Mini using xda app-developers app
Click to expand...
Click to collapse
Thanks,
it looks very goo.
I will use it when i update to AORP 2.0
Currently it is working so no need to change.
BR
Sven

Touchpad Toolbox, How to unpack and repack

What is the Touchpad Toolbox?
https://forum.xda-developers.com/showthread.php?t=2756314
A set of Scripts (programs) that allows:
Easily manage LVM, one of the greatest features of the TP.
https://wiki.archlinux.org/index.php/LVM
Create Android, WebOS volumens, or total reset.
It can make a fresh /boot directory installation adding moboot.
Reflash the battery Firmware
Install specific, older version of recovery and Rom.
How is done?
https://webos-internals.org/wiki/Angstrom_on_Touchpad
A small Linux OS is built into an img (ext2) file system and is loaded into memory as a RAMDisk.
Angstrom v2015.01
Built from branch: master
Revision: 038d832
Target system: arm-angstrom-linux-gnueabi
This information is from the file angstrom-version located in the /etc folder of the RAMDisk.
Following this instructions will unpack the RAMDisk and Kernel, then can be repack as it would with any Android system.
All this is done on Linux ubuntu 18.04 x64 system. If you have any other OS you can install Linux as a virtual machine.
1 .Create a directory
hptoolbox
2. Unzip TPToolbox-2015-01-08-v42.zip to the directory hptoolbox (http://downloads.codefi.re/jcsullins/cmtouchpad/tptoolbox/TPToolbox-2015-01-08-v42.zip
3. Open terminal in the hptoolbox directoty and paste the following commands.
Code:
dumpimage -i TPToolbox-2015-01-08-v42.bin uImage.kernel
dumpimage -i TPToolbox-2015-01-08-v42.bin -p 1 RAMDisk_Compress
dd if=RAMDisk_Compress of=RAMDisk.xz bs=64 skip=1
xz -d RAMDisk.xz
## The RAMDisk which is 67.1MB is a Linux rev 0.0 ext2 filesystem data img file.
4. Creat a loop disk to have read and write access of the RAMDisk
Code:
sudo udisksctl loop-setup -f RAMDisk
## Mapped file RAMDisk as /dev/loop16 (this is only on my system and it will be different on others)
5. Mount the 67 MB Loop Device, it can easly be done using Disks
6. Open your file manager as sudo in (my system is nautilus, it can be different on other Linux)
Code:
[email protected]:~$ sudo nautilus
[sudo] password for ubuntu:
7. The settings for the ToolBox are in /usr/tptoolbox.
You have complete control on all the files, but read what each script says on top:
Code:
# This script is Copyright (c) 2014 James Sullins, All rights reserved.
# James (JC) Sullins, aka jcsullins
# No modifications or distribution without permission
To repack the Kernel and RAMDisk
1. Unmount the RAMDisk img and Detach the loop device
2 Open terminal in the hptoolbox directory and paste the following commands.
Code:
mkimage -A arm -T ramdisk -C none -n RAMDisk -d RAMDisk uImage.RAMDisk
mkimage -A arm -T multi -C none -n "Tenderloin ToolBOX Modified" -d uImage.kernel:uImage.RAMDisk uImage.ToolBox_Modified
In my system I can not make RAMDisk using xz compression but it works uncompress is just a 70MB file.
If the RAMDisk is compress using (( xz -9 RAMDisk )) then the file size will be as the original but it will not be recognized by the kernel at boot.
3. To load using the novacom driver:
Code:
novacom boot mem:// <uImage.ToolBox_Modified
Many thanks to jcsullins for creating the ToolBox ,which allowed many users to easily transition to Android from WebOS and gave new life to a device that could have been in landfills many years ago. In my opinion this has been the greatest Tool for the TP and finding out how it works made it even more amazing!
HP_TOUCHPAD said:
What is the Touchpad Toolbox?
--SNIP--
Click to expand...
Click to collapse
You've done a great job figuring that out HP_TOUCHPAD! As a result, if Sullins agreed (assuming he would even answer the request), the TPToolbox could be modified fairly easily to handle the latest ROMS, GAPPS, and RECOVERIES. For example, it turns out that there is an unused parameter that would allow TPToolbox to install the zipfiles without any checks. Additionally, it is simple to bypass having to install a GAPPS with the ROM, or to keep all checks but the one that checks for a compatible GAPPS..
shumash said:
You've done a great job figuring that out HP_TOUCHPAD! As a result, if Sullins agreed (assuming he would even answer the request), the TPToolbox could be modified fairly easily to handle the latest ROMS, GAPPS, and RECOVERIES. For example, it turns out that there is an unused parameter that would allow TPToolbox to install the zipfiles without any checks. Additionally, it is simple to bypass having to install a GAPPS with the ROM, or to keep all checks but the one that checks for a compatible GAPPS..
Click to expand...
Click to collapse
Thank you, and yes the ToolBox can be modified very easily only if JSullins agreed.
But there is only one section that needs to be modified to update the toolbox and make compatible with all ROMS now and forever. In my opinion there is no need for the Toolbox to install any ROMS as that is the work of TWRP to do and it does it well.
This is the only modification that needs to be done to update the toolbox and make it useful forever!
In the folder toolbox/bin/make_boot (open the script)
add the following under this line : (do_run cp /usr/tptoolbox/data/moboot /mnt/boot/uImage.moboot)
Code:
do_run cp /usr/tptoolbox/data/uImage.TWRP /mnt/boot/uImage.TWRP
do_run cp /usr/tptoolbox/data/android.default.recovery /mnt/boot/android.default.recovery
do_run cp /usr/tptoolbox/data/moboot.default /mnt/boot/moboot.default
do_run cp /usr/tptoolbox/data/uImage.ToolBOX /mnt/boot/uImage.ToolBOX
copy the files to /usr/tptoolbox/data/
uImage.TWRP
android.default.recovery
moboot.default
uImage.ToolBOX (this is the toolbox.bin, renamed it to be loadable from the moboot menu.
save the script.
I do not need to tell you "the Linux Guru" what is going on, but just for the record.
When recreating the boot it will install TWRP into boot and also the ToolBOX.
Reboot and now you have TWRP and also the ToolBOX in the moboot menu and you can install any ROM using TWRP.
This will make it super easy for all users to start fresh!
Complete reset (it will install TWRP, recovery by default) nothing extra for the user to do!
Reflash battery firmare
Resize Android volumens
Reboot and install ROM
I do not think it can be any easier for anyone than this and the change is minimal!
HP_TOUCHPAD said:
Thank you, and yes the ToolBox can be modified very easily only if JSullins agreed.
But there is only one section that needs to be modified to update the toolbox and make compatible with all ROMS now and forever. In my opinion there is no need for the Toolbox to install any ROMS as that is the work of TWRP to do and it does it well.
--SNIP--
I do not think it can be any easier for anyone than this and the change is minimal!
Click to expand...
Click to collapse
I like what you're suggesting, but it's not that easy. I think you're creating a different application. The python scripts need to be modified to remove the "Install Android" option. Making users decide how to (re)install non-datamedia (DM) or DM ROMS by themselves was one of the things HPToolbox solved. I think that a better way is just to prevent all the checks that are done for three zips, gapp/rom capatibility, etc. and let users install the gapps themselves, although I can see a way to expand the allowable gapps dictionary to include the latest versions
Additionally, unless you resize /boot (which is fixed in one of the python scripts and may require lots of other changes), users who want to retain WebOS (there may be one or two left.) won't be able to install Android because there won't be enough room having uImage.TPToolbox there.
shumash said:
I like what you're suggesting, but it's not that easy. I think you're creating a different application.
There is no changes to the menu is only adding uImage.TWRP to be copy to boot.
In the Toolbox MAIN MENU
The option: Complete Data Reset
Call the script: toolbox/bin/make_boot
It will completely erase and format boot then copy files located in (/usr/tptoolbox/data/) over to /boot
It is part of the toolbox option and how it works. Nothing needs to be added or the main script modified.
By adding this code to the already (toolbox/bin/make_boot) script
Code:
do_run cp /usr/tptoolbox/data/uImage.TWRP /mnt/boot/uImage.TWRP
do_run cp /usr/tptoolbox/data/android.default.recovery /mnt/boot/android.default.recovery
do_run cp /usr/tptoolbox/data/moboot.default /mnt/boot/moboot.default
And copy those files to (/usr/tptoolbox/data/).
When the user select the option in the MENU to Complete Data Reset, it will do as always the only difference is, it will install TWRP automatically, which in my opinion it needs to be there to install and back up.
The python scripts need to be modified to remove the "Install Android" option. Making users decide how to (re)install non-datamedia (DM) or DM ROMS by themselves was one of the things HPToolbox solved.
The Install Android can be there as is and do as you are suggesting which is to remove the limitation and be able to install any recovery or gapps
I think that a better way is just to prevent all the checks that are done for three zips, gapp/rom capatibility, etc. and let users install the gapps themselves, although I can see a way to expand the allowable gapps dictionary to include the latest versions.
Yes that is perfect and the way it should have been from the beginning, to allow installation of any ROM. There is nothing malicious that anybody can do to brick the device. Reloading the toolbox (novacom boot mem:// < uImage.Toolbox) will recreate everything even if /boot is destroy.
Additionally, unless you resize /boot (which is fixed in one of the python scripts and may require lots of other changes), users who want to retain WebOS (there may be one or two left.) won't be able to install Android because there won't be enough room having uImage.TPToolbox there.
Click to expand...
Click to collapse
Correct if uImage.Toolbox ( 11 MB ) file is copy to boot and TWRP there will be 8 MB left for one uImage boot file, only one OS will be able to boot.
That could be an option and does not need to be copy to boot, but it could make it easier for "Android only users" to have it handy and no PC will be required to load it again.
Here is another simple quick modification to avoid confusion and make it easier.
When you select Install Android, the USB media is mounted and a directory /ttinstall is created. At the same time the directory is created a shortcut (link) can be place of a landing web page where the links to all ROM and Recovery can be download from, that the user can click and download the correct Recovery, ROM and gapps.
Make it super easy and avoid confusion of what to install and where to get it from. It could be a landing page any where that can be updated.
This is another issue to think about. To load any uImage to fix a problematic TP, a PC is need it with novacom drivers install.
This is the command that will fix any TP:
novacom boot mem:// <
If novacom is not install in the user PC or not working properly nothing can be done.
Idea.
Create a basic Linux OS, bare minimum that will run anywhere. Have the novacom install and the toolbox in it, with a basic browser to get the files.
The Linux OS can be distributed as a Live CD (.iso) that can be booted on any PC. This will guarantee that the novacom driver will work and load the toolbox or any other uImage into the TP.
I made my own live CD of Ubuntu 18.04 ( is a 2GB file ) that has everything set up and do any kind of work on the TP and be able to use it on any PC.
HP_TOUCHPAD said:
__SNIP__
Click to expand...
Click to collapse
All good ideas, but this is much easier.
shumash said:
All good ideas, but this is much easier.
Click to expand...
Click to collapse
Crazy complicated !
Take a very close look at the steps.
" 1) complete data reset"
Before this happens the novacom driver needs to be install. It used to be an easy one to do, but with new OS, windows or Linux it can get complicated. Nothing can be done unless this driver is properly install and the environment is properly set to load the uImage. This can easily create errors and frustration and not a successful install.
The universal Java installer used to work, not any more. It will be great to have a portable novacom driver, but I do not know if that is even possible to load and work in different OS.
But anyways doing the first steps is to load the Toolbox to do a complete data reset.
Well if the toolbox is modified, once the complete data reset is done uImage.TWRP will be already copy into boot.
The only thing you have to do is reboot the device select TWRP and do the installation as regular.
No more steps need it, and nothing else to download or install.
One step and done!
But now you need to run:
TWRP_TmpLoad_v03_win.bat
Then install TWRP, because is temporally loaded in memory.
What it does is loading uImage.TWRP using:
novacom boot mem:// <uImage.TWRP
The same way the Toolbox gets loaded in the first place.
If the Toolbox restriction gets remove then it will install TWRP, and then reboot.
Like I said the magic command is:
novacom boot mem://
Any boot uImage can be load it that way, but the only thing that will reset everything is the Toolbox.

Categories

Resources