I just solved this problem yesterday. I'm running Debian squeeze on my eSATA Sheevaplug, but that shouldn't make a difference for you.
Netatalk 2.2beta4 is present in current Debian unstable/sid repository. So you'd have to install netatalk from there as explained below.
After installing netatalk, just follow this guide about configuring netatalk on using Debian/Ubuntu as a TimeMachine server: http://www.kremalicious.com/2008/06/ubuntu-as-mac-file-server-and-time-machine-volume/
(Skip section 1 about installing netatalk...)
(1) Add the Debian unstable repository to your sources.list (choose your preferred Debian mirror, I chose the German one):
echo deb http://ftp.de.debian.org/debian unstable main non-free contrib >> /etc/apt/sources.list
(2) I use apt pinning to prevent other packages than netatalk from being updated...
cat << EOF >> /etc/apt/preferences
Pin: release a=unstable
(3) verify the lower pinning priority of unstable vs. lenny
expected result is the pinning priority specified above (=200). This priority must be lower than the other priorities of lenny.
200 http://ftp.de.debian.org/debian/ unstable/contrib armel Packages
200 http://ftp.de.debian.org/debian/ unstable/non-free armel Packages
200 http://ftp.de.debian.org/debian/ unstable/main armel Packages
(4) update the apt database and explicitly install netatalk from unstable
aptitude -t unstable install netatalk
(5) check installed version of netatalk
apt-cache show netatalk
expected result is netatalk 2.2beta4
Hope this helps...
Seems that the netatalk developers have released the final version 2.2 source on 27th July. So most probably this will be updated in Debian unstable during the next days/weeks/months... ;-)