WeAreFairphone / android_device_fairphone_FP3

Android / LineageOS 16 device tree for Fairphone 3
46 stars 7 forks source link

exFAT support possible #25

Open klic opened 4 years ago

klic commented 4 years ago

Is it possible to add exFAT support for SD card? I had it on FPOS, and had to reformat and redo the data in the card, but >4G support would nice

dk1978 commented 4 years ago

Good idea. Do you know if the /e/ build supports exFAT out-of-the-box?

klic commented 4 years ago

I'm afraid I didn't test /e/ at all, just jumped ship to your version of LOS after FPOS. But a quick search pointed back to if it's supported on LOS they will too... But as I was using this same card without modification on my FP2 with LOS, I'd say in principle LOS does support it, probably in the modified version as texFAT

dk1978 commented 4 years ago

I have included a backport of the exfat kernel module into our kernel tree. My first tests on a new SDcard formatted with exfat were positive. Closing this now.

Faerbit commented 4 years ago

I've been getting this build error lately:

fs/Kconfig:128: can't open file "fs/exfat/Kconfig"
Longer excerpt of the log
 [ 12% 14293/114413] Building Kernel Config
FAILED: /srv/src/LINEAGE_16_0/out/target/product/FP3/obj/KERNEL_OBJ/.config 
/bin/bash -c "(make -j8  -j\$(nproc) CFLAGS_MODULE=\"-fno-pic\" DTC=/srv/src/LINEAGE_16_0/prebuilts/misc/linux-x86/dtc/dtc MKDTIMG=/srv/src/LINEAGE_16_0/prebuilts/misc/linux-x86/libufdt/mkdtimg -C kernel/fairphone/sdm632 O=/srv/src/LINEAG
E_16_0/out/target/product/FP3/obj/KERNEL_OBJ ARCH=arm64 CROSS_COMPILE=\"/usr/bin/ccache aarch64-linux-android-\" CROSS_COMPILE_ARM32=\"arm-linux-androideabi-\"   VARIANT_DEFCONFIG= SELINUX_DEFCONFIG= lineageos_FP3_defconfig ) && (if [ ! -
z \"\" ]; then                      echo \"Overriding kernel config with ''\";                      echo  >> /srv/src/LINEAGE_16_0/out/target/product/FP3/obj/KERNEL_OBJ/.config;                    make -j8  -j\$(nproc) CFLAGS_MODULE=\"-fn
o-pic\" DTC=/srv/src/LINEAGE_16_0/prebuilts/misc/linux-x86/dtc/dtc MKDTIMG=/srv/src/LINEAGE_16_0/prebuilts/misc/linux-x86/libufdt/mkdtimg -C kernel/fairphone/sdm632 O=/srv/src/LINEAGE_16_0/out/target/product/FP3/obj/KERNEL_OBJ ARCH=arm64 
CROSS_COMPILE=\"/usr/bin/ccache aarch64-linux-android-\" CROSS_COMPILE_ARM32=\"arm-linux-androideabi-\"   oldconfig;            fi ) && (make -j8  -j\$(nproc) CFLAGS_MODULE=\"-fno-pic\" DTC=/srv/src/LINEAGE_16_0/prebuilts/misc/linux-x86/d
tc/dtc MKDTIMG=/srv/src/LINEAGE_16_0/prebuilts/misc/linux-x86/libufdt/mkdtimg -C kernel/fairphone/sdm632 O=/srv/src/LINEAGE_16_0/out/target/product/FP3/obj/KERNEL_OBJ ARCH=arm64 CROSS_COMPILE=\"/usr/bin/ccache aarch64-linux-android-\" CRO
SS_COMPILE_ARM32=\"arm-linux-androideabi-\"   savedefconfig ) && (if [ ! -z \"\" ]; then                    echo \"Using additional config ''\";                    kernel/fairphone/sdm632/scripts/kconfig/merge_config.sh -m -O /srv/src/LIN
EAGE_16_0/out/target/product/FP3/obj/KERNEL_OBJ /srv/src/LINEAGE_16_0/out/target/product/FP3/obj/KERNEL_OBJ/.config kernel/fairphone/sdm632/arch/arm64/configs/;                       make -j8  -j\$(nproc) CFLAGS_MODULE=\"-fno-pic\" DTC=/s
rv/src/LINEAGE_16_0/prebuilts/misc/linux-x86/dtc/dtc MKDTIMG=/srv/src/LINEAGE_16_0/prebuilts/misc/linux-x86/libufdt/mkdtimg -C kernel/fairphone/sdm632 O=/srv/src/LINEAGE_16_0/out/target/product/FP3/obj/KERNEL_OBJ ARCH=arm64 CROSS_COMPILE=
\"/usr/bin/ccache aarch64-linux-android-\" CROSS_COMPILE_ARM32=\"arm-linux-androideabi-\"   KCONFIG_ALLCONFIG=/srv/src/LINEAGE_16_0/out/target/product/FP3/obj/KERNEL_OBJ/.config alldefconfig;           fi )"
make: Entering directory '/srv/src/LINEAGE_16_0/kernel/fairphone/sdm632'
make[1]: Entering directory '/srv/src/LINEAGE_16_0/out/target/product/FP3/obj/KERNEL_OBJ'
  GEN     ./Makefile
  HOSTCC  scripts/basic/fixdep
  HOSTCC  scripts/kconfig/conf.o
  SHIPPED scripts/kconfig/zconf.lex.c
  SHIPPED scripts/kconfig/zconf.hash.c
  SHIPPED scripts/kconfig/zconf.tab.c
  HOSTCC  scripts/kconfig/zconf.tab.o
  HOSTLD  scripts/kconfig/conf
drivers/input/touchscreen/Kconfig:1326:warning: ignoring unsupported character '^M'
drivers/input/touchscreen/hxchipset83112b/Kconfig:5:warning: ignoring unsupported character '^M'
drivers/input/touchscreen/hxchipset83112b/Kconfig:6:warning: ignoring unsupported character '^M'
drivers/input/touchscreen/hxchipset83112b/Kconfig:7:warning: ignoring unsupported character '^M'
drivers/input/touchscreen/hxchipset83112b/Kconfig:8:warning: ignoring unsupported character '^M'
drivers/input/touchscreen/hxchipset83112b/Kconfig:8:warning: ignoring unsupported character '^M'
drivers/input/touchscreen/hxchipset83112b/Kconfig:11:warning: ignoring unsupported character '^M'
drivers/input/touchscreen/hxchipset83112b/Kconfig:12:warning: ignoring unsupported character '^M'
drivers/input/touchscreen/hxchipset83112b/Kconfig:13:warning: ignoring unsupported character '^M'
drivers/input/touchscreen/hxchipset83112b/Kconfig:14:warning: ignoring unsupported character '^M'
drivers/input/touchscreen/hxchipset83112b/Kconfig:14:warning: ignoring unsupported character '^M'
drivers/input/touchscreen/hxchipset83112b/Kconfig:17:warning: ignoring unsupported character '^M'
drivers/input/touchscreen/hxchipset83112b/Kconfig:18:warning: ignoring unsupported character '^M'
drivers/input/touchscreen/hxchipset83112b/Kconfig:19:warning: ignoring unsupported character '^M'
drivers/input/touchscreen/hxchipset83112b/Kconfig:20:warning: ignoring unsupported character '^M'
drivers/input/touchscreen/hxchipset83112b/Kconfig:20:warning: ignoring unsupported character '^M'
drivers/input/touchscreen/hxchipset83112b/Kconfig:23:warning: ignoring unsupported character '^M'
drivers/input/touchscreen/hxchipset83112b/Kconfig:24:warning: ignoring unsupported character '^M'
drivers/input/touchscreen/hxchipset83112b/Kconfig:25:warning: ignoring unsupported character '^M'
drivers/input/touchscreen/hxchipset83112b/Kconfig:26:warning: ignoring unsupported character '^M'
fs/Kconfig:128: can't open file "fs/exfat/Kconfig"
make[2]: *** [/srv/src/LINEAGE_16_0/kernel/fairphone/sdm632/scripts/kconfig/Makefile:112: lineageos_FP3_defconfig] Error 1
make[1]: *** [/srv/src/LINEAGE_16_0/kernel/fairphone/sdm632/Makefile:548: lineageos_FP3_defconfig] Error 2
make[1]: Leaving directory '/srv/src/LINEAGE_16_0/out/target/product/FP3/obj/KERNEL_OBJ'
make: *** [Makefile:152: sub-make] Error 2
make: Leaving directory '/srv/src/LINEAGE_16_0/kernel/fairphone/sdm632'
    

I suppose this is related? I am building with Docker just as instructed in the Readme. Do I need to update something, in order for me to be able to built again?

dk1978 commented 4 years ago

Yes, it would seem that your kernel tree does not have the exfat submodule loaded. When did you first download the entire Android build system? Was that before Aug. 29? I am going to create a completely clean build now to observe the effects.

In the meantime, if you want to continue, try using git submodule update in the kernel tree directory kernel/fairphone/sdm632 to load the exfat submodule manually.

Faerbit commented 4 years ago

The git submodule update did nothing. However I was able to resolve my error using this post: https://stackoverflow.com/questions/38903579/can-repo-recurse-submodules Specifically I added the sync-s attribute to the kernel project.

dk1978 commented 4 years ago

Great, thanks a lot! I missed the StackOverflow post handing us that solution on the silver platter. I can confirm that the sync-s attribute worked for me. I will update the readme with the corresponding changes to the local manifest.