Mir ist gerade danach, ein bisschen mehr Hintergrund zu meinen Andeutungen von gestern zu geben, ohne dass ich allerdings unbedingt einen kompletten Lagebericht wie für den Status-Thread passend zusammenstellen will. Daher hier mal ein Thread für alles mögliche und unmögliche, das in irgendeinem Zusammenhang mit tyndur steht, vielleicht sogar aktuell ist und unbedingt in die Welt raus muss, vom Einzeiler bis zum Roman. Kommentieren ist ausdrücklich erlaubt.
Gestern habe ich mir
kedit-Verbesserungen gewünscht, um Treiber debuggen zu können. Vielleicht ist der Zusammenhang da nicht auf Anhieb klar, und außerdem möchte ich nicht den Eindruck erwecken, dass ich einfach nur die ganze Arbeit von anderen gemacht sehen will [1].
Ich komme wohl nicht drum herum, bei
XanClics USB-Patches anzufangen, an denen er in den letzten paar Tagen geschraubt hat. Diese Chance, ihm schonungslos seine Fehler aufzuzeigen, konnte ich mir natürlich nicht entgehen lassen.
Und so habe ich mein gutes altes, momentan anderweitig unbenutztes Thinkpad T500 ausgegraben und den USB-Treiber darauf losgelassen. Mit Erfolg, das hat nämlich erstmal ein paar Bugs aufgedeckt, aber nach ein, zwei Tagen hat alles soweit funktioniert und ich kann jetzt tyndur vom USB-Stick booten. Ziemlich coole Sache.
Nun da ich eine Möglichkeit hatte, tyndur ziemlich leicht auf echter Hardware zu testen, ohne ständig zu rebooten oder CDs zu brennen, war natürlich nicht der nächste Gedanke nicht fern: Wäre doch nett, wenn der Rest von diesem Stück Hardware auch funktionieren würde. Wir haben ziemlich viele Treiber, die zwar im Emulator tun, aber auf diesem Laptop irgendwie doch nicht: Da wären AHCI und hdaudio, und wir haben einen Treiber für e1000, aber nicht für den vermutlich recht ähnlichen e1000e.
Aber selbst einen USB-Stick ständig umzustecken und nach jeder Debugging-Änderung ein neues Image draufzuspielen war mir mit der Zeit dann doch noch zu umständlich. Stattdessen habe ich mir Compiler, binutils, tyndur-libc und libcdi auf das Image gepackt, dazu noch den Quellcode von den Treibern, und versuche jetzt, die Probleme an Ort und Stelle auf dem Laptop zu debuggen. Mit kedit am Code rumpfuschen, durchbauen, probieren, Treiberprozess wieder killen und von vorne. Geht wesentlich schneller, und selbst die ab und zu nötigen Reboots, weil der ext2-Treiber über den Jordan gegangen ist (oder der zu debuggende Treiber die Konsole so vollspammt, dass man nichts mehr erkennen kann
), ändern da nichts daran.
Nur macht das Editieren mit kedit halt nur bedingt Spaß, wenn man eine Zeile nicht einfach mal veschieben kann, sondern sie löschen und an anderer Stelle neu tippen muss... Da fängt man auf einmal an, den Code strategisch zu editieren, um ja so wenig wie möglich verschieben zu müssen. Deswegen die Frage, ob da nicht nebenher jemand was dran machen will, während ich noch an den Hardwaretreibern hänge.
Die andere Möglichkeit, sich an der Hardware-Offensive zu beteiligen, wäre natürlich, einfach mal selbst tyndur auf echte Hardware loszulassen und schauen, was alles tut und wo es noch etwas zu tun gibt (und es dann natürlich auch hier oder im IRC mit uns zu teilen!). Für CD gibt es nach wie vor die
Nightlies von LittleFox, das USB-Image muss im Moment noch von Hand aus Max' Branch gebaut werden.
Soweit mal für heute mit dem ausführlichen Einstiegsbeitrag, in den nächsten Tagen gibt es dann wahrscheinlich eher die kürzeren Updates.
[1] Der Eindruck wäre natürlich trotzdem nicht hundertprozentig falsch...