Skip to content

Netatalk

Dan Mons edited this page Feb 20, 2022 · 5 revisions

Netatalk

About

Netatalk is an open source implementation of various Apple network, print and file sharing protocols ("AppleTalk", "AppleShare" and "AFP"), compatible with various versions of Apple's desktop operating systems over the years. More information on the history of the protocols and various versions can be found here:

The main modern Netatalk3 project page can be found here:

For Netatalk2, RetroNAS uses a modern fork maintained and improved by Daniel Markstedt. This fork re-enables the DDP (non-IP AppleTalk) protocol removed in the upstream Netatalk3 project, and backports many years of improvements, security fixes and community patches, as well as enabling easy building on modern Linux systems:

Video guide:

Video guide here, please click to watch in YouTube. Please note that since recording this video, much progress has been made on Apple II GS with GS/OS (System 6) and M68K Macs running non-TCP/IP AppleTalk and AppleShare. A separate video will come for those in the near future.

For now, this video covers Mac OS 9.2.1 on an iMac G3, and Mac OS X 10.5.8 Leopard on an iMac G5.

Watch the video

Versions

RetroNAS offers 2 major versions of Netatalk, which target different age groups of Apple hardware. These are incompatible with each other, and only one version can be run at a time on a RetroNAS install.

Netatalk2

Netatalk2 is the older version of Netatalk, and includes full support for the AppleTalk protocol, as well as DDP (Datagram Delivery Protocol) AppleShare and AFP (Apple Filing Protocol). This version also supports Bonjour and can advertise itself automatically on the network.

Netatalk2 includes support for A2BOOT and Timelord as well, however these are not configured by default as of yet. Time permitting, default config will provided in the future, however users can modify the config files in /opt/retronas/bin/netatalk/etc as they see fit (ensure these are backed up if you ever upgrade or re-install Netatalk2).

Netatalk2 is best suited to classic System 6 (including GS/OS), System 7 MacOS8, MacOS9, and Mac OS X versions 10.0 "Cheetah" to 10.1 "Puma" inclusive, however should work all the way up to Mac OS X 10.15 "Catalina". All of these systems when connected to a wired Ethernet based network will automatically see file sharing services advertised by RetroNAS, either via AppleTalk or via Bonjour.

Netatalk2 may work on much older versions of Mac OS, however this is untested. AppleTalk was introduced to Mac System 2.0 and appeared on Apple IIGS, however these required LocalTalk hardware. There were LocalTalk to Ethernet bridges that allowed physical connection of LocalTalk systems to Ethernet:

Systems as early as 1993 (Apple Centris, Quadra, etc) featured AAUI ports with a plug in Ethernet transceiver:

Any Apple hardware featuring NuBus connections on the motherboard could attach Ethernet cards that supported it:

Systems such as 1995's PowerMac 7200 included a 10baseT Ethernet connector and shipped with System 7.5.2

Netatalk3

Netatalk3 is a newer version of Netatalk, and drops support for classic protocols such as AppleTalk-over-DDP. Instead it offers only AFP (Apple Filer Protocol), over TCP/IP, and relies on Bonjour to advertise its availability.

Netatalk3 is best suited to Mac OS X versions 10.2 "Jaguar" (where Bonjour was first introduced) through to Mac OS X 10.15 "Catalina", which was the last version to support AFP. However Netatalk3 is confirmed working on classic MacOS9, but forces the user to manually enter the IP address of the server instead of being automatically discoverable.

Later versions of macOS (from mac OS 11 "Big Sur" and newer) should instead use Samba. Samba can be installed side-by-side with Netatalk (or any other family of protocols RetroNAS supports).

Choosing a version

Netatalk2 is the older codebase, however the fork used by RetroNAS (see the About section) includes many updates and patches to modernise the codebase. Netatalk2 offers compatibility across the widest array of Mac hardware, although potentially doesn't offer the upper end performance on post-2010 Mac OS X machines. RetroNAS specifically enables older and insecure protocols that are necessary for very old Macs. If breadth of compatibility (especially back to classic Mac System and Mac OS releases, prior to Mac OS X) is the most important feature for you, choose Netatalk2.

Netatalk3 is the newer codebase, and anecdotally appears slightly faster for newer Macs, with higher connection limits on concurrent systems. It is only auto-discoverable by Mac OS X 10.2-10.15 systems, however older systems can manually connect to the IP address of RetroNAS (tested and working in classic Mac OS9 in a system with an Ethernet card and TCP/IP extensions installed). If you do not need pre-OSX AFP and prefer a more secure by default AppleTalk install, choose Netatalk3.

Installation

Start RetroNAS and select "Install things", and then either Netatalk2 or Netatalk3 based on your client system requirements.

If you choose Netatalk2 and have Apple System 6, System 7 or OS8 connecting to RetroNAS, you must specifically set the password for those older protocols. Navigate to the RetroNAS "Global Configuration" and choose "Change RetroNAS password". RetroNAS will prompt you for the system (including SSH) password, Samba password (if installed), and Netatalk password (if installed). For ease of use it's recommended to set all three to the same password.

Usage

For Mac OS 9 with Netatalk2 installed browse to Chooser, click AppleShare, and "retroafp" should appear. Double-click and log in with the username (defaults to "pi") and password you use in RetroNAS.

For Mac OS 9 with Netatalk3 installed, browse to Chooser, click AppleShare, and then click the "Server IP Address" button. Put in your RetroNAS IP, and log in with the username (defaults to "pi") and password you use in RetroNAS.

For Mac OS X (any version of Mac OS X or Netatalk), click Go -> Connect to Server, and type in afp://ipaddress. Connect with the username (defaults to "pi") and password you use in RetroNAS.

For Mac OS X 10.2 or newer with Netatalk3, you can also optionally click Go -> Network, and retroafp should appear in your browse list with the icon of a Mac Pro G3. Connect with the username (defaults to "pi") and password you use in RetroNAS.

Uprading, reinstallation and config files

RetroNAS stores config files in:

  • Netatalk2: /opt/retronas/bin/netatalk2x/etc
  • Netatalk3: /etc/netatalk

If you select to install either tool from the "Install things" menu after having already installed it once, your old config files will be overwritten. Ensure that, if you have made any modifications to these config files, that these are backed up.

Netatalk2 specifically is installed from source. The upstream project (see the About section) continues to improve the project. If you wish to upgrade, ensure you've backed up any config files you may have customised, and simply install Netatalk2 again from the "Install things" menu. The latest source code will be downloaded, compiled and installed.

Home

Getting started:

Contributing

Multi-system protocols:

Specific system configurations:

Services:

Tools:

Physical Media:

On-Device Management:

Advanced storage options:

  • BtrFS RAID, Snapshots, Compression, Deduplication
  • FAT Advanced guide to using FAT loopback mounts for EtherDFS
  • TBA
    • SMR Shingled Magnetic Recording hard drives (TBA)
    • NTFS Advanced guide for NTFS formatted disks
    • SMB Loopback Mounting an existing SMB NAS
    • NFS Loopback Mounting an existing NFS NAS
    • MDRAID (TBA)
    • LVM (TBA)
    • iSCSI Configuring iSCSI

Other:

Clone this wiki locally