ext2 support? - G Tablet Q&A, Help & Troubleshooting

Specifically, what do I need to install on my gtab so that it can read an sdcard formatted to ext2?
I've already installed Clockworkmod and Vegan-Tab Ginger. Maybe I need a different kernel too? I know very little about kernels - Are they device specific? Are they interchangeable? Can I change the kernel without wiping my files?
Has anyone ever had success with ext2 on the gtab?

deadfraggle said:
Specifically, what do I need to install on my gtab so that it can read an sdcard formatted to ext2?
Click to expand...
Click to collapse
Nothing.
I know very little about kernels - Are they device specific?
Click to expand...
Click to collapse
They have to be--that's their function after all.
Are they interchangeable?
Click to expand...
Click to collapse
They should be. For the gTablet, you can use either the Clemsyn or Pershoot kernels. Both have native extn support.
Can I change the kernel without wiping my files?
Click to expand...
Click to collapse
Yes.
Has anyone ever had success with ext2 on the gtab?
Click to expand...
Click to collapse
ext2/3/4 are all natively supported by the linux kernel, and issuing a mount command will work if you do it on the command line. However, the automounter program, called vold, likes to have ext4 or VFAT (aka FAT32) filesystems on the SD card. If your ext2 formatted SD card is not automatically mounted, format it again as ext4.

Formatted the sdcard to ext4, but still cannot read anything off it.
As for mounting through the terminal, if I use
fdisk -l
it shows nothing, not even an error. Is there another way to list disks so I know what to mount?
What I'm trying to do is use the Debian installer for Android, but the only version I could find is 2 years old. It's probably based on Lenny or earlier which does not have native ext4 support.

deadfraggle said:
Formatted the sdcard to ext4, but still cannot read anything off it.
Click to expand...
Click to collapse
What ROM are you on? Are you running Android or something else?
As for mounting through the terminal, if I use
fdisk -l
it shows nothing, not even an error. Is there another way to list disks so I know what to mount?
Click to expand...
Click to collapse
Code:
$ su
# /system/xbin/fdisk -l /dev/block/mmcblk3
Disk /dev/block/mmcblk3: 16.0 GB, 16097738752 bytes
255 heads, 63 sectors/track, 1957 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/block/mmcblk3p1 1 1709 13720703 c Win95 FAT32 (LBA)
/dev/block/mmcblk3p2 1709 1958 1999744+ 83 Linux
Use /dev/block/mmcblk2 for the external SD card. Mount it as:
Code:
$ su
# mount /dev/block/mmcblk2p1 /some/path
or
Code:
$ su
# mount -t ext4 /dev/block/mmcblk2p2 /some/path

rajeevvp said:
What ROM are you on? Are you running Android or something else?
Click to expand...
Click to collapse
Vegan-Tab Ginger edition
rajeevvp said:
Code:
$ su
# /system/xbin/fdisk -l /dev/block/mmcblk3
Click to expand...
Click to collapse
This gives me similar results to yours.
rajeevvp said:
Use /dev/block/mmcblk2 for the external SD card. Mount it as:
Code:
$ su
# mount /dev/block/mmcblk2p1 /some/path
Click to expand...
Click to collapse
My result:
Code:
$ su
# mount /dev/block/mmcblk2p1 /micro
mount: mounting /dev/block/mmcblk2p1 on /micro failed: No Such file or directory
Also tried
mount /dev/block/mmcblk2p2 /micro
with the same result.
rajeevvp said:
or
Code:
$ su
# mount -t ext4 /dev/block/mmcblk2p2 /some/path
Click to expand...
Click to collapse
My result:
Code:
$ su
# mount -t ext4 /dev/block/mmcblk2p2 /micro
mount: mounting /dev/block/mmcblk2p2 on /micro failed: No Such file or directory
Edit:
If I insert a ext2 formatted sdcard, I get a notice that it is being scanned for errors. It goes away after a minute or so.
If I go to /sdcard2 in Root Explorer, the folder is empty but the stats show a correct 2 gb of used space and the correct amount of free space.
(Also in Root Explorer, if I try to create a test file, it says 'successful' but no file is created.)
If someone here owns a gtab and can access a ext2/4 sdcard, please let me know what setup/Rom you are using. Or if you own an extra sdcard you can format to ext2, and use some other aftermarket ROM/different kernel on your gtab, please test and post your results.

The commands I gave were just examples, you'll have to adjust them to suit your system.
deadfraggle said:
If I insert a ext2 formatted sdcard, I get a notice that it is being scanned for errors. It goes away after a minute or so.
Click to expand...
Click to collapse
That looks like the correct behaviour. The external SD card is being fsck'd and then automounted.
If I go to /sdcard2 in Root Explorer, the folder is empty but the stats show a correct 2 gb of used space and the correct amount of free space.
Click to expand...
Click to collapse
This, again, is correct, except that on a newly created filesystem, Root Explorer should've shown a lost+found directory.
(Also in Root Explorer, if I try to create a test file, it says 'successful' but no file is created.)
Click to expand...
Click to collapse
Reformat the filesystem again and try creating a file using the command line:
Code:
$ su
# echo test > /mnt/sdcard2/test.txt
# cat /mnt/sdcard2/test.txt
test
#
My external SD card is formatted as ext3 and I have no problem using Root Explorer. With other file managers, you'll have to be careful because of the standard Unix permissions that come into effect on all extn filesystems. If you want to use file managers other than Root Explorer, just create a new directory on your ext2 filesystem and give that directory a user of "system" and a group of "sdcard_rw", and give (at least) the group "rwx" permissions. Use the user, group and permissions of the /mnt/sdcard directory as a guide:
Code:
$ ls -ld /mnt/sdcard
d---rwxr-x 22 system sdcard_rw 8192 Jan 1 1970 /mnt/sdcard
$ su
# mkdir /mnt/sdcard2/user-dir
# chmod 0775 /mnt/sdcard2/user-dir [I]#or 0075 to exactly match /mnt/sdcard[/I]
# chown system.sdcard_rw /mnt/sdcard2/user-dir
If you don't want to bother with all this, just format the SD card as VFAT, and Android will automatically mount the VFAT filesystem with an owner of "system" and a group of "sdcard_rw". And since (all?) file managers belong to the "sdcard_rw" group, they get automatic read-write permissions to that filesystem. BTW, the Terminal Emulator app also belongs to the "sdcard_rw" group, so you can freely write onto VFAT formatted SD cards on the command line without resorting to the 'su' command (the example above).

Granted, it's been a while since I researched this - but I learned many months ago that the version of VOLD in Froyo does not support anything else but vFAT - so it just won't mount EXT2, or NTFS for that matter.
the mount command would bypass VOLD and we know that NTFS should work, if it's a custom kernel. Conceivably EXT2 should also work, but since it was all manual scripting I just stopped researching it - mainly because I'd still have issues using the card with other devices so it wouldn't really be a portable solution anymore.
As much as I detest FAT32 for its file size limitations, it's still the "standard" between portable devices. The various vendors have yet to figure out a replacement, since they can't seem to agree on anything.

rajeevvp said:
My external SD card is formatted as ext3 and I have no problem using Root Explorer.
Click to expand...
Click to collapse
Figures. Never tried ext3, mainly because it's not a readily available option in Ubuntu. Tried to format to ext3 via the terminal but got a weird error, even after unmounting the drive:
"/dev/sdb is apparently in use by the system; will not make a filesystem here!"
So I booted in to Parted Magic with my netbook, wiped the sdcard, and created a new ext3 partition.
Success!!
The sdcard auto-mounts, and is accessible by Root Explorer, ES File Explorer and File Manager.
Ext3 will suit my purposes just fine. Sorry to make you write all the rest of your post, but it will be a handy reference.
Thank you a million times over!
@ roebeet
I'm humbled this post got your attention. Thanks for the great work!

deadfraggle said:
Figures. Never tried ext3, mainly because it's not a readily available option in Ubuntu.
Click to expand...
Click to collapse
The ext3 format was the default filesystem of Ubuntu, until just recently. It is generally considered better to use ext2 on a SD card. Since a SD card has a limited number of read/writes, a journaling filesystem like ext3/ext4 would use up the limited number of read/writes faster than using ext2. Also, never create a swap partition on a flash drive or SD card.
To format a SD card in Ubuntu, first determine the device name:
Code:
[email protected]:~$ sudo fdisk -l
[sudo] password for paul:
Disk /dev/sda: 64.6 GB, 64609058816 bytes
255 heads, 63 sectors/track, 7854 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0000d996
Device Boot Start End Blocks Id System
/dev/sda1 * 1 3890 31246393+ 83 Linux
/dev/sda2 3891 7854 31840830 83 Linux
Disk /dev/sdb: 16.4 GB, 16437477376 bytes
255 heads, 63 sectors/track, 1998 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000b3366
Device Boot Start End Blocks Id System
/dev/sdb1 1 1998 16048903+ 83 Linux
My EEEPC has a 64 GB hard drive, and a 16 GB SDHC card. So the card I want to format is /dev/sdb1. Use fdisk again for the formatting, here are the steps copied directly from my terminal:
Run commands with root privileges (sudo).
Find the disk:
# sudo fdisk -l
Format the disk (sdb1):
# sudo fdisk /dev/sdb1
Command (m for help):d (delete any existing partitions)
Command (m for help):n (create a new partition)
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4):1
Command (m for help):w (to write the changes to the disk)
Format the card. You may need to unmount it first:
# sudo umount /dev/sdb1
# sudo mkfs -t ext3 /dev/sdb1

Related

[DEV] "Root easily your Gen8 device" (developers only thread!)

This thread is for discussing features and improvements of this rooting method
For questions and problems read the [HOWTO] thread
Project site online: archos-gen8-sde-rooting
wdl1908 said:
chulri what about creating a 1Gb file on the /mnt/storage and formatting that as ext3 copying all the original /data to it and then mounting that with a loop interface on /data.
Click to expand...
Click to collapse
That's what I tried previously (before the /data thing), but I had no luck and it's a big issue because android tries to unmount /mnt/storage when you connect your archos device to the computer but that's not possible because the lock of the mounted rw-file makes umounting of /mnt/storage impossible and I have to mount the rw-file before /mnt/storage gets mounted, that's another issue which must be resolved.
chulri said:
That's what I tried previously (before the /data thing), but I had no luck and it's a big issue because android tries to unmount /mnt/storage when you connect your archos device to the computer but that's not possible because the lock of the mounted rw-file makes umounting of /mnt/storage impossible and I have to mount the rw-file before /mnt/storage gets mounted, that's another issue which must be resolved.
Click to expand...
Click to collapse
Yeah I came to the same conclusion as you, that what I suggested would bork the usb mount option to the PC.
Another thing I realized is that the official firmware upgrades could probably update files on the data partition. So moving the whole partition is not an option as that would break the upgrade process.
I've been looking at splitting the storage partition in several parts with parted I found an arm binary at http://plugapps.com/arm/ maybe these can be included in the initramfs.
I've also been analyzing my data partition
Code:
# du -s /data/*
112003 app
70503 dalvik-cache
40084 data
4622 test
The test directory is the place where the google market is installed via arctools or gappsinstaller.
So if it's possible to split the storage partition in several part we could move these dirs to it's own partition. This would not be optimal a good solution would be to move the complete data partition over but this needs a bit of thinking how to handle upgrades.
wdl1908 said:
So if it's possible to split the storage partition in several part we could move these dirs to it's own partition. This would not be optimal a good solution would be to move the complete data partition over but this needs a bit of thinking how to handle upgrades.
Click to expand...
Click to collapse
We could shrink the internal storage and append partition(s) after it. I'll give it a try, as long as my usb port is broken I have more time to focus on this here
chulri said:
We could shrink the internal storage and append partition(s) after it. I'll give it a try, as long as my usb port is broken I have more time to focus on this here
Click to expand...
Click to collapse
I've been trying to cross compile e2fsprogs and parted but I can't seem to get it.
Code:
e2fsprogs-1.41.14$ cross ./configure --host=arm-linux-uclibcgnueabi --build=i686-linux
Completes without errors but the make does not complete.
Code:
gen_uuid.c:(.text+0x418): undefined reference to `__aeabi_read_tp'
../../lib/libuuid.a(gen_uuid.o):gen_uuid.c:(.text+0x788): more undefined references to `__aeabi_read_tp' follow
I've tried to use the pre-compiled packages but it seems they don't work or i'm missing something.
fdisk is already included in initramfs thus no need for a parted binary.
edit: but to minimize data loss we need a resize2fs binary to resize the fat/ext3 partition
mkfs.ext3 (for the rw partition) and fsck are included too in the initramfs by archos
chulri said:
fdisk is already included in initramfs thus no need for a parted binary.
edit: but to minimize data loss we need a resize2fs binary to resize the fat/ext3 partition
mkfs.ext3 (for the rw partition) and fsck are included too in the initramfs by archos
Click to expand...
Click to collapse
Yep resize2fs is part of e2fsprogs. I've been working on the packages in the buildroot there seems to be a lot of errors but I finally succeeded in building the e2fsprogs package. but riseze2fs is not included. I need to check the config for that package maybe there is an option missing.
To get the buildroot working properly you need to copy the file
Code:
cp local/g8_arm/g8_arm.config .config
remove the line
Code:
package/apdf/Config.in
from .config.cmd
remove the line
Code:
depends on BR2_EXT_UCLIBC_VERSION_0_9_30_1
from toolchain/uClibc/Config.in
then in the buildroot directory execute
Code:
make menuconfig
enable the e2fsprogs in Package selection -> Harware handling
also you have to remove the --disable-resizer from the e2fsprogs.mk file else the resizer is not build.
I can't believe this build package from archos is very up-to-date it seems very strange that all these bugs are in there how where they ever building a good firmware.
but that builds dynamic linked binaries, doesn't it? but we need a static build, don't we?
chulri said:
but that builds dynamic linked binaries, doesn't it? but we need a static build, don't we?
Click to expand...
Click to collapse
Yeah stupid me it needs to run in the initramfs and that does not contain any libraries. Let me check to see if it's possible to link it statically.
and because it has to be statically linked, maybe we better just take the newest e2fsprogs (btw.: does this support FAT resizing?!) and compile it without that buildroot stuff (except for the toolchain of course, we need that to crosscompile)
chulri said:
and because it has to be statically linked, maybe we better just take the newest e2fsprogs (btw.: does this support FAT resizing?!) and compile it without that buildroot stuff (except for the toolchain of course, we need that to crosscompile)
Click to expand...
Click to collapse
Well I tried that and failed. That's why I wanted to do it in the buildroot. I'll try again later need to create a clean environment and do some diffs after I fixed all the stuff that's wrong.
wdl1908 said:
Well I tried that and failed. That's why I wanted to do it in the buildroot. I'll try again later need to create a clean environment and do some diffs after I fixed all the stuff that's wrong.
Click to expand...
Click to collapse
I think I got it.
Add
Code:
export BOARD=g8_arm
To your .bashrc then in the buildroot directory do a make it will take a while as it needs to build everything. This is just a precaution as i think the statically linked resize2fs needs some linking with uclib libraries.
After that is finished do a
Code:
make e2fsprogs LDFLAGS=-static
in the buildroot directory. You should find the resize2fs binary in the directory buildroot/project_build_arm/uclibc/root/sbin
Code:
$ file resize2fs
resize2fs: ELF 32-bit LSB executable, ARM, version 1 (SYSV), statically linked, not stripped
resize2fs does not resize vfat so we probably need parted and some extra utils
How to compile parted with buildroot.
I found the attached files on some forum
e3fsprogs.mk is a replacement for the existing file.
Config.in parted.mk and parted-001-ui.cast.patch need to be placed in the directory buildroot/package/parted
then execute the following commands
Code:
make e2fsprogs LDFLAGS=-static
make e2fsprogs-libs
make parted LDFLAGS=-static
you can find the statically linked parted in buildroot/build_arm/parted-2.3/parted
and this is what i tried.
Code:
# [B]parted /dev/block/mmcblk1[/B]
GNU Parted 2.3
Using /dev/block/mmcblk1
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) [B]print[/B]
print
Model: MMC MMC08G (sd/mmc)
Disk /dev/block/mmcblk1: 7466MB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Number Start End Size Type File system Flags
1 8192B 7466MB 7466MB primary fat32 lba
(parted) [B]resize[/B]
resize
WARNING: you are attempting to use ./parted to operate on (resize) a file system.
./parted's file system manipulation code is not as robust as what you'll find in
dedicated, file-system-specific packages like e2fsprogs. We recommend
you use ./parted only to manipulate partition tables, whenever possible.
Support for performing most operations on most types of file systems
will be removed in an upcoming release.
Partition number? [B]1[/B]
1
Start? [8192B]?
End? [7466MB]? [B]6466MB[/B]
6466MB
(parted) [B]check[/B]
check
WARNING: you are attempting to use ./parted to operate on (check) a file system.
./parted's file system manipulation code is not as robust as what you'll find in
dedicated, file-system-specific packages like e2fsprogs. We recommend
you use ./parted only to manipulate partition tables, whenever possible.
Support for performing most operations on most types of file systems
will be removed in an upcoming release.
Partition number? [B]1[/B]
1
(parted) [B]quit[/B]
quit
Information: You may need to update /etc/fstab.
#[B]fdisk /dev/block/mmcblk1[/B]
The number of cylinders for this disk is set to 227840.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
(e.g., DOS FDISK, OS/2 FDISK)
Command (m for help): [B]p[/B]
Disk /dev/block/mmcblk1: 7465 MB, 7465861120 bytes
4 heads, 16 sectors/track, 227840 cylinders
Units = cylinders of 64 * 512 = 32768 bytes
Device Boot Start End Blocks Id System
/dev/block/mmcblk1p1 1 197327 6314445+ c Win95 FAT32 (LBA)
Command (m for help): [B]n[/B]
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): [B]2[/B]
First cylinder (197327-227840, default 197327): Using default value 197327
Last cylinder or +size or +sizeM or +sizeK (197327-227840, default 227840): Using default value 227840
Command (m for help): [B]p[/B]
Disk /dev/block/mmcblk1: 7465 MB, 7465861120 bytes
4 heads, 16 sectors/track, 227840 cylinders
Units = cylinders of 64 * 512 = 32768 bytes
Device Boot Start End Blocks Id System
/dev/block/mmcblk1p1 1 197327 6314445+ c Win95 FAT32 (LBA)
/dev/block/mmcblk1p2 197327 227840 976426+ 83 Linux
Command (m for help): [B]w[/B]
The partition table has been altered!
Calling ioctl() to re-read partition table
# [B]mkfs.ext3 -v -I 128 /dev/block/mmcblk1p2[/B]
mke2fs 1.40.9 (27-Apr-2008)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
61184 inodes, 244106 blocks
12205 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=251658240
8 block groups
32768 blocks per group, 32768 fragments per group
7648 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376
Writing inode tables: done
Creating journal (4096 blocks): done
Writing superblocks and filesystem accounting information: done
This filesystem will be automatically checked every 28 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.
# [B]tune2fs.static -c -1 -i 0 -m 1 /dev/block/mmcblk1p2[/B]
tune2fs 1.40.9 (27-Apr-2008)
Setting maximal mount count to -1
Setting interval between checks to 0 seconds
Setting reserved blocks percentage to 1% (2441 blocks)
I leave the scripting to you but with these utils it should work perfectly to resize the partition and create the second partition.
I copied the mkfs.ext3, fdisk and tune2fs.static from the recovery initramfs
I started hacking around and I came to the conclusion that it would be better to change the initramfs to mount /data from mmcblk1p2 if that partition exists and not if it's not existing and move the whole partition resizing, partition creating, partition deleting (if you wan't to revert without dataloss) and again resizing into an app. so the user has more control over what he's doing and see's if something is failing and not just get's a bootloop or some fancy log file.
edit: /data is mounted by /init.rc script, all of the above can be done by an app, incl. modifying /init.rc script. no need for any special initramfs, yay!
everybody who has +rw rooting installed will be able to use that app. I'm starting development...
edit2: project page online: http://code.google.com/p/archos-gen8-sde-rooting/
stay tuned
First test app: http://code.google.com/p/archos-gen8-sde-rooting/downloads/detail?name=AppDataResizer_v0.1.apk
Release notes:
initial test version v0.1:
- parted binary added
- test button lists partitions of mmcblk1 device
Click to expand...
Click to collapse
note: 250 GB version of the A70 is currently not supported.
chulri said:
First test app: http://code.google.com/p/archos-gen8-sde-rooting/downloads/detail?name=AppDataResizer_v0.1.apk
Release notes:
note: 250 GB version of the A70 is currently not supported.
Click to expand...
Click to collapse
Nice. Yep I was thinking about the transition from standard to custom and also came to the conclusion it had to be done outside the boot process scripts.
Edit: Should this app be installable via the usual way or should it be a system app? (Copied to /system/app)
What I was thinking was split the process in 3 steps.
Step1: Resize storage partition, Add new-data partition and format.
Step2: Copy existing /data to /new-data
Step3: Enable/Disable new-data
Maybe a step2a: To run after upgrade of firmware to check things that have changed.
The step1 requires a reboot as the partitioning should be done in the initramfs if you do that when apps are running you're going to have a hell of a time getting the storage partition unmounted (I know I had the problem when testing the parted binary)
Step2 can be done without any problem when storage is mounted and Step3 requires a reboot after the init.rc is changed.
wdl1908 said:
Nice. Yep I was thinking about the transition from standard to custom and also came to the conclusion it had to be done outside the boot process scripts.
Edit: Should this app be installable via the usual way or should it be a system app? (Copied to /system/app)
Click to expand...
Click to collapse
usual way (download and install) (or maybe I include it in the initramfs (like the Superuser.apk) and copy it to /system/app, but I don't like modifying initramfs any further, no need for 100 different versions )
wdl1908 said:
What I was thinking was split the process in 3 steps.
Step1: Resize storage partition, Add new-data partition and format.
Step2: Copy existing /data to /new-data
Step3: Enable/Disable new-data
Maybe a step2a: To run after upgrade of firmware to check things that have changed.
Click to expand...
Click to collapse
great, that were my plans too.
wdl1908 said:
The step1 requires a reboot as the partitioning should be done in the initramfs if you do that when apps are running you're going to have a hell of a time getting the storage partition unmounted (I know I had the problem when testing the parted binary)
Click to expand...
Click to collapse
No API to unmount /sdcard/? I think I got one: IMountService it's not a public API but android.os.FileUtils isn't public either and it's working great. I think IMountService is the API that the popup, which pops up when you connect your android device to the computer, uses. I think, no need to worry because android handles everything pretty well when you connect your device to the computer, isn't it?
wdl1908 said:
Step2 can be done without any problem when storage is mounted and Step3 requires a reboot after the init.rc is changed.
Click to expand...
Click to collapse
agreed
chulri said:
usual way (download and install) (or maybe I include it in the initramfs (like the Superuser.apk) and copy it to /system/app, but I don't like modifying initramfs any further, no need for 100 different versions )
Click to expand...
Click to collapse
I tried to install it but it won't install. logcat gives something like
Pckage chrulri.gen8.AppDataResizer has no certificated at entry res/layout/main.xml
Yep I agree no need for different versions of the initramfs
chulri said:
No API to unmount /sdcard/?
Click to expand...
Click to collapse
The problem is not only the mount of /mnt/storage if the user has used move2sd there are a lot of other mounts present that also uses that partition.
maybe the API will do. Needs to be tested.
One other remark. Let the AppDataResizer check for the unionfs directory so that you can be sure you'r running on the correct initramfs.

[MOD] Increase RAM memory size(without swapper!) (good for gaming)

Hi, here is a good mod specially for gaming and ICS roms which consumes big memory amount!!!
It is basically an .sh script that enables swapping. This makes device use part of sdcard to use it as RAM memory, so it can be increased a lot...
The only requirement is have root, use relatively fast sdcard and have enabled init.d scripts..
WI always have used this mod on my phone so i think it no needs testing
To it follow these steps:
1.- Root your device
2.- Make a swap partition in your sdcard (this step will format your sdcard!)
http://forum.xda-developers.com/wiki/SD_card_partitioning
2.1-In step 3 select "swap partition"
2.2-I recommend to make ~512MB partition because the SO will be going to fill it during you use the phone, but i always had 1GB partition, and no problems You can select 100MB or 50MB, but this is too little
3.- Check if there is a folder called init.d inside /system/etc/
3.1-If its there, follow next steps
3.2-If it is not there, you must activate init.d support, follow this tutorial: http://forum.xda-developers.com/showthread.php?t=1422061
3.- Copy 00userinit file to your device (must remove the .txt extension of the file, because i needed to put it to attatch the file)
4.- With root explorer, xplore, or similar copy it to /system/etc/init.d
5.- Set all permissions: rwxr-xr-x
6.- Reboot device
7.- For checking if it works, download Terminal emulator and type "free". See attatchment.
8.- If "swap" line has no "0" value, it works, congratulations
Click to expand...
Click to collapse
With this, you will:
Have swapping activated in your phone permanently, or until you remove that script or change of ROM.
Have bigger RAM memory amount, depending on your swap partition size
If you use supercharger or any RAM manager program, i should recomend you to activate hard gaming option, because:
-As you have bigger RAM memory, the useless aplications, instead of be closed, they will be stored in your sdcard partition so, you re able to have multitasking and hard gaming option at the same time
Click to expand...
Click to collapse
But this is not all!! You can open and edit this file to adapt it to your requirements:
You can edit this line to set swapiness cuantity, this defines the OS tendency to use swap partition, I not recommend to set it to 100, but 60 is good. Also, if you have slower sdcard, you should set it to 30~40:
-Change 60 value by something you want from 1 to 100 "then echo 60 > /proc/sys/vm/swappiness;"
If you have another sdcard partition like EXT4 or something to APP2SD, you should change the last number of "mmcblk0p2" by the number of the partition, i mean:
-If you have 3 partitions with this order: Fat32(that you use everyday), EXT4, and SWAP you should change it by mmcblk0p3
-If 3 partitions with this order: Fat32, SWAP,and EXT4, you should set it mmcblk0p2
Click to expand...
Click to collapse
I forgot it! To use this, remember that you should:
INSTALL THE LATEST BUSYBOX VERSION!!!
Click to expand...
Click to collapse
-----------------------------------------------------------------------------------------------------------------------------------------------------------------
FOR THOSE WHO HAVE NOT WORKING, DELETE 00userinit and follow the steps with 01userinit attatched file
Isnt this much like swapfipe/partition?
Sent from my R800i using xda app-developers app
Does it works on locked bootloaders, obviously on gingerbread??????
i already have linux swap partition and use "swapper 2 " with doom kernel
after using swap we should disable ( turn off ) the swapper2 and then mount the SD card to computer ... so , my question is , is your script the same ? or it can disable - enable itself automatically ?
romeo_charly said:
Does it works on locked bootloaders, obviously on gingerbread??????
Click to expand...
Click to collapse
Locked or Unlocked shouldn't make a difference as long as you have Init.d support
Sent from my R800i using XDA APP and NXT2JB
bamsbamx said:
Hi, here is a good mod specially for gaming and ICS roms which consumes big memory amount!!!
It is basically an .sh script that enables swapping. This makes device use part of sdcard to use it as RAM memory, so it can be increased a lot...
The only requirement is have root, use relatively fast sdcard and have enabled init.d scripts..
WI always have used this mod on my phone so i think it no needs testing
To it follow these steps:
With this, you will:
But this is not all!! You can open and edit this file to adapt it to your requirements:
I forgot it! To use this, remember that you should:
Click to expand...
Click to collapse
Will this reck your phone in the long run
extremetempz said:
Will this reck your phone in the long run
Click to expand...
Click to collapse
This can't 'wreck a phone' but it can make the life of the SDCARD shorter.
sewer56lol said:
This can't 'wreck a phone' but it can make the life of the SDCARD shorter.
Click to expand...
Click to collapse
That is what says some people, but i always have used it and no problems...
In addition, sdcard life is sure longer than 10 years, if you use swap constantly it could be reduced to7 or 8...
Then, it makes no sense to say that, because you probably will buy another sdcard in less than 5 years
I tried this without success. I had to change the script that you provided. First I added #!/system/bin/sh to line 1 so it would run as a shell script and then the partition on my device was /dev/block/mmcblk0p3. I had to do the following to figure out which partition on my sdcard was actually set as swap. Once I edited the script with the addition to line 1 and the correct partition everything worked as expected.
Code:
~ # su
[email protected]:/ # fdisk -l /dev/block/mmcblk0
Disk /dev/block/mmcblk0: 31.9 GB, 31914983424 bytes
255 heads, 63 sectors/track, 3880 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/block/mmcblk0p1 1 3818 30666992 c Win95 FAT32 (LBA)
/dev/block/mmcblk0p2 3818 3849 250000 83 Linux
/dev/block/mmcblk0p3 3850 3880 249007+ 82 Linux swap
And my 00userinit script looks like:
Code:
#!/system/bin/sh
if [ -n /dev/block/mmcblk0p3 ];
then mkswap /dev/block/mmcblk0p3;
fi;
if [ -e /dev/block/mmcblk0p3 ];
then echo 60 > /proc/sys/vm/swappiness;
swapon /dev/block/mmcblk0p3;
fi;
I'm running FXP 142 CM9.1.
jimmyvau said:
I tried this without success. I had to change the script that you provided. First I added #!/system/bin/sh to line 1 so it would run as a shell script and then the partition on my device was /dev/block/mmcblk0p3. I had to do the following to figure out which partition on my sdcard was actually set as swap. Once I edited the script with the addition to line 1 and the correct partition everything worked as expected.
Code:
~ # su
[email protected]:/ # fdisk -l /dev/block/mmcblk0
Disk /dev/block/mmcblk0: 31.9 GB, 31914983424 bytes
255 heads, 63 sectors/track, 3880 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/block/mmcblk0p1 1 3818 30666992 c Win95 FAT32 (LBA)
/dev/block/mmcblk0p2 3818 3849 250000 83 Linux
/dev/block/mmcblk0p3 3850 3880 249007+ 82 Linux swap
And my 00userinit script looks like:
Code:
#!/system/bin/sh
if [ -n /dev/block/mmcblk0p3 ];
then mkswap /dev/block/mmcblk0p3;
fi;
if [ -e /dev/block/mmcblk0p3 ];
then echo 60 > /proc/sys/vm/swappiness;
swapon /dev/block/mmcblk0p3;
fi;
I'm running FXP 142 CM9.1.
Click to expand...
Click to collapse
Dont know what happened, the script I provided works for me, maybe you had to add that because you are running CM...
And what you say about partition number, I already stated that in original post.... thanks for reporting
Which is better
Is this MOD better than the ROEHSOFT ram expander
af230 said:
Is this MOD better than the ROEHSOFT ram expander
Click to expand...
Click to collapse
i think its different, i dont know how does it work, but reading its description I think that this app creates a swap file, instead of using swap partition.. I think this is worse method than i have posted, because system compresses all swapped memory into a file,so it could be slower... In addition, you must install an app to make it work, which means a service running in background, less space for other apps, etc,etc...
I dont know, but i think my method is better
in theory should this work on any phone?
evol4g said:
in theory should this work on any phone?
Click to expand...
Click to collapse
Yes, because android is based in linux
Is there a way u could do this without wiping the sd card?
Hello, can you tell us how this interferes with z-ram? I have z ram init.d script activated also. What is your recomandation? Turn it off or keep them both? Thx
CyberScopes said:
Is there a way u could do this without wiping the sd card?
Click to expand...
Click to collapse
Yes. I never partition from my phone. Insert ur card into ur laptop and partition with paragon partition manager (or your choice). If you have some free space on it you could easily resize ur fat32 partition to make it smaller and then use the unpartitioned space to make a linux swap partition or en ext2/3 for link2sd, if u want (I have both).. Did it lots of times. No problem
---------- Post added at 11:11 AM ---------- Previous post was at 11:06 AM ----------
jimmyvau said:
I tried this without success. I had to change the script that you provided. First I added #!/system/bin/sh to line 1 so it would run as a shell script and then the partition on my device was /dev/block/mmcblk0p3. I had to do the following to figure out which partition on my sdcard was actually set as swap. Once I edited the script with the addition to line 1 and the correct partition everything worked as expected.
Code:
~ # su
[email protected]:/ # fdisk -l /dev/block/mmcblk0
Disk /dev/block/mmcblk0: 31.9 GB, 31914983424 bytes
255 heads, 63 sectors/track, 3880 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/block/mmcblk0p1 1 3818 30666992 c Win95 FAT32 (LBA)
/dev/block/mmcblk0p2 3818 3849 250000 83 Linux
/dev/block/mmcblk0p3 3850 3880 249007+ 82 Linux swap
And my 00userinit script looks like:
Code:
#!/system/bin/sh
if [ -n /dev/block/mmcblk0p3 ];
then mkswap /dev/block/mmcblk0p3;
fi;
if [ -e /dev/block/mmcblk0p3 ];
then echo 60 > /proc/sys/vm/swappiness;
swapon /dev/block/mmcblk0p3;
fi;
I'm running FXP 142 CM9.1.
Click to expand...
Click to collapse
I had to add the first line too. Thx for the tip. I'm on stock (NXT 1.3 flavour )
Works
+1 For you good sir
Will this be any good on GB for daily use, I'm always short on RAM on my SGS+
Whether Thise need what memory class 2 best performance?and thise damage on sd or not?
Sent from my R800i using Tapatalk 2

[Q] How to mount (exFAT?) sd card that isn't being recognized automatically anymore?

I bought this 64GB SanDisk sd card (http://www.amazon.com/SanDisk-microSDXC-Memory-Adapter-SDSDQUA-064G-U46A/dp/B007WTAJTO) which was working fine in my stock ROM for a few weeks. I then flashed a custom ROM (latest stable Resurrection Remix) that didn't recognize it. When I immediately flashed back to the stock ROM it also didn't recognize the card anymore. Surely that's not an issue of physical damage, as the timing would be quite coincidental! Something happened while installing that custom ROM to change maybe partition tables or whatever on that sd card.
What tells me for sure that the card is NOT physically damaged is that I can successfully store nandroid backups to it and restore from nandroid backups on it, but only from ClockworkMod Recovery 5.5.*. I've tried many other recoveries (even the newer, touch-based ClockwordMod Recoveries), as well as a couple more ROMs and nothing else recognizes the drive at all. But clearly the drive itself isn't damaged. Unfortunately ClockworkMod Recovery 5.5.* doesn't have any sort of ability to let me connect to my computer in USB mass storage mode or otherwise get the data off of the card
I was able to restore data from the a disk dump of the card using 'photorec' recovery but it restored every one of the 90,000 files on that card (even though only about 1,000 are the ones I actually need and not 'system' or 'backup' files) into a restore directory where every file name is named like f3728467371291.gz and with all the same timestamps, so it would take me forever to figure out which files are mine, so mounting the drive would really help.
I also realize using this card with my Android may have been risky in the first place, see http://www.transformerforums.com/forum/general-discussion/28678-sandisk-64gb-microsd-woes.html, but it was working successfully and the card itself isn't damaged so there must be a way to get the data off in a sane way. (I won't use this card in future with my Android.)
I put the sd card into my Ubuntu 12.04 laptop and it didn't get recognized automatically like what happens with other sd cards. So I dig some digging and it says that the card (at /dev/mmcblk0, with partition /dev/mmcblk0p1) is 'HPFS/NTFS/exFAT' in the output below (but first I took a 'dd' disk images of both the whole card, mmcblk0, and the partition, mmcblk0p1).
Any help you could provide would be greatly appreciated. Thanks!
Code:
$ sudo dd if=/dev/mmcblk0 of=~/mmcblk0
$ sudo dd if=/dev/mmcblk0p1 of=~/mmcblk0p1
$ sudo fdisk -l ~/mmcblk0
Disk mmcblk0: 63.9 GB, 63864569856 bytes
255 heads, 63 sectors/track, 7764 cylinders, total 124735488 sectors
Units = sectors of 1 * 512 = 512 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
mmcblk0p1 32768 124735487 62351360 7 HPFS/NTFS/exFAT
Trying to mount as NTFS but get error:
Code:
$ sudo mount -t ntfs ~/mmcblk0p1 /mnt/sdcard
NTFS signature is missing.
Failed to mount '/dev/mmcblk0p1': Invalid argument
The device '/dev/mmcblk0p1' doesn't seem to have a valid NTFS.
Maybe the wrong device is used? Or the whole disk instead of a
partition (e.g. /dev/sda, not /dev/sda1)? Or the other way around?
Trying to mount as exFAT but get error:
Code:
$ sudo apt-add-repository ppa:relan/exfat
$ sudo apt-get update
$ sudo apt-get install fuse-exfat
$ sudo mount -t exfat ~/mmcblk0p1 /mnt/sdcard
FUSE exfat 0.9.8
ERROR: exFAT file system is not found.
Getting some info about the whole card:
Code:
$ sudo file -s ~/mmcblk0
/dev/mmcblk0: x86 boot sector; partition 1: ID=0x7, starthead 10, startsector 32768, 124702720 sectors, extended partition table (last)\011, code offset 0x0
Getting some info about the partition:
Code:
$ sudo file -s ~/mmcblk0p1
/dev/mmcblk0p1: x86 boot sector, code offset 0x52
Do you have any idea how I could mount this card successfully?
Hi,
could you find a solution for your problem? It seems I have a similar one. My 32GB SD is perfectly working when I use ext3/4 but not using exfat.
I have no idea how to fix it. Using ext3/4 is not the best solution due to different ownerships, permissions ecc.
Regards,
Enkidu

Tried to partition Internal SD Card and destroyed pretty much everything

Hey there,
I own an Oppo Find 5 and because of the limited internal app storage I wanted to partition the internal sdcard to use Link2SD.
I followed some guides found on the internet and I managed to create 2 partitions(FAT32+EXT3) with Minitool, but sadly something went wrong. The phone was unable to mount them, and although I was able to use it I couldn't (and I still can't) save pics/video/other stuff anymore.
After that I decided to revert all the changes, but once again it did not work as expected. Now I have a 25GB FAT32 (as it was before) partition that can't be mounted even if the phone can detect it.
This is my /etc/fstab file:
Code:
/dev/block/platform/msm_sdcc.1/by-name/cache /cache ext4 rw
/dev/block/platform/msm_sdcc.1/by-name/userdata /data ext4 rw
/dev/block/platform/msm_sdcc.1/by-name/system /system ext4 rw
/dev/block/mmcblk0p29 /storage/sdcard0 fat32 rw
This the output of fdisk:
Code:
[email protected]:/ # fdisk -l /dev/block/mmcblk0p29
fdisk -l /dev/block/mmcblk0p29
Disk /dev/block/mmcblk0p29: 27.1 GB, 27141324288 bytes
255 heads, 63 sectors/track, 3299 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/block/mmcblk0p29p1 1 2612 20974592 b Win95 FAT32
I tried to mount it via adb shell (while the phone was in recovery mode, CWM) and even in runtime, but it doesn't work. Same goes with "format /storage/sdcard0" in CWM.
Below you can find a "screenshot" (had to use a camera, sorry but I can't do proper screenshots anymore because of this). As you can see the mmcblk0p29 partition is detected but not mounted.
Any suggestions? Thanks a lot in advance for your help.

Mounting an image made with adb pull ...

I had a S3 i9300 and I want to check if I can recover some files from data partition
after a hard reset.
I have been able to get an image of data partition with
Code:
adb pull /dev/block/mmcblk0p12 mmcblk0p12.img
My problem is to mount this image on linux.
I tried of course:
Code:
mount -o loop,ro -t auto mmcblk0p12.img ./galaxys3/
but I get ..
mount: wrong fs type, bad option, bad superblock on /dev/loop0,
missing codepage or helper program, or other error
I tried to understand what was going on with fdisk ...
Code:
# fdisk -l mmcblk0p12.img
Disk mmcblk0p12.img: 11.5 GiB, 12381585408 bytes, 24182784 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
and it doesn't seem to find a partition and give the offset.
anyway android mount that block like that ...
Code:
/dev/block/mmcblk0p12 /data ext4 rw,nosuid,nodev,noatime,barrier=1,journal_async_commit,data=ordered,noauto_da_alloc,discard 0 0
any suggestions?
Anyway my goal is to run testdisk (photorec) on it.
TIA.
The fs will be in ext*. Android isnt linux, thats why it works on android and not linux. That's why android needs busybox.
Sent from my HTC One M9 using Tapatalk
shivadow said:
The fs will be in ext*. Android isnt linux, thats why it works on android and not linux. That's why android needs busybox.
Sent from my HTC One M9 using Tapatalk
Click to expand...
Click to collapse
Actually I manage to mount it on linux. I forgot to unmount the data partition
before make the image so it wasn't consistent ... I made a e2fsck and now I can easily
mount it.

Categories

Resources