Kernel dependent file systems? - Xiaomi Redmi Note 4 Questions & Answers

Hi there. So my problem is quite...extraordinary.
All I want is to use my 128 GB Micro SD card without errors. However, no matter what file system or configuration I used on it, it just won't work. First it won't allow me to write on it. Then it does but won't allow me to delete from it. Then I need to rescan the contents on it for apps to be able to see media. The card is in perfect condition and without flaws I assure you.
The file systems I tried so far are ext3, ext4, FAT32, NTFS, F2FS and VFAT. Tried multiple custom ROMs including Lineage, Pixel Experience and currently dotOS. It seems that file system support depends on the OS' kernel. I've given up on ext4 and F2FS thanks to the problems I mentioned before. So now I want to format my card as EXFAT. It has much better performance and compatibility than FAT32, NTFS or VFAT. Not to mention these three have significant performance change/spikes while writing and deleting. Only problem that not all kernels support EXFAT and so far neither custom ROM that I used had support built in its kernel. My latest developments is that I found a kernel out of 10 that does support EXFAT. It runs by the name Xenial. I just don't really like custom kernels so I want to avoid using them in the future if that's possible.
Any advice? Please.

Related

Is it possible? Use ext4 for sdcard?

Is it possible to repartition my SD card to use EXT4 instead of FAT32, with the Fascinate? I'm currently running an EB01 kernel and a custom EB01 build. I'm just not sure how to do this part, as I've never done it before. I've seen it done for other devices, but I don't think it has come up here yet. This isn't really a debate on if I should or should not make it EXT4, just on how to do it.
That's what a voodoo kernel does.
Sent from my SCH-I500 using Tapatalk
JoeDat said:
That's what a voodoo kernel does.
Sent from my SCH-I500 using Tapatalk
Click to expand...
Click to collapse
I'm running the EB01 voodoo kernel, and yes it obviously has support for EXT4 since that is the FS it uses.
My question though is how can I mount my SD card to be recognized when I format it to EXT4 too?
Ah crap. I should have read your post more than once. Mundane detail. Just call me Michael Bolton.
Sent from my SCH-I500 using Tapatalk
If you don't have anything on your SDcard you mind deleting (or could just back it up), you could always try repartitioning it, and then seeing if Android is able to mount it.
If it doesn't automatically work, it shouldn't be too hard to modify the system to work (either by switching it from using 'vfat' to 'auto' or 'ext4')... it's just a matter of finding out where to change it.
There's no reason why it wouldn't, I guess... worst case you use command line mount tool to mount it manually every boot
That's what I thought too, that it would work inherently, but I partitioned/formatted the entire thing to EXT3 and it was not able to be recognized. I think either A) there is no built-in module for EXT3 support, or B) I'm just not doing it right.
Could be that I used a Windows tools to do the job to get EXT3, and I'm having trouble finding one to do EXT4, and I can't find any tools/scripts to convert EXT3 to EXT4 for Android.
If you format the sdcard to anything other than FAT32, Windows will not be able to read it when you try to mount it on your PC. I'm not sure if there are any utilities available that allows Windows to directly mount EXT filesystems or not, but I would be very afraid of data loss with a configuration like that.
What is the reason you want to convert it? Is it the file size limit of FAT32, or something else?
Posted from my EB01 SuperClean Fascinate with Voodoo
ivorycruncher said:
If you format the sdcard to anything other than FAT32, Windows will not be able to read it when you try to mount it on your PC. I'm not sure if there are any utilities available that allows Windows to directly mount EXT filesystems or not, but I would be very afraid of data loss with a configuration like that.
Click to expand...
Click to collapse
There's been an ext2 (possibly 3/4, but all are backwards compatible long as you don't use extents on 4) driver for Windows for a number of years. There's also a number of tools that can allow you to open ext2/3/4 file systems and modify them, without actually having to mount them.
ADB would also still work, so would an app that provides access to the sdcard via webdav/ftp/sftp/etc.
What is the reason you want to convert it? Is it the file size limit of FAT32, or something else?
Click to expand...
Click to collapse
Speed should improve by quite a bit, as well as greatly increased reliability (although the windows. Ext2/3/4 also support far larger files than fat32, of course, so if you like your raw-DVD rips or 1080p ultra-high-quality bollywood movies, there would be an obvious benefit by removing that restriction. I don't believe the ext family of file systems support it (but I could be wrong about ext4), but tail packing would greatly improve efficiency if you have a massive number of small files (reiserfs has it, btrfs might also- not sure).
Personally, it doesn't seem like there's enough of a benefit to really do it, especially if you're not using Linux... other than the desire to do it for the sake of doing it... which, considering where we are, that's pretty much enough of a reason to do anything.
Until I can find a good way to automount the FS every boot I wil probably stay with FAT32. I played around with different methods last night quite a bit and it turned into much more of a hassle than I liked. I really regret not having it however, because of the loss of speed.

Need 64GB Driver.

I bought 64 gb card and it works on samsung stock galaxy s3 rom BUT when i switched to Cyanogen10 mod it started showing damaged card,
I know it is because the stock has driver for that card,
My question is has someone ported or can someone please port the driver from stock and make it workable on custom roms.
Thanks.
exFAT is not and probably will never be supported by CM9 or 10.
Your card needs to be FAT32-formatted to work.
Alright trying hopefully this works and doesnt screw up my card.
d4fseeker said:
exFAT is not and probably will never be supported by CM9 or 10.
Your card needs to be FAT32-formatted to work.
Click to expand...
Click to collapse
didnt work now the phone doesnt even show damaged card, its acting like card is not even inserted.
How exactly have you formatted the card? Windows onboard utilities won't let you format a 64GB card as FAT32, so my guess is you formatted it as NTFS.
Unfortunately CM cannot read NTFS either, you'll need another kernel for that. (And to date none has been released)
Try the HP Usb Format utility to create a FAT32 partition.
d4fseeker said:
exFAT is not and probably will never be supported by CM9 or 10.
Your card needs to be FAT32-formatted to work.
Click to expand...
Click to collapse
Why is this?! Does AOSP not come with exFAT support, it's something Samsung builds into the kernel afterwards?
Disappointed, as I was tempted to try CM, but no 64GB support renders my card next to useless.
Disappointed, as I was tempted to try CM, but no 64GB support renders my card next to useless.
Click to expand...
Click to collapse
FAT32 doesn't mean the card is restricted to 32GB, it means a file can be 2^32 bytes long which is 4GB.
FAT64 (ExFat) has a limit of 2^64 bytes per file which equals 16 Exabyte (1Exabyte = 1024 Terabyte)
It's possible for FAT32 partitions to be as large as 8 Terabyte, which is roughly 1000 times the size of harddisks when FAT32 was released.
Windows, for some stupid compatibility reason with a 12 year old operating system (Windows 2000) does not allow to format FAT32 partitions to a size larger than 32GB, hence the usual confusion.
As described above, here is the tool you need: http://www.softpedia.com/get/System/Hard-Disk-Utils/HP-USB-Disk-Storage-Format-Tool.shtml
Why is this?! Does AOSP not come with exFAT support, it's something Samsung builds into the kernel afterwards?
Click to expand...
Click to collapse
ExFat is patent-encumbered, meaning every distributed binary copy of Cyanogenmod would theoretically cost the developers the license fee.
(At least for US-based downloads, most other countries see software patents as what they are - ridiculous and unenforceable)
Furthermore -and a very big issue- is the instability of the exFat code for GNU/Linux (and by extension, Android) which causes data loss, corruption and other negative side effects.
It's highly recommended not to use exFAT with Samsung-firmwares either.
d4fseeker said:
How exactly have you formatted the card? Windows onboard utilities won't let you format a 64GB card as FAT32, so my guess is you formatted it as NTFS.
Unfortunately CM cannot read NTFS either, you'll need another kernel for that. (And to date none has been released)
Try the HP Usb Format utility to create a FAT32 partition.
Click to expand...
Click to collapse
i used easeus partition: i deleted partition first and made new one with fat32 file system,
which didnt work, after that i deleted the partition again and formatted using stock galaxy s3 rom and it works again but limited to stock rom only like before.
atleast the card isnt dead.
d4fseeker said:
How exactly have you formatted the card? Windows onboard utilities won't let you format a 64GB card as FAT32, so my guess is you formatted it as NTFS.
Unfortunately CM cannot read NTFS either, you'll need another kernel for that. (And to date none has been released)
Try the HP Usb Format utility to create a FAT32 partition.
Click to expand...
Click to collapse
ill try this software as well.
d4fseeker said:
How exactly have you formatted the card? Windows onboard utilities won't let you format a 64GB card as FAT32, so my guess is you formatted it as NTFS.
Unfortunately CM cannot read NTFS either, you'll need another kernel for that. (And to date none has been released)
Try the HP Usb Format utility to create a FAT32 partition.
Click to expand...
Click to collapse
I didnt get a chance to try Hp software i cant across this other software and it work.
Thank you though
d4fseeker said:
FAT32 doesn't mean the card is restricted to 32GB, it means a file can be 2^32 bytes long which is 4GB.
FAT64 (ExFat) has a limit of 2^64 bytes per file which equals 16 Exabyte (1Exabyte = 1024 Terabyte)
It's possible for FAT32 partitions to be as large as 8 Terabyte, which is roughly 1000 times the size of harddisks when FAT32 was released.
Windows, for some stupid compatibility reason with a 12 year old operating system (Windows 2000) does not allow to format FAT32 partitions to a size larger than 32GB, hence the usual confusion.
As described above, here is the tool you need: http://www.softpedia.com/get/System/Hard-Disk-Utils/HP-USB-Disk-Storage-Format-Tool.shtml
Click to expand...
Click to collapse
Thanks, though I realised this - the whole reason I need a 64GB card is to copy movies onto there, because I travel a lot... many of them are over 4GB, which is the issue I have with using FAT32.
d4fseeker said:
ExFat is patent-encumbered, meaning every distributed binary copy of Cyanogenmod would theoretically cost the developers the license fee.
(At least for US-based downloads, most other countries see software patents as what they are - ridiculous and unenforceable)
Furthermore -and a very big issue- is the instability of the exFat code for GNU/Linux (and by extension, Android) which causes data loss, corruption and other negative side effects.
It's highly recommended not to use exFAT with Samsung-firmwares either.
Click to expand...
Click to collapse
Maybe I should look at ext3 instead, though then I'd have problems putting it straight into my Windows machine. Though, exFAT has been 100% stable for me so far.
many of them are over 4GB
Click to expand...
Click to collapse
Ok that is a problem for FAT32. You didn't mention it so I assumed you mistook the 32 in FAT32 for 32GB as many people do.
Maybe I should look at ext3 instead
Click to expand...
Click to collapse
Since you should never need to remove or directly access the card (MTP mode or File transfer through 'Samba Fileshare' App) that should be a solution. For your own computers, you could use the following driver:
http://www.fs-driver.org/
It allows read-write access to EXT2. EXT2 being EXT3 without journaling support (and thus fully backwards compatile) that could do the trick.
Pententially you'll need to re-enable the journal again through tune2fs on the Smartphone after having used an EXT2-driver. Not sure though since the journal is only relevant until a clean dismount is made.
You should however also be able to load the NTFS-module in the kernel or recompile the CM10 kernel with the required options.
If you need to plug the SDcard into your computer a lot, that may be the only solution until Gokhanmoral is back.

Kernels with exFAT?

I have a 64 GB SD card on my S4. Thankfully it is working with TWRP which now has support for exFAT.
Are there any custom kernels for the Vz S4 that support exFAT?
Since I don't have any files bigger than 4GB I may downgrade the file structure to FAT32 if that is the only way to use a custom kernel on my S4.
swieder711 said:
I have a 64 GB SD card on my S4. Thankfully it is working with TWRP which now has support for exFAT.
Are there any custom kernels for the Vz S4 that support exFAT?
Since I don't have any files bigger than 4GB I may downgrade the file structure to FAT32 if that is the only way to use a custom kernel on my S4.
Click to expand...
Click to collapse
I'm interested in this as well...only one I'm aware of so far is by Ktoonsez, in this thread: http://forum.xda-developers.com/showthread.php?t=2294083.
Here's what I got from the kernel dev, Ktoonsez:
Originally Posted by Redflea:
Just wanted to confirm that this:
"Thanks to Talustus we now have exFAT for Touchwiz and AOSP"
...means that I can leave my 64GB SD card formatted to exFAT, correct?
Faux is still saying on his kernel thread says that he provide exFAT support due to Samsung's licensing of MS proprietary exFAT format, which hasn't been released as it isn't open source. How was that gotten around on this kernel? Thanks...
Reply from Ktoonsez: A developer named Talustus wrote one from scratch. It work for 90% of the people I would say, some cheapy SDcards seem to have trouble, Samsung cards will work 100% of the time. The exFAT card must be in the phone upon boot up and the exfat partition must be on partition 0 or 1 for my code to pick up on it. To get best chance of success, format the card using Windows 7 or 8 for exFAT, that will guarantee the whole card will be formatted to exFAT on partition 0
Click to expand...
Click to collapse
I've also asked on the Chronic kernel thread here:
http://forum.xda-developers.com/showthread.php?t=2319243
Faux's kernel does not support exFAT.

Mount f2fs sdcard on boot

I have a 128 GB microsd and I do not want FAT32 on it. I have MIUI 8 (Android 5.1.1) with 3.10.49 kernel, TWRP 3 and root. For some reason mount doesn't work at all, it always produces error "Invalid argument". I tried replacing it with one from BusyBox but it didn't help. Some forum guys told me that I should add the card to fstab (which AFAIK is located inside boot.img), and edit the config of vold (which is located I have no idea where). Also this. All I understood from there is that there is some storage_list.xml and I should edit it. Again, searching through forums led me to this path framework-res.apk\res\xml\storage_list.xml.
But still! I have no idea where this framework-res.apk is located and how do I unpack-repack it.
All info that I'm desperately trying to extract from google is outdated or related purely to cyanogen >_< Please give some instructions
You wrote you don't want FAT32. Other filesystem than that isn't supported by MIUI which is why you won't succeed to show your card content by editing anything. You need a 3rd party libs with your filesystem support.
See here, worked for me http://forum.xda-developers.com/showthread.php?p=61142640
or install a custom app with your filesystem support (eg. Paragon NTFS).It works either.
Sent from my phone by Tapatalk
Dude, that's the f$#@ed up part, you see.
> If you use KitKat
And I'm using 5.1.1 which is technically lollipop.
I'm seeking for a support as close to native as it can be, so I'm not involving any "mounting" crapware, especially Paragon's products, I'm fed up with their ext4 4 windows driver which gave me countless BSODs and corrupted files.
You said that MIUI doesn't support anything but FAT32, but that's not 100% true. It by default supports only FAT32 for external storage. But at the same time it mounts internal storage (which is of course in ext4) no problem. So I guess it's not *unable* to use ext4 (or f2fs, which is AFAIK supported by any kernel after 3.10.*) for external storage, it's just not enabled by default, and the question is how do I properly use that ability of android to mount ext4 (and/or f2fs)
UPD: I have to apologize for posting "also this" in the initial post w/o actually giving the link, here it is.
This is what seems actually related, but I'm too noob to understand what am I supposed to do to mount the damn card
First, the ROM and/or (especially) kernel should have F2FS support, then ramdisk should be modified with fstab edited so it could mount F2FS partitions at boot.
Other than that, it's impossible.
Sent from my ASUS_Z00A using XDA Labs

Roms not recognizing SD card...

Had this problem with Pie roms as well, but settled on Bootleggers, wasn't an issue with that. Have been playing around with the Q roms now, and am seeing it again with all but Havoc so far. Device is US998, and card is formatted ext4. With most of the roms, it says "card not supported" and gives me the option to format it. In addition to not feeling like shuffling around 64 gb of data, I'm not sure what format it will format it to (this is for media storage, not internal). Definitely don't want exFat, as I've had a bunch of problems in the past with the partition table getting corrupted and needing a windows box to fix (can't be done in linux). Was hoping there was a kernel fix for this. I've tried a couple without success...
Bump... Anyone?
nola mike said:
Bump... Anyone?
Click to expand...
Click to collapse
Don't really have anything to add other than, I bother to shuffle the data if it's a rom I want to use. It seems many of the aosp based roms format it to 'fuse' of some kind. Don't think there's any other option but to use what's built into the rom.
cheers
There isn't enough info provided in the OP, so I have to ask: Is the rom designed to support ext4? Not all roms are... Android doesn't natively support it, from what I'm reading. You have to do something to add support for it (and/or you may still need to manually mount it via root). I also read that CM added this support to their releases...
Some info on how to mount manually, and other related questions: https://android.stackexchange.com/q...-system-for-microsd-cards-in-stock-or-non-lin
Either use ROMs that support Ext4 like Lineage OS and a few others or change your sd card to a different format
Also changing the kernel also affects ext4 compatibility

Categories

Resources