Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 10 Feb 2014 08:11:00 +0100
From:      Matthieu Kraus <matthieu.kraus@s2008.tu-chemnitz.de>
To:        freebsd-arm@freebsd.org
Subject:   Re:
Message-ID:  <20140210081100.Horde.oKoMwID8cclY65gQZXMazw1@mail.tu-chemnitz.de>
In-Reply-To: <87lhxkxehu.fsf@gmail.com>
References:  <87lhxkxehu.fsf@gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help

Zitat von hhh@sdf.org:

> Hello,
>
>
> Matthieu Kraus wrote:
>
>> Quoting hhh at sdf.org:
>
>> > 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
>> >
>> >
>> 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[];
>
> Thank you Matthieu, I could compile the the zfs and opensolaris modules.
>
>
> I have some additional questions:
>
> 1. I managed to create a new pool, but whenever I tried to import it,
> the system stopped responding.  Did you have similar problems?

Nope, didn't have such issues - to get started I transferred my old  
pool from another box via ethernet and then upgraded it, had no issues  
with the system stalling so far. Note that I'm running it on my  
Dreamplug off esata - not sure whether that makes a difference.

>
> 2. After the stability problems are solved, do you think it makes sense
> to run ZFS on a rather low-end board?  Is it going to be usable?

That totally depends what you want to use it for. I'd highly recommend  
setting up a proper bootloader, though, as you'll need to tweak  
various kernel vars on boot time in order to reduce ZFS (by default)  
high kmem usage which will easily cause a panic (e.g. on  
locate.updatedb or any other high FS load). I personally only use it  
to keep a bunch of big files (i.e. very few to do for the cache and  
hence low kmem usage) for which it works pretty well.

>
> 3. Is there a way to enable module compilation with the crochet script?
> Why is it disabled?
>

No clue what that is tbh, so can't help you on that one.

> 4. Is it better to ask such naive questions here (freebsd-arm mailing
> list) or at the FreeBSD forum <http://forum.freebsd.org>; in the future?

No clue, but I guess for the arm-specific part this is the right mailing list.

kind regards,
Matthieu




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20140210081100.Horde.oKoMwID8cclY65gQZXMazw1>