ZFS on NetBSD/amd64 6.0.1
My endeavour with ZFS on NetBSD/amd64 6.0.1 in late February and early March 2013 hasn’t been very positive. The kernel panics every now and then, even during the simplest of operations such as creating a new directory on a ZFS filesystem. The system was installed using UFS for the root filesystem, and the system was rock solid all along until I set up two additional hard drives and a modest mirrored zpool. Maybe the hassle’s due to the fact I use VirtualBox and not real hardware. Besides NetBSD/amd64 seems a bit sluggish when run in VirtualBox, at least compared to FreeBSD/amd64.
I even tried building a new world and kernel from NetBSD stable sources by carefully reading the available instructions, but alas no success.
I admit I’m almost completely new to NetBSD, and I’m surely to blame for my mistakes. I figured I better post these notes just to have something to look at the next time I want to try ZFS on NetBSD or when I simply decide to try NetBSD once again. I guess the moral is to stick to the binary releases or the binary snapshots.
However, I do remember early in this century substituting NetBSD/sparc 1.5.2 for SunOS 4.1.4, aka Solaris 1.1.2, on the five aging Sun SPARCstation IPCs at work. Everything was done through the binary release, not compiling anything from source other than a custom kernel for netbooting the diskless IPCs, and of course compiling the pkgsrc stuff. I remember back in the fall of 2006 how fun it was to see IPv6 addresses being automatically assigned to the le0
interfaces on those old pieces of computer hardware. Logging in by SSH took more than 60 seconds due to the demands of the crypto involved and the low computing power offered by the hardware. Even automatic public key-based SSH authentication ran slowly on those lunch boxes. Sadly the IPCs are all dead either due to hard drive failures, fan failures, and/or running out of juice on their NVRAM batteries. The latter is virtually unmendable thanks to the careless engineering efforts done by Sun. :-/
- Here’s how to get NetBSD stable sources by CVS: http://netbsd.org/docs/guide/en/chap-fetch.html#chap-fetch-cvs-netbsd-stable
- Use the CVS tag
netbsd-6
. - Here’s how to recompile world and kernel: http://netbsd.org/docs/guide/en/chap-updating.html
Enabling DHCP and SLAAC doesn’t resemble FreeBSD at all. These are the lines that need to go in /etc/rc.conf
:
# If this is not set to YES, the system will drop into single-user mode. # rc_configured=YES # Add local overrides below # ntpd=YES ntpdate=YES wscons=YES hostname=netbsd-601.example.net flushroutes=YES dhclient=YES ip6mode=autohost rtsol=YES rtsol_flags=wm0 rtsold=YES rtsold_flags=wm0 ntpdate_hosts=ntp.example.net
To get ZFS up & running, you must manually load solaris.kmod
and zfs.kmod
the first time. The kernel modules reside in /stand/amd64/6.0/modules
where each module has its own directory. There’s no need to enter an absolute path.
modload solaris modload zfs
Create the pools you need, and once you get /etc/zfs/zpool.cache
going, /etc/rc.d/mountall
will take care of loading and unloading solaris.kmod
and zfs.kmod
automatically.