Skip to content

Installing Netatalk on OmniOS

Daniel Markstedt edited this page Nov 11, 2024 · 7 revisions

Install the latest Netatalk

For building and installing from source yourself, find links to the official documentation below.

Netatalk 4.x

Note that Netatalk 3.x and 4.x require libevent v2 which is not distributed with vanilla OmniOS. Therefore applying the SmartOS bootstrap layer is recommended to get modern libraries, including Meson, Tracker, Libgcrypt etc. This process is described in the Compile chapter linked above.

An alternative route is to build libevent v2 from scratch, which should theoretically work but has not been demonstrated (yet). The libevent build system uses CMake.

Beyond this, the following should get you started with Netatalk 4.x:

Prepare environment

pkg install bdb bison build-essential flex ninja pkg-config
/usr/lib/python3.12/bin/pip install meson

Configure and compile

meson setup build \
              -Dbuildtype=release \
              -Dwith-bdb-path=/opt/ooce \
              -Dwith-dbus-sysconf-path=/usr/share/dbus-1/system.d
meson compile -C build
meson install -C build

Starting and stopping

Start Netatalk.

svcadm enable svc:/network/netatalk:default

Stop Netatalk.

svcadm disable svc:/network/netatalk:default

Netatalk 2.x

This page contains notes on configuring and installing Netatalk 2.x on OmniOS Community Edition; specific version used for this article was r151044.

It covers the legacy Autotools build system. In most cases, you want to follow the instructions in the links at the top of this page to install later versions instead.

Prepare environment

A git client as well as the autotools, gcc compiler and Berkeley DB are needed.

pkg install git libtool automake build-essential bdb pkg-config

Configure and compile

Here we assume a bootstrapped tarball release is used, so we skip the bootstrap step

./configure --with-bdb=/opt/ooce
make all
make install

PAM support

OmniOS uses an old-school PAM configuration, so manual modification of /etc/pam.conf is required

See one example in this blog post titled OmniOS: Netatalk with PAM Authentication

Controlling the Netatalk service

Use the init script in /etc/rc2.d/S90netatalk to control the Netatalk service.

Ex.

sudo /etc/rc2.d/S90netatalk start
sudo /etc/rc2.d/S90netatalk stop
Clone this wiki locally