ZFS on ARM (Beaglebone Black)

Asked by 6 months ago
Hi all, I would like to know what is the status of the ZFS on ARM. My goal is to connect ZFS formatted hard drive to the Beaglebone Black running FreeBSD 10 (RELEASE or STABLE). I tried both the recent pre-compiled (ftp server) and self-compiled (crochet) images, but neither contained zfs.ko module. I tried to compile the module on the board, but got error while compiling the opensolaris module. In file included from /usr/src/sys/modules/zfs/../../cddl/contrib/opensolaris/uts/common/os/fm.c:59: /usr/src/sys/modules/zfs/../../cddl/compat/opensolaris/sys/cpuvar.h:53:9: error: 'cpu_id' macro redefined [-Werror] #define cpu_id cpuid ./machine/cpufunc.h:170:9: note: previous definition is here #define cpu_id() cpufuncs.cf_id() 1 error generated. *** Error code 1 Stop. make: stopped in /usr/src/sys/modules/zfs Why did it go wrong? Thanks for help! -- hhh

Your Answer


All Answers

Answer by 6 months ago
I'm using the following since a few years which seems to work fine - it's a rather hacky approach, though, I guess: Index: sys/cddl/compat/opensolaris/sys/cpuvar.h =================================================================== --- sys/cddl/compat/opensolaris/sys/cpuvar.h (revision 227813) +++ sys/cddl/compat/opensolaris/sys/cpuvar.h (working copy) @@ -50,6 +50,9 @@ /* Some code may choose to redefine this if pcpu_t would be more useful. */ #define cpu_t solaris_cpu_t +#ifdef cpu_id +#undef cpu_id +#endif #define cpu_id cpuid extern solaris_cpu_t solaris_cpu[]; Quoting hhh [ at ] sdf.org: