It was supported on Nougat but I don't know if this is true for Oreo
Nope
yes it does.
you have to edit fstab.qcom in /system/vendor/etc to add the f2fs params
i.e for /data
/dev/block/bootdevice/by-name/userdata /data f2fs nosuid,nodev,noatime,nodiratime,inline_data,inline_xattr,nodiscard,nobarrier wait,check,encryptable,resize,formattable
then boot into TWRP change filesystem to F2FS and proceed to boot
Related
All the kernels support this, can we format /system, /data and everything else to ext4 and get more speed out of the file system on this phone and if so, how?
The official ROM with 2.6.35 kernel, is already using ext4 for /system /data and /cache partitions.
Code:
$ busybox mount|grep ext4
/dev/block/mmcblk0p12 on /system type ext4 (ro,relatime,barrier=1,nodelalloc,data=ordered)
/dev/block/mmcblk0p13 on /data type ext4 (rw,nosuid,nodev,relatime,barrier=1,nodelalloc,data=ordered,noauto_da_alloc)
/dev/block/mmcblk0p6 on /cache type ext4 (rw,nosuid,nodev,relatime,barrier=1,nodelalloc,data=ordered)
Maybe it is time to get over my fear of the 2.6.35 kernel with its atmel problems and its wifi reboots and update.
You can find some thread for you to move data partition to sd-ext. But there is a easier way to do that: Modify the mount point of sd-ext and data in ramdisk.
The basic step is:
0. Make a nandroid backup
1. Make an ext4 partition on your sdcard (I used gparted in ubuntu, very fast and not lost data)
2. Download your kernel as boot.img
3. Unpack you boot.img (you can find many thread said how to do, and I think the most completly tool you can get from http://forum.xda-developers.com/showthread.php?t=1241005. You can find the example to unpack boot.img, extract ramdisk, repack ramdisk, repack boot.img from the README.txt file of this tool)
4. Extract ramdisk:
Code:
gzip -dc ../unpack/boot.img-ramdisk.gz | cpio -i
If you find ramdisk.cpio file, you need to extract it by
Code:
cpio -i -F ramdisk.cpio
5. Modify the mount point of data and sd-ext
- File fstab:
+ Find the line
Code:
/data yaffs2 userdata
, and change to
Code:
/data ext4 /dev/block/mmcblk0p2
- File init.semc.rc
+ Find the line
Code:
mount yaffs2 [email protected] /data nosuid nodev
and change to
Code:
mount ext4 /dev/block/mmcblk0p2 /data nosuid nodev
- File recovery.fstab:
+ Find the line
Code:
/data yaffs2 userdata
and change to
Code:
/data ext4 /dev/block/mmcblk0p2
6. Repack the ramdisk
If you extracted from ramdisk.cpio file, you need to pack to ramdisk.cpio first
Code:
find . | cpio -o -H newc -O <target path>/ramdisk.cpio
Then repack you ramdisk: At the ramdisk folder:
Code:
mkbootfs <ramdisk folder> | gzip > <target path>/boot.img-ramdisk-new.gz
7. Repack boot.img
Code:
mkbootimg --kernel <path to>/boot.img-zImage --ramdisk <path to>/boot.img-ramdisk-new.gz -o <path to>/boot_new.img --base `cat <path to>/boot.img-base`
8. Flash boot_new.img
9. Enter CWM, wipe phone and restore from your backup
--> Done
Thanks for the info. Or you can go on cmw and create sd-ext from there.
Will it Work with an ext3 partition too?
Gesendet von meinem LT15i
lol
i dont understand at all...
ARip Kenpachi said:
i dont understand at all...
Click to expand...
Click to collapse
It's because the title is wrong.. it's not the "easy way" .. it's a little bit more 'medium - adv user' way..
If it's so hard for you, I think it's better u to search 'script/app' for doing this.
There's a lot available like link2sd, cronmod script, etc
Excellent, it worked on Vengeance Kernel, actually that was the only kernel that I was able to extract the ramdisk.
Lupus kernel has is ramdisk in another format (not gzip), and KTG is in a elf file.
The boot took a little bit longer, but i think is more stable than using init.d scripts.
EDIT: Make the backup from an old CWM (like the one on the recoveryARC.img file), newer versions will check for the correct filesystem, and as we are changing it, It will not work. For restore, use any version of CWM (the one included on Vengeance works great).
Also, if you have an LT15i, backup your /system/vendor folder, otherwise, it will be not longer available (and a lot of apps will crash), I copied it into the data folder and made a symlink into /system/vendor (and as your data folder will be bigger, thats no issue).
I can't manage to do the trick on my Arc S with DoomKernel_v22. When I flash the modified .img the phone doesn't start and i can't go into CWM.
I have two partitions on SD, the second one is the ext4 i want to use.
These are the files extracted from Doomkernel:
fstab:
Code:
/data yaffs2 userdata
/cache yaffs2 cache
init.semc.rc:
Code:
on fs
# mount mtd partitions
# Mount /system rw first to give the filesystem a chance to save a checkpoint
mount yaffs2 [email protected] /system
mount yaffs2 [email protected] /system rw remount
mount yaffs2 [email protected] /data nosuid nodev
mount yaffs2 [email protected] /cache nosuid nodev
recovery.fstab:
Code:
/cache yaffs2 cache
/data yaffs2 userdata
/system yaffs2 system
/sdcard vfat /dev/block/mmcblk0p1
/sd-ext auto /dev/block/mmcblk0p2
Can anyone help me please?
after formatting with f2fs, need to change some sort files "fstab" to mount the partitions with this file system?
>adb shell
#umount /system
#umount /data
#mkfs.f2fs /dev/block/mmcblk0p16
#mkfs.f2fs /dev/block/mmcblk0p13
#mkfs.f2fs /dev/block/mmcblk0p12
#mount /system
#mount /data
My kernel is AGNi with f2fs support ..
Tks
nothing ?
mpsnet said:
nothing ?
Click to expand...
Click to collapse
if the rom doesnt handle the changes for u then u will need to change it yourself
Anyone with updater-script knowledge would be helpful.
I'm trying to make changes to my updater-script in my ROM to mount /system and /data in EXT4 or F2FS accordingly. This is to reduce the number of ROMs I have to upload (one for each file system type), plus it saves time for people who switch back and forth. And I believe this could help other ROMs also
So far I've come up with this ifelse condition:
Code:
ifelse(mount("ext4", "EMMC", "/dev/block/platform/msm_sdcc.1/by-name/system", "/system"),
# /system EXT4 mount
ui_print("Mounting /system in EXT4 mode");
sleep(1),
# /system F2FS mount
ui_print("Mounting /System in F2FS mode");
mount("f2fs", "EMMC", "/dev/block/platform/msm_sdcc.1/by-name/system", "/system");
sleep(1));
The main idea behind this is the recovery (I'm using TWRP, so I can't speak for Philz or CWM) will attempt to mount /system in EXT4 first. If it succeeds in the initial mount, it should print out the "mount in EXT4" line, which in testing has worked for me. I am in F2FS and I see that the initial mount fails and goes to the second mount. More of my testing with "is_mounted()" shows that if I go to the F2FS part, /system is not mounted yet until it runs mount with F2FS as the argument.
I made a test zip that, after this line, pushes a test file to /system/bin and also changes it's permissions successfully. I'll include it to download for anyone else who can test this for me.
Can anyone think of reasons why this is bad in practice? Or if this will cause any issues? The goal is that this will end up in a ROM's updater-script so I'd like to know anything before I start testing this myself. Thank you!
Anybody knows how to mount this partitions? i want to use a NFC software but it says that vendor couldn't mount.