2 Punkte von GN⁺ 2023-10-11 | 1 Kommentare | Auf WhatsApp teilen
  • DSLinux ist ein Portierungsprojekt, um eine Linux-Umgebung auf dem Nintendo DS und DS Lite auszuführen, und macht die alte Handheld-Konsole so zu einem Linux-Gerät
  • Spätere Modelle wie DSi und 3DS können laut Übersicht ebenfalls im DS-Kompatibilitätsmodus funktionieren
  • Neben echter Hardware läuft es auch in einigen NDS-Emulatoren wie desmume, wodurch sich die Testumgebung erweitern lässt
  • Das Projekt ist funktionsfähig und stellt Dokumentation sowie eine Sammlung von Linux-Programmen für den DS bereit
  • Derzeit gibt es keine aktiven Entwickler, aber neue Beitragende können auf vorhandenen Ressourcen wie Wiki und Repository aufbauen

Zielgeräte und kompatible Umgebungen

  • DSLinux ist ein Projekt, das Linux auf den Nintendo DS und den Nintendo DS Lite portiert
  • Neuere Modelle wie DSi und 3DS können im DS-Kompatibilitätsmodus laufen
  • Neben echter Hardware läuft es auch in einigen NDS-Emulatoren wie desmume

Dokumentation, Programme und Ressourcen für Beiträge

1 Kommentare

 
GN⁺ 2023-10-11
Meinungen auf Hacker News
  • Ich habe vor langer Zeit ein paar kleine Beiträge zu diesem Projekt geleistet, und es freut mich, dass die Website noch online ist.
    Der interessanteste Teil dieses Projekts war für mich die Speicherverwaltung. Der DS hatte nur 4 MB RAM und keine MMU, daher war auch kein Swap möglich, aber der Game-Boy-Cartridge-Port hatte einen auf den Bus gemappten 32-MB-Adressraum. Es gab Homebrew-/Clone-Cartridges, die diesen Bereich mit 32 MB RAM bestückten, aber das Problem war, dass der DS auf den Cartridge-Port nur mit 16-Bit-ausgerichteten Adressen schreiben konnte. Da die meiste Software davon ausgeht, dass 8-Bit-ausgerichtete Schreibzugriffe möglich sind, bauten die Entwickler eine gepatchte GCC-Version, die Schreibzugriffe auf nicht ausgerichtete Positionen durch passende Lesevorgänge, 16-Bit-Schreibzugriffe und eine Reihe von Shift-Operationen ersetzte.

    • Es gab auch ein offizielles Produkt. Der Opera Web Browser enthielt eine zweite Cartridge, die in den „GBA“-Slot gesteckt wurde und 8 MB RAM und eine MMU hinzufügte: https://en.wikipedia.org/wiki/Nintendo_DS_Browser#Memory_Exp...
      Die Opera-DS-Cartridge habe ich vor langer Zeit verloren, aber das Memory Expansion Pak steckt immer noch wie eine Slot-Abdeckung in meinem DS Lite.
    • Eine weitere Besonderheit war, dass es ziemlich üblich war, Homebrew-Software von Cartridges zu laden, die in den Game-Boy-Port gesteckt wurden.
      Solche Cartridges hatten eine Kombination aus RAM und Flash-basiertem Speicher oder CF-Karten und lagen hinter einer Art Banking-Mechanismus, sodass man ihnen anweisen konnte, Speicher oder RAM freizugeben. Dadurch war das Speichersystem direkt auf den Bus gemappt, und um RAM zu sparen, wurden Programme per Execute-in-place direkt aus dem Speicher ausgeführt, ohne sie zuerst in den RAM zu kopieren.
    • Ich erinnere mich sehr gern an dieses Projekt aus meiner Kindheit, und es war der Auslöser für mein Interesse an Kernel-Entwicklung.
      Als ich versuchte, eine Industrie-Steuerungssoftware auf DSLinux zu portieren, stieß ich unter Speicherdruck auf einen Bug in der Funktionsweise des SLOB-Allocators, und einer meiner Patches ging upstream. SLOB ist inzwischen ausgemustert, aber für mich war das eine Erfahrung, durch die ich als junger Einsteiger in Embedded die Freude am Homebrew-Hacking kennengelernt habe. Fun Fact: Ein modifizierter DS betreibt immer noch einen großen Teil der Ausrüstung unserer örtlichen Sternwarte.
  • Ich habe mich kürzlich tief in DS-Homebrew eingearbeitet, und es gibt viele großartige Dinge. Etwa einen Yu-Gi-Oh!-Rechner, MP3-Player und Doom-Ports.
    Besonders die Hardware des DS Lite und DSi gefällt mir sehr. Selbst 2023 fühlt sie sich noch gut an, und die symmetrischen Bildschirme sind großartig, wenn man das Gerät hochkant hält und E-Books liest oder Hotel Dusk spielt. Zum Chinesischlernen gibt es mit My Chinese Coach ebenfalls eine der besten Softwares überhaupt, und mindestens zwei weitere Homebrew-Pakete mit Fokus auf Chinesisch, etwa DS Zhongwen. Der DS wird unterschätzt, hat viele gute Spiele und ist auch für Emulation ein Traumgerät. Mir gefällt auch, dass er nicht zu leistungsstark ist und nicht auf „realistische“ Grafik fixiert ist, die den Akku leer saugt.

    • Ich war derjenige, der als Schüler DOOM auf den DS portiert hat, und wir waren alle im selben DS-Homebrew-IRC-Channel.
      Mehrere meiner heute engsten Freunde haben an anderen Projekten gearbeitet, darunter auch der Autor von DS Linux. Zufällig landeten wir später alle bei verschiedenen Tech-Unternehmen im Silicon Valley und trafen uns Jahrzehnte später wieder im echten Leben.
    • DS Zhongwen, den Namen habe ich lange nicht mehr gehört. Ich bin der, der das gemacht hat :-)
      Ich habe auch andere Dinge wie Knytt Stories DS erstellt. Homebrew für den Nintendo DS zu entwickeln war eine großartige Erfahrung, und die Einschränkungen und Möglichkeiten der Hardware boten genug Raum, um sowohl Kreativität als auch technische Herausforderungen auszuleben.
    • Das Überraschendste an DS- und Switch-Homebrew war für mich die Zugänglichkeit. Irgendwie hatte ich mir vorgestellt, auf solchen Geräten etwas zu bauen, müsse magisch sein, aber tatsächlich war es das überhaupt nicht.
    • Der Vollständigkeit halber: Es gibt Dutzende erwähnenswerte Homebrew-Programme.
    • Es gibt auch eine Visual-Novel-Engine namens VNDS[0], und ziemlich viele Ports wurden dafür erstellt. Soweit ich weiß, gibt es Ports der meisten „klassischen“ Visual Novels.
      Wenn man einen 3DS hat, lohnt sich auch ein Blick auf das TwilightMenu-Projekt. Das ist ein DSiMenu-Klon, der Homebrew-Titel und Ähnliches von der SD-Karte laden kann und auch Flashcards unterstützt.
      [0]: https://github.com/BASLQC/vnds
  • Der Wikipedia-Artikel, der auf der Website verlinkt war, wurde wegen „fehlender Relevanz“ gelöscht, aber ein Archiv ist noch vorhanden: https://web.archive.org/web/20170708075915/https://en.wikipe...

    • Interessanterweise ist dieser Artikel noch online: https://en.wikipedia.org/wiki/IPodLinux
      Das war ein vergleichbares Projekt für den iPod und basierte ebenfalls auf μCLinux.
    • Ich glaube nicht an die Hölle, aber falls es sie gibt, dürfte es dort einen besonderen Platz für Wikipedia-Löschfanatiker geben. Irgendwo in der Nähe der Leute, die Einkaufswagen nie zurückbringen.
  • Es freut mich wirklich, das hier auf der HN-Startseite zu sehen. Ich war mehrere Jahre an DSLinux beteiligt.
    Auf meiner Website habe ich fast täglich Nightly-Builds gepflegt. Damals waren meine C- und Systemprogrammierkenntnisse noch auf Anfängerniveau, daher glaube ich nicht, dass ich Code beigetragen habe, aber ich habe ziemlich viel getestet und Leuten in der Community geholfen. Den Nintendo DS habe ich verkauft, aber die Supercard, mit der ich Linux gespeichert und gebootet habe, liegt noch irgendwo herum. Sie sah so aus: [https://wiki.gbatemp.net/wiki/File:SuperCard_CF_V2.jpg](https://wiki.gbatemp.net/wiki/File:SuperCard_CF_V2.jpg)
    Der Verdienst für diese beeindruckende Arbeit gebührt vor allem einigen Einzelpersonen, insbesondere Malcolm Parsons (pepsiman), Stefan Sperling, der später OpenBSD-Entwickler wurde, und Amadeus: http://dslinux.org/wiki/ContactingDevelopers.html

  • Kein direkt modernes Gegenstück, aber eine modifizierte Nintendo Switch kann mit einigen Linux-Images dual-booten: https://wiki.switchroot.org/
    Da sie auf den offiziellen Tegra-Treibern basieren, lässt sich trotz ihres Alters überraschend viel darauf ausführen. Ich habe SkiFree in Box86 laufen lassen und war damit zufrieden

    • Außerdem ist die Switch hardwareseitig sehr nah am Tegra Shield, auf das die L4T-Images ursprünglich abzielten
      Sogar die DRAM-Chips sind exakt dasselbe Modell; das dürfte eher ein Standardbauteil sein und die Lieferantenbeziehungen des Herstellers widerspiegeln. Bisher wohl der Fall, der einer offiziell unterstützten Linux-Distribution auf Nintendo-Hardware am nächsten kommt
  • Interessanterweise basiert es teilweise auf derselben uCLinux-Arbeit wie ein anderer Beitrag, der gerade auf der HN-Startseite ist
    789 KB Linux Without MMU on RISC-V
    https://news.ycombinator.com/item?id=37822082

  • In der Highschool ließ ich DS Linux auf einer M3-Karte laufen und fuhr mit dem Fahrrad durch die Gegend zum Wardriving
    Ich hatte fast vergessen, dass es das gab; danke fürs Teilen, das hat eine schöne Erinnerung zurückgebracht. Den DS und die M3-Karte habe ich noch, aber die SD-Karte mit dem alten Build ist schon lange verschwunden

  • Ich erinnere mich, dass ich dieses Homebrew mit ungefähr elf Jahren auf meinem DS installiert habe
    Damals hatte ich keine Ahnung, was Linux ist, aber DSLinux hat mein Interesse an Informatik vertieft. Danke an die Entwickler und an alle, die Code beigesteuert haben

  • Das war mein Einstieg in Linux. Danke an wen auch immer die Pakete BSDgames[0] und Frotz[1] gebündelt hat
    Dadurch habe ich Textadventures und Interactive Fiction ein Leben lang lieben gelernt. Man muss sich nur die Überraschung eines Kindes vorstellen, das im bin-Verzeichnis stöbert, in Erwartung einer simplen Adventskalender-App „advent“ am Prompt eingibt und plötzlich in einer völlig anderen Welt[2] landet
    [0] https://wiki.linuxquestions.org/wiki/BSD_games
    [1] https://davidgriffith.gitlab.io/frotz/
    [2] https://en.wikipedia.org/wiki/Colossal_Cave_Adventure

    • Bei mir war es ähnlich, nur dass ich anfangs Interactive-Fiction-Spiele unter Winfrotz/ZX Spectrum gespielt habe
      Später ließ ich unter Frotz für Unix Dinge wie advent und battlestar auf Linux laufen, dazu noch trek, und war völlig angefixt
    • Du hast Textadventures gespielt, indem du mit dem Stylus auf der Touchscreen-Tastatur des DS getippt hast?!
  • Vor ein paar Monaten habe ich danach gesucht, weil ich mich von meinem DSi aus per SSH auf meinen Server verbinden wollte. Einfach nur als Gag
    Ich wollte mich nicht allzu tief damit beschäftigen und habe aufgegeben, als das WLAN nicht „einfach so“ funktionierte, aber irgendwann will ich darauf unbedingt SSH zum Laufen bringen

    • Ich frage mich, ob das DSLinux-Team es am Ende auf dem DSi zum Laufen gebracht hat
      Meinen DSi habe ich noch und er funktioniert noch, aber soweit ich mich erinnere, lief DSLinux nicht darauf
    • Bei den meisten heutigen WLAN-Routern dürfte 802.11b-Unterstützung standardmäßig deaktiviert sein. Wenn nicht, sollte SSH möglich sein