1 Punkte von GN⁺ 2025-04-03 | 1 Kommentare | Auf WhatsApp teilen

Portierung von Tailscale auf Plan 9

  • Einführung

    • Tailscale läuft nun auf Plan 9. Das ist kein Aprilscherz, sondern tatsächlich wahr.
    • Bei der Portierung von Tailscale auf Plan 9 gab es verschiedene technische Herausforderungen und Lösungen.
  • Plan 9 verstehen

    • Plan 9 ist ein einzigartiges Betriebssystem, und bei der Portierung von Tailscale konnte man vieles Neues lernen.
    • Die Plan-9-Unterstützung des Go-Compilers hatte im Laufe der Zeit Probleme entwickelt, und ihre Behebung erforderte großen Aufwand.
  • Technische Herausforderungen

    • Um das SSE-Support-Problem von Plan 9 zu beheben, waren Kernel-Änderungen nötig.
    • Durch IPC-Probleme traten Speicherfehler auf; zur Behebung wurde localhost-TCP verwendet.
    • Um die Entwicklungsumgebung zu verbessern, erstellte Russ Cox ein GitHub-Repository mit dem Plan-9-Quellcode und vorkompilierten Binärdateien.
  • Netzwerk und Routing

    • Mit dem Modus „userspace networking“ von Tailscale konnte es auf Plan 9 betrieben werden, auch wenn das keine ideale Lösung ist.
    • Durch Manipulation der Netzwerkpfade von Plan 9 wurde eine Routing-Tabelle implementiert.
  • Zusätzliche Funktionen und Verbesserungen

    • Unterstützung für Tailscale SSH wurde hinzugefügt, sodass sich der SSH-Server mit der Identität von Tailscale authentifiziert.
    • Die MagicDNS-Funktion wurde implementiert, damit sich Peers im Tailscale-Netzwerk unter Plan 9 einfach referenzieren lassen.
    • Zeitprobleme in Plan 9 wurden behoben, um Abstürze im netstack von gVisor zu verhindern.
  • Zukünftige Richtung

    • Es müssen Tests durchgeführt werden, damit Tailscale auch auf anderen Plan-9-Forks (9legacy, 9front) funktioniert.
    • Unterstützung für 64 Bit und zusätzliche Funktionen werden noch benötigt.
  • Fazit

    • Die Portierung von Tailscale auf Plan 9 war eine unterhaltsame und lehrreiche Erfahrung und hat zur Verbesserung der Plan-9-Unterstützung in Go beigetragen.
    • Es bleibt zu hoffen, dass die Plan-9-Community dieses Projekt aufgreift und weiterentwickelt.

1 Kommentare

 
GN⁺ 2025-04-03
Hacker-News-Kommentare
  • Bei Fragen bin ich jederzeit bereit zu antworten
  • Mehrere Leute haben gerade in Google Meet über dieses Thema gesprochen (mit der Zeit sind alle gegangen)
  • Der frühere Blogbeitrag vom 1. April bezog sich auf einen Scherz von Tailscale
  • Dass Russ Cox sich diesem Scherz so verschrieben hat, ist legendär
  • Falls du den ersten Beitrag verpasst hast, kannst du es mit dem v86-Image ausprobieren
  • Innerhalb der VM kann man tailscaled und tailscale starten. Wegen der eingeschränkten Proxy-Verfügbarkeit kann es etwas dauern, bis es online ist
  • Um ein Terminal zu starten, kann man Alt gedrückt halten, rechtsklicken und „Neu erstellen“ wählen, dann Alt loslassen und die Größe des Terminalfensters per Rechtsklick-Ziehen anpassen
  • Ich denke ernsthaft darüber nach, ich wünschte, es gäbe eine Enterprise-Version von Plan 9. Die meisten Skripte schreibe ich in rc, was okay ist, weil meine Kollegen nix benutzen und es dadurch automatisch in direnv übernommen werden kann
  • In Google Meet läuft gerade ein Webinar
  • Mir gefiel die Prämisse des Scherzes, aber je mehr erklärt wurde, desto plötzlich deprimierter wurde ich. Es gibt zu viel Komplexität und zu viele kaputte Dinge. Wenn all diese Zusatzarbeit, nur um einen Netzwerk-Tunnel zu bauen, der Scherz gewesen wäre, wäre es lustig gewesen
  • Dass der Plan-9-Kernel gepatcht wurde, damit es funktioniert, war unerwartet
  • Ich liebe Plan 9. Es ist mein Ziel für den Ruhestand, mit vielen seiner Prinzipien mein eigenes Betriebssystem zu bauen
  • Ich habe für dieses Projekt den Namen „chaos10“ reserviert. Es wird keinen Plan geben, ähnlich wie bei SerenityOS
  • Plan 9 bekommt Tailscale vor einem Browser. Irgendwie ergibt das Sinn
  • Rob Pike ist über diesen schockierenden Verrat fassungslos