Linux-Port für Nintendo DS: DSLinux
(dslinux.org)- 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
- DSLinux ist funktional lauffähig und bietet Benutzerdokumentation sowie eine Sammlung nützlicher Linux-Programme für den DS
- Für den Einstieg kann die FAQ hilfreich sein
- Derzeit gibt es keine aktiven Entwickler; neue Beitragende sind willkommen
- Für neue Entwickler ist im Wiki viel Dokumentation erhalten geblieben
- Wichtige bereitgestellte Ressourcen
- DSLinux-Wiki
- IRC-Channel
#dslinuxauf Blitzed; beim Warten auf Antworten ist Geduld nötig - Das DSLinux-Forum ist verschwunden und wurde nicht wieder aktiviert
- dslinux-devel mailing list
- dslinux-commit mailing list
- DSLinux SVN repository
- DSLinux builds, alternativer Build-Speicherort
- DSLinux on Wikipedia
1 Kommentare
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.
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.
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.
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.
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.
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.
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...
Das war ein vergleichbares Projekt für den iPod und basierte ebenfalls auf μCLinux.
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
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
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
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
Meinen DSi habe ich noch und er funktioniert noch, aber soweit ich mich erinnere, lief DSLinux nicht darauf