This is an old revision of the document!

HOWTO Appletalk

This is a description copied from the forum posted by dcrosby. It's a draft howto on how to get Appletalk running on the DNS-323.

Background: Terminology

Note that there are two different technologies that are sometimes referred to (sometimes erroneously) as “AppleTalk.”

AppleTalk is a networking protocol developed by Apple before TCP/IP was ubiquitous. It originally ran on Apple-proprietary cabling, but was later adopted to run over standard Ethernet cables, which is still possible. There is little advantage to using AppleTalk over TCP/IP today, but there are some legacy machines and applications that may require it. On Linux, AppleTalk is enabled by the “atalkd” daemon.

AFP (Apple Filing Protocol) on the other hand, is a file-sharing protocol analogous to SMB or NFS, but with some features that make it more advantageous for Mac clients in some situations; for instance, AFP supports a wider character set than SMB, and has support for older Mac files with separate data and resource forks. AFP is supported on Linux by the “afpd” daemon.

Thus, if all you need is AFP and you are running Mac OS X clients, you do not need to configure or worry about atalkd at all!

Step-By-Step Instruction

Step 1 - Preparation

Set up telnet access, a minimal Debian distro, and the “busybox” commands so that you can chroot to it. This is all on the wiki. Now for some reason I couldn't get this working with the “sarge” install, but with the “etch” install it went smoothly. By downloading the minimal “etch” distro, you do NOT need a separate x86 Debian box.

It looks like many people are having Problems with the "etch" mini distro - regardless of how I build with SSL Debuild on or not I get the same error:

../../include/atalk/adouble.h:421: warning: 'ad_hf_mode' defined but not used ad_size.c: In function 'ad_size': ad_size.c:30: internal compiler error: Illegal instruction Please submit a full bug report, with preprocessed source if appropriate. See <URL:> for instructions. For Debian GNU/Linux specific bug reporting instructions, see <URL:file:/usr/share/doc/gcc-4.1/README.Bugs>. The bug is not reproducible, so it is likely a hardware or OS problem. make[4]: * [ad_size.lo] Error 1 make[4]: Leaving directory `/usr/src/netatalk-2.0.3/libatalk/adouble' make[3]: * [all-recursive] Error 1 make[3]: Leaving directory `/usr/src/netatalk-2.0.3/libatalk' make[2]: * [all-recursive] Error 1 make[2]: Leaving directory `/usr/src/netatalk-2.0.3' make[1]: * [all] Error 2 make[1]: Leaving directory `/usr/src/netatalk-2.0.3' make: * [debian/stamp-makefile-build] Error 2 What gives? This is on a brand new dns-323 with the official 1.04 firmware… should I roll back the firmware? Pop me a note to ==== Step 2 - Installing Appletalk/AFP ==== Telnet to the box, chroot to debian, and install netatalk. Although you should be able to just use the apt-get install netatalk command, two problems have come up. This will not include the necessary component to allow 128-bit secure logins, and I at least don't like sending passwords in cleartext, even over my local network. Second, several people who have tried this have run into an “invisible files” problem, where the Mac can connect to the share and access the files, but cannot see// them from the Finder or open/save boxes, regardless of permissions on the NAS. Therefore, it is best to compile netatalk yourself, which is not too scary. You will need gcc installed first. The following forum post helped, but I have also summarized the steps below: Summary of instructions, with a few extra necessary steps from other posts: <code> apt-get install dpkg-dev devscripts fakeroot cracklib2-dev libssl-dev apt-get source netatalk apt-get build-dep netatalk cd netatalk-2.0.3 DEB_BUILD_OPTIONS=ssl debuild dpkg -i ../netatalk_*.deb </code> ==== Step 3 - Configure your AFP ==== Set up your afpd.conf file the way you want it for AFP (AppleShare) access. This is a little bit cryptic, but the PDF of netatalk instructions included in the package is actually quite fantastic. If you want a very simple one to start with, just add a line to your /etc/netatalk/afpd.conf “Personal” -uamlist -port 12000 This allows you to connect to your home directory via port 12000 and encrypts the passwords. ==== Step 4 - Finalizing the installation ==== Now you should just be able to execute “afpd” and have access. You will probably want to add an “afpd” line to the linuxrc file, so that it starts automatically when the unit boots. ==== Touch-up ==== Once I had everything working well, I created a user account in the Debian install (using adduser), gave it sudo access, verified that I could ssh into that account, and disabled telnet in the fun_plug file. I didn't like the fact that telneting to the box gave automatic root access, with no password. Now I can ssh to the box to make changes that I want, and if I need to add telnet access back, I can do so by changing fun_plug again.


Personal Tools