Install AFP (Time Machine) and Bonjour service on Raspberry PI
Raspbian Buster Lite (without desktop)
- Download Raspbian Buster Lite
- Install Raspbian with etcher to SD card
- Boot from SD card…
Basic configuration and Wifi connection
sudo raspi-config
- Change User Password :-) (default user
pi
with passwordraspberry
) - Change Localisation Options… select
en_US.utf8
and whatever else - Enable SSH in Interfacing Options…
- Configure WiFi in Network Options and change Hostname (in my case to pi)
If you have Wifi with hidden SSID, you will need change sudo nano /etc/wpa_supplicant/wpa_supplicant.conf
file
and add scan_ssid=1
:
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdevupdate_config=1country=CZ
network={ ssid="HiddenWifiSSID" scan_ssid=1 psk="and password :)"}
If your language characters are still wrong (square), you have to reconfigure locales again:
sudo dpkg-reconfigure localessudo dpkg-reconfigure console-setupsudo dpkg-reconfigure keyboard-configuration
Reboot (sudo reboot
) and then check with iwgetid
if you are connected to your Wifi!
Install AFP support: netatalk
Netatalk provide AppleTalk Filing Protocol (AFP) interface:
sudo apt install netatalk -y
edit sudo nano /etc/netatalk/afp.conf
[Global]; mimic model = RackMac
[Homes]basedir regex = /home
;[My AFP Volume];path = /path/to/volume
;[My Time Machine Volume];path = /path/to/backup;time machine = yes
Install Bonjour support: avahi )
sudo apt install avahi-daemon avahi-utils -ysudo update-rc.d avahi-daemon defaults
Config AFPD with /etc/avahi/services/afpd.service
<?xml version="1.0" standalone='no'?><!--*-nxml-*--><!DOCTYPE service-group SYSTEM "avahi-service.dtd"><service-group> <name replace-wildcards="yes">%h</name> <service> <type>_afpovertcp._tcp</type> <port>548</port> </service> <service> <type>_device-info._tcp</type> <port>0</port> <txt-record>model=RackMac</txt-record> </service></service-group>
PS: RackMac
is define icon that will be shown in Finder (there is plenty other options e.g. Windows
, Macintosh
, TimeCapsule
and so on)
Config SSH with /etc/avahi/services/ssh.service
<?xml version="1.0" standalone='no'?><!--*-nxml-*--><!DOCTYPE service-group SYSTEM "avahi-service.dtd"><service-group> <name replace-wildcards="yes">%h SSH</name> <service> <type>_ssh._tcp</type> <port>22</port> </service></service-group>
For server less ssh you can copy your key to pi:
ssh-copy-id pi@pi.local
Configure avahi daemon
Then in /etc/avahi/avahi-daemon.conf
change two parametters host-name
and publish-workstation
:
[server]host-name=pi # this row# ...
[publish]publish-workstation=yes # this row
# ...
Enable Avahi and Nettalk
Enable afp and avahi
sudo systemctl enable netatalksudo systemctl enable avahi-daemon
and start them
sudo service avahi-daemon startsudo service netatalk start
now check if everything works well with
avahi-browse -a | grep $(hostname)