f2FS - Galaxy Note II Q&A, Help & Troubleshooting

Can we just reformat system partition with f2fs and boot using f2fs enabled kernel?

GR0S said:
Can we just reformat system partition with f2fs and boot using f2fs enabled kernel?
Click to expand...
Click to collapse
System partition is read only and you miss the point of f2fs benefits (improve random write performance) in that case.
In case you have kernel-3.8 and up, you need to add kernel configuration options:
CONFIG_F2FS_FS=y
CONFIG_F2FS_STAT_FS=y
CONFIG_F2FS_FS_XATTR=y
CONFIG_F2FS_FS_POSIX_ACL=y
Besides this, you need to re-create system.img as f2fs sparse image:
# create empty partition size file
dd if=/dev/zero of=system_f2fs.img bs=1024 count=<system partition block count>
# simulate block device
losetup -d /dev/loop0
losetup /dev/loop0 system_f2fs.img
# format f2fs partition
mkfs.f2fs /dev/loop0
mount -t f2fs /dev/loop0 /mnt/system/
# copy system partition content
cp -r <android workspace>/out/system/* /mnt/system/
umount /mnt/system
# create sparse partiotion
img2simg system_f2fs.img system_f2fs_sparce.img 1024
You need:
1. host side kernel supports f2fs
2. f2fs-tools on host side
3. img2simg tool (implemented by <android workspace>/system/core/libsparse)
4. change in fstab file to be able to mount /system as f2fs (<android workspace>/device)
Thanks.

Related

ext4 module 2.6.29 (enclair 2.1) without reflash (raw lag fix)

I compiled ext4 module to work with enclair 2.1 kernel 2.6.29, tested with XXJF5 stock firmware. Need root access, tune2fs and mke2fs static binary (e2fsprog-bin.tgz.zip)
mkdir -p /system/lib/modules/2.6.29/
#copy module.tar.gz in /system/lib/modules/2.6.29/
cd /system/lib/modules/2.6.29/
tar zxvf module.tar.gz
insmod /system/lib/modules/2.6.29/kernel/fs/jbd2/jbd2.ko
insmod /system/lib/modules/2.6.29/kernel/lib/crc16.ko
insmod /system/lib/modules/2.6.29/kernel/fs/ext4/ext4.ko
if=/dev/zero of=/sdcard/sd/filesystem.ext4 bs=1048576 count=2048
losetup /dev/block/loop1 /sdcard/sd/filesystem.ext4
mke2fs -t ex4 /dev/block/loop1
tune2fs -c 0 -i 0 -m 0 /dev/block/loop1
mkdir /sdcard/sddata
mount -t ext4 /dev/block/loop1 /sdcard/sddata
cp -rp /data/data /sdcard/sddata
cp -rp /data/system /sdcard/sddata
cp -rp /data/dalvik-cache /sdcard/sddata
cp -rp /data/app /sdcard/sddata
cp -rp /data/app-private /sdcard/sddata
mount -t ext4 -o bind /sdcard/sddata/data /data/data
mount -t ext4 -o bind /sdcard/sddata/system /data/system
mount -t ext4 -o bind /sdcard/sddata/dalvik-cache /data/dalvik-cache
mount -t ext4 -o bind /sdcard/sddata/app /data/app
mount -t ext4 -o bind /sdcard/sddata/app-private /data/app-private
run your quadrant test, i got 1793. enjoy.
ps: if you want make it permanent look at RyanZA playlogos1 trick. Also make sure your ext4 filesystem is available at boot time instead /sdcard/sddata
Note:
- due its nature ext4 keep data in RAM much more than ext3 before writing on disk, therefore if a powerloss happens before data got written this may results in lost of data. (see delayed allocation). On the other hand a temporary file wont be written to disk, but kept on RAM avoiding read/write cycles. Inode reservation can increase performance as well.
- barrier can be disabled but this may result in a corrupt journal
explain please
you may want to use ext4 without reflash, and at the same time keep your /data untouchable, just in case you need a recovery backup. eg: if /sdcard got corrupt, system will mount your original /data. (desynced)
I had to disable vold, and mv /etc/vold.conf /etc/vold.old, otherwise it coundnt find /sdcard/filesystem.ext4 so I mount it just before everything.
userinit.sh
--
/system/bin/mount -t vfat -o errors=remount-ro /dev/block/mmcblk1p1 /sdcard
insmod /system/lib/modules/2.6.29/kernel/fs/jbd2/jbd2.ko
insmod /system/lib/modules/2.6.29/kernel/lib/crc16.ko
insmod /system/lib/modules/2.6.29/kernel/fs/ext4/ext4.ko
/data/local/bin/losetup /dev/block/loop1 /sdcard/filesystem.ext4
/system/xbin/e2fsck -p /dev/block/loop1
/system/bin/mount -t ext4 /dev/block/loop1 /sdcard/sddata
/system/bin/mount -t ext4 -o bind /sdcard/sddata/data /data/data
/system/bin/mount -t ext4 -o bind /sdcard/sddata/system /data/system
/system/bin/mount -t ext4 -o bind /sdcard/sddata/dalvik-cache /data/dalvik-cache
/system/bin/mount -t ext4 -o bind /sdcard/sddata/app /data/app
/system/bin/mount -t ext4 -o bind /sdcard/sddata/app-private /data/app-private
--
mv /system/bin/playlogos1 /system/bin/playlogosnow
Do not forget to create /system/bin/playlogos1 as follow:
#!/system/bin/sh
sh /system/bin/userinit.sh
/system/bin/playlogosnow
I got 1858
this is just proof do not use on your device if you dont know what you doing. Since vold does not mount partition some application may not recognize /sdcard mounted that way.
id like to find a way to start vold before playlogos1 and resolve this issue, buts vold seems check argv[0] before start.
e2fsprogs recompiled as well ? In other words, will the e2fsprogs from cynogen work on ext4? These do use libs, btw.
I might build support for this into CFLagFix if I can freely use the files
yeah static bin.
husq510 said:
yeah static bin.
Click to expand...
Click to collapse
Just want to ask if it's ok to implament this in my lagfix zips
Ofc ill credit you
sure you can.
Thanks for the statically linked e2fsck
Nvm got it working on captivate also

[FIX] ext4 for JPM/JP6

Hi,
in case that anybody of you was using Mimocan fix (ext4 on the external SD), here I have attached libs for enabling ext4 on JP6/JPM (without modifying kernel).
I'm personally using ext4 partition on external SD, and loopback file on this partition formatted in ext2.
That way I'm getting 2000 in Quadrant, and the phone is working fast.
Here is my userinit:
Code:
insmod /data/local/fs_jpm/slow-work.ko
insmod /data/local/fs_jpm/jbd2.ko
insmod /data/local/fs_jpm/fscache.ko
insmod /data/local/fs_jpm/mbcache.ko
insmod /data/local/fs_jpm/ext4.ko
busybox mount -t ext4 -o noatime,nodiratime,errors=continue /dev/block/mmcblk1p2 /data/sdcard_ex2_mnt
busybox mknod /dev/loop0 b 7 0
busybox losetup /dev/loop0 /data/sdcard_ex2_mnt/linux.ex2
mount -t ext2 -o noatime,nodiratime,errors=continue /dev/loop0 /data/ext2data
busybox mount -o bind /data/ext2data/data /data/data;
busybox mount -o bind /data/ext2data/app /data/app;
busybox mount -o bind /data/ext2data/dalvik-cache /data/dalvik-cache;
P.S. Thanks for darkbyt3, for making slow_work module!
P.S. 2. Also in the archive is NILFS2 support for those who like experiments , and CIFS by darkbyt3.
thanks for the info.
linux noob question, but where does the userinit file live?
im used to editing scripts in /system/init.d but that was on a custom rom.
/system/bin/userinit.sh
kanemari said:
thanks for the info.
linux noob question, but where does the userinit file live?
im used to editing scripts in /system/init.d but that was on a custom rom.
Click to expand...
Click to collapse
Sorry for being even more of a noob, but can you tell me how to apply the mimocan fix for JPM/JP6 step by step please, I would love to be able to use it.
I have tried all the lag fixes and nothing comes close to what I had with the mimocan fix, even though you get better scores none of them were as smooth as mimocan fix.
Thanks a lot really appreciate the help.
milan2008 said:
Sorry for being even more of a noob, but can you tell me how to apply the mimocan fix for JPM/JP6 step by step please, I would love to be able to use it.
I have tried all the lag fixes and nothing comes close to what I had with the mimocan fix, even though you get better scores none of them were as smooth as mimocan fix.
Thanks a lot really appreciate the help.
Click to expand...
Click to collapse
Like u did i tried many lagfix, feel less lag with voodoo or mimocan compare others, but least lag with combo of voodoo or mimocan with minfree (autokiller preset aggressive). Give it a try...
Hi, sorry for the questions:
How i can do this fix?
Thanks
vitalij said:
Hi,
in case that anybody of you was using Mimocan fix (ext4 on the external SD), here I have attached libs for enabling ext4 on JP6/JPM (without modifying kernel).
I'm personally using ext4 partition on external SD, and loopback file on this partition formatted in ext2.
That way I'm getting 2000 in Quadrant, and the phone is working fast.
Here is my userinit:
Code:
insmod /data/local/fs_jpm/slow-work.ko
insmod /data/local/fs_jpm/jbd2.ko
insmod /data/local/fs_jpm/fscache.ko
insmod /data/local/fs_jpm/mbcache.ko
insmod /data/local/fs_jpm/ext4.ko
busybox mount -t ext4 -o noatime,nodiratime,errors=continue /dev/block/mmcblk1p2 /data/sdcard_ex2_mnt
busybox mknod /dev/loop0 b 7 0
busybox losetup /dev/loop0 /data/sdcard_ex2_mnt/linux.ex2
mount -t ext2 -o noatime,nodiratime,errors=continue /dev/loop0 /data/ext2data
busybox mount -o bind /data/ext2data/data /data/data;
busybox mount -o bind /data/ext2data/app /data/app;
busybox mount -o bind /data/ext2data/dalvik-cache /data/dalvik-cache;
P.S. Thanks for darkbyt3, for making slow_work module!
P.S. 2. Also in the archive is NILFS2 support for those who like experiments , and CIFS by darkbyt3.
Click to expand...
Click to collapse
Isn't there aversion without debug information? 3mb for a kernel module is huge
sztupy said:
Isn't there aversion without debug information? 3mb for a kernel module is huge
Click to expand...
Click to collapse
Maybe, the size is irrelevant for this kind of using these modules - anyway I copy them to /data where I have plenty of space.
Ext4 is working fine, however if used separately without loop device it doesn't produce speed increase, differently from eclair builds.
Sent from my GT-I9000 using XDA App
tanoxxx said:
Hi, sorry for the questions:
How i can do this fix?
Thanks
Click to expand...
Click to collapse
I did it manually, and it have lots of steps. Probably if you were not using mimocan's fix - this lagfix is not for you. You need to repartition sd card, format it, create loop device, and then manually copy data there.
milan2008 said:
Sorry for being even more of a noob, but can you tell me how to apply the mimocan fix for JPM/JP6 step by step please, I would love to be able to use it.
I have tried all the lag fixes and nothing comes close to what I had with the mimocan fix, even though you get better scores none of them were as smooth as mimocan fix.
Thanks a lot really appreciate the help.
Click to expand...
Click to collapse
Well It may contain errors, but I am doing like this:
1) Create second primary partition on the external SD card and make it EXT4 (easiest to do it in external card reader, using PARAGON or GPARTED). And format it of cause. Choose size, for example 1Gb
Remember that first primary partition must remain FAT32
2) Put the card back to phone.
3) You need root and terminal (adb or any terminal on phone)
4) copy modules from my first post to /data/local/fs_jpm/
5) run following commands:
Code:
insmod /data/local/fs_jpm/slow-work.ko
insmod /data/local/fs_jpm/jbd2.ko
insmod /data/local/fs_jpm/fscache.ko
insmod /data/local/fs_jpm/mbcache.ko
insmod /data/local/fs_jpm/ext4.ko
mkdir /data/sdcard_ex2_mnt
busybox mount -t ext4 -o noatime,nodiratime,errors=continue /dev/block/mmcblk1p2 /data/sdcard_ex2_mnt
busybox dd if=/dev/zero of=/data/sdcard_ex2_mnt/linux.ex2 bs=1024 count=800000
Change 800000 to any size of loopback file you want (here it is 800Mb)
Code:
busybox mknod /dev/loop0 b 7 0
busybox losetup /dev/loop0 /data/sdcard_ex2_mnt/linux.ex2
busybox mkfs.ext2 /dev/loop0
mkdir /data/ext2data/
mount -t ext2 -o noatime,nodiratime,errors=continue /dev/loop0 /data/ext2data
cp -rp /data/data /data/ext2data/
cp -rp /data/app /data/ext2data/
cp -rp /data/dalvik-cache /data/ext2data/
mv /system/bin/playlogos1 /system/bin/playlogosnow
copy files from attached system_bin.zip archive, to /system/bin.
Code:
busybox chmod +x /system/bin/userinit
busybox chmod +x /system/bin/playlogos1
then just reboot.
After reboot you can check that correct mounts are used with
Code:
mount
command.
wolfiett said:
/system/bin/userinit.sh
Click to expand...
Click to collapse
i put a script there but it doesnt work... and the script runs fine if i run it from the terminal prompt.
how can i check what the issue is?
vitalij said:
Well It may contain errors, but I am doing like this:
1) Create second primary partition on the external SD card and make it EXT4 (easiest to do it in external card reader, using PARAGON or GPARTED). And format it of cause. Choose size, for example 1Gb
Remember that first primary partition must remain FAT32
2) Put the card back to phone.
3) You need root and terminal (adb or any terminal on phone)
4) copy modules from my first post to /data/local/fs_jpm/
5) run following commands:
Code:
insmod /data/local/fs_jpm/slow-work.ko
insmod /data/local/fs_jpm/jbd2.ko
insmod /data/local/fs_jpm/fscache.ko
insmod /data/local/fs_jpm/mbcache.ko
insmod /data/local/fs_jpm/ext4.ko
mkdir /data/sdcard_ex2_mnt
busybox mount -t ext4 -o noatime,nodiratime,errors=continue /dev/block/mmcblk1p2 /data/sdcard_ex2_mnt
busybox dd if=/dev/zero of=/data/sdcard_ex2_mnt/linux.ex2 bs=1024 count=800000
Change 800000 to any size of loopback file you want (here it is 800Mb)
Code:
busybox mknod /dev/loop0 b 7 0
busybox losetup /dev/loop0 /data/sdcard_ex2_mnt/linux.ex2
busybox mkfs.ext2 /dev/loop0
mkdir /data/ext2data/
mount -t ext2 -o noatime,nodiratime,errors=continue /dev/loop0 /data/ext2data
cp -rp /data/data /data/ext2data/
cp -rp /data/app /data/ext2data/
cp -rp /data/dalvik-cache /data/ext2data/
mv /system/bin/playlogos1 /system/bin/playlogosnow
copy files from attached system_bin.zip archive, to /system/bin.
Code:
busybox chmod +x /system/bin/userinit
busybox chmod +x /system/bin/playlogos1
then just reboot.
After reboot you can check that correct mounts are used with
Code:
mount
command.
Click to expand...
Click to collapse
Thanks a lot, I am going to try it now.
Update: it keeps failing, I am getting `Failed (Operations not permitted)`. I don't know if anyone can help.
I tried it with Tayutama's latest rom.
milan2008 said:
Thanks a lot, I am going to try it now.
Update: it keeps failing, I am getting `Failed (Operations not permitted)`. I don't know if anyone can help.
I tried it with Tayutama's latest rom.
Click to expand...
Click to collapse
At which point are you getting the error? Maybe you /system partition is read-only? try
Code:
su
busybox mount -o remount,rw /system
Or you do not have a root
wolfiett said:
/system/bin/userinit.sh
Click to expand...
Click to collapse
Actually it should be
Code:
/system/bin/userinit

[Q]What filesystem type is used in ICS system.img(sin)

What filesystem type is system.img(sin) from ICS?
So far it was yaffs. Now it can't be extracted like older fw's, at least I couldn't do it like I did it so far
I tried following this tutorial here but failed: http://forum.xda-developers.com/showthread.php?p=25251000
[email protected]:/home/madfish/android/system# mount -o loop system.img system
mount: you must specify the filesystem type
Click to expand...
Click to collapse
also tried
[email protected]:/home/madfish/android/system# mount -o ext3 system.img system
mount: /home/madfish/android/system/system.img is not a block device (maybe try `-o loop'?)
[email protected]:/home/madfish/android/system# mount -o vfat system.img system
mount: /home/madfish/android/system/system.img is not a block device (maybe try `-o loop'?)
[email protected]:/home/madfish/android/system# mount -o ntfs system.img system
mount: /home/madfish/android/system/system.img is not a block device (maybe try `-o loop'?)
[email protected]:/home/madfish/android/system# mount -t loop system.img system
mount: unknown filesystem type 'loop'
[email protected]:/home/madfish/android/system# mount -t vfat system.img system
mount: /home/madfish/android/system/system.img is not a block device (maybe try `-o loop'?)
[email protected]:/home/madfish/android/system# mount -t ntfs system.img system
NTFS signature is missing.
Failed to mount '/home/madfish/android/system/system.img': Invalid argument
The device '/home/madfish/android/system/system.img' 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?
[email protected]:/home/madfish/android/system# mount -t ext4 system.img system
mount: /home/madfish/android/system/system.img is not a block device (maybe try `-o loop'?)
Click to expand...
Click to collapse

[Guide] Find7 9GB App storage and mount External SD-Card as SD0

In this Guide you will learn how to modify your system to handle the 9GB Partition 29 as Data (App-Storage) and use the external SD-Card as internal.
Don't be afraid, this is a lot of text mostly to explain the whole procedure, the steps are straight forward.
Thanks go to Kishd (oppoforums), Coldbird and alienmind (xdadevelopers)
Beside of the public made solutions i will do the following:
Instead of repartitioning the device i will change only the partition name of "sdcard" to "userdata", mount the external SD as internal and use the remaining 3GB Partition as external SD.
So partition 15 will become "sdcard1" and partition 29 will become "userdata"
On the Find7a you will have 9 gigs of application space and xx gigs for the internal sd (size of the sdcard).
This should work on Find7 too, someone has to check the partition layout if it is equal, than you will have 25 gigs of application space and xx gigs for the internal sd (size of the sdcard).
PRECAUTIONS:
If you mess around with partition table you could brick your device, so be careful!
Thes procedure worked for me, i am not responseable for any missing or mistyped commands/procedures, so THINK BEFORE YOU DO ANYTHING!
I am not an android Pro, nor an Develper. My Spare time is very limited so i can't help you out if something goes wrong!
I've done this with Gummy Rom, not tryed with ColorOS or another custom rom but it should work on all AOSP-based ROMS.
The swapped SD-cards do not belong to recovery, so the internal SD is accessed as before.
What do you need:
1.: Time: This is not done in 5 minutes, so please be patient.
2.: A Linux-PC with working ADB and Fastboot
3.: TWRP recovery image on your PC or installed on the device: http://techerrata.com/browse/twrp2/find7a (I used 2.7.1.0)
4.: An SD card with at least 16Gb inseted into your Find7a
5.: Fully charge your Device before messing around, some jobs will need a lot of time.
6.: A fitting custom ROM installed, i've done this with Gummy-M2.3-06-29-14-NIGHTLY-find7 which is suitable for find7 and find7a which can be found here: http://crackflasher.com/gummy-m2-3-06-29-14-nightly-find7-zip-oppo-find-7a-gummy/
7.: The zip-file of the custom rom on your local PC
What are we going to do:
0.: Boot into recovery and access the Device via ADB
1.: Format external SD to Ext4 Filesystem
2.: Backup the original partition layout and all partitions too
3.: Copy Data from internal SD to external
4.: Rename two partitions
5.: Format the new "userdata" partition and move all content of the old to the new location
6.: Format the new "sdcard1" partition
7.: Edit/replace fstab files in /etc to tell TWRP and System the new mountpoints
OK, let's do the trick
Step0.: Booting into recovery and accessing the Device via ADB-shell:
Put the phone into fast boot mode. (Power Volume Up simultaneously)
Open a terminal in your linux-PC and do the following as root (sudo -r):
#: fastboot devices ( check that fastboot is up and running)
#: fastboot boot openrecovery-twrp-2.7.1.0-find7a.img (or boot into TWRP if already installed)
The phone will boot into twrp.
Connect the phone and go into adb
#: adb shell
After entering the adb shell you should see the following in your terminal:
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
~ #
Step1.: Format external SD to Ext4 Filesystem
First we have to write a new partition table as i dont know how your SD-card looks:
umount /external_sd (could cause errors if no filesystem is present on SD - dont mind)
parted /dev/block/mmcblk1 (you should see parted welcome message, no errors!)
mklabel msdos (this will write a new partition table on your sdcard)
mkpart primary ext4 1 -1 (this will make a ext4 partition which uses the whole sd)
quit
Now we are going to format the ext4 partition:
mke2fs -t ext4 -m 0 -L sdcard /dev/block/mmcblk1p1
tune2fs -c 0 -i -1 -C -1 /dev/block/mmcblk1p1
mount /dev/block/mmcblk1p1 /external_sd (Mount the new formatted sd-card -- this should show no errors)
If all is done without errors, proceed to step2
Step2.: Backup the original partition layout and all partitions too
dd makes physical imagea of partitions so you can put it back if needed
While DD is copying you will see no progress bar or any output, so BE PATIENT!
Code:
mkdir /external_sd/backup
parted /dev/block/mmcblk0 print > /external_sd/backup/partitions (original partition Layout for later reference)
dd if=/dev/block/mmcblk0p1 of=/external_sd/backup/modem
dd if=/dev/block/mmcblk0p2 of=/external_sd/backup/sbl1
dd if=/dev/block/mmcblk0p3 of=/external_sd/backup/dbi
dd if=/dev/block/mmcblk0p4 of=/external_sd/backup/ddr
dd if=/dev/block/mmcblk0p5 of=/external_sd/backup/aboot
dd if=/dev/block/mmcblk0p6 of=/external_sd/backup/rpm
dd if=/dev/block/mmcblk0p7 of=/external_sd/backup/boot
dd if=/dev/block/mmcblk0p8 of=/external_sd/backup/tz
dd if=/dev/block/mmcblk0p9 of=/external_sd/backup/pad
dd if=/dev/block/mmcblk0p10 of=/external_sd/backup/modemst1
dd if=/dev/block/mmcblk0p11 of=/external_sd/backup/modemst2
dd if=/dev/block/mmcblk0p12 of=/external_sd/backup/oppodycnvbk
dd if=/dev/block/mmcblk0p13 of=/external_sd/backup/oppostanvbk
dd if=/dev/block/mmcblk0p14 | gzip -c | split -b 2000m -a 3 - /external_sd/backup/system.gz
dd if=/dev/block/mmcblk0p16 of=/external_sd/backup/persist
dd if=/dev/block/mmcblk0p17 of=/external_sd/backup/cache
dd if=/dev/block/mmcblk0p18 of=/external_sd/backup/recovery
dd if=/dev/block/mmcblk0p19 of=/external_sd/backup/fsg
dd if=/dev/block/mmcblk0p20 of=/external_sd/backup/fsc
dd if=/dev/block/mmcblk0p21 of=/external_sd/backup/ssd
dd if=/dev/block/mmcblk0p22 of=/external_sd/backup/misc
dd if=/dev/block/mmcblk0p23 of=/external_sd/backup/LOGO
dd if=/dev/block/mmcblk0p24 of=/external_sd/backup/DRIVER
dd if=/dev/block/mmcblk0p25 of=/external_sd/backup/reserve1
dd if=/dev/block/mmcblk0p26 of=/external_sd/backup/reserve2
dd if=/dev/block/mmcblk0p27 of=/external_sd/backup/reserve3
dd if=/dev/block/mmcblk0p28 of=/external_sd/backup/reserve4
dd if=/dev/block/mmcblk0p30 of=/external_sd/backup/grow
It is not urgently needed to make dd backups of userdata and (internal) sdcard but here for refernce:
Do a compressed multispan backup with dd so you can use the files on an FAT32 filesystem too:
dd if=/dev/block/mmcblk0p15 | gzip -c | split -b 2000m -a 3 - /external_sd/backup/userdata.gz.
dd if=/dev/block/mmcblk0p29 | gzip -c | split -b 2000m -a 3 - /external_sd/backup/sdcard.gz.
Example of restoring partition 29:
cat /external_sd/backup/userdata.gz.* | gzip -dc | dd of=/dev/block/mmcblk0p29
Step3.: Copy Data from internal SD to external SD:
cp -a -i /internal_sd/* /external_sd/ (this can take a while)
ls /external_sd/ (you should see a bunch of files here)
If nothing went wrong go to step4
Step4.: Rename partitions:
umount /internal_sd/
umount /and-sec/
umount /data/
parted /dev/block/mmcblk0
name 15 sdcard
name 29 userdata
print (should show you the renamed layout)
quit
If nothing went wrong go to step5
Step5.: Format the new "userdata" partition and move all content of the old to the new location:
mke2fs -t ext4 -m 0 -L userdata /dev/block/mmcblk0p29
tune2fs -c 0 -i -1 -C -1 /dev/block/mmcblk0p29
mount /dev/block/mmcblk0p15 /internal_sd
mount /dev/block/mmcblk0p29 /data
cp -a -i /internal_sd/* /data/ (this can take a while)
If nothing went wrong go to step6
Step6.: Format the new "sdcard1" partition:
umount /internal_sd/
mke2fs -t ext4 -m 0 -L sdcard1 /dev/block/mmcblk0p15
tune2fs -c 0 -i -1 -C -1 /dev/block/mmcblk0p15
If nothing went wrong go to step7
Step7.: Edit/replace fstab.qcom file to tell System the new mountpoints:
Guide from Coldbird: http://www.oppoforums.com/threads/unpack-repack-find-7-a-boot-img.14538/
Unpack update.zip and make a working directory.
copy file boot.img from update.zip into this directory
download https://github.com/xiaolu/mkbootimg_tools
unpack bootimage:
mkboot boot.img extracted (this will create a folder "extracted" with the content of boot.img where you can find fstab.qcom
edit fstab.qcom co match your needs (i.e. swap internal and external storage as shown below)
pack bootimage:
mkboot extracted newboot.img (creates newboot.img)
test bootimage (via fastboot):
sudo fastboot boot newboot.img
flash bootimage (via fastboot):
sudo fastboot flash boot newboot.img
sudo fatboot reboot
This is how the original file looks:
Code:
# Android fstab file.
# The filesystem that contains the filesystem checker binary (typically /system) cannot
# specify MF_CHECK, and must come before any filesystems that do specify MF_CHECK
#TODO: Add 'check' as fs_mgr_flags with data partition.
# Currently we dont have e2fsck compiled. So fs check would failed.
#<src> <mnt_point> <type> <mnt_flags and options> <fs_mgr_flags>
/dev/block/platform/msm_sdcc.1/by-name/system /system ext4 ro,barrier=1 wait
/dev/block/platform/msm_sdcc.1/by-name/userdata /data ext4 noatime,nosuid,nodev,barrier=1,data=ordered,noauto_da_alloc,journal_async_commit,errors=panic wait,check,encryptable=footer,length=-16384
/dev/block/platform/msm_sdcc.1/by-name/cache /cache ext4 noatime,nosuid,nodev,barrier=1,data=ordered,noauto_da_alloc,journal_async_commit,errors=panic wait,check
/dev/block/platform/msm_sdcc.1/by-name/persist /persist ext4 nosuid,nodev,barrier=1,data=ordered,nodelalloc,nomblk_io_submit,errors=panic wait
/dev/block/platform/msm_sdcc.1/by-name/boot /boot emmc defaults defaults
/dev/block/platform/msm_sdcc.1/by-name/recovery /recovery emmc defaults defaults
/dev/block/platform/msm_sdcc.1/by-name/modem /firmware vfat ro,shortname=lower,uid=1000,gid=1026,dmask=227,fmask=337 wait
/devices/msm_sdcc.1/mmc_host/mmc0 auto auto uid=1023,gid=1023,fmask=0007,dmask=0007 voldmanaged=sdcard0:29,nonremovable,noemulatedsd
/devices/msm_sdcc.2/mmc_host auto auto uid=1023,gid=1023,fmask=0007,dmask=0007 voldmanaged=sdcard1:auto,noemulatedsd
/devices/platform/xhci-hcd auto auto defaults voldmanaged=usbdisk:auto
Code:
This is the changed file:
# Android fstab file.
#<src> <mnt_point> <type> <mnt_flags and options> <fs_mgr_flags>
# The filesystem that contains the filesystem checker binary (typically /system) cannot
# specify MF_CHECK, and must come before any filesystems that do specify MF_CHECK
/dev/block/platform/msm_sdcc.1/by-name/system /system ext4 ro,barrier=1 wait
# Use internal sdcard as /data
/dev/block/platform/msm_sdcc.1/by-name/userdata /data ext4 noatime,nosuid,nodev,barrier=1,data=ordered,noauto_da_alloc,journal_async_commit,errors=panic wait,check,encryptable=footer,length=-16384
#/dev/block/platform/msm_sdcc.1/by-name/sdcard /data ext4 noatime,nosuid,nodev,barrier=1,data=ordered,noauto_da_alloc,journal_async_commit,errors=panic wait,check,encryptable=footer,length=-16384
/dev/block/platform/msm_sdcc.1/by-name/cache /cache ext4 noatime,nosuid,nodev,barrier=1,data=ordered,noauto_da_alloc,journal_async_commit,errors=panic wait,check
/dev/block/platform/msm_sdcc.1/by-name/persist /persist ext4 nosuid,nodev,barrier=1,data=ordered,nodelalloc,nomblk_io_submit,errors=panic wait
/dev/block/platform/msm_sdcc.1/by-name/boot /boot emmc defaults defaults
/dev/block/platform/msm_sdcc.1/by-name/recovery /recovery emmc defaults defaults
/dev/block/platform/msm_sdcc.1/by-name/modem /firmware vfat ro,shortname=lower,uid=1000,gid=1026,dmask=227,fmask=337,context=u:object_r:firmware_file:s0 wait
# CM11 hack: Swap sdcard1 and sdcard0 - both in ext4 and (internal)sdcard1 as emulated
#/devices/msm_sdcc.2/mmc_host auto vfat defaults voldmanaged=sdcard0:auto,noemulatedsd
#/dev/block/platform/msm_sdcc.1/by-name/userdata /storage/sdcard1 ext4 noatime,nosuid,nodev,barrier=1,data=ordered,noauto_da_alloc,nodelalloc,uid=1023,gid=1023,dmask=0007,fmask=0007 defaults
#/dev/block/platform/msm_sdcc.1/by-name/sdcard auto ext4 noatime,nosuid,nodev,barrier=1,data=ordered,noauto_da_alloc,nodelalloc,uid=1023,gid=1023,dmask=0007,fmask=0007 voldmanaged=sdcard1:29,nonremovable,noemulatedsd
# Original Entry of Gummy rom:
#/devices/msm_sdcc.1/mmc_host/mmc0 auto auto uid=1023,gid=1023,fmask=0007,dmask=0007 voldmanaged=sdcard0:29,nonremovable,noemulatedsd
#/devices/msm_sdcc.2/mmc_host auto auto uid=1023,gid=1023,fmask=0007,dmask=0007 voldmanaged=sdcard1:auto,noemulatedsd
# Working with switched sd-cards, Aut0mat3d:
/devices/msm_sdcc.1/mmc_host/mmc0 auto auto uid=1023,gid=1023,fmask=0007,dmask=0007 voldmanaged=sdcard1:15,nonremovable,noemulatedsd
/devices/msm_sdcc.2/mmc_host auto auto uid=1023,gid=1023,fmask=0007,dmask=0007 voldmanaged=sdcard0:auto,nonremovable,noemulatedsd
/devices/platform/xhci-hcd auto vfat defaults voldmanaged=usbdisk:auto
Reserved
Reserved1
This should work for most people until we fully unify the storage.
Good job there.
MrColdbird said:
This should work for most people until we fully unify the storage.
Good job there.
Click to expand...
Click to collapse
Thanks. without your Help with storage mounting i'd dropped the project
I really want to try it out but I fear that I screwed something up... I use the unofficial AOSB port. Could somebody check, if my modifications to the fstab.qcom file are correct?
Original file:
Code:
# Android fstab file.
#<src> <mnt_point> <type> <mnt_flags and options> <fs_mgr_flags>
# The filesystem that contains the filesystem checker binary (typically /system) cannot
# specify MF_CHECK, and must come before any filesystems that do specify MF_CHECK
/dev/block/platform/msm_sdcc.1/by-name/system /system ext4 ro,barrier=1 wait
/dev/block/platform/msm_sdcc.1/by-name/userdata /data ext4 noatime,nosuid,nodev,barrier=1,data=ordered,noauto_da_alloc,journal_async_commit,errors=panic wait,check,encryptable=footer,length=-16384
/dev/block/platform/msm_sdcc.1/by-name/cache /cache ext4 noatime,nosuid,nodev,barrier=1,data=ordered,noauto_da_alloc,journal_async_commit,errors=panic wait,check
/dev/block/platform/msm_sdcc.1/by-name/persist /persist ext4 nosuid,nodev,barrier=1,data=ordered,nodelalloc,nomblk_io_submit,errors=panic wait
/dev/block/platform/msm_sdcc.1/by-name/boot /boot emmc defaults defaults
/dev/block/platform/msm_sdcc.1/by-name/recovery /recovery emmc defaults defaults
/dev/block/platform/msm_sdcc.1/by-name/modem /firmware vfat ro,shortname=lower,uid=1000,gid=1026,dmask=227,fmask=337,context=u:object_r:firmware_file:s0 wait
/devices/msm_sdcc.1/mmc_host auto ext4 noatime,nosuid,nodev,barrier=1,data=ordered,noauto_da_alloc,nodelalloc,uid=1023,gid=1023,dmask=0007,fmask=0007 voldmanaged=sdcard0:29,nonremovable,noemulatedsd
/devices/msm_sdcc.2/mmc_host auto vfat defaults voldmanaged=sdcard1:auto,noemulatedsd
/devices/platform/xhci-hcd auto vfat defaults voldmanaged=usbdisk:auto
And the new one:
Code:
# Android fstab file.
#<src> <mnt_point> <type> <mnt_flags and options> <fs_mgr_flags>
# The filesystem that contains the filesystem checker binary (typically /system) cannot
# specify MF_CHECK, and must come before any filesystems that do specify MF_CHECK
/dev/block/platform/msm_sdcc.1/by-name/system /system ext4 ro,barrier=1 wait
/dev/block/platform/msm_sdcc.1/by-name/userdata /data ext4 noatime,nosuid,nodev,barrier=1,data=ordered,noauto_da_alloc,journal_async_commit,errors=panic wait,check,encryptable=footer,length=-16384
/dev/block/platform/msm_sdcc.1/by-name/cache /cache ext4 noatime,nosuid,nodev,barrier=1,data=ordered,noauto_da_alloc,journal_async_commit,errors=panic wait,check
/dev/block/platform/msm_sdcc.1/by-name/persist /persist ext4 nosuid,nodev,barrier=1,data=ordered,nodelalloc,nomblk_io_submit,errors=panic wait
/dev/block/platform/msm_sdcc.1/by-name/boot /boot emmc defaults defaults
/dev/block/platform/msm_sdcc.1/by-name/recovery /recovery emmc defaults defaults
/dev/block/platform/msm_sdcc.1/by-name/modem /firmware vfat ro,shortname=lower,uid=1000,gid=1026,dmask=227,fmask=337,context=u:object_r:firmware_file:s0 wait
/devices/msm_sdcc.1/mmc_host auto auto noatime,nosuid,nodev,barrier=1,data=ordered,noauto_da_alloc,nodelalloc,uid=1023,gid=1023,dmask=0007,fmask=0007 voldmanaged=sdcard1:15,nonremovable,noemulatedsd
/devices/msm_sdcc.2/mmc_host auto auto defaults voldmanaged=sdcard0:auto,nonremovable,noemulatedsd
/devices/platform/xhci-hcd auto vfat defaults voldmanaged=usbdisk:auto
Did I miss something? I would really appreciate your help because I don't want to mess up my device...
looks pretty fine, just give it a try. If it doesnt work it will not damage your device.
alternatively you can use the following lines tested on Gummy and CM11:
Code:
/devices/msm_sdcc.1/mmc_host/mmc0 auto auto uid=1023,gid=1023,fmask=0007,dmask=0007 voldmanaged=sdcard1:15,nonremovable,noemulatedsd
/devices/msm_sdcc.2/mmc_host auto auto uid=1023,gid=1023,fmask=0007,dmask=0007 voldmanaged=sdcard0:auto,nonremovable,noemulatedsd
For getting the job more easy i have made a AROMA installer that handles with partition renaming and flashing boot.img:
http://www.oppoforums.com/threads/a...rage-and-mount-external-sd-card-as-sd0.17852/
This can use on stock color OS?
vincent_smoox said:
This can use on stock color OS?
Click to expand...
Click to collapse
in principe: Yes
You have to modify fstab in boot.img to swap sd cards
I did it
Thanks a lot. It worked. Now I have a 128 GB SD Card in my Find7.
If anybody reads this and wants the Files needed for AOSB 1.3.6 - I uploaded the ROM including new boot.img and the boot.img alone to mega. Download here:
ROM+Boot.img
Boot.img only
I hope it works for you too
Everything was working fine until after 2 days, without warning, the screen went blank and then when I rebooted, I'm unable to save screenshots and gallery images are unavailable and external storage unavailable is the error. Sdcard0 is empty under /storage
Sent from my Find7 using XDA Free mobile app
Happened Again! Random reboot followed by corrupt partition. Cannot repair via TWRP also.
defective SD card?
Gesendet von meinem Find7 mit Tapatalk
Possible.
Sent from my Find7 using XDA Free mobile app
can you repeat step 7 again? I don't understand which zip file I have to download and how are the next small steps (command lines)?
Thank you very much for your help
jowar said:
can you repeat step 7 again? I don't understand which zip file I have to download and how are the next small steps (command lines)?
Thank you very much for your help
Click to expand...
Click to collapse
update.zip means the zip file of custom rom you have installed. next steps are in command line like steps before.
Aut0mat3d said:
In this Guide you will learn how to modify your system to handle the 9GB Partition 29 as Data (App-Storage) and use the external SD-Card as internal.
Don't be afraid, this is a lot of text mostly to explain the whole procedure, the steps are straight forward.
Thanks go to Kishd (oppoforums), Coldbird and alienmind (xdadevelopers)
Beside of the public made solutions i will do the following:
Instead of repartitioning the device i will change only the partition name of "sdcard" to "userdata", mount the external SD as internal and use the remaining 3GB Partition as external SD.
So partition 15 will become "sdcard1" and partition 29 will become "userdata"
On the Find7a you will have 9 gigs of application space and xx gigs for the internal sd (size of the sdcard).
This should work on Find7 too, someone has to check the partition layout if it is equal, than you will have 25 gigs of application space and xx gigs for the internal sd (size of the sdcard).
PRECAUTIONS:
If you mess around with partition table you could brick your device, so be careful!
Thes procedure worked for me, i am not responseable for any missing or mistyped commands/procedures, so THINK BEFORE YOU DO ANYTHING!
I am not an android Pro, nor an Develper. My Spare time is very limited so i can't help you out if something goes wrong!
I've done this with Gummy Rom, not tryed with ColorOS or another custom rom but it should work on all AOSP-based ROMS.
The swapped SD-cards do not belong to recovery, so the internal SD is accessed as before.
What do you need:
1.: Time: This is not done in 5 minutes, so please be patient.
2.: A Linux-PC with working ADB and Fastboot
3.: TWRP recovery image on your PC or installed on the device: http://techerrata.com/browse/twrp2/find7a (I used 2.7.1.0)
4.: An SD card with at least 16Gb inseted into your Find7a
5.: Fully charge your Device before messing around, some jobs will need a lot of time.
6.: A fitting custom ROM installed, i've done this with Gummy-M2.3-06-29-14-NIGHTLY-find7 which is suitable for find7 and find7a which can be found here: http://crackflasher.com/gummy-m2-3-06-29-14-nightly-find7-zip-oppo-find-7a-gummy/
7.: The zip-file of the custom rom on your local PC
What are we going to do:
0.: Boot into recovery and access the Device via ADB
1.: Format external SD to Ext4 Filesystem
2.: Backup the original partition layout and all partitions too
3.: Copy Data from internal SD to external
4.: Rename two partitions
5.: Format the new "userdata" partition and move all content of the old to the new location
6.: Format the new "sdcard1" partition
7.: Edit/replace fstab files in /etc to tell TWRP and System the new mountpoints
OK, let's do the trick
Step0.: Booting into recovery and accessing the Device via ADB-shell:
Put the phone into fast boot mode. (Power Volume Up simultaneously)
Open a terminal in your linux-PC and do the following as root (sudo -r):
#: fastboot devices ( check that fastboot is up and running)
#: fastboot boot openrecovery-twrp-2.7.1.0-find7a.img (or boot into TWRP if already installed)
The phone will boot into twrp.
Connect the phone and go into adb
#: adb shell
After entering the adb shell you should see the following in your terminal:
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
~ #
Step1.: Format external SD to Ext4 Filesystem
First we have to write a new partition table as i dont know how your SD-card looks:
umount /external_sd (could cause errors if no filesystem is present on SD - dont mind)
parted /dev/block/mmcblk1 (you should see parted welcome message, no errors!)
mklabel msdos (this will write a new partition table on your sdcard)
mkpart primary ext4 1 -1 (this will make a ext4 partition which uses the whole sd)
quit
Now we are going to format the ext4 partition:
mke2fs -t ext4 -m 0 -L sdcard /dev/block/mmcblk1p1
tune2fs -c 0 -i -1 -C -1 /dev/block/mmcblk1p1
mount /dev/block/mmcblk1p1 /external_sd (Mount the new formatted sd-card -- this should show no errors)
If all is done without errors, proceed to step2
Step2.: Backup the original partition layout and all partitions too
dd makes physical imagea of partitions so you can put it back if needed
While DD is copying you will see no progress bar or any output, so BE PATIENT!
Code:
mkdir /external_sd/backup
parted /dev/block/mmcblk0 print > /external_sd/backup/partitions (original partition Layout for later reference)
dd if=/dev/block/mmcblk0p1 of=/external_sd/backup/modem
dd if=/dev/block/mmcblk0p2 of=/external_sd/backup/sbl1
dd if=/dev/block/mmcblk0p3 of=/external_sd/backup/dbi
dd if=/dev/block/mmcblk0p4 of=/external_sd/backup/ddr
dd if=/dev/block/mmcblk0p5 of=/external_sd/backup/aboot
dd if=/dev/block/mmcblk0p6 of=/external_sd/backup/rpm
dd if=/dev/block/mmcblk0p7 of=/external_sd/backup/boot
dd if=/dev/block/mmcblk0p8 of=/external_sd/backup/tz
dd if=/dev/block/mmcblk0p9 of=/external_sd/backup/pad
dd if=/dev/block/mmcblk0p10 of=/external_sd/backup/modemst1
dd if=/dev/block/mmcblk0p11 of=/external_sd/backup/modemst2
dd if=/dev/block/mmcblk0p12 of=/external_sd/backup/oppodycnvbk
dd if=/dev/block/mmcblk0p13 of=/external_sd/backup/oppostanvbk
dd if=/dev/block/mmcblk0p14 | gzip -c | split -b 2000m -a 3 - /external_sd/backup/system.gz
dd if=/dev/block/mmcblk0p16 of=/external_sd/backup/persist
dd if=/dev/block/mmcblk0p17 of=/external_sd/backup/cache
dd if=/dev/block/mmcblk0p18 of=/external_sd/backup/recovery
dd if=/dev/block/mmcblk0p19 of=/external_sd/backup/fsg
dd if=/dev/block/mmcblk0p20 of=/external_sd/backup/fsc
dd if=/dev/block/mmcblk0p21 of=/external_sd/backup/ssd
dd if=/dev/block/mmcblk0p22 of=/external_sd/backup/misc
dd if=/dev/block/mmcblk0p23 of=/external_sd/backup/LOGO
dd if=/dev/block/mmcblk0p24 of=/external_sd/backup/DRIVER
dd if=/dev/block/mmcblk0p25 of=/external_sd/backup/reserve1
dd if=/dev/block/mmcblk0p26 of=/external_sd/backup/reserve2
dd if=/dev/block/mmcblk0p27 of=/external_sd/backup/reserve3
dd if=/dev/block/mmcblk0p28 of=/external_sd/backup/reserve4
dd if=/dev/block/mmcblk0p30 of=/external_sd/backup/grow
It is not urgently needed to make dd backups of userdata and (internal) sdcard but here for refernce:
Do a compressed multispan backup with dd so you can use the files on an FAT32 filesystem too:
dd if=/dev/block/mmcblk0p15 | gzip -c | split -b 2000m -a 3 - /external_sd/backup/userdata.gz.
dd if=/dev/block/mmcblk0p29 | gzip -c | split -b 2000m -a 3 - /external_sd/backup/sdcard.gz.
Example of restoring partition 29:
cat /external_sd/backup/userdata.gz.* | gzip -dc | dd of=/dev/block/mmcblk0p29
Step3.: Copy Data from internal SD to external SD:
cp -a -i /internal_sd/* /external_sd/ (this can take a while)
ls /external_sd/ (you should see a bunch of files here)
If nothing went wrong go to step4
Step4.: Rename partitions:
umount /internal_sd/
umount /and-sec/
umount /data/
parted /dev/block/mmcblk0
name 15 sdcard
name 29 userdata
print (should show you the renamed layout)
quit
If nothing went wrong go to step5
Step5.: Format the new "userdata" partition and move all content of the old to the new location:
mke2fs -t ext4 -m 0 -L userdata /dev/block/mmcblk0p29
tune2fs -c 0 -i -1 -C -1 /dev/block/mmcblk0p29
mount /dev/block/mmcblk0p15 /internal_sd
mount /dev/block/mmcblk0p29 /data
cp -a -i /internal_sd/* /data/ (this can take a while)
If nothing went wrong go to step6
Step6.: Format the new "sdcard1" partition:
umount /internal_sd/
mke2fs -t ext4 -m 0 -L sdcard1 /dev/block/mmcblk0p15
tune2fs -c 0 -i -1 -C -1 /dev/block/mmcblk0p15
If nothing went wrong go to step7
Step7.: Edit/replace fstab.qcom file to tell System the new mountpoints:
Guide from Coldbird: http://www.oppoforums.com/threads/unpack-repack-find-7-a-boot-img.14538/
Unpack update.zip and make a working directory.
copy file boot.img from update.zip into this directory
download https://github.com/xiaolu/mkbootimg_tools
unpack bootimage:
mkboot boot.img extracted (this will create a folder "extracted" with the content of boot.img where you can find fstab.qcom
edit fstab.qcom co match your needs (i.e. swap internal and external storage as shown below)
pack bootimage:
mkboot extracted newboot.img (creates newboot.img)
test bootimage (via fastboot):
sudo fastboot boot newboot.img
flash bootimage (via fastboot):
sudo fastboot flash boot newboot.img
sudo fatboot reboot
This is how the original file looks:
Code:
# Android fstab file.
# The filesystem that contains the filesystem checker binary (typically /system) cannot
# specify MF_CHECK, and must come before any filesystems that do specify MF_CHECK
#TODO: Add 'check' as fs_mgr_flags with data partition.
# Currently we dont have e2fsck compiled. So fs check would failed.
#<src> <mnt_point> <type> <mnt_flags and options> <fs_mgr_flags>
/dev/block/platform/msm_sdcc.1/by-name/system /system ext4 ro,barrier=1 wait
/dev/block/platform/msm_sdcc.1/by-name/userdata /data ext4 noatime,nosuid,nodev,barrier=1,data=ordered,noauto_da_alloc,journal_async_commit,errors=panic wait,check,encryptable=footer,length=-16384
/dev/block/platform/msm_sdcc.1/by-name/cache /cache ext4 noatime,nosuid,nodev,barrier=1,data=ordered,noauto_da_alloc,journal_async_commit,errors=panic wait,check
/dev/block/platform/msm_sdcc.1/by-name/persist /persist ext4 nosuid,nodev,barrier=1,data=ordered,nodelalloc,nomblk_io_submit,errors=panic wait
/dev/block/platform/msm_sdcc.1/by-name/boot /boot emmc defaults defaults
/dev/block/platform/msm_sdcc.1/by-name/recovery /recovery emmc defaults defaults
/dev/block/platform/msm_sdcc.1/by-name/modem /firmware vfat ro,shortname=lower,uid=1000,gid=1026,dmask=227,fmask=337 wait
/devices/msm_sdcc.1/mmc_host/mmc0 auto auto uid=1023,gid=1023,fmask=0007,dmask=0007 voldmanaged=sdcard0:29,nonremovable,noemulatedsd
/devices/msm_sdcc.2/mmc_host auto auto uid=1023,gid=1023,fmask=0007,dmask=0007 voldmanaged=sdcard1:auto,noemulatedsd
/devices/platform/xhci-hcd auto auto defaults voldmanaged=usbdisk:auto
Code:
This is the changed file:
# Android fstab file.
#<src> <mnt_point> <type> <mnt_flags and options> <fs_mgr_flags>
# The filesystem that contains the filesystem checker binary (typically /system) cannot
# specify MF_CHECK, and must come before any filesystems that do specify MF_CHECK
/dev/block/platform/msm_sdcc.1/by-name/system /system ext4 ro,barrier=1 wait
# Use internal sdcard as /data
/dev/block/platform/msm_sdcc.1/by-name/userdata /data ext4 noatime,nosuid,nodev,barrier=1,data=ordered,noauto_da_alloc,journal_async_commit,errors=panic wait,check,encryptable=footer,length=-16384
#/dev/block/platform/msm_sdcc.1/by-name/sdcard /data ext4 noatime,nosuid,nodev,barrier=1,data=ordered,noauto_da_alloc,journal_async_commit,errors=panic wait,check,encryptable=footer,length=-16384
/dev/block/platform/msm_sdcc.1/by-name/cache /cache ext4 noatime,nosuid,nodev,barrier=1,data=ordered,noauto_da_alloc,journal_async_commit,errors=panic wait,check
/dev/block/platform/msm_sdcc.1/by-name/persist /persist ext4 nosuid,nodev,barrier=1,data=ordered,nodelalloc,nomblk_io_submit,errors=panic wait
/dev/block/platform/msm_sdcc.1/by-name/boot /boot emmc defaults defaults
/dev/block/platform/msm_sdcc.1/by-name/recovery /recovery emmc defaults defaults
/dev/block/platform/msm_sdcc.1/by-name/modem /firmware vfat ro,shortname=lower,uid=1000,gid=1026,dmask=227,fmask=337,context=u:object_r:firmware_file:s0 wait
# CM11 hack: Swap sdcard1 and sdcard0 - both in ext4 and (internal)sdcard1 as emulated
#/devices/msm_sdcc.2/mmc_host auto vfat defaults voldmanaged=sdcard0:auto,noemulatedsd
#/dev/block/platform/msm_sdcc.1/by-name/userdata /storage/sdcard1 ext4 noatime,nosuid,nodev,barrier=1,data=ordered,noauto_da_alloc,nodelalloc,uid=1023,gid=1023,dmask=0007,fmask=0007 defaults
#/dev/block/platform/msm_sdcc.1/by-name/sdcard auto ext4 noatime,nosuid,nodev,barrier=1,data=ordered,noauto_da_alloc,nodelalloc,uid=1023,gid=1023,dmask=0007,fmask=0007 voldmanaged=sdcard1:29,nonremovable,noemulatedsd
# Original Entry of Gummy rom:
#/devices/msm_sdcc.1/mmc_host/mmc0 auto auto uid=1023,gid=1023,fmask=0007,dmask=0007 voldmanaged=sdcard0:29,nonremovable,noemulatedsd
#/devices/msm_sdcc.2/mmc_host auto auto uid=1023,gid=1023,fmask=0007,dmask=0007 voldmanaged=sdcard1:auto,noemulatedsd
# Working with switched sd-cards, Aut0mat3d:
/devices/msm_sdcc.1/mmc_host/mmc0 auto auto uid=1023,gid=1023,fmask=0007,dmask=0007 voldmanaged=sdcard1:15,nonremovable,noemulatedsd
/devices/msm_sdcc.2/mmc_host auto auto uid=1023,gid=1023,fmask=0007,dmask=0007 voldmanaged=sdcard0:auto,nonremovable,noemulatedsd
/devices/platform/xhci-hcd auto vfat defaults voldmanaged=usbdisk:auto
Click to expand...
Click to collapse
Does this work with Color is 2.1.5?
unpack-repack-find-7-a-boot-img
Does anybody has unpack-repack-find-7-a-boot-img ? OppoForums are down. I need this file.

[MOD] Mounting sdcard as userdata(a/b dualboot hack)

Here's the setup, it assumes you want to assign your sdcard as data partition for slot b...
Have the same system on both slots during setup.
Pull vendor partitions(instructions assume your using linux), modify fstab files, reflash vendor images.
adb pull /dev/block/mapper/vendor_a vendor_a.img
adb pull /dev/block/mapper/vendor_a vendor_a.img
Resize vendor image to modify files within, extend the image by 100MB
e2fsck -vfy vendor_a.img
e2fsck -vfy vendor_b.img
For vendor_b.img do:
Get current size in MB ex output 1253
du -m vendor_b.img
Resize +100MB
resize2fs vendor_b.img 1353M
Mount the image to access content
mkdir mnt
mount vendor_b.img mnt
Replace fstab.default and fstab.emmc with examples provided, sync, unmount.
cat fstab.default.sdmod.b.txt >mnt/etc/fstab.default
cat fstab.emmc.sdmod.b.txt >mnt/etc/fstab.emmc
sync
umount mnt
For vendor_a.img we hide the sdcard from vold. Keeping slot a system from declaring the sdcard as corrupted with the persistent notification about formating the card.
Get current size in MB ex output 1253
du -m vendor_a.img
Resize +100MB
resize2fs vendor_a.img 1353M
Mount the image to access content
mount vendor_a.img mnt
cat fstab.default.sdmod.a.txt >mnt/etc/fstab.default
cat fstab.default.emmc.a.txt >mnt/etc/fstabs.emmc
sync
umount mnt
Reboot phone into fastbootd, flash vendor images
fastboot flash vendor_a vendor_a.img
fastboot flash vendor_b vendor_b.img
Setup an sdcard with gpt partition map and one f2fs partition
Example device paths are: /dev/sdb(sdcard mounted with usb) or /dev/mmcblk0(sdcard mounted in card reader)
Get this CORRECT to avoid damaging other storage devices!
fdisk /dev/mmcblk0
g
n
(use defaults for partition size etc. We format with make_f2fs from platform tools next)
w
/path/to/platform-tools/make_f2fs /dev/mmcblk0p1
With freshly formated sdcard in phone, and both vendor a and b images flashed to respective slots, we set slot b as active and boot it.
fastboot set_active b
fastboot reboot
UFS(internal) data is/stays encrypted
SDHCI(sdcard) is not encrypted.
Mount slot b's data partition inside slot a with
adb shell mkdir /data/mnt
adb shell mount /dev/block/mmcblk0p1 /data/mnt
Use a root file explorer to get into /data/mnt
Todo:
Possibly encrypt sdcard, not sure if android allows two encrypted partitions, may be one or the other. I have an example fstab line in the file, however I did not get phone to boot with sdcard encrypted flags.
Modify orangefox recovery to see sdcard as data partition to allow formatting the partition on device(other than running make_f2fs from slot a)
Upload vender images to androidfilehost to download
mrbox23 said:
Here's the setup, it assumes you want to assign your sdcard as data partition for slot b...
Have the same system on both slots during setup.
Pull vendor partitions(instructions assume your using linux), modify fstab files, reflash vendor images.
adb pull /dev/block/mapper/vendor_a vendor_a.img
adb pull /dev/block/mapper/vendor_a vendor_a.img
Resize vendor image to modify files within, extend the image by 100MB
e2fsck -vfy vendor_a.img
e2fsck -vfy vendor_b.img
For vendor_b.img do:
Get current size in MB ex output 1253
du -m vendor_b.img
Resize +100MB
resize2fs vendor_b.img 1353M
Mount the image to access content
mkdir mnt
mount vendor_b.img mnt
Replace fstab.default and fstab.emmc with examples provided, sync, unmount.
cat fstab.default.sdmod.b.txt >mnt/etc/fstab.default
cat fstab.emmc.sdmod.b.txt >mnt/etc/fstab.emmc
sync
umount mnt
For vendor_a.img we hide the sdcard from vold. Keeping slot a system from declaring the sdcard as corrupted with the persistent notification about formating the card.
Get current size in MB ex output 1253
du -m vendor_a.img
Resize +100MB
resize2fs vendor_a.img 1353M
Mount the image to access content
mount vendor_a.img mnt
cat fstab.default.sdmod.a.txt >mnt/etc/fstab.default
cat fstab.default.emmc.a.txt >mnt/etc/fstabs.emmc
sync
umount mnt
Reboot phone into fastbootd, flash vendor images
fastboot flash vendor_a vendor_a.img
fastboot flash vendor_b vendor_b.img
Setup an sdcard with gpt partition map and one f2fs partition
Example device paths are: /dev/sdb(sdcard mounted with usb) or /dev/mmcblk0(sdcard mounted in card reader)
Get this CORRECT to avoid damaging other storage devices!
fdisk /dev/mmcblk0
g
n
(use defaults for partition size etc. We format with make_f2fs from platform tools next)
w
/path/to/platform-tools/make_f2fs /dev/mmcblk0p1
With freshly formated sdcard in phone, and both vendor a and b images flashed to respective slots, we set slot b as active and boot it.
fastboot set_active b
fastboot reboot
UFS(internal) data is/stays encrypted
SDHCI(sdcard) is not encrypted.
Mount slot b's data partition inside slot a with
adb shell mkdir /data/mnt
adb shell mount /dev/block/mmcblk0p1 /data/mnt
Use a root file explorer to get into /data/mnt
Todo:
Possibly encrypt sdcard, not sure if android allows two encrypted partitions, may be one or the other. I have an example fstab line in the file, however I did not get phone to boot with sdcard encrypted flags.
Modify orangefox recovery to see sdcard as data partition to allow formatting the partition on device(other than running make_f2fs from slot a)
Upload vender images to androidfilehost to download
Click to expand...
Click to collapse
I would rather buy another phone

Categories

Resources