About

Supporting the site

App Repository‎ > ‎

netatalk-2.2.1

Overview

Netatalk offers support for Mac OS X clients. The Drobo FS ships with a version of netatalk (the "internal" version). Unfortunately, as of the creation of this package, the FS has very poor support for OS X Lion. The latest version of the firmware (1.2.x) does support Lion, but has terrible performance issues. The previous release of the firmware (1.1.x) has much better performance, but does not support Lion.

This version of netatalk supports both file sharing and TimeMachine for OS X Lion on the Drobo FS, without the need to update to the latest firmware.

This DroboApp does not delete the internal netatalk server. Instead, it stops the internal server and starts its own server using the same configuration files as the internal server. In other words, any changes made to the shares using the Drobo Dashboard app will eventually be reflected by this DroboApp.

It is important to notice that in case of changes made using the Drobo Dashboard, the Drobo FS firmware will kill the new version and restart the internal one. Therefore, after every change to shares, you'll need either to reboot the FS or restart the netatalk DroboApp using the DroboAdmin webapp.

The FS can be reverted to its original state by just removing this DroboApp. Once removed and the FS rebooted, the internal server will be restarted.

Netatalk requires zlib, libgpg-error, libgcryptopenssl and Berkeley DB. This version is statically linked and heavily optimized for the FS. It should behave as a drop-in replacement for the original netatalk server.

Output of the configuration of netatalk (i.e. what is supported in this version):

Configure summary:
    Install style:
         none
    AFP:
         Large file support (>2GB) for AFP3: yes
         Extended Attributes: ad | sys
    CNID:
         backends:  dbd last tdb
    UAMS:
         DHX     ( SHADOW)
         DHX2    ( SHADOW)
         RANDNUM ( SHADOW)
         passwd  ( SHADOW)
         guest
    Options:
         DDP (AppleTalk) support: no
         SLP support:             no
         Zeroconf support:        no
         tcp wrapper support:     no
         quota support:           no
         admin group support:     yes
         valid shell check:       yes
         cracklib support:        no
         dropbox kludge:          no
         force volume uid/gid:    no
         ACL support:             no
         LDAP support:            no

Preparation

Make sure you have a cross-compiling virtual machine properly setup.

Compilation

export DEST=/mnt/DroboFS/Shares/DroboApps/netatalk
cd ~/code

wget http://zlib.net/zlib-1.2.5.tar.gz
tar zxf zlib-1.2.5.tar.gz
cd zlib-1.2.5
CFLAGS="$CFLAGS -O3" ./configure --prefix=$DEST --static
make clean && make
ZLIB=`pwd`
cd ..

wget ftp://ftp.gnupg.org/gcrypt/libgpg-error/libgpg-error-1.10.tar.gz
tar zxf libgpg-error-1.10.tar.gz
cd libgpg-error-1.10/
CFLAGS="$CFLAGS -O3" ./configure --host=arm-none-linux-gnueabi --prefix=$DEST --enable-static --disable-shared
make clean && make
LIBERROR=`pwd`
cd ..

wget ftp://ftp.gnupg.org/gcrypt/libgcrypt/libgcrypt-1.5.0.tar.gz
tar zxf libgcrypt-1.5.0.tar.gz
cd libgcrypt-1.5.0/
CFLAGS="$CFLAGS -O3 -I$LIBERROR/src/" LDFLAGS="$LDFLAGS -L$LIBERROR/src/.libs" ac_cv_path_GPG_ERROR_CONFIG=$LIBERROR/src/gpg-error-config ./configure --host=arm-none-linux-gnueabi --prefix=$DEST --enable-static --disable-shared
make clean && make
LIBGCRYPT=`pwd`
cd ..

wget http://www.openssl.org/source/openssl-1.0.0d.tar.gz
tar zxf openssl-1.0.0d.tar.gz
cd openssl-1.0.0d
./Configure linux-generic32 -DL_ENDIAN --prefix=$DEST --openssldir=$DEST/etc/ssl no-shared no-zlib-dynamic --with-zlib-include=$ZLIB --with-zlib-lib=$ZLIB
sed -i -e "s/CFLAG= /CFLAG=${CFLAGS} /g" Makefile
make clean && make && make install_sw
rm -fr $DEST/include
rm -fr $DEST/lib
OPENSSL=`pwd`
cd ..

wget http://commondatastorage.googleapis.com/drobofs/db-5.2.36.tar.gz
tar zxf db-5.2.36.tar.gz 
cd db-5.2.36/build_unix
CFLAGS="$CFLAGS -O3" ../dist/configure --host=arm-none-linux-gnueabi --prefix=$DEST --disable-shared
make clean && make
ln -s . include
ln -s . lib
BDB=`pwd`
cd ../..

wget http://sourceforge.net/projects/netatalk/files/netatalk/2.2.1/netatalk-2.2.1.tar.gz
tar zxf netatalk-2.2.1.tar.gz
cd netatalk-2.2.1/
CFLAGS="$CFLAGS -O3 -I$LIBERROR/src -I$LIBGCRYPT/src" LDFLAGS="$LDFLAGS -L$BDB -L$LIBERROR/src/.libs -L$LIBGCRYPT/src/.libs" ac_cv_path_LIBGCRYPT_CONFIG=$LIBGCRYPT/src/libgcrypt-config ./configure --host=arm-none-linux-gnueabi --prefix=$DEST --with-shadow --without-pam --with-libgcrypt-dir=$LIBGCRYPT --with-ssl-dir=$OPENSSL --with-bdb=$BDB
make clean && make && make install
find $DEST -executable -type f -exec $STRIP {} \;

Packaging

cd $DEST
mkdir -p var/run var/log
wget http://www.droboports.com/app-repository/netatalk-2-2-1/service.sh -O service.sh
chmod a+x service.sh
wget http://www.droboports.com/app-repository/netatalk-2-2-1/afpd.conf -O etc/afpd.conf
~/bin/package.sh

Installing

DroboAdmin link: Install netatalk-2.2.1 (this link only works if you have not changed the DroboFS name). Otherwise, download below and place it in you DroboApps share.

Final remarks

This app should have no serious, permanent effect on your Drobo FS. However, it is highly recommended to have a complete backup of your Drobo's content before installing this DroboApp since it overrides a fundamental piece of the Drobo firmware.

Known issue 1: after installing the DroboApp, your shares may appear to be empty. This is a known issue with the latest netatalk. To solve this, you have to SSH into the Drobo FS and type this sequence of commands (replace 'share_name_here' with the name of the share in question):

cd /mnt/DroboFS/Shares/share_name_here
mv .AppleDB .AppleDB.old

If you ever need to go back to the internal netatalk server, you have to SSH into the Drobo FS again, and do this:

cd /mnt/DroboFS/Shares/share_name_here
rm -fr .AppleDB
mv .AppleDB.old .AppleDB

Known issue 2: Some users have reported that if the FS is rebooted before the .AppleDB folders are (re)moved, then access to both AFP and SSH is lost. To prevent any bad surprises, it is highly advisable to perform the steps indicated above before restarting your Drobo.

Please visit the DroboSpace forums to leave your comments, suggestions and feedback.

ċ
afpd.conf
Download
  1k v. 1 Oct 12, 2011, 2:12 AM Ricardo Padilha
ą
netatalklogo.gif
View Download
  4k v. 1 Oct 12, 2011, 2:12 AM Ricardo Padilha
ċ
netatalk.tgz
Download
DroboApp for DroboFS  4052k v. 1 Oct 12, 2011, 2:16 AM Ricardo Padilha
ċ
service.sh
Download
  1k v. 1 Oct 12, 2011, 2:12 AM Ricardo Padilha
Comments