1 points par GN⁺ 2025-04-03 | 1 commentaires | Partager sur WhatsApp

Portage de Tailscale sur Plan 9

  • Introduction

    • Tailscale fonctionne désormais sur Plan 9. Ce n’est pas une blague du 1er avril, c’est bien réel.
    • Le portage de Tailscale sur Plan 9 a impliqué plusieurs défis techniques et leurs solutions.
  • Comprendre Plan 9

    • Plan 9 est un système d’exploitation atypique, et le portage de Tailscale a permis d’apprendre beaucoup de choses nouvelles.
    • La prise en charge de Plan 9 par le compilateur Go s’est dégradée avec le temps, et sa remise en état a demandé beaucoup d’efforts.
  • Défis techniques

    • Un correctif du noyau a été nécessaire pour résoudre les problèmes de prise en charge SSE sur Plan 9.
    • Des erreurs mémoire se produisaient à cause de problèmes d’IPC, et l’utilisation de TCP localhost a permis d’y remédier.
    • Pour améliorer l’environnement de développement, Russ Cox a créé un dépôt GitHub fournissant le code source de Plan 9 et des binaires précompilés.
  • Réseau et routage

    • Le mode « userspace networking » de Tailscale a permis son fonctionnement sur Plan 9, même si ce n’est pas une solution idéale.
    • La manipulation des chemins réseau de Plan 9 a permis de mettre en place une table de routage.
  • Fonctionnalités supplémentaires et améliorations

    • La prise en charge de Tailscale SSH a été ajoutée pour que le serveur SSH s’authentifie à l’aide de l’identité Tailscale.
    • La fonctionnalité MagicDNS a été implémentée afin de pouvoir référencer facilement les pairs du réseau Tailscale sur Plan 9.
    • Les problèmes liés au temps sur Plan 9 ont été résolus afin d’éviter les plantages dans la netstack de gVisor.
  • Orientations futures

    • Il faut tester le fonctionnement de Tailscale sur d’autres forks de Plan 9 (9legacy, 9front).
    • La prise en charge du 64 bits et l’ajout de fonctionnalités supplémentaires restent nécessaires.
  • Conclusion

    • Le portage de Tailscale sur Plan 9 a été une expérience à la fois amusante et instructive, qui a contribué à améliorer la prise en charge de Plan 9 dans Go.
    • Ce projet pourrait désormais être repris et développé par la communauté Plan 9.

1 commentaires

 
GN⁺ 2025-04-03
Commentaires Hacker News
  • Prêt à répondre à des questions à tout moment
  • Plusieurs personnes étaient en train d’en parler sur Google Meet en ce moment même (avec le temps, tout le monde est parti)
  • Le précédent billet de blog du 1er avril était à propos d’une blague de Tailscale
  • L’engagement de Russ Cox envers cette blague est légendaire
  • Si vous avez raté le premier billet, vous pouvez l’essayer dans l’image v86
  • Vous pouvez démarrer tailscaled et tailscale dans la VM. Avec la disponibilité limitée du proxy, il peut falloir du temps avant d’être en ligne
  • Pour lancer un terminal, maintenez alt, faites un clic droit puis sélectionnez nouveau, relâchez alt, puis redimensionnez la fenêtre du terminal avec un glisser au clic droit
  • Je me surprends à souhaiter sérieusement qu’il existe une version enterprise de Plan 9. J’écris la plupart des scripts en rc, ce qui convient puisque mes collègues utilisent nix et peuvent donc l’importer automatiquement avec dirnev
  • Webinar en cours sur Google Meet
  • J’aimais bien le principe de la blague, mais au fur et à mesure des explications, c’est devenu soudainement déprimant. Il y a trop de complexité et trop de choses cassées. Si tout ce travail supplémentaire pour créer un tunnel réseau n’avait été qu’une blague, ça aurait été drôle
  • Le fait d’avoir patché le noyau de Plan 9 pour que ça fonctionne était inattendu
  • J’adore Plan 9. Mon projet de retraite est de créer mon propre système d’exploitation en m’appuyant sur beaucoup de ses principes
  • J’ai réservé le nom "chaos10" pour ce projet. Il n’aura pas de plan, comme SerenityOS
  • Plan 9 a obtenu Tailscale avant un navigateur. D’une certaine manière, c’est logique
  • Rob Pike est atterré par cette trahison choquante