dorimanx / exfat-nofuse

Android ARM Linux non-fuse read/write kernel driver for exFat and VFat Android file systems
GNU General Public License v2.0
709 stars 324 forks source link

Compilation on raspberrypi #48

Closed jorisc90 closed 10 years ago

jorisc90 commented 10 years ago

Hi dorimanx,

After commit cda06f6e73005d0a06395fbb1a6ca022fac421ec, the compilation on my raspberrypi fails with the error

jclaassen@raspberrypi:~/exfat-nofuse-74331fe5d06253e0904f7fa5bf72bebc58d6df91$ make
make -C /lib/modules/3.12.22+/build M=/home/jclaassen/exfat-nofuse-74331fe5d06253e0904f7fa5bf72bebc58d6df91 modules
make[1]: Entering directory `/home/jclaassen/linux-1981ddebd4d3108cc942680a75ea151a479d65a8'
  CC [M]  /home/jclaassen/exfat-nofuse-74331fe5d06253e0904f7fa5bf72bebc58d6df91/exfat_core.o
  CC [M]  /home/jclaassen/exfat-nofuse-74331fe5d06253e0904f7fa5bf72bebc58d6df91/exfat_super.o
/home/jclaassen/exfat-nofuse-74331fe5d06253e0904f7fa5bf72bebc58d6df91/exfat_super.c: In function ‘exfat_direct_IO’:
/home/jclaassen/exfat-nofuse-74331fe5d06253e0904f7fa5bf72bebc58d6df91/exfat_super.c:1604:6: warning: passing argument 4 of ‘blockdev_direct_IO’ from incompatible pointer type [enabled by default]
In file included from include/linux/pagemap.h:8:0,
                 from /home/jclaassen/exfat-nofuse-74331fe5d06253e0904f7fa5bf72bebc58d6df91/exfat_super.c:57:
include/linux/fs.h:2480:23: note: expected ‘const struct iovec *’ but argument is of type ‘struct iov_iter *’
/home/jclaassen/exfat-nofuse-74331fe5d06253e0904f7fa5bf72bebc58d6df91/exfat_super.c:1604:6: warning: passing argument 6 of ‘blockdev_direct_IO’ makes integer from pointer without a cast [enabled by default]
In file included from include/linux/pagemap.h:8:0,
                 from /home/jclaassen/exfat-nofuse-74331fe5d06253e0904f7fa5bf72bebc58d6df91/exfat_super.c:57:
include/linux/fs.h:2480:23: note: expected ‘long unsigned int’ but argument is of type ‘int (*)(struct inode *, sector_t,  struct buffer_head *, int)’
/home/jclaassen/exfat-nofuse-74331fe5d06253e0904f7fa5bf72bebc58d6df91/exfat_super.c:1604:6: error: too few arguments to function ‘blockdev_direct_IO’
In file included from include/linux/pagemap.h:8:0,
                 from /home/jclaassen/exfat-nofuse-74331fe5d06253e0904f7fa5bf72bebc58d6df91/exfat_super.c:57:
include/linux/fs.h:2480:23: note: declared here
/home/jclaassen/exfat-nofuse-74331fe5d06253e0904f7fa5bf72bebc58d6df91/exfat_super.c: At top level:
/home/jclaassen/exfat-nofuse-74331fe5d06253e0904f7fa5bf72bebc58d6df91/exfat_super.c:1662:2: warning: initialization from incompatible pointer type [enabled by default]
/home/jclaassen/exfat-nofuse-74331fe5d06253e0904f7fa5bf72bebc58d6df91/exfat_super.c:1662:2: warning: (near initialization for ‘exfat_aops.direct_IO’) [enabled by default]
make[2]: *** [/home/jclaassen/exfat-nofuse-74331fe5d06253e0904f7fa5bf72bebc58d6df91/exfat_super.o] Error 1
make[1]: *** [_module_/home/jclaassen/exfat-nofuse-74331fe5d06253e0904f7fa5bf72bebc58d6df91] Error 2
make[1]: Leaving directory `/home/jclaassen/linux-1981ddebd4d3108cc942680a75ea151a479d65a8'
make: *** [all] Error 2

Any ideas on this pointer type? a >= that is too complicated? Strange. Kind regards,

dorimanx commented 10 years ago

i see you try to build it as any kernel module using your linux build as compiler.

but you didnt read any INFO about this driver correct???

it's for ANDROID and must be compiled with ARM compiler

any way it's missing define that triggered for your installed kernel 3.12.22 that dont have or updated functions that module need to build for 3.12.y

Please read info, and check what functions you do have in your kernel, and set correct defines in exfat_core.c exfat_super.c

jorisc90 commented 10 years ago

The raspberry pi is an ARM device (http://www.raspberrypi.org/), that is why I am compiling it using the normal linux build; thus I did read the information about the driver. Thanks for the comment, I got it working again. No more fuse eating up my CPU :)

josephernest commented 3 years ago

@jorisc90 Can you explain step-by-step how you installed exfat-nofuse on RPi? I don't achieve to do it...

jorisc90 commented 3 years ago

Hi @josephernest - It's been some time since I did this, no longer have the particular RasPi device in use.

If I recall correctly I followed the readme, issuing make and then sudo make install to perform the installation on Raspbian Linux (which back then had the 3.12.22 kernel version).

Sorry I can't be of further help here...