[Android Q&A, Help & Troubleshooting] afridi.shahriar:
@namhoang235

Its possible to mount f2fs/ext4 microSD / usb-otg on android.

i use f2fs since 2017 for microSD on Android.

u need to be rooted, and, a your need to have kernel f2fs-support.

if you can format /data as f2fs and mount it.

then, youtl already have f2fs support.

else you can use any custom kernel with f2fs support.

as (on 2018) for my asus x00td device, i requested @Sakhtlonda69 to add f2fs support in his custom kernel build.

(and, he did it!)

----

these are few values , which u need to know, to execute the below commands

# YOUR_DEVICE_NUMBER = the exact partition which is your memory card's 1st partition.

# If you have a device with UFS storage (not eMMC), then, microSD will be most likely at "mmcblk0p1"

# If you have a device with eMMC Storage (not UFS), then, microSD will be most likely at "mmcblk1p1"

# If you still can't understand what I'm saying,

# Make sure your memory card is inserted,

# then,

# just go to /dev/block from any rooted file manager

# search "mmcblk1" there.

# if it only shows these 2 files: mmcblk1 and mmcblk1p1

# then, "YOUR_DEVICE_NUMBER" is "mmcblk1p1"

but, if you can't find anything with "mmcblk1"

#then, search "mmcblk0" there.

# if it only shows these 2 files: mmcblk0 and mmcblk0p1

# then, "YOUR_DEVICE_NUMBER" is "mmcblk0p1"

so, "YOUR_DEVICE_NUMBER" is actually either "mmcblk0p1" or "mmcblk1p1"

WARNING: (If you format any wrong system's internal storages partition, your device will most likely be bricked!)

Understand?

---

#---Format your microSD part with f2fs---#

simply unmount the memory card from Settings > Storage.

then, launch Terminal Emulator/ Termux App

(make sure you have root)

enter below 2 commands one by one:

su

make_f2fs -f /dev/block/YOUR_DEVICE_NUMBER

#---Formated successfully---#

-----

Now reboot your device

After reboot your device show a notification that your Memory Card is corrupted!

(because most of the android system can't mount anything except fat/exFAT for Memory Card - it's normal)

---

to mount the microSD (Memory Card),

Launch Terminal/Termux: and, enter below lines one by one:

(YOU NEED TO ENTER THESE LINES EVERY TIME AFTER YOU REBOOT YOUR DEVICE)

su

mkdir -p /mnt/extsd

mkdir -p /sdcard/_MemoryCard_

# Mount f2fs-microSD at /mnt/extsd

mount -t f2fs -o rw,nosuid,nodev,noatime,noexec,discard,fsync_mode=nobarrier /dev/block/platform/soc/*.sdhci/mmcblk*p1 /mnt/extsd

# Bind using sdcardfs f2fs-microSD from /mnt/extsd to /sdcard/_MemoryCard_

mount -t sdcardfs -o rw,nosuid,nodev,noatime,noexec,fsuid=1023,fsgid=1023,gid=9997,mask=2 /mnt/microSD /mnt/runtime/default/emulated/0/_MemoryCard_

----

Now,

microSD is mounted under Internal Storage's _MemoryCard_ folder.

---------

(Extra things)

If you dont want to show Memory Card Corrupted (annoying) Notification on each boot,

simply edit your /vendor/etc/fstab* file.

(it will be under : /vendor/etc/fstab.qcom or /vendor/etc/fstab.default or /vendor/etc/fstab.emmc)

(if you have more that one fstab, edit all)

Edit fstab* :

Find the line contains

"/devices/platform/soc/ ......... /mmc_host*"

add a "#" at the starting of that line (without quotation marks)

and save that file.

Reboot your device.

Now, It won't show any corruption device notification.