A Pi 3

I have some VPN software which I use to work at one of my jobs from home (it bridges Ethernet packets; loosely put, it's Ethernet-over-TCP). Work wanted me to set it up for other people. Of course, my software is for NetBSD. For two of them, I found boxes I could put the relevant NetBSD version on; the result was, of course, painless.

But that workplace is heavily invested in Linux. They found me a Raspberry Pi 3 with a USB Ethernet and wanted me to try to get it running on Linux on that. Out of the box, it runs something calling itself Raspbian, which appears to be a Debian derivative.

I have failed. The Pi has five major problems, the first four of which I managed to work around, but the last of which finally defeated me. I have to wonder what the people who released this stuff were on, because these are serious failings, the sort of thing I'd be ashamed to admit I ran, never mind releasing for others to use. (Major failings, that is, beyond simply being Linux; Linux in all its incarnations, or at least all I've seen, has a lot of issues of varying degrees of severity, but this is the first time I've run into issues as crippling as these.)

  1. It uses systemd. This makes it effectively unmanageable; I would push back hard against, possibly outright refuse to accept, sysadmin duties for a Linux that uses systemd.
  2. It has no telnet. This is such an amazing blind spot I have to wonder how users are expected to do rudimentary network connections for testing stuff. Perhaps they are trying to duplicate the Windows user experience, preventing users from doing anything that runs any risk of confusing them? (Fortunately, I had an NFS server on my internal house network, and the Pi was willing to do NFS mounts; I don't know how I would have gotten my first grappling-hook programs onto the Pi otherwise.)
  3. It has no libtermcap, nor, as far as I could find, anything even vaguely close in functionality. I have no clue how programs are supposed to look up terminal control/escape sequences. I would suspect they just figure the whole world is Linux and blindly assume their favourite terminal emulator's sequences work, except that some programs recognized my mterm terminal type and handled it correctly! (However, man insisted on displaying "[m" at the ends of lines, indicating to me that something, probably less(1) or whatever they use instead, is blindly assuming X3.64 sequences work, not only without any basis for thinking so but in the face of an explicit indication to the contrary (in the form of TERM=mterm in the environment—remember, it recognizes that terminal type in many respects).)
  4. It has no ntpdate. I had to set the clock manually, synchronizing it with my other machines by watching the clock on my own machine's screen.
  5. It has no brctl. It does have a command "bridge" which appears to be the closest thing available, but that has no way to specify which bridge to operate on on the command line. The manpage says it figures out which bridge to operate on based on the bridge the argument interface belongs to, but that leaves me with no way to create new bridges, nor to add the first interface to a new bridge.

This is horrible. I am gladder than ever that I don't try to use Linux. I'd be ashamed to ship something this broken at all, never mind as the vendor distribution on a supposedly-hacker-friendly device like a Pi.