Tailscale is a pretty cool technology that allows devices to access each other across any network by automatically punching holes through networks. (Long gone are the days of
ssh -L 8000:localhost:8000 server to do development! Now we can just go to
http://server:8000 directly!) Its setup process is fairly simple for both Windows and Linux, but it doesn’t have detailed solutions for embedded devices (such as the Remarkable). This blogpost details the steps I took to get Tailscale working on my Remarkable.
- You will need entware installed. This has the
opkg install tailscale
- For the first time we run
tailscale, we need to do it manually to set up authentication. In two separate terminals, run:
Tailscale daemon. (Note that
--tun=userspace-networkingis necessary! The Remarkable kernel does not contain the proper modules to kernel-space networking.)
Tailscale client. This will give you a link. Follow the instructions to authenticate
Now, we set up a systemd unit to automatically start and run
tailscale upon boot. Copy and paste the following into a new file at
[Unit] After=network.target Description=Tailscale client daemon StartLimitBurst=0 StartLimitIntervalSec=0 Wants=network.target [Service] Environment="HOME=/home/root" ExecStart=/opt/bin/tailscaled --tun=userspace-networking ExecStartPost=/opt/bin/tailscale up Restart=on-failure RestartSec=5 [Install] WantedBy=multi-user.target
Now, install the service:
systemctl enable tailscaled
Reboot. We reboot here since I ran into some strange issues with
tailscalednot stopping itself, and restarting is the fastest way around this.
shutdown -r now
journalctlto monitor the status:
journalctl -f -u tailscaled
tailscaleshould be working!