tailscaled init script doesn't create tun0

From: Panagiotis Atmatzidis <atma_at_convalesco.org>
Date: Wed, 01 Nov 2023 08:27:49 UTC
Hello,

I installed “tailscale” application as a binary package in FreeBSD 13.2 running on RPi2. The architecture is arm7.

When adding the the application to startup via `sysrc tailscaled_enable=\”YES\”` the application hangs because device tun0 is not being created.
Once the device has been created manually, tailscaled will rename the device to “tailscale0”.

The two existing flags “tailscaled_up_args” and “tailscaled_tun_dev” cannot be used to create the device.

For the init to work as expected, I added these lines:

```
diff tailscaled /usr/local/etc/rc.d/tailscaled
67a68
> start_precmd="${name}_prestart"
70a72,80
>
>
> tailscaled_prestart()
> {
> 	if [ ! -c /dev/tun ]; then
> 		logger -s -t tailscale "Interface /dev/tun0 not found. Creating /dev/tun0"
> 		/sbin/ifconfig tun0 create
> 	fi
> }
```

I have no idea if this happens to other architectures and I’m not sure if this should be handled by the init script or the application itself.


Kind regards,

--
Panagiotis (atmosx) Atmatzidis

email:	atma@convalesco.org
URL:	http://www.convalesco.org
GnuPG ID: 0x1A7BFEC5
gpg --keyserver pgp.mit.edu --recv-keys 1A7BFEC5

"Everyone thinks of changing the world, but no one thinks of changing himself.” - Leo Tolstoy