Related
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...
{
"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"
}
This is new Android distribution based on Linux, Android and Archos stock os, using SDE from Archos.
Features:
Easy install method for external (SDcard) and Internal storage
EXT4 (much faster than ext3, can store files >4GB comparing to FAT32)
Full read/write access to every part of system
root (su + superuser.apk) out of the box
new services like: samba, sshd, vpnc, openvpn, dvbt, nfs4
3G/usb tether support
Possibility to remove some google/Archos apps
Swap memory in RAM (CompCache) or on disk by default or when you need it
No 300MB limit for apps (and no faulty app2sd required)
You can have SD card Class 8/10 - that can be much faster than internal flash (check this thread)
Many new new kernel modules (usbserial, ntfs, 3G modems, nfs4, cifs, hfs, iptables etc.)
DVB-T support for selected tuners
updated modules, firmware (like WiFi)
User friendly UrukConfig application
... and much, much more - to much to mention all here - please read changelog
Since 1.0 release main documentation source for UrukDroid is on it's WiKi. Please use it as a first and primary information source for UD.
Link to project (googlecode) page is: http://code.google.com/p/urukdroid
Update (10.09.2015)
Since code.google.com is no longer working (read only for limited time) - here are working links to latest (and final) release of UrukDroid: Dropbox,
I hope that new, much more detailed and complete documentation will help you use UrukDroid at it's full potential.
Changelog, proposed futures
Changelog:
UrukDroid 1.6 (02.01.2012) "DOV FUS LOS Wahl ko Daar Sivaas!"
[CHANGE] Incorporated changes from Archos firmware 2.4.19, 2.4.65, 2.4.80 and 2.4.81
[CHANGE] Updated superuser apk and binaries
[FIX] Fixed some library linking
[NEW] Changed top bar button size to 32px permanently
[NEW] New overclock module from milestone-overclock to change CPU voltage and max frequencies on the fly
[CHANGE] Added overclock support to CPUGovernor service
[FIX] Restored proper busybox binary
[NEW] New patches on kernel from December update from Archos git
[NEW] Full iptables support (with NAT, conntrack etc) - so everything is now possible (redirect, proxies etc)
[NEW] Full kernel timing for power consumption monitoring
[NEW] Recompiled WiFi? and HDMI drivers
[NEW] Added python 2.7, iotop (for watching i/o operations), PowerTOP (for power consumption monitoring - but it's not as useful as on x86)
[NEW] Added ntfs-3g support - full read/write support for NTFS file systems (need to be used manually, vold does not use it)
[CHANGE] Added UrukDroid? Rescue Menu - Repair submenu with disabling overclocking (for those who made their device unbootable with overclocking) and Dalvik cache cleaner
[NEW] New feature in cpugovernor script (genconf, current)
[CHANGE] New features in update subsystem
scripts now tries to keep /data/.tmp directory cleaner,
for those with disk shortage /data/.tmp can be now symlink to directory on sdcard
updater now checks if you have enough free space in /data/.tmp before it begin installation
update process now can be during bootup (better one) if you have enough free space on rootfs, or on running system (not so nice - this is default behavior until UD 1.6 release)
[CHANGE] restoring backup in Rescue Menu now erases partition before restore (until now it was just overwriting)
[FIX] added (again ) xbox pad kernel support (was missed out in new kernel compilation)
[FIX] fixes scp/sftp-server (on some configuration refused to start child processes)
UrukDroid 1.5 (16.0.2011) Manamana!
[CHANGE] Since UrukDroid? 1.1 (both beta1/2/3 and release candidate 1/2/3) had stability and compatibility issues - that I was unable to trace down (too many changes on changes etc.) - I've decided to implement all stuff from beginning on fresh OS. Since all "reverse engineering" stuff was already made and I already have required knowledge - It should be the fastest method. So entire system is cleaned up, updated to latest binaries - and so far looks good . That's why I've bumped version to 1.5 - just to make it a bit more visible it's not a straight continuation of 1.0/1.1.
[FIX] No more "soft reboots" (system reloaded it's graphics UI part)
[FIX] No more turning off WiFi issue (but it happens that WiFi can't pop in after full reboot - another reboot is required)
[FIX] CIFS startup on boot (Issue 57)
[CHANGE] Update process should be now more chatty and report more errors
[CHANGE] Reverted back WPA service (which enable UrukDroid? WPA supplicant with AdHoc? support) - since some people reported problems with adding new networks with Uruk version of WPA supplicant.
[CHANGE] Merged changes from Archos 2.3.28 OS
[NEW] New wpa_supplicant - hopefully with all features and without most of known problems (sometimes it still refuses to start)
[CHANGE] Updated modules and kernel
[FIX] Fix camera support for A43
[CHANGE] Merged changes from Archos 2.3.26 OS
[CHANGE] Redesigned services to output more reliable status
[FIX] Mediascanner fixes (did not rescan data sometimes)
[NEW] Introduced in 1.0 "Rescue Menu" now fully functional (RM)
[NEW] RescueMenu now have Alternative OS? boot feature
[NEW] RescueMenu now have "bare metal" backup/restore functionality
[NEW] Update process will now communicate with user with help of UrukConfig
[NEW] Enabled cgroups
[FIX] "Moved" boot image on A101
[FIX] 3Gmodem_init.sh fixes
[NEW] You can dissable boot from SDCard by naming any of it's partition "noboot" ('[email protected]:/root# e2label /dev/block/mmcblk2p1 noboot')
[NEW] patch (by Sibere) increasing USB current in Host mode
[NEW] New default apps in UrukDroid 1.5: WiFi Manager, FileExpert, QuickPic, Opera browser
UrukDroid 1.0 (30.04.2011)
[FIX] sshfs missing files fix
[FIX] EasyInstall: changed datafs max size from 2GB to 1.95GB (for market to work), fixed partition sizes for A101 16GB when doing internal install with resize, fixed installation for A70H devices
[NEW] small script to copy UrukDroid files from SDCard (external) to Internall (copy_from_sd_to_internal.sh)
[CHANGE] Changed behaviour of dvb service (device configuration)
[FIX] Added some missing modules for DVB support
[CHANGE] New kernel modules for more dvb devices (but it requires manual loading and testing)
[NEW] rsync tool
[CHANGE] swap service now can work on swap partition (or like before on swap file), also after mounting sdcard ext4 partition
[NEW] Ad-Hoc WiFi connection support by default (networks are visible with "*" on beginning of it's SSID)
[CHANGE] Some new progress indicators during install/upgrade
[NEW] Simple Animation during late phase of bootup
[NEW] New service: cifs (to load cifs modules)
[NEW] Added cgroups kernel setting
[NEW] Moved some modules dependencies (cifs,ntfs,dvb) to /etc/modprobe.d
UrukDroid 0.7 (28.02.2011) you're damn right it's a gift!!
[NEW] NFSv4 client support
[NEW] FS-Cache (cachefilesd) support for NFS (local disk cache for NFS files)
[NEW] sshfs support
[FIX] OpenVPN fix - thanks to nenadr
[FIX] PPtP fix - thanks to nenadr
[NEW] vpnc tool for using Cisco VPN connections
[NEW] vpnc UrukDroid service
[CHANGE] Updated to libc6 2.11 (and all binaries recompiled/changed because of it - big change)
[NEW] new gnu tools: nmap
[NEW] EasyInstall now allows installing UrukDroid on internal (mmcblk1) storage in A70 and A101
[NEW] Integrated 3G USB modem and RNDIS USB tethering service by nenadr
[CHANGE] New iobench.sh (with new bonnie++ test)
[CHANGE] Changed device fingerprint to work better with google market (enable download some missing apps)
[CHANGE] Merged Archos 2.1.8 firmware changes
[CHANGE] Changed DVB subsystem support and kernel/modules dependencies to work with new v4l2 modules (it will brake compatibility with most other kernels probably)
[FIX] Changes it UrukUpdate mechanism to work every time when file is moved to "/data/UrukUpdate"
[NEW] Added required modules and iptables service configuration for DroidWall (firewall) application
[NEW] sudo subsystem for launching properly some root tasks
UrukDroid 0.6 (11.02.2011) Eye of the Uruk... in new logo
[CHANGE] Merged changes from Archos firmware 2.1.2/2.1.3/2.1.4
[CHANGE] DVB support with LiveTV.apk from chulri (for selected cards, there are more modules then listed in /etc/uruk.conf/dvb - but it requires to do some experiment and report it back)
[CHANGE] Changed Uruk service to work better with new UrukConfig
[NEW] New services: openvpn, mediascanner
[NEW] IO Benchmark tool: iobench.sh
[NEW] Possibility to turn off mediascanner and use it on demand only
[FIX] Fixed mount_sdcard.sh script to work with 2.1.2 ext3 partitions
[NEW] Updated boot sequence with progress during upgrade/install
[NEW] You can hide soft buttons (Archos buttons) with UrukConfig
[NEW] Easy Install method - no need to know anything about Linux - just plug and wait...
[NEW] Kernel modules for 3g dongle
UrukDroid 0.5 (27.01.2011) Tom Bombadil... in red
[NEW] CompCache (aka ramzswap) support
[NEW] New CPU governor - interactive. Ported from XDA CyanogenMOD
[NEW] DVB: applied patches by chulri, Siano SMS1XXX USB support
[NEW] DVB: modules from outside kernel tree
[NEW] Some more GNU tools: gzip utils, zip utils, unzip utils, nc (NetCut for DVB streaming)
[CHANGE] New services model - so they can be easily run/configured with help of UI
[NEW] New kernel modules: usbnet, lzo
[NEW] Mediascanner modification - it should has much, much smaller impact on system performance
[NEW] sqlite3 (3.5.9) installed, for easy database file manipulation
[NEW] after restart of UrukDroid it will boot once again to Uruk without need of pressing any buttons, to boot on stock OS please use boot menu
[FIX] mount_sdcard.sh fixed so it will mount first ext4 partition on sdcard if exist, and will not interfere with Vold if its vfat
[CHANGE] New update/upgrade/flash model - everything done on UrukDroid - no boot menu required
[NEW] New application to configure UrukDroid - UrukConfig.apk. Installed with this release. Can be uninstalled in default way.
[FIX] Fixed corrupted logo in A101
[NEW] Unified kernel for UrukDroid on SDCard and internal storage (A70S/A101)
[CHANGE] Services ENABLED with this release: CpuGovernor, CompCache
UrukDroid 0.4.2 (21.01.2011)
Just extracted as a separate update file GoogleMarket
UrukDroid 0.4.1 (15.01.2011) Myyy preciousssss...
Some more tools like: bc, proc utils, vim, tcpdump, bzip2, tar etc.
Android apps (Market, Maps, Talk, Calendar, Contact, Feedback, Locator, Updater) by default
Samba (3.2.5) support for sharing /mnt/storage (internal and sdcard storage) from Archos
Dropbear SSH server
Backported modprobe, depmod etc. tools for modules management
WiFI driver recompiled, WiFi HW firmware update (from 6.1.0.0.335 to 6.1.5.44.7)
Initial DVB-T support (Afatech AF9005, Afatech AF9015, DiBcom DiB0700, Terratec CinergyT2/qanu)
Bootlogo with progress steps
Cleanups of initramfs and rootfs
EXT4 drivers backported from 2.6.30 - some mount changes (to prevent config files corruption)
Initial A70H support
SDCard/HD layout changed
Autoupgrade service and installation helper
ADB fixes
Removed two apps. TelephonyProvider.apk, Phone.apk
Since 0.4 all services are DISABLED by default, to enable it edit proper config file in /etc/uruk.conf/
UrukDroid 0.3 (9.01.2011) Rise my Uruk... not yet Hai
iptables, ntfs support
some more USB modules: usbserial, pl2303
fixed bluetooth problem (not working in Uruk 0.2)
automounting improvements (much more bulletproof)
new configuration files (/etc/uruk.conf/) to enable/disable features
new Uruk services (/etc/uruk.d/)
some more GNU utils openssh-client, coreutils
USB charging enabled (NOT tested!!!) - It would required much more power then standard USB in PC can give, use USB wall/car charges or double/triple USB cables
UrukDroid 0.2 (5.01.2011) Go GNU release
"smart" automounting script (that will mount ext4/vfat third partition from sdcard in RIGHT place, AFTER internal storage is mount)
plenty of useful GNU tools: whole e2fstools (mkfs, fsck for ext2/ext3/ext4), parted (for partition resize, format etc.), vfat tools, new toolbox, mtr, top, strace, bash - and much more (look in /usr/local/bin and /usr/local/sbin)
swap memory ON by default (50MIB file /swap01.file)
required compiled libraries libparted, libncurses, libe2fs... etc. (look in /usr/local/lib)
new text editor in text mode: nano (my favourite)
some init.rc cleanups
kernel changes (mostly toward console output)
fixed small (but problematic) misconfiguration in Archos (yep original one) Android in linking /etc/mtab
UrukDroid 0.1 (30.12.2010) Initial "release"
recompiled kernel with ext4, nfs4, fb console
added su and superuser.apk
bootup changes (to make it work)
Features planed in next releases:
backup scripts
proxy settings
CynanogenMOD parts backported
OC/UC kernel be default
FAQ or Tips & Tricks
More information you can find in seperate thread on this forum - FAQ + Question/Awnsers
How to upgrade from previous releases
To upgrade from 0.5 you should download special upgrade file (UrukDroid-0.6-upgrade.tbz2) from first post. You need to place this file in directory "/data/UrukUpdate".
First method:
Put it on your internal storage by any means - this is /mnt/storage (also visible as /sdcard/). Then use file manager (like Astro or RooteExplorer - not build in one) or do as follow in terminal (or over ssh)
Code:
su
cd /sdcard/
mv UrukDroid-0.6-upgrade.tbz2 /data/UrukUpdate/
Second method:
Use UrukConfig to enable SSHD (if you don't have it started already), and use any SCP/SSH client (like WinSCP, or plain scp on Linux) to copy file (default username is "root", password is "UrukDroid") to "/data/UrukUpdate".
In both cases upgrade will start automatically; alter kernel, initramfs and when finished, device will reboot itself.
How to enable/disable and configure UrukDroid services?
UrukDroid services are configured by text files, that can be found in /etc/uruk.conf/ directory. You can use file manager like RootExplorer or Terminal to edit them, but most convinient way is to use SSHD service and some ssh client (for example putty).
You can also use UrukConfig application - build in since 0.5 release. After you do some changes, restart service (/etc/uruk.d/service_name stop/start) or simply reboot Archos. Since 0.5, by default only CompCache and CPUGovernor are enabled.
Currently available services
samba - it's SMBD server allowing mounting your Archos storage directory on your PC. Default user is "storage" and password "UrukDroid"
sshd - SSH server allows you to connect to your Archos with any ssh client, work on terminal. It also allows to copy files with scp/sft. Default user is "root", password "UrukDroid"
swap - this service enable swap memory. It can make Archos a bit less responsive but memory manager won't kill application so quickly (co you can use WWW browser, email an communicator simultaneously - for example of course)
iptables - this pseudo service will load necessary modules to use iptables (firewall) features
ntfs - if you plan to connect NTFS formatted devices to your Archos - enable this service
dvb - this service load necessary modules to watch TV on your Archos. This service requires configuration from your side - it won't work "as is". Please read and edit config file (/etc/uruk.conf/dvb)
compcache - Start/stop CompCache swap memory service. Compcache is a compressed part of memory, where less used object reside. Usual compression ratio is 70%
cpugovernor - Changes default CPU governor and it's parameters. Governor decides how to scale CPU frequency. Since 0.5 there is new "interactive" governor.
openvpn - It's an implementation of popular free VPN service for Uruk. It will act like the one used in Archos stock config with difference it will work all the time - whenever you go, and you have full flexibility of configuration. Config file resides in /etc/openvpn/archos.conf.
VPNC - It's open implementation of Cisco VPN service. You should edit /etc/vpnc/archos.conf file.
NFS4 - NFS v4 client service allows you to mount remote file storage with use of NFS (much faster then SMB for example). You can also enable use of cachefilesd sub-service - that will cache locally, files transferred with NFS (for smooth playback of movies for example)
How to remove some default apps?
App started at the boot time are stored in /system/app, I've already removed some of them by moving it to /system/app.old/ - but you can do it by your own - but remember - some of them are actually required to run system
Some filesystems benchmarks (that's the reason why I wanted ext4 so badly)
Write tests (I've testes different filesystem and partition sizes)...
Tests on Archos:
internal 8GB
0,71Mb/s ext3,ordered,noatime
5,45Mb/s fat32
Lexar 16GB
2,63MB/s ext3,ordered
6,25MB/s ext4,ordered
Test on computer (the same lexar card)
2.93Mb/s 1GB,ext3,noatime
2.78Mb/s 1GB,ext3
3.04Mb/s 1GB,ext2
8.62Mb/s 1GB,vfat
7.61Mb/s 1GB,btrfs
7.87Mb/s 1GB,ext4
7.87Mb/s 16GB,ext4
Card is 16GB SDHC Lexar class 6 only - so this toshiba nand inside is not state of the art either :/
How to roughly check your filesystem write speed
Go to directory where you can write and were is more then 100MiB of free space and do the line. It will sync devices (flush all write caches), write 100MiB file filled with zeros, and fush caches once again to measure real write speed without buffers. Then easy math... and my laptop disk has write speed 16,66MiB/s
Code:
[email protected]:/tmp$ sync; date; dd if=/dev/zero of=test.file bs=1M count=100 2>/dev/null; sync; date
Wed Jan 5 19:02:28 CET 2011
Wed Jan 5 19:02:34 CET 2011
[email protected]:/tmp$ bc -q
scale=4
100/(34-28)
16.6666
quit
UrukDroid configuration system
I've created (or recreated, since Google threw away existing Sytem V and other solutions) something that works like rc/init.d system. It's old fashion, but for only few services will do it's job.
There are few location to remember:
/system/etc/uruk.d/ - directory with services
/system/etc/uruk.conf/ - directory with configuration files
/system/etc/init.d/ - symlinks Sxxserice/Kxxservice (like S01swap) to be run during startup process
Proper path is /system/etc/ but it's symlinked on every Archos to /etc - so you can also work on /etc/uruk.d, /etc/uruk.conf etc.
To enable iptables support (load proper module) it's enought to edit /system/etc/uruk.conf/iptables
To change swap memory settings edit /system/etc/uruk.conf/swap
How to mount ext4 under Windows?
There is project called "ext2read" that claims to work with ext4 also (I've only tested it with ext2 long time ago - it worked) http://sourceforge.net/projects/ext2read/ - please write some commends if you use it.
What is current directory/disk layout?
/ -> SDCard first partition (512M) - for root filesystem
/data -> SDCard second partition (1GB) - for installed apps
/mnt/storage -> internal 6GB partition - for data used by installed apps
/mnt/storage/sdcard -> SDCard third partition - anything you want, nothing by default
/mnt/sdcard2 - proposed mount point for other volumes, not used by default
And there is something called symbolic links (symlinks) - witch is kind of Win shortcut used on UN*X extensively.
/sdcard -> /mnt/storage
/storage -> /mnt/storage
/mnt/sdcard -> /mnt/storage
So you can enter /sdcard - and you are be using files from /mnt/storage. You can also create symblinks by yourself
Code:
ln -s /source destinations
How to gather data report from UrukDroid
Best way is to use SSH. For this, please start "sshd" service on UrukDroid by using UrukConfig application or by editing /etc/uruk.conf/sshd file.
First start will take one minute or so - since sshd has to generate unique encryption keys.
If you use Windows download putty.exe (ssh client) and run it. Write your Archos IP (it has to be visible in network) and connect.
Use
Login: root
Password: UrukDroid
Click to expand...
Click to collapse
Now you can write Linux commands and cut/paste results for help/debug purpose.
Thanks!
I think you talked me into it! I'll play with it tomorrow.
I've found this on Nook Color thread http://forum.xda-developers.com/showthread.php?t=888216
Can someone test is it worth to do on Archos? I think we don't need phone service running in background. Ill try this tomorrow when i get back to home but maybe someone can test earlier?
sorry for asking,but what is the point in doing step 3,i mean what does it actually do?
This is backup of install instruction, leaving more space for custom approach. Instruction in first post is now much simpler with less 'if/or'.
Material for this thread came from discussion here. So please be kind read also this thread before getting to work
This is mini how-to boot modified Archos Android from SD card, using SDE. It's base on 2.0.71.
Since this Android mod/distribution required some name - let it be Uruk-Droid
Why bother:
ext4 (much faster than ext3, can store files >4GB comparing to FAT32)
full r/w access to every part of system
root (su + superuser.apk) out of the box
possibility to remove some google/Archos apps (already done partly)
swap memory when you need it
no 300MB limit for apps (and no faulty app2sd required)
you can have SD card Class 8/10 - and that's much faster storage than internal flash (inside is something equal class 6 or 4)
Warning
Be aware that this modification requires SDE and probably some Linux knowledge.
By doing described below steps you probably can't brick your Archos - but do it on your own risk.
Root access on your devices makes it less secure form malicious software (user more head - less fingers )
Known problems:
Android automounter (vold) does not recognize EXT4 in stock firmware - so it will claim SD card is damaged (it's just a message) (FIXED)
Before you start:
Read about SDE on forum
Install some terminal emulator from Market (eg. "Android Terminal Emulator")
You should have 2.0.71 already installed (I'm not sure if it's required but only with that configuration tested)
All operations described here, done on Linux or Android should be done from root user (you can switch to that user in terminal by typing "su" or "sudo su" command)
If you don't have Linux - find any recent Rescue CD, Live CD or Virtual disk (VirtualBox or VMware) - distributions does not matter
SD card partition design
First of all, preferably buy card class 6+. So it won't be slower than internal storage
I'm currently using 3 partitions
0,5GB / (rootfs)
1GB /data
rest /mnt/storage/sdcard/
but You can create one big partition instead - I've made my configuration because of easiness to backup and upgrade (rootfs is easy to upgrade later on, /data has only runtime data and application, rest is for movies etc.) Size of /data partition determines how many apps you can install on your device.
Here it's how it looks on fdisk
Code:
linux-machine:~# fdisk -l /dev/sdb
Disk /dev/sdb: 16.0 GB, 16012804096 bytes
199 heads, 44 sectors/track, 3571 cylinders
Units = cylinders of 8756 * 512 = 4483072 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000
Device Boot Start End Blocks Id System
/dev/sdb1 1 121 529716 83 Linux
/dev/sdb2 122 362 1055098 83 Linux
/dev/sdb3 363 3571 14049002 83 Linux
Step one
Create at least one primary partition on SD card with fdisk, gparted, parted or any other partitioning tool. Assuming your SDCARD is visible as /dev/sdb (on Linux box - check "dmesg").
Code:
su (go root)
fdisk /dev/sdb
fdisk options (it's interactive):
p (print existing partitions)
d n (delete partition by it's number 1,2,3 etc)
n (create partition, you will be asked about type (primary, secondary - go primary), number (give first available), start sector (just enter will set first possible), size (you can give it as +1M, +2G etc)
w (write all changes, until you give this command no changes are made on disk physically)
Format partitions as EXT4 - but without huge_file option (it won't work with this feature since it requires special kernel option that brakes compatibility with existing modules).
Code:
su (go root)
mkfs.ext4 -O ^huge_file /dev/sdb1
If you created more partitions - do those steps for everyone.
Code:
mkfs.ext4 -O ^huge_file /dev/sdb2
mkfs.ext4 -O ^huge_file /dev/sdb3
Kind of "session log" for this steps you can find in this post.
Step two
Extract content of rootfs.tar.gz onto first partition on SD card (it HAS to be first one). Do it from root account on Linux/UNI*X box - or you won't transfer all permissions properly (mainly +s on su/superuser.apk).
assuming your SD Card is visible under Linux as /dev/sdb (you can check it by typing "dmesg" after you connect it)
open terminal/shell - go root: su, or sudo su
create mount point: mkdir /tmp/sdcard
mount it (if it's not mounted already) for example: mount /dev/sdb1 /tmp/sdcard
go to /tmp/sdcard directory: cd /tmp/sdcard
extract rootfs: tar -zxf /path_to_file/rootfs.tar.gz
exit directory: cd
umount your card: umount /tmp/sdcard
Flash initramfs.gz and zImage from SDE boot menu:
reboot Archos70, hold up or down volume key until you see Recovery menu,
choose "Recovery System"->"Developer Edition Menu"->"Flash Kernel and Initramfs",
connect Archos to PC and copy initramfs.gz and zImage to device
Reboot and hold up or down volume, choose "Developer Edition".
You should see all yours apps etc. - it should look like your Archos , but with su/superuser.apk etc. (check it on terminal emulator by typing "su" and enter).
Before go to next step make sure you have booted to SDE system AND it has root access! (check "su" in terminal, run root explorer or titanium backup)
Step three
It's kind of optional - since you have already working system - but it's not fun yet
Now you should copy /data files onto SD card. Use terminal emulator (from market can be "Android Terminal Emulator") or sshd (QuickSSHd and log into your tablet) and do:
If you have ONE partition
Code:
su
cp -rp /data/* /data.new/
If two or more
Code:
su
mount -t ext4 /dev/block/mmcblk2p2 /data.new
cp -rp /data/* /data.new/
umount /data.new/
Poweroff device.
Step four
Put card into computer and:
one partion
remove /data
rename /data.new to /data
On Linux it may look like this:
Code:
su (or sometimes "sudo su")
mkdir /tmp/sdcard
mount /dev/sdb1 /tmp/sdcard
cd /tmp/sdcard
rm -rf data
mv data.new data
edit /init.rc (it's /init.rc on Android - on Linux box it's going to be something like /tmp/sdcard/init.rc) - use any editor to modify file - do it as a root!
Code:
su
vi /tmp/sdcard/init.rc (edit the file)
umount /tmp/sdcard/
What to edit:
Code:
# Comment this
# mount ext3 /dev/block/mmcblk0p4 /data noatime nosuid
# Uncomment this
# mount ext4 /dev/block/mmcblk2p2 /data noatime
mount ext3 /dev/block/mmcblk0p4 /data.old noatime nosuid
two or more partitions
edit /init.rc (it's /init.rc on Android - on Linux box it's going to be something like /tmp/sdcard/init.rc) - use any editor to modify file - do it as a root!
Code:
su (or sometimes "sudo su")
mkdir /tmp/sdcard
mount /dev/sdb1 /tmp/sdcard
cd /tmp/sdcard
vi init.rc (edit file)
umount /tmp/sdcard
What to edit:
Code:
# Comment this
# mount ext3 /dev/block/mmcblk0p4 /data noatime nosuid
# Uncomment this
mount ext4 /dev/block/mmcblk2p2 /data noatime
mount ext3 /dev/block/mmcblk0p4 /data.old noatime nosuid
If you have third partition on SDCARD, whether it's EXT4 (recommended) or FAT32 it should by automounted since 0.2 version.
Reboot - it should work
End
Stuff you can do later:
Vold - automount daemon on android is quit.... crappy - to let go message about "sd card damaged" edit /etc/vold.fstab and hash the line "dev_mount_lun volume_sdcard /mnt/storage/sdcard...."
Other partitions - if, by any reason, you have more partition on SD card (more then 3) you can also mount it putting in init.rc (there are some potential issues with vold to be solved)
for ext4
Code:
mount ext4 /dev/block/mmcblk2p5 /mnt/sdcard2 noatime nosuid
For fat32 partition preferably tweak with Vold config (/etc/vold.fstab) - or add something like this (in init.rc)
Code:
mount vfat /dev/block/mmcblk2p3 /mnt/sdcard2 uid=1000 gid=1015 fmask=0000 dmask=0000
Files (UrukDroid-0.3):
Megaupload.com
initramfs.cpio.gz
zImage
rootfs.tar.gz
Dropbox.com (there can be server error because of download limit)
http://dl.dropbox.com/u/1017593/ArchosGEN8/UrukDroid-0.3/rootfs.tar.gz
http://dl.dropbox.com/u/1017593/ArchosGEN8/UrukDroid-0.3/initramfs.cpio.gz
http://dl.dropbox.com/u/1017593/ArchosGEN8/UrukDroid-0.3/zImage
Nm you said it's faster, interesting... I may test that out.
IMHO you should point out that it is a great security risk for having access to root without any password.
BTW this comment is not meant to insult you in anyway, but I think it is only fair to people that will use it and to cover your own ass.
Maurice
Does this require a clean system to do the SDE Root? what happens to everything already installed etc.
MoonPhantasm said:
Nm you said it's faster, interesting... I may test that out.
Click to expand...
Click to collapse
There was already link to my write speed tests (now I've pasted it to second post) - read speed is about the same. In quadrant I have something about ~2300 (one of quadrants test is I/O benchmark) - but that's not my goal - so I don't care much about that kind of speed.
divx118 said:
IMHO you should point out that it is a great security risk for having access to root without any password.
BTW this comment is not meant to insult you in anyway, but I think it is only fair to people that will use it and to cover your own ass.
Click to expand...
Click to collapse
Of course your are right - but that's kind of obvious, and that's the reason why superuser.apk requires to specify what process can gain root access (I know it's not strong security - but better something than nothing)
Is there any way to do this on the a32, or can will there be a solution for the 32.
I had SDE installed before, but I used the uninstall developer edition option in the boot menu. Now, regardless of if I use the .aos file from archos that has SDE, whenever I reboot holding a volume button, I get to a menu that says "Archos A101IT Recovery", and "Would you like to recover your system?" with the following options:
No
Update Firmware
Repair System
Format System
I select update firmware, and all I get is an update failed error.
I don't know what to do. I have a basic linux knowledge, so I have my sd card properly formatted, without the huge file option. I've extracted the contents of rootfs.tar.gz to the first partition.
Any ideas on what to do?
$aur0n said:
I don't have that problem since I use Linux everywhere
My mmcblk2p3 is also EXT4 partition (since fat 32 has 4/2gb file size limitation it's only place where I can put bigger files - mainly movies. It's one of ther reasons why ext4 is good for the task).
To mount (vfat or ext4) during but of Archos put in init.rc
Code:
mount ext4 /dev/block/mmcblk2p3 /mnt/storage/sdcard noatime nosuid
or
mount vfat /dev/block/mmcblk2p3 /mnt/storage/sdcard
just after mount of /data.old for example..
/mnt/storage/sdcard is the place where automounter would normally mount this device.
Click to expand...
Click to collapse
I did try to add it to init.rc, but it wouldn't mount.
Running "busybox mount -t vfat /dev/block/mmcblk2p3 /mnt/storage/sdcard" after boot seems to work however.
Is /mnt/storage mounted yet at that point? It seems to be separately mounted ("mount" shows /dev/block/vold/179:9 mounted on /mnt/storage, but I can't find any line related to that in init.rc)
Since "Preparing internal storage" appears after boot, I assume the SD card has to be mounted after that (unless I mount it somewhere else, which would break compatibility with some apps)
Actually, I'd prefer if the SD card was mounted on /mnt/storage, and the internal storage on /mnt/storage/internal, is there a way to do that?
Edit: Ah, I checked that /etc/vold.fstab file. It seems to be what I need to edit to auto mount the SD card, but I'm not sure what I need to edit.
The line currently reads:
dev_mount_lun volume_sdcard /mnt/storage/sdcard auto /devices/platform/usb_mass_storage/lun1 /class/block/mmcblk2
"auto" seems to be the partition number, I tried to change this to different values as well as changing mmcblk2 to mmcblk2p3, but they result in the same SD card damaged message. Is this a no-go and just won't work or am I doing something wrong? Either way, it seems like it's the only way to mount the SD card at boot if I want it mounted to /mnt/storage/sdcard.
Edit 2:
Adding these 2 lines to init.rc and commenting out the equivalent lines in /etc/vold.fstab seems to work:
mount vfat /dev/block/mmcblk2p3 /mnt/storage
mount vfat /dev/block/mmcblk1p1 /mnt/storage/internal
Now I have the SD card mounted on /sdcard
However, the settings won't show the space information now, so I have to connect it to the PC to check free space. Is there a better way to do it?
Jdbye said:
I did try to add it to init.rc, but it wouldn't mount.
Running "busybox mount -t vfat /dev/block/mmcblk2p3 /mnt/storage/sdcard" after boot seems to work however.
Is /mnt/storage mounted yet at that point? It seems to be separately mounted
Click to expand...
Click to collapse
No, this mount point (/mnt/storage/sdcard) is not ready yet at this point - that's why I've changed it to /mnt/sdcard2 in howto. It's not good solutions (since probably some tools won't find media - like movie player) - but the only one for now. Vold is crappy, and even so it should mount _first_ usable partition (with auto option) but it does not want to do that. I can't check it, since I don't have vfat on sdcard, but probably the only solution is to do separate script/service with delayed mount - that's what I'm going to do for now, later on (in next release).
Q: However, the settings won't show the space information now, so I have to connect it to the PC to check free space. Is there a better way to do it?
A: (kind of joke) - user "df -h" in terminal, probably some more smart tools with gui are also able to show space used by "other" devices.
hurrpancakes said:
Any ideas on what to do?
Click to expand...
Click to collapse
I guess it's some Archos SDE bug and you should report it (I thing that after uninstall of SDE and second install you should see developer menu back - if not,
it's error or faulty "watermarking" at work)
jab12 said:
Is there any way to do this on the a32, or can will there be a solution for the 32.
Click to expand...
Click to collapse
My guess - it may also work for you. All gen8 devices have the same kernel and system - so give it a try.
xShadoWxDrifTx said:
Does this require a clean system to do the SDE Root? what happens to everything already installed etc.
Click to expand...
Click to collapse
Everything that is installed on INTERNAL 8GB storage is untouch. So even when sde fails to boot, you can go back to original Archos Android and work on that.
When you follow my instr. you should see second Android with all yours application installed but on ext4 with root etc. etc.
$aur0n said:
I guess it's some Archos SDE bug and you should report it (I thing that after uninstall of SDE and second install you should see developer menu back - if not,
it's error or faulty "watermarking" at work)
Click to expand...
Click to collapse
I think the error may lie in the fact that I have to access my sd card by mounting it through my a101. Tomorrow (or later today, rather) I will get a sd card reader so I won't have to rely on using the tablet.
Hi, thanks for howto.
Can we keep the superuser mode explained in this topic http://forum.xda-developers.com/showthread.php?t=880321&page=13 And use your method (in case i forgot m'y sd card And need root access)
Introduction
This is my first Android application and I'm looking for testers and feedback.
LUKS Manager
LUKS Manager provides on-the-fly encryption (AES by default) to virtual folders on Android devices.
The virtual folders can be dynamically mounted, unmounted, created and deleted as needed.
(Think TrueCrypt like functionality)
Volumes and loopback device information are stored in: /mnt/sdcard/luks/.data
And the encrypted volumes are mounted at: /mnt/sdcard/luks/<volume_name>
Requirements
The Android device must:
Be rooted
Have a kernel that supports secure dm-crypt modes and loopback devices
Have a current version of BusyBox installed
Have SuperUser app installed
This package contains:
A statically compiled, stripped and UPX compressed version of cryptsetup for the ARM using the tools provided by the The Guardian Project.
A statically compiled and stripped version of mkdosfs from dosfstools package for the ARM7.
A bash shell script called "luks" that does volume management.
And a native java app that provides a GUI interface to the luks script, a basic file explorer and simple text editor.
Download
You can find more on the apps homepage at:
nemesis2.qx.net/pages/LUKSManager/
Or the Android Market:
market.android.com/details?id=com.nemesis2.luksmanager
Changelog
Version 2.3:
Major rewrite to the luks shell script and GUI app to support user defined volume locations.
Encryption cipher and keysize are now user definable. (kernel support required)
Moved storage of volume information from /mnt/sdcard/luks/.data to /data/data/com.nemesis2.luksmanager/.data
Prompts to upgrade if loop device files are found in SDCard .data directory.
Removed top level restriction on file explorer activity.
Default file system changed from EXT4 to EXT2.
FAT file system support now enabled by default.
Added volume mount and unmount desktop shortcuts.
Added notification when volumes are mounted. (Can be toggled off in preferences)
Added landscape support to the main and volume edit activities.
Added basic SDcard support to install binaries routine.
(Fixes java.lang.NullPointerException on binary install.)
Added toggle to disable binary hash checks on startup. This enables
customized luks scripts and/or binaries.
Small fix to application initialization. (hopefully fixes odd reboot
issue on some devices)
Attempts to unmount volumes on ACTION_SHUTDOWN and MEDIA_EJECT broadcasts.
Additional checks and error handling if no volumes exist.
Additional error handling in luks script during volume mounting and creation.
Added required BusyBox applet checks on startup.
About Dialog additions / changes.
Small text changes (formatting and typo fixes).
Version 2.2:
Recompiled lm.crypsetup binary under android-ndk-r6b.
Hopefully this will stop segfaults on various devices.
Version 2.1:
Added widget:
When volumes are mounted the widget will turn red and display the number of currently mounted volumes.
A single touch unmounts all volumes.
Rewrote luks script and internal routines to use busybox all the time to avoid toolbox/busybox symlink conflicts.
Added the ability to password protect the create/remove buttons, volume properties and preferences dialog.
Improved error handling in luks script on mount.
Added additional scripts: pre-mount and pre-unmount.
Added volume management Activity.
Volume mount points are now user defineable.
The volumes loopback device is now user definable.
Added an internal file editor (to edit bash scripts).
(Editor can be used outside of LUKS Manager to edit files).
Fixed Force Close when mounting with a blank password.
Version 2.0: Added Preferences Activity.
Now allows FAT formatted volumes.
(works w/FreeOTFE on windows)
Improved error handling/cleanup on failed volume creation.
Added lm.mkdosfs binary to assets.
The lm.mkdosfs binary is sha1 hashed and replaced if out-dated or changed.
Remove Binaries nows includes the lm.mkdosfs binary.
Added additional menu options to Activities.
Increased debug logging and added system probe.
(Don't enable for normal usage!)
Added option to launch Explorer on volume mount.
Redirected stderr to stdout using redirectErrorStream.
Added validation checks to volume creation. (non-blank, sanitize filename).
Moved to dp units instead of pixels for display scaling.
Fixed a few items that needed to be .destroyed (oops).
SD Card path fix (typo fix).
File Explorer now saves/recalls list view position on directory changes and when opening files.
About Dialog updates.
Added run script on mount/unmount: <volume>.mount.sh and <volume>.unmount.sh
Added su/root check on startup.
Version 1.9:Renamed cryptsetup to lm.cryptsetup to avoid overwriting pre-existing copies.
LUKS script will use cryptsetup if it exists, solves Samsung Galaxy S2 issues.
(Users will need to manually restore the cryptsetup binary if it was overwritten!)
Added sanity checks to File Explorer. (path /mnt/sdcard must exist)
File Explorer now saves and restores path on rotation change.
Moved about html to assets file instead of an inline string.
Version 1.8: Removed Internet Access Permission (decided not to include ads).
The cryptsetup binary is no longer UPX compressed in an attempt to improve compatibility.
The cryptsetup and luks binaries are now sha1 hashed and replaced if outdated or changed.
Since "Unmount All" can take a while to complete it has been changed to an AsyncTask.
When mounted all volumes will get chmod 777 applied recursively to avoid file permission issues.
Numerous improvements and changes to the internal file explorer.
Slight wording changes to activity titles and About Dialog.
Added change log to About Dialog.
Version 1.7: Added file explorer (no longer requires ASTRO File Manager)
Updated the About Dialog
First Market Release
Version 1.6: updated and optimized the icon and background images
Updated the About Dialog
Updated failure logging to syslog
Version 1.5: now quotes passwords (oops)
Spaces in volume names are converted to underscores: _
About dialog updated
Version 1.4: code refactoring
Added about/homepage menu items
Added "Remove Binaries" to remove /system/bin files: luks and cryptsetup
Added explore menu option to explore to volume location (requires Astro Filemanager)
Added background
Version 1.3: moved binaries into apk and added extractor/binary installer
Version 1.2: first public release
Screen Shots
Any Kernals for the OTA Sense
Nemesis][ said:
Introduction
This is my first Android application and I'm looking for testers and feedback.
LUKS Manager
LUKS Manager provides on-the-fly encryption (AES by default) to virtual folders on Android devices.
The virtual folders can be dynamically mounted, unmounted, created and deleted as needed.
(Think TrueCrypt like functionality)
Volumes and loopback device information are stored in: /mnt/sdcard/luks/.data
And the encrypted volumes are mounted at: /mnt/sdcard/luks/<volume_name>
Requirements
The Android device must:
Be rooted
Have a kernel that supports secure dm-crypt modes and loopback devices
Have a current version of BusyBox installed
Have SuperUser app installed
This package contains:
A statically compiled, stripped and UPX compressed version of cryptsetup for the ARM using the tools provided by the Guardianproject.
A bash shell script called "luks" that does volume management.
And a native java app that provides a GUI interface to the luks script.
Download
You can find more on the apps homepage at:
nemesis2.qx.net/pages/LUKSManager/
(I've been a long time lurker but since I'm a first time poster I'm not allowed to post this is the main Android App Dev section nor am I allowed to post external links. )
Screen Shots
Click to expand...
Click to collapse
Hi I was wondering if you knew any kernals for the Gingerbread sense OTA cuz ive been looking around for some but i couldnt find any. THX if you reply
h4ck0rk1d said:
Hi I was wondering if you knew any kernals for the Gingerbread sense OTA cuz ive been looking around for some but i couldnt find any. THX if you reply
Click to expand...
Click to collapse
This has been mentioned again and again, there will bo NO custom kernels for the 2.3 update until the source is released. Be patient.
Sent from my MiuiSpeedy
Won't download the full file on my phone using the stock browser and dolphin HD. 1 star because I can't install it. Just joking, but can you put up a mirror please? The download link seems to work fine in Chrome, but mobile browsers it seems to crap out on.
Sent from my PG06100 using XDA App
Download Fixed (I believe)
OK. I believe I've fixed mobile downloads on the server so please try again.
And I've also updated LUKS Manager to v1.4. (lots of little fixes, tweaks)
-N2
Here's a pretty icky bug report for you: LuksManager fails to create a volume if you use spaces in the password.
Ron Overdrive said:
Here's a pretty icky bug report for you: LuksManager fails to create a volume if you use spaces in the password.
Click to expand...
Click to collapse
Thanks for catching that. Version 1.5 should now quote passwords properly.
Any other issues? (I know I should validate user input more on volume creation; but the luks script should handle failures gracefully.)
-N2
Released v1.6
Version 1.6 notes:
Images updated and optimized using optipng.
Updated the about box text.
Added additional failure logging to syslog.
And did a small bit of code cleanup.
just tried this on my hero and its almost very good it seems to create, mount and unmount ok but i'm getting an error that it cant find mkdir (i think this might be because my busybox is in /system/xbin rather than /system/bin?) and also the graphics for the buttons dont seem to resize so on a low resolution screen they overlap and arent readable.
clarkk said:
just tried this on my hero and its almost very good it seems to create, mount and unmount ok but i'm getting an error that it cant find mkdir (i think this might be because my busybox is in /system/xbin rather than /system/bin?) and also the graphics for the buttons dont seem to resize so on a low resolution screen they overlap and arent readable.
Click to expand...
Click to collapse
Ok, I switched over from pixels to dp units. It seems to render fine in the emulator with the display settings for the Hero. Please let me know if it works.
Nemesis][ said:
Ok, I switched over from pixels to dp units. It seems to render fine in the emulator with the display settings for the Hero. Please let me know if it works.
Click to expand...
Click to collapse
Thanks looks great now on the screen, still have a problem mounting though, could it auto-detect the location of busybox or have a changeable option?
Some feature recomendations to consider:
* auto-mount select volumes on startup
* auto-dismount all volumes on shutdown
* auto-dismount all volumes on X number of failed lockscreen attempts
* graphical support for moving/linking directories/files into encrypted volumes (so we can link our folders for downloads, camera, dropbox, etc. to the volumes directly)
Sent from my PG06100 using XDA App
Doesn't work on HTC DesireHD/Android 2.3.3 and Tattoo/Cyanogenmod 7.0.3
Code:
# dd if=/dev/zero of=1.vol bs=1024k count=1024
# lm.cryptsetup luksFormat 1.vol
lm.cryptsetup luksFormat 1.vol
...
Verify passphrase: 1
device-mapper: reload ioctl failed: Invalid argument
Failed to setup dm-crypt key mapping for device /dev/loop0.
Check that kernel supports aes-cbc-essiv:sha256 cipher (check syslog for more info).
#
Relevant syslog lines
Code:
<3>[ 3257.202941] device-mapper: table: 254:0: crypt: Error initializing ESSIV hash
<4>[ 3257.203338] device-mapper: ioctl: error adding target to table
Looks like kernel problem... Any way to fix? YES.
Compile sha256_generic.ko as module, insmod it and all works normally.
Important note - kernel compilations with default NDK toolchain creates
broken module - kexec error - bad relocations: 27 - R_ARM_PLT32.
To compile correct module for your kernel use code sorcery arm compiler.
Details -on cyanogenmod's "compile kernel" page.
on which roms it is working ? i have zte blade - i know wrong topic but what rom should i install to have it working ?
xtam said:
on which roms it is working ? i have zte blade - i know wrong topic but what rom should i install to have it working ?
Click to expand...
Click to collapse
I think it'll work on any rom that has root, but I could be wrong. I use the latest CyanogenMod Nightlies.
Xtam, 2.0 GUI starts working for me with cyanogen 7.x ROM. It requires sha256_generic.ko module for aes-cbc-essiv cipher (FreeOTFE volume), but aes-cbc-plain volume works without additional modules.
Ron Overdrive said:
Some feature recomendations to consider:
* auto-mount select volumes on startup
* auto-dismount all volumes on shutdown
* auto-dismount all volumes on X number of failed lockscreen attempts
* graphical support for moving/linking directories/files into encrypted volumes (so we can link our folders for downloads, camera, dropbox, etc. to the volumes directly)
Click to expand...
Click to collapse
Ron,
I'll look into/consider adding some of those. I've add some code to unmount the volumes on shutdown but I'm not 100% sure it's working properly.
I like the idea of unmounting them all on after X number of failed lock screen attempts. Not quite sure how I can hook into that however.
In version 2.1 you can set the mount point; not sure if I'll write a GUI interface for symlinking however.
-N2
I'm having problems unmounting volumes in 2.1. Whenever I attempt to unmount a volume it tells me without any errors its unmounted, but when you try to remount the volume or check the status its still mounted.
I have a Samsung Infuse which is basically an i9000 galaxy S with a bigger screen and like most galaxy S devices I know of, it has internal storage which is mounted to /mnt/sdcard and an external sd card which is mounted to /mnt/sdcard/exteral_sd. I really like the app and it works perfectly, however I have a problem. It wants to create the volume on the internal sdcard instead of the external one. I edited the lukspath in the luks script but it keeps overwriting it when I start up the gui and go to create a volume. Is there a way to make this setting stick in the luks script without recompiling? Or could you update the app to allow people to change where it creates the volume? I just need to be able to create a volume in /mnt/sdcard/external_sd/. Thanks!
Nice app, thank you Nemesis.
Another suggestion for improvement: it would be nice to be able to change a volume password.
Mugetsu is a package for Urushi (SE Ray) comprised of:
Custom kernel
Patched libsqlite.so
/sd-ext tools
Even though it's a single package, I've split everything between 3 posts according to the above schematic.
Clicking on each one will take you to its own dedicated section.
I have reserved a last post for instructions on how to port this over to other XPERIA 2011 devices.
Mugetsu is mainly a custom kernel based on FXP's source up until 3/11. The credit of every work prior to this date, as well as providing the wlan source needed to compile wireless modules, belongs to FXP team. I've just tweaked and messed a bit in order to optimize performance, internet speed, battery and memory management, while keeping it as light as possible.
Currently working for:
CyanogenMOD 7 (lastly tested with FXP045)
SEMC 4.0.2.A.0.42 *
MIUI (lastly tested with MIUI 1.10.21)
* wifi is broken since I'm unable to compile wlan modules for stock
Features\Changelog:
Code:
[I]version two[/I]:
- Increased OC support up to 2.0 Ghz.
- [URL="https://market.android.com/details?id=com.skvalex.callrecorder"]Added support for voice calls recording[/URL]. (experimental)
- Further optimizations to Deadline I/O Scheduler.
- Lowmemorykiller.c parameters tuned.
[I]version one[/I]:
- Bumped version to 2.6.32.18
- Overclock support up to 1.6 Ghz
- Tiny RCU (+ optimizations)
- SLQB memory allocator
- Many new CPU freq governors (+ optimizations)
- Many new I/O schedulers (+ optimizations)
- Bumped BFQ to last version
- Support for CPU unaligned access
- Veno TCP Congestion control *
- Stochastic Fair Blue network scheduler *
- Bumped jHash to last version *
- Improved RWSEM algorithm
- Improved CRC32 algorithm
- Disabled swappiness
- Increased Config_HZ
- Increased data transfer rate
- Sysctl and lmk tweaking
- Stripped of unnecessary crap. So you have an idea, stock kernel has 3.2 MB, FXP has 3.0 and this one has 2.6 MB.
* huge internet/market page loading boost
CM version is updated to the latest build so it has wifi, haptic feedback and vibration working.
SEMC has an insecure boot.img so it can be rooted with SuperOneClick and I've also added CWM recovery.
Available modules:
Code:
- TUN
- CIFS
- Powersave governor *
- Performance governor *
- Logcat
* since powersave lowers cpu max frequency to same value as the min frequency and performance the other way around, these just seem kind of irrelevant when you have cpu sliders; however, I've included them as a module for advanced users
For activating a module, run this command on terminal: insmod /system/lib/<module.ko>
You may want to add afterwards a line to a init.d for automatic insmod.
Available governors:
Code:
- Ondemand
- Conservative
- Interactive
- InteractiveX
- Smartass2 *
- Smoothass
- BrazillianWax
- SavagedZen
- MinMax
- Scary
* default
For choosing the governor use CM settings > performance, SetCPU, ROM Toolbox or any other app.
More information: http://forum.xda-developers.com/showpost.php?p=17131902&postcount=1
Available I/O schedulers:
Code:
- Noop
- BFQ
- CFQ
- Deadline *
- Simple
- VR
- Anticipatory
* default
For choosing the I/O scheduler use No-Frills app or the following command:
echo "scheduler-name" > /sys/block/mmcblk0/queue/scheduler (cat this path for the names)
More information: http://forum.xda-developers.com/showpost.php?p=17131914&postcount=2
Download (SE Ray only):
v1: SEMC 4.2.0.A.0.42 - 414c02bb24712eec04e92d1ec858c9f0 || CM/FXP - c058878d24f90871ee808e18c3f6b8f1 || MIUI - (check in MIUI thread)
v2: removed for giving wifi problems to some people.
Instructions:
Download the package.
[CM7] Copy the package to your microSD card.
Extract boot.img from it.
Boot your phone into fastboot mode: turn off, plug USB cable while holding vol+ (blue light).
Use fastboot tools to flash the kernel: fastboot -i 0xfce flash boot boot.img
Unplug cable, turn on phone.
[CM7] Keep hitting vol- while the phone is booting to get into CWM.
[CM7] Flash the package in CWM (flash zip from sdcard).
[CM7] Reboot.
[CM7-Optional] Read about /sd-ext tools.
I'll try to update it as frequently as I'm able to but don't be expecting much, I don't have much spare time and this is only a hobby for me; I'm not a computer engineer, I do this mainly for myself and to keep the brain sharp and always learning.
If you go back to another kernel (boot.img) you may find yourself without wireless if you're using CM.
In this case, just flash this in CWM, no wipe required: http://www.multiupload.com/LIX7E96BGX
I have patched the libsqlite.so present in /system/lib/ in order to disable the sync feature for a higher write efficiency. So basically this will return more I/O performance while observable gains should be through a faster opening/closing of applications.
Currently working for:
CyanogenMOD 7 (lastly tested with FXP045)
It is already included in the package that you flash on kernel section instructions.
More information: http://forum.xda-developers.com/showthread.php?t=903507
My past devices always had ext3 native filesystem (eMMc devices), instead of XPERIA's yaffs2 (MTD devices). I usually upgraded these to ext4, removed journalism and with proper mount flags I have found its I/O performance much better than yaffs2 or anything else.
However, in MTD as far as I know there's no such way to format it to ext4 but there's a way around: move applications, data and dalvik-cache to a partition in microSD card called /sd-ext and have it formatted as ext4. Like for the patched libsqlite.so, a higher I/O performance equals to gains in overall smoothness.
Currently working for:
CyanogenMOD 7 (lastly tested with FXP045) *
* even though it's possible in theory for SEMC ROM I will not describe it here
Unfortunately there seems to be no official support for /sd-ext and CWM recovery on CM doesn't have the option to partition the sdcard so we have to find another way to create the /sd-ext partition and force the mount.
Requirements:
Mugetsu package already flashed through CWM (it has essential binaries)
MicroSD card of, at least, class 6 (higher the class, better the performance)
S2E application by Oleg Krikun which can be downloaded from the market
Terminal application (already included on CM but can be downloaded from the market) or ADB
Make sure to backup your microSD card contents as it will be fully wiped.
Instructions:
Navigate to settings > storage and unmount the microSD.
Open terminal/ADB shell and run these commands:
su (allow superuser access so the symbol turns # if it isn't already)
parted /dev/block/mmcblk0
print
Take note of the size of microSD card (in my case is 7937 MB), now remove the existing partitions:
rm 1
[Optional]rm 2 (remove n partitions until when you run the print command you won't have any)
Now we create the partitions. Let's go with a 512 MB /sd-ext and the rest for storage (FAT32). Now you'll need to write that (total space - 512 MB) - in my case 7425:
mkpartfs primary fat32 0 7425
mkpartfs primary ext2 7425 7937
Remember to change these values according to your own microSD card storage capacity; if you mess up, go to point 6 and repeat.
Now, we upgrade ext2 to ext3 and then to ext4, but first, exit parted with:
quit
Now back on to terminal/adb shell, run these commands to force ext3 and ext4 upgrade:
mount -o remount,rw /system
echo "" > /system/etc/mtab
tune2fs -j /dev/block/mmcblk0p2
tune2fs -O extents,uninit_bg,dir_index /dev/block/mmcblk0p2
e2fsck -fpDC0 /dev/block/mmcblk0p2
The crucial part now, we need to force the mount of /sd-ext so S2E can recognize it and take it from there:
mount -t ext4 /dev/block/mmcblk0p2 /sd-ext
After this open S2E and choose to move everything to the microSD card. You may need to enable advanced menu in S2E settings in order to be able to move data (reboot was required in my case); also make sure to enable "mount sd-ext as ext4 without journaling" and "set read buffer". If you run into problems with S2E recognizing the /sd-ext (everything is disabled) you need to mount it with the command above. You can check if it's mounted with the following command: "mount".
This way your applications as well as application data will be moved to /sd-ext, thus improving overall snappiness through a greater I/O performance. If on the opposite, you notice any sluggishness is because your microSD card isn't fast enough (slower than yaffs2). I recommend microSD cards who bench at least 8 MB on write test in the SDtools application.
Every time you plug and enable USB connection you'll also see that the new partition gets mounted and can be accessed.
Given the similarity and common core source between all XPERIA 2011 devices, this kernel can be easily ported to others such as Arc and Neo, as well as the patched libsqlite (it needs to be compiled for each device though) and /sd-ext tools. At least for CM7 it will work, this much I can guarantee.
I could release a version for these other devices but since I don't have one for more objective testing and debugging and I really don't have the time to follow the many threads I'd have to create, it's best if I go at this in another way which I'll now describe.
If you wish to port this to your device, make sure that:
You have a linux distro and you're familiar with it.
You know your way around kernels and android.
You have a device to which you want to port to.
You have time and you're active.
Anyone interested who meet the above criteria can contact me through PM, Google+, Twitter or whatever. I'll build everything you need at first for testing purposes and if it returns satisfying results I'll guide you through the rest in order to set it up. In exchange I only ask for you to keep the name and add a link to the original thread (this one).
hi, can i give you a suggestion? there's a way to improve wifi signal? my lg optimus one is much more better than ray.
Have you an idea?
powerfull kernel!
I successfully install it in _semc_ variant. trying to enter to recovery show many text strings (warnigs or what else) but show menu.
in normal mode all ok. there are many modern governeur variants. wifi just not turned on, say 'error' (not hang or reboot as official fxp))).
all other described features of kernel explode my brain)). I will read next times your links for understanding all features.
knzo, can you embed external cards support into kernel? (OTG) or this hard? as in Doomlords' arc kernel.
Thanks for your work!
Sadly SEMC's version has broken wifi (which can be seen in #2 post).
The reason for this is because:
1. FXP wlan source can compile SEMC modules but they don't work.
2. SEMC wlan source can't compile modules.
From what I gather it seems SEMC sources need to be cleaned but I haven't had the time to take a good look at it, it doesn't seem that easy to do.
Anyway, I'm going to study an Arc version for release, then I can take a look at that.
coolkaas said:
knzo, can you embed external cards support into kernel? (OTG) or this hard? as in Doomlords' arc kernel.
Click to expand...
Click to collapse
knzo said:
My past devices always had ext3 native filesystem (eMMc devices), instead of XPERIA's yaffs2 (MTD devices). I usually upgraded these to ext4, removed journalism and with proper mount flags I have found its I/O performance much better than yaffs2 or anything else.
However, in MTD as far as I know there's no such way to format it to ext4 but there's a way around: move applications, data and dalvik-cache to a partition in microSD card called /sd-ext and have it formatted as ext4. Like for the patched libsqlite.so, a higher I/O performance equals to gains in overall smoothness.
Currently working for:
CyanogenMOD 7 (lastly tested with FXP045) *
* even though it's possible in theory for SEMC ROM I will not describe it here
Unfortunately there seems to be no official support for /sd-ext and CWM recovery on CM doesn't have the option to partition the sdcard so we have to find another way to create the /sd-ext partition and force the mount.
Requirements:
Mugetsu package already flashed through CWM (it has essential binaries)
MicroSD card of, at least, class 6 (higher the class, better the performance)
S2E application by Oleg Krikun which can be downloaded from the market
Terminal application (already included on CM but can be downloaded from the market) or ADB
Make sure to backup your microSD card contents as it will be fully wiped.
Instructions:
Navigate to settings > storage and unmount the microSD.
Open terminal/ADB shell and run these commands:
su (allow superuser access so the symbol turns # if it isn't already)
parted /dev/block/mmcblk0
print
Take note of the size of microSD card (in my case is 7937 MB), now remove the existing partitions:
rm 1
[Optional]rm 2 (remove n partitions until when you run the print command you won't have any)
Now we create the partitions. Let's go with a 512 MB /sd-ext and the rest for storage (FAT32). Now you'll need to write that (total space - 512 MB) - in my case 7425:
mkpartfs primary fat32 0 7425
mkpartfs primary ext2 7425 7937
Remember to change these values according to your own microSD card storage capacity; if you mess up, go to point 6 and repeat.
Now, we upgrade ext2 to ext3 and then to ext4, but first, exit parted with:
quit
Now back on to terminal/adb shell, run these commands to force ext3 and ext4 upgrade:
mount -o remount,rw /system
echo "" > /system/etc/mtab
tune2fs -j /dev/block/mmcblk0p2
tune2fs -O extents,uninit_bg,dir_index /dev/block/mmcblk0p2
e2fsck -fpDC0 /dev/block/mmcblk0p2
The crucial part now, we need to force the mount of /sd-ext so S2E can recognize it and take it from there:
mount -t ext4 /dev/block/mmcblk0p2 /sd-ext
After this open S2E and choose to move everything to the microSD card. You may need to enable advanced menu in S2E settings in order to be able to move data (reboot was required in my case); also make sure to enable "mount sd-ext as ext4 without journaling" and "set read buffer". If you run into problems with S2E recognizing the /sd-ext (everything is disabled) you need to mount it with the command above. You can check if it's mounted with the following command: "mount".
This way your applications as well as application data will be moved to /sd-ext, thus improving overall snappiness through a greater I/O performance. If on the opposite, you notice any sluggishness is because your microSD card isn't fast enough (slower than yaffs2). I recommend microSD cards who bench at least 8 MB on write test in the SDtools application.
Every time you plug and enable USB connection you'll also see that the new partition gets mounted and can be accessed.
Click to expand...
Click to collapse
Thx for your efforts, if u have time take a look on dooms latest modified cwm in arc thread, it has ext support, app2sd in arc android thread is working for ray, I use it now with an ext4 partition but cwm in cm does not recognize it.
funiewski said:
Thx for your efforts, if u have time take a look on dooms latest modified cwm in arc thread, it has ext support
Click to expand...
Click to collapse
Ext and sd-ext support are 2 different things. This kernel also has ext support.
knzo said:
Ext and sd-ext support are 2 different things. This kernel also has ext support.
Click to expand...
Click to collapse
sorry for my bad and incorrect english, if I understand it correct dooms modified cwm had sd-ext support, link:
http://forum.xda-developers.com/showthread.php?t=1172885
first post
here is app2sd witch use sd-ext:
http://forum.xda-developers.com/showthread.php?t=1201902
once more, thx for your work it is highly appreciated
Hm, he says only support for backup/restore when the really handy thing would be partition sdcard support. If CWM had this option then most steps on post #4 would be redundant. However, it would still need to have its mount forced so S2E can recognise it! But this could also be easily added to the RAMdisk.
Added MIUI support.
Just pulled this one:
Could you please add the ability to use the accelerometer by other applications when the screen is locked?
Please
working flawlessly so far, thx for urs hard work
Working like a charm with Cm7 FXP45 Thank you so much and keep up the good work
I found this app on the Market: https://market.android.com/details?id=com.skvalex.callrecorder&hl=en
Requires the kernel with 2-way call recording patch and ROOT permissions:
Click to expand...
Click to collapse
Does your kernel has this patch?
veimus said:
I found this app on the Market: https://market.android.com/details?id=com.skvalex.callrecorder&hl=en
Does your kernel has this patch?
Click to expand...
Click to collapse
I'll try to add support for that today.
Sent from my ST18i using XDA App
This is a small mod for Sultanxda's CAF kernel. It's intended to ONLY be used with his CM 12.1 and his CM13, but it *might* work with other CAF ROMs.
The zip also replaces the fstab in the ramdisk to support the F2FS filesystem in /data and /cache (both ext4 and f2fs are supported for these, like the official CM builds), and the fsck.f2fs binary in /system/bin to the latest version (1.5.0).
The only kernel changes are:
- Added F2FS filesystem code. I keep it up-to-date with the Motorola github (right now the latest code is from the Moto X 2014 6.0 release): https://github.com/MotorolaMobilityLLC/motorola-kernel/tree/marshmallow-6.0.0-release-victara.
- Added and improved @sollapse's OTG-Y support patch.
- Eventual cherry picked commits from @sultanxda's Marshmallow branch.
- Updated CIFS/NFS code to the latest 3.4 version.
- Improved support for HIDs (joysticks, keyboards, etc.)
I compiled with GCC 4.8 (the same toolchain @sultanxda uses).
All the mods have been tested and I'm using them personally.
To install, you just need to flash his ROM, and then my zip. Then format /data and /cache to F2FS with TWRP if you wish to use F2FS.
I also made a recovery based on the 2.8.7.0-4 unofficial TWRP, it's rebased on the Sultan CM12.1 ROM and this kernel mod, plus it has:
- updated TWRP code (from the 5.1 branch)
- mounts /data and /cache as F2FS by default, with the same mount options as the fstab in my kernel mod
- theme replaced with the "Materialised Play" one
- updated mkfs.f2fs and fsck.f2fs to 1.5.0.
I included all the source code for the kernel changes, you only need to replace the GCC directory in the bash script and then execute it.
Changelogs:
01/13:
- Updated Sultan's kernel sources for CM13 and CM12.1.
- Updated NFS driver to the latest 3.4 code.
- Merged Sultan's charger improvements to the CM12.1 kernel.
- Enabled support for Force Feedback for a lot of controllers - you can enable this in Input.
- Enabled LED and Force Feedback support for the Xbox controllers (fixes the LED blinking forever).
- Fixed Wiimote support - sadly we can't have support for newer Wii Remotes (the "MotionPlus" ones) with a 3.4 kernel, but older ones are working.
- Cherry picked HID commits from the official CyanogenMod kernel, this improves the Wiimote support (Classic Controllers, Nunchucks etc. are supported) and adds/improves support for a lot of joysticks/keyboards/mice/etc.
01/05:
- Updated Sultan's kernel sources for CM13 and CM12.1.
12/30:
- Updated the F2FS driver with the one from Motorola's 6.0.0 release for Moto X 2014 (it's a couple months newer).
- Updated the fstab accordingly, the "nobarrier" option should bring a small performance improvement.
12/29:
- Actually fixed reboots when inserting OTG-Y devices in deep sleep.
- Fixed OTG-Y not starting when the charger is detected *prior* to the USB device (rare cases in which a charger/OTG-Y setup is disconnected and the driver takes a bit to detect that, and an OTG-Y setup is inserted before that).
12/23:
- Updated Sultan's kernel sources for CM13 (fixes inserting OTG devices in deep sleep and being unable to use USB again).
- Fixed reboots when inserting OTG-Y devices in deep sleep (thanks to the above patch!).
- Further clean-up of the OTG-Y patch code.
12/21:
- OTG-Y improvements and general clean-up. Code is cleaner, some race conditions and corner cases when toggling the parameter are handled better, low power mode is enabled when it's possible, and the charging notification going off, on and off again very fast sometimes after unplugging an OTG-Y setup has been fixed.
- Updated Sultan's kernel sources for CM13 and CM12.1
12/16:
- Overhaul of the OTG-Y patch. Now it's less "hacky" and it detects the charger properly. This removes the false charging notifications when connecting a regular OTG cable+device, makes it possible to use OTG again if charging is stopped and restarted, allows for faster charging rates, and fixes kernel panics when the OTG-Y cable/device are removed *after* charging was stopped.
- Updated Sultan's kernel sources for CM13 and CM12.1 (slow charging fixed)
12/12:
- Improved the OTG-Y patch (again): if you mistakenly connected a regular OTG cable+device when OTG-Y was set to Yes, a charging notification would be shown, and it wouldn't go away after disconnection. Now it properly disappears after the device has been disconnected.
12/10;
- Updated Sultan's kernel sources for CM13 and CM12.1 (including a couple changes still not present in the 12/1 CM12.1)
- Merged some changes from the CM13 kernel into the CM12.1 one: 1 2
- Improved the OTG-Y patch. It's now possible to charge the phone normally in AC mode while the OTG-Y parameter is set to Yes, and there are no more kernel panics or inability to use OTG up to the following reboot when you use OTG-Y inappropriately (disconnecting the OTG devices after changing the parameter status).
- Updated f2fs.fsck in the CM12.1 version and the init.rc in the CM13 version.
12/01:
- Updated Sultan's kernel sources for CM13 and CM12.1
11/28:
- Switched the F2FS code to the Motorola Moto G 5.1.1 F2FS branch: https://github.com/MotorolaMobilityLLC/motorola-kernel/tree/lollipop-5.0.2-release-falcon
- Updated Sultan's kernel sources for CM13
- Merged the new touchscreen fixes and CPU boosting logic to the CM12.1 kernel from the CM13 one.
Important: I'd recommend making a nandroid backup, formatting and restoring. This driver is technically older than upstream, and it might have issues with inlined dentries (the new fstab reflects the mount point configuration of the Moto X 2014 - so no inline_dentry).
11/25:
- Bug fix for F2FS from the dev-test branch
- Updated Sultan's kernel sources for CM13
- Included the touch screen bugfix from Sultan from the CM13 branch in the CM12.1 one.
11/18:
- Added other bug fix commits for F2FS from the dev-test branch
- Updated Sultan's kernel sources for both CM12.1 and CM13
- CM13 build should actually be functional now (thanks to @DerRomtester for the init.rc)
- Recovery has been rebuilt from sources, it now uses the Sultan CM12.1 kernel mod and source tree for his ROM.
11/10:
- Added two bug fix commits for F2FS from the dev-test branch (one of them is a fix to potential data corruption)
- Switched to CM's version of Google GCC
XDA:DevDB Information
Mod for Sultanxda's CAF kernel, Kernel for the OnePlus One
Contributors
Phoenix Wright
Kernel Special Features:
Version Information
Status: Stable
Current Stable Version: 01/13
Stable Release Date: 2016-01-13
Created 2015-11-07
Last Updated 2016-01-13
Have you already tried marshmallow with f2fs? I dont get it working. Cache on f2fs is bootlooping and data on f2fs shows that the phone is encrypted. And it wants a pw. to decrypt it.
DerRomtester said:
Have you already tried marshmallow with f2fs? I dont get it working. Cache on f2fs is bootlooping and data on f2fs shows that the phone is encrypted. And it wants a pw. to decrypt it.
Click to expand...
Click to collapse
I'm not that interested in marshmallow right now (I'll wait until things get stable and xposed is ported over). Have you checked that the fstab is edited properly?
Phoenix Wright said:
I'm not that interested in marshmallow right now (I'll wait until things get stable and xposed is ported over). Have you checked that the fstab is edited properly?
Click to expand...
Click to collapse
The fstab should be ok. I use the same kernel in 5.1.1. I will inform you if i get it working. It is time to debug.
Hey am still facing the same error upon attempting to mount cifs. I believe it's not due to your mod but some dumb thing I might be missing. Can you post using what tools you mount cifs using the command you specified on the sultan thread?
UPDATE I tried using adb shell(which i guess you would've) and still get the same "No such device" error. dmesg doesn't show anything useful (atleast to my knowledge). But 'cat /proc/filesystems' does NOT show cifs(it does show f2fs). Is it normal?
Sent from my A0001 using Tapatalk
Links?
j1i2a3n4g5 said:
Links?
Click to expand...
Click to collapse
Check the downloads tab / section... Not sure if it works on tapatalk.
Sent from my A0001 using Tapatalk
Added to OnePlus One index thread:
[INDEX] OnePlus One
Added to OnePlus One index thread:
[INDEX] OnePlus One
Phoenix Wright said:
I'm not that interested in marshmallow right now (I'll wait until things get stable and xposed is ported over). Have you checked that the fstab is edited properly?
Click to expand...
Click to collapse
I tried sultans mm version with f2fs. And this log looks quite interesting. I am running f2fs on cache and data but it is looking for ext4.
Code:
EXT4-fs (mmcblk0p14): mounted filesystem with ordered data mode. Opts: barrier=1
fs_mgr: __mount(source=/dev/block/platform/msm_sdcc.1/by-name/system,target=/system,type=ext4)=0
EXT4-fs (mmcblk0p28): VFS: Can't find ext4 filesystem
fs_mgr: __mount(source=/dev/block/platform/msm_sdcc.1/by-name/userdata,target=/data,type=ext4)=-1
fs_mgr: fs_mgr_mount_all(): possibly an encryptable blkdev /dev/block/platform/msm_sdcc.1/by-name/userdata for mount /data type ext4 )
EXT4-fs (mmcblk0p16): VFS: Can't find ext4 filesystem
fs_mgr: __mount(source=/dev/block/platform/msm_sdcc.1/by-name/cache,target=/cache,type=ext4)=-1
fs_mgr: Failed to mount an un-encryptable or wiped partition on/dev/block/platform/msm_sdcc.1/by-name/cache at /cache options: barrier=1,data=ordered,noauto_da_alloc,errors=panic error: Invalid argument
EXT4-fs (mmcblk0p15): recovery complete
EXT4-fs (mmcblk0p15): mounted filesystem with ordered data mode. Opts: nomblk_io_submit,errors=remount-ro
fs_mgr: check_fs(): mount(/dev/block/platform/msm_sdcc.1/by-name/persist,/persist,ext4)=0: Success
fs_mgr: check_fs(): unmount(/persist) succeeded
fs_mgr: Running /system/bin/e2fsck on /dev/block/platform/msm_sdcc.1/by-name/persist
e2fsck: e2fsck 1.42.9 (28-Dec-2013)
e2fsck: /dev/block/platform/msm_sdcc.1/by-name/persist: clean, 29/320 files, 1088/1280 blocks
EXT4-fs (mmcblk0p15): mounted filesystem with ordered data mode. Opts: barrier=1,data=ordered,nodelalloc,nomblk_io_submit,errors=panic
Edit i know the problem already
I guess it is a ramdisk problem
ramdisk/sbin/mkfs.f2fs
/system/bin/fsck\.f2fs
Formatting fo f2fs takes a long time
I tried it with the latest 12.1 ROM from 01112015 and it works very fast!
When there's trick to do it with the 6.0 ROM I will try.
ph1dft said:
I tried it with the latest 12.1 ROM from 01112015 and it works very fast!
When there's trick to do it with the 6.0 ROM I will try.
Click to expand...
Click to collapse
It works with my (Tyr) kernel and Sultans CAF 6.0 Rom.
DerRomtester said:
I tried sultans mm version with f2fs. And this log looks quite interesting. I am running f2fs on cache and data but it is looking for ext4.
Code:
EXT4-fs (mmcblk0p14): mounted filesystem with ordered data mode. Opts: barrier=1
fs_mgr: __mount(source=/dev/block/platform/msm_sdcc.1/by-name/system,target=/system,type=ext4)=0
EXT4-fs (mmcblk0p28): VFS: Can't find ext4 filesystem
fs_mgr: __mount(source=/dev/block/platform/msm_sdcc.1/by-name/userdata,target=/data,type=ext4)=-1
fs_mgr: fs_mgr_mount_all(): possibly an encryptable blkdev /dev/block/platform/msm_sdcc.1/by-name/userdata for mount /data type ext4 )
EXT4-fs (mmcblk0p16): VFS: Can't find ext4 filesystem
fs_mgr: __mount(source=/dev/block/platform/msm_sdcc.1/by-name/cache,target=/cache,type=ext4)=-1
fs_mgr: Failed to mount an un-encryptable or wiped partition on/dev/block/platform/msm_sdcc.1/by-name/cache at /cache options: barrier=1,data=ordered,noauto_da_alloc,errors=panic error: Invalid argument
EXT4-fs (mmcblk0p15): recovery complete
EXT4-fs (mmcblk0p15): mounted filesystem with ordered data mode. Opts: nomblk_io_submit,errors=remount-ro
fs_mgr: check_fs(): mount(/dev/block/platform/msm_sdcc.1/by-name/persist,/persist,ext4)=0: Success
fs_mgr: check_fs(): unmount(/persist) succeeded
fs_mgr: Running /system/bin/e2fsck on /dev/block/platform/msm_sdcc.1/by-name/persist
e2fsck: e2fsck 1.42.9 (28-Dec-2013)
e2fsck: /dev/block/platform/msm_sdcc.1/by-name/persist: clean, 29/320 files, 1088/1280 blocks
EXT4-fs (mmcblk0p15): mounted filesystem with ordered data mode. Opts: barrier=1,data=ordered,nodelalloc,nomblk_io_submit,errors=panic
Edit i know the problem already
I guess it is a ramdisk problem
ramdisk/sbin/mkfs.f2fs
/system/bin/fsck\.f2fs
Click to expand...
Click to collapse
interesting, when I use disc info (without executing the ramdisk command) I see that both /data and /cache are show as f2fs. Curious to know if you still belief it is nessesary to solve the ramdisk problem?
---------- Post added at 02:44 PM ---------- Previous post was at 02:42 PM ----------
A question for everyone, why would you chose for f2fs on /data has it not be shown that f2fs is not faster than ext4 on /data and only has benefit on /cache?
joefso said:
interesting, when I use disc info (without executing the ramdisk command) I see that both /data and /cache are show as f2fs. Curious to know if you still belief it is nessesary to solve the ramdisk problem?
---------- Post added at 02:44 PM ---------- Previous post was at 02:42 PM ----------
A question for everyone, why would you chose for f2fs on /data has it not be shown that f2fs is not faster than ext4 on /data and only has benefit on /cache?
Click to expand...
Click to collapse
Already solved the ramdisk problem.
I think the benchmarks on android are similar. http://www.phoronix.com/scan.php?page=article&item=linux-40-ssd&num=2
Also Antutu scores are proofing that.
DerRomtester said:
It works with my (Tyr) kernel and Sultans CAF 6.0 Rom.
Click to expand...
Click to collapse
Tried the rom and it works, but not for daily use. Multirom and f2fs doesn't seem to work so back to 5.1.1. Thanx anyway!
sorry where is the download link?
manup85cupra said:
sorry where is the download link?
Click to expand...
Click to collapse
The links are on Downloads tab. Don't use Tapatalk though. This was discussed a few posts above yours.
I added a new version. I just added two bug fix commits for F2FS from the dev-test branch (one of them is a fix to potential data corruption), and switched to CM's version of Google GCC (previously I used the one from the Google repos).
Also, I added a version for CM13. Functionality of the kernel is the same (latest CIFS, UTF8, latest F2FS & fstab, OTG-Y). However, I don't use CM13 yet so I'd need testing This zip *doesn't have* an updated "fsck.f2fs" binary, as that would require downloading the CM13 source tree (25GB) and I can't do that. I'll do it when I switch to CM13. @DerRomtester I saw your kernel replaces the whole boot.img, I don't think it's wise to do (the ramdisk contains some binaries - adbd, the sepolicy binary etc. and configuration files which get updated frequently). You can use my script to automate fstab replacement if you want!
Hey @PhoenixWright I used your command
Code:
busybox mount -t cifs -o username=xxxx,password=yyyyy,rw,noatime,iocharset=utf8,noperm,nounix,noserverino,sec=ntlmssp,dir_mode=0775,file_mode=0775,uid=1023,gid=1023,context=u:object_r:fuse:s0 //192.168.x.x/yourshare /data/media/0/CIFS
after flashing your latest zip. While it mounts without any errors, the folders are not visible on any file manager.
But i can cd into the directory from terminal and it displays the files.
Any suggestions to get it viewable on file managers?