Lowlevel
Lowlevel => tyndur => Thema gestartet von: kevin am 09. May 2009, 23:18
-
Nachdem wir so langsam auf den letzten Metern für die 0.2.1 sind (unter anderem kommt Unterstützung für CD-ROM und UTF-8 dazu, außerdem ein paar neue lpt-Pakete und eine Ladung Bugfixes), ist es an der Zeit, sich einmal Gedanken zu machen, was die nächsten Schritte sind und wo uns die Zukunft hinführen soll.
Dafür, daß tyndur ein Communityprojekt ist, haben wir in letzter Zeit das Forum vielleicht etwas zu wenig in die Entwicklungen einbezogen. Das möchte ich an dieser Stelle ändern: Was meint ihr, wohin die Reise gehen soll? An dieser Stelle sind spontane und möglicherweise "kreative" Ideen genauso gefragt wie ausgefeilte Vorschläge oder einfach nur Vorschläge für Features oder eine bestimmte Entwicklungrichtung.
Um einen Ausgangspunkt für Ideen zu geben, möchte ich einmal kurz die groben Felder nennen, die ich persönlich sehe:
Kernkomponenten
Dieser Bereich umfaßt den Kernel, Treiber und die libc. Unsere Überlegung war, daß in diesem Bereich die zentralen Änderungen für 0.3 liegen werden. Als Baustellen sehe ich dabei vor allem:
- Umstellung auf kernel2, d.h. Implementierung der im Vergleich zu kernel noch fehlenden Features und Syscalls
- Mehr Dokumentation in kernel2, auf tyndur wird oft als Beispiel verwiesen und eines seiner ursprünglichen Ziele ist auch, daß es dabei hilfreich sein soll. In den Code könnte man oft fast eine Art Tutorial als Kommentar einbetten.
- LostIOv2 als neues, kernelbasiertes virtuelles Dateisystem soll das bisherige LostIO, das im Userspace läuft, ablösen und sowohl eine sauberere Schnittstelle bereitstellen als auch die Performance verbessern
- Portierung auf amd64 (niedrigere Priorität)
- Unterstützung für TCP-Server
- Evtl. mehr Hardwareunterstützung (z.B. Netzwerkkarten)
POSIX und lbuilds
In diesem Bereich geht es darum, existierende Software - vor allem aus dem *nix-Umfeld - auf tyndur zu portieren. Dazu gehört es auch, die POSIX-Emulation in der libc weiter zu vervollständigen oder ganz neue Funktionen einzubauen. An dieser Stelle könnte man unglaublich viel aufzählen, aber wichtig wären mir vor allem:
- Irgendein Mailclient, z.B. mutt
- Ein SVN- oder git-Client
Damit könnte man dann theoretisch die tyndur-Entwicklung unter tyndur vorantreiben. ;)
Grafische Benutzeroberfläche
Ja, eine GUI wäre eigentlich auch mal ganz nett. Wirklich konkrete Vorstellungen habe ich dazu noch nicht, aber ich würde mir wünschen, daß sie tastaturfreundlich ist.
Freaky und ich selbst werden neben den restlichen Aufgaben vermutlich kaum die Zeit finden, viel in Sachen GUI zu unternehmen - dazu hat sie im Vergleich zum Rest noch eine zu niedrige Priorität. Wir könnten zwar in allen Feldern Verstärkung gebrauchen, aber ich sag's mal ganz direkt: In Sachen GUI wird nur was passieren, wenn sich ein paar Leute zusammenfinden, die auf diesem Gebiet zusammen was reißen wollen.
Wenn das gegeben ist, dann werden wir sicher auch die nötige Unterstützung geben können, wie man das am besten mit dem Rest von tyndur integriert. Ansonsten könnte die Entwicklung als relativ eigenständiges Projekt mit momentan noch allen Freiheiten laufen - und wer sich als Interessierter meldet, hat gute Chancen, die Sache selbst leiten zu können.
Werkzeuge und Anwendungsprogramme
Dieses Feld umfaßt native tyndur-Programme, bisher in C oder Pascal geschrieben, die dem Benutzer zur Verfügung stehen. Momentan schon existierende Beispiele sind die Shell, das neue Hilfeprogramm, kedit, kirc, fdisk, build oder lpt. Die meisten dieser Programme könnten Erweiterungen vertragen (welche?) und es ist sicher noch Platz für weitere. Meine Favoriten wären:
- Ein Installationsprogramm, mit dem man tyndur von einer CD oder Netzwerk auf Platte installieren kann (für die Mutigen unter uns ;))
- kedit: Markieren von Text, Kopieren/Ausschneiden/Einfügen, Suchen. Syntaxhighlighting für zusätzliche Sprachen (bisher nur C)
- lpt: Upgrades, evtl. eine TUI vergleichbar mit aptitude
Das war jetzt einmal mehr oder weniger ein kompletter Braindump von mir zu den nächsten Schritten in Richtung 0.3 - wobei sich manche Punkte davon sicher auch noch auf spätere Versionen verzögern werden. Ich bin gespannt, ob andere das ähnlich sehen oder vielleicht andere gute Ideen aufkommen, worauf man sich konzentrieren könnte.
Außerdem wäre ich natürlich daran interessiert, wer von euch sich vorstellen könnte, im einen oder anderen Themengebiet selbst ein bißchen mitzumachen. Es würde mich freuen, wenn wir ein kleines GUI-Team zusammenbekommen würden - zwei, drei Mann wäre vielleicht realistisch - aber auch in den anderen Feldern gibt es genug zu tun.
Okay, genug geredet, ihr seid dran. Vielleicht bringt ihr ja revolutionärere Ideen zustande als ich. ;)
-
ich hätte einen vorschlag zur gui:
vllt könnte man so wie bei windows 1 bis 3.11 handhaben, dass man die gui nachträglich, zB mit dem befehl "Start GUI" oder nur "GUI", starten kann sodass es kein muss ist. die gui sollte man dann natürlich auch beenden können um zur konsole zurück zu kommen, vllt auch ein wechsel zwischen GUI und Konsole, dann bräuchte man kein extra "Terminal -Fenster". in der gui könnte man ja noch eine einstellung "GUI mit tyndur starten" zur verfügung stellen, man sollte aber immer zur konsole, zB mit STRG-2 für die Konsole bzw STRG-1 für die GUI, zurück kommen.
die gui selber sollte nicht grade eine maus als nötig erachen, nur als optional, sodass man den cursor zB per pfeiltasten bewegen kann, mit enter linksklick, bzw rechtsklick für linkshänder, und mit zB return rechts- bzw linksklick. zudem sollte man auch zwischen tastatur- und maussteuerung hin und her schalten können, zB per STRG-3, dass man enter und return auch normal benutzen kann.
ich hoffe ich konnte ein parr gute ideen liefern.
-
Ja, die GUI sollte schon optional sein. Und das hin- und herschalten ist vermutlich auch eine gute Idee, letztendlich könnte die GUI einfach noch ein weiteres virtuelles Terminal sein. Das "Terminal-Fenster", wie du es nennst, macht das aber trotzdem nicht überflüssig, denke ich. Man hat in der GUI wahrscheinlich immer noch eine höhere Auflösung als im Textmodus, 80x25 ist auf Dauer halt schon knapp.
Was die Pfeiltasten für den Cursor angeht, bin ich nicht so recht überzeugt. Hast du das schonmal ausprobiert? Sowas kann man ja in den meisten GUIs irgendwie aktivieren und es ist sehr mühselig zu bedienen (hat allerdings auch seine Vorteile um z.B. in einem Grafikprogramm pixelgenau zu positionieren, nachdem man mal in der Nähe ist). Für eine wirklich tastaturoptimierte Oberfläche sollte der Mauscursor eher eine untergeordnete Rolle spielen (und für die Fälle, wo man ihn braucht, könnte man versuchen, iterativ ein 3x3-Raster über den Bildschirm zu legen und über den Nummernblock auszuwählen, oder sowas - keine Ahnung, ob das in Praxis bedienbar wäre, aber es klingt jedenfalls schneller als die Cursortasten).
-
Nein, Tastaturmaus ist auch nicht wirklich was ich mir unter vernünftiger Steuerung mit Tastatur vorstellen würde. Ich persönlich würde ja gerne etwas sehen, das in Richtung awesome(http://awesome.naquadah.org) geht, also mit verschiedenen auswählbaren Algorithmen, die entscheiden wie die Fenster auf einer Virtuellen Arbeitsfläche(auch ein Konzept, das ich unbedingt brauche ;-)) angeordnet werden. awesome ist meiner Meinung nach nämlich ganz effizient bedienbar ohne Maus.
Ein Terminal-Fenster muss auf jeden Fall rein, umschalten ist auf Dauer nervig und auch die Auflösung ist, wie taljeth schon gesagt hat, einfach zu klein. Ich finde es oft auch praktisch mehrere Konsolenfenster nebeneinander offen zu haben.
Ein weiteres Feature, das ich mir wünschen würde, wäre ein bisschen Internationalisierung, also sowohl bei der Sprache der Anwendungen, als auch Dinge wie verschiedene Tastaturlayouts und so...
-
Eine GUI mit runden oder elipsartigen Fenstern wäre doch mal was neues. :roll: :-D
-
Das klingt ja unglaublich nützlich, damit kann man ja den Platz auf dem Bildschirm viel besser ausnutzen. ;-)
-
Das stell ich mir auch unglaublich sinnvoll vor... :roll:
-
Das klingt ja unglaublich nützlich, damit kann man ja den Platz auf dem Bildschirm viel besser ausnutzen. ;-)
Das stell ich mir auch unglaublich sinnvoll vor... :roll:
Das nicht unbedingt, aber es wäre etwas, was es noch nicht gibt...
-
Nicht alles was es noch nicht gibt, ist es wert geschaffen zu werden. Wir sind übrigens ziemlich Offtopic...
-
Gut, damit ich hier nicht nur Offtopic beitrage, mal ein hoffentlich sinnvoller Beitrag.
Wenn ich mir die Liste der Kernkomponenten anschaue, sehe ich dort "Portierung auf amd64 (niedrigere Priorität)". Warum hat dies eine niedrige Priorität?
Den Punkt "Evtl. mehr Hardwareunterstützung (z.B. Netzwerkkarten)" finde ich gut, und eventuell könnte ich da sogar etwas beitragen, falls das zeitlich funktioniert...
-
Wenn ich mir die Liste der Kernkomponenten anschaue, sehe ich dort "Portierung auf amd64 (niedrigere Priorität)". Warum hat dies eine niedrige Priorität?
Weil kernel2 ohne das trotzdem genau so gut läuft, ohne amd64. Davon merkt der User ja nicht wirklich viel solange er nicht allzuviel RAM hat. Und das braucht er im Moment mit tyndur eh nicht, ohne die anderen Features. ;-)
Ein weiteres Feature, das mir noch so einfällt ist ein Debugger (vorzugsweise ein GDB-Port). Und damit meine ich keinen Kernel-Debugger sondern einen im Userspace.
-
Ich habs ja im IRC bereits gesagt, ich werde mich um eine C++ Standardbibliothek für tyndur und lightOS kümmern.
-
Wenn ich mir die Liste der Kernkomponenten anschaue, sehe ich dort "Portierung auf amd64 (niedrigere Priorität)". Warum hat dies eine niedrige Priorität?
Zum einen siehe Freaky, aber zum anderen: Das ist ja keine offizielle Liste, was tatsächlich bis zur 0.3 passieren soll, sondern meine persönliche Wunschliste. Und mein tyndur-Testrechner ist kein 64-Bitter, insofern ist es mir halbwegs egal, ob das tut.
Kann ja sein, daß das auf deiner Wunschliste wesentlich weiter oben steht, dann schreib das einfach hier in den Thread. Am Ende schauen wir mal zusammen, was an Ideen und Wünschen da ist und was wir realistisch für die nächsten Versionen einplanen können.
Den Punkt "Evtl. mehr Hardwareunterstützung (z.B. Netzwerkkarten)" finde ich gut, und eventuell könnte ich da sogar etwas beitragen, falls das zeitlich funktioniert...
Was für eine Karte wäre das denn bei dir?
Ach ja, mir ist noch was eingefallen: Shared Libs wünsche ich mir natürlich auch noch. Auch wenn die alles noch komplizierter machen, aber Monsterbinaries müssen auch nicht gerade sein.
-
Nun, ich habe in meinen 2 Testrechnern ein bissel ältere Hardware. Da wäre z.B. eine Voodoo 3... :D
Für eine genaue Liste muss ich nachschauen, dachte dabei an Grafik-, Sound- und Netzwerkkarten...
Soweit oben ist der Punkt 64 Bit nicht. 1 Rechner von 4 hat einen 64 Bit Prozessor, allerdings läuft da ein Fileserver drauf ;)
-
Alle anderen sind wunschlos glücklich?
-
JA :-)
-
Ist doch toll, da kann man die Erwartungen nur übertreffen. :-P
-
Ich fände eine Make-Portierung sehr schön. :lol:
-
Hm ich glaube da fehlt nicht mehr viel. Das habe ich schon mal angefangen, weiss aber nicht mehr, wieviel noch fehlt.
Überhaupt hätte ich gerne so die wichtigsten Tools, die man so braucht, auf tynur gesehen. Einige Beispiele: tar,bzip2,bc,wget,grep,find,... Die meisten davon sollten eigentlich nicht allzu aufwändig sein zu portieren.
-
Ich glaube, für make fehlt vor allem eine bash, um wirklich sinnvoll mit make arbeiten zu können. Weiß nicht, ob das mit der losh so richtig Spaß macht. Für die einfacheren Sachen gibt es ja build. Den wirklichen Sinn von make sehe ich erst dann, wenn man existierende Programme unter tyndur kompilieren kann.
Und wahrscheinlich mal wieder fork/exec...
-
Hm jo, das mit der Bash stimmt natürlich. Und da müsste man mal testen, wie die so mit unseren netten Pfaden auskommt. ;-)
Ich glaube make geht ohne fork/exec, wie ich bei genauerem Hinsehen festgestellt habe. Zumindest solange man keine Jobs will. Was nicht einfach so gehen dürfte im Moment, ist das $(shell), wenn ich das richtig in Erinnerung habe.
Das wäre auch mal eine nette Erweiterung für unsere libc: ein popen(), oder allgemein pipes. Wobei das vielleicht noch ein bisschen frickelig werden könnte...
-
Ich hab mit der C++ Standardbibliothek angefangen, sie ist unter repo.or.cz: lightlibc++ (http://repo.or.cz/w/lightlibc%2B%2B.git) zu finden. Geplant ist, dass die Bibliothek eine C Standardbibliothek voraussetzt und sonst (hoffe ich) nichts, d.h. es sollte jedem möglich sein sie unter seinem OS zum Laufen zu bekommen (primäre Ziele sind tyndur, lightOS und ein Linux-Hostsystem).
Falls es irgendwann mal zu einem Release kommen sollte, werde ich das in einem der anderen Unterforen natürlich nochmal kundtun.
Ansonsten würde ich mich natürlich über Review des Codes, Bugreports, Featurerequest und natürlich auch eigene Patches freuen.
-
Sind eig. schon die ersten Grakatreiber vorhanden, wenn ja könnte ich mir vorstellen das wir ein paar classikerspiele portieren oder neu progn! Wäre echt schön
-
pong, als bsp.
dafür würd ich mich, dann sogar anbieten.
aber so mal am rande, ich glaub die meisten classics, ich geh mal von pong, pacman, etc. aus, wird man, zumindest im original, neu progn müssen, da dort ja die quellcodes nicht mehr, oder nicht zugänglich sind.
-
Ganz abgesehen davon, dass die Originale wohl eh nicht in C programmiert (oder x86 Assembler) waren, ist vermutlich deren Art und Weise auf die Grafikkarte zuzugreifen, sowieso nicht kompatibel mit überhaupt irgendwas. Aber es kann ja wer MAME portieren ;)
-
Die Idee der Integration eines Tutorials finde ich klasse. Vor allem muss man auch einfach heraus finden koennen, welche Module welche Funktionalitaeten besitzen.
Hier noch eine interessante Anmerkung aus einem anderen Forum zum Thema Windows7:
... wenn die wirklich mal was sinnvolles machen wollten, dann ein Betriebssystem, das bei Nichtnutzung die unbenutzten Ressourcen nutzt, um zu defragmentieren und das seine Platte immer unfragmentiert und am Anfang zusammengeschoben und nach Verwendungshäufigkeit sortiert vorhält.
Wenn man in tyndur analytisch einsteigen will, welche Version sollte man sich momentan genau anschauen? Ab naechster Woche habe ich hoffentlich Zeit dafuer. Ich hoffe, dass ich moeglichst bald dann auch an geeigneter Stelle mithelfen/unterstuetzen kann.
-
Ich würde sagen, du nimmst die aktuellsten quellen, das ist auch noch übersichtlich genug und dann bist du auch gleich auf dem neusten stand! Also einfach mal die quellcodes mit git downloaden! :-D
Obwohl ich auch erst neu im team bin, wird mich freuen wenn du mitmachst, schau infach ma im IRC rein!
-
Ja, immer das aktuellste aus dem git nehmen, alles andere gibt keinen Sinn. Je nachdem an welcher Stelle du einsteigen möchtest (ich würde dich aber eher als jemanden für die grundlegenden Dinge im Kernel einschätzen) könnte es sein, dass auch in anderen Branches als master Interessantes liegt.
-
Zum Thema Portierung oder Neuschreiben von Spielen und so - nen Grafiktreiber ist aktuell bei mir im Umbau, manchmal kann er sogar primitiven rendern ;) Falls sich das ganze jemand ansehen möchte, meine aktuelle Version ist noch nirgends (da es noch nicht wieder läuft seit ich angefangen hab die Kommandostreams umzubauen), aber grundsätzlich basiert das auf einer alten Patchreihe von mgottschlag und janosch, zu finden unter http://list.tyndur.org/pipermail/tyndur-devel/2008-October/thread.html (ab Patch [1/5] + cdi: Interface für Grafiktreiber).
Um das ganze mit ner aktuellen Version ans laufen zu kriegen, den vterm-Hack weglassen, inner userspace-lib in video_init den fopen() ausklammern, im cdi-video-teil get_command_buffer dahingehend anpassen das das nen vscreen erzeugt. Alternativ add_vscreen so wie es vterm machen würde in video_init aufrufen.
Wer also damit arbeiten möchte, kann dies gerne tun - die Userspace-Lib wird erstmal kompatibel bleiben, oder wenigstens kompatibel genug um weitere Portierungen minimal zu halten ;)
-
cool, aber ich habe ja im moment noch zu tun vieleicht kann ich ja am ende meiner sommerferien mir das ganze noch mal überlegen! :-D
-
Obwohl ich auch erst neu im team bin, wird mich freuen wenn du mitmachst, schau infach ma im IRC rein!
Danke fuer die freundliche Einladung. Ab diesem Wochenende kann ich ihr folgen. :-)
ich würde dich aber eher als jemanden für die grundlegenden Dinge im Kernel einschätzen
Momentan voellig richtig eingeschaetzt. :wink:
Da ich den tyndur Quellcode gerade im Ausland an einer fremden Maschine ansehe, moechte ich anregen, im Kommentar keine Umlaute oder sz zu verwenden, da diese nicht korrekt angezeigt werden:
fehlercode und interrupt nummer �berspringen
Gr��e des Segments in Bytes
if (flags & 0x80)
Warum wird hier beim syscall explizit 0x80 verwendet? Falls man dies auf eine andere Zahl umsetzen wollte, muesste man dies ueberall durchfuehren.
http://svn.tyndur.org/filedetails.php?repname=Lost&path=%2Ftrunk%2Fdoc%2Fsyscalls.pdf:
Ein System Call ist der Aufruf einer Kernelfunktion über Interrupt 0x30.
:?
-
In Kommentaren benutzen wir eigentlich normal nur ASCII. In Meldungen usw. wo am Ende tatsächlich Umlaute rauskommen sollen, geht das aber natürlich nicht.
Aber: Wenn heutzutage ein System (auch im Ausland) nicht mit UTF-8 umgehen kann, ist das reine Ignoranz und läuft für mich schlicht und einfach unter kaputt.
if (flags & 0x80)
Warum wird hier beim syscall explizit 0x80 verwendet? Falls man dies auf eine andere Zahl umsetzen wollte, muesste man dies ueberall durchfuehren.
Stimmt, da gehört eine Konstante hin. Aber ändern kann man es sowieso nicht ohne damit eine inkompatible API-Änderung zu machen.
-
Wenn heutzutage ein System (auch im Ausland) nicht mit UTF-8 umgehen kann, ist das reine Ignoranz und läuft für mich schlicht und einfach unter kaputt.
Sicher richtig, aber manchmal gibt es nichts anderes, wollte es nur erwaehnen. Die Welt ist bunt. :-D
-
Der Quelltext ist nicht einheitlich kodiert. Da sind UTF-8 und ISO 8859-1 gemischt. Die Zeilenumbrüche sind auch nicht einheitlich. Aber hauptsächlich ist davon wohl kernel betroffen, kernel2 wohl weniger oder gar nicht. (Vor allem weil ich da nicht meine Finger drin hatte.)
-
Jeder schiebt´s auf den anderen :-D
Muss aber zugeben, dass die anderen mir im IRC auch geschrieben haben, das bei Meldungen UTF-8 verwendet werden soll und ich habe dann auch festgestellt, dass dies nicht immer zutrifft! Naja ist auch nicht die Welt, wir sind ja glaube ich alle Intelligent genug um sich die Umlaute an den Stellen, wo sie nicht angezeigt werden zu denken :-D Freu mich das du mitmachst!
-
Naja, was Meldungen angeht ist die Sache wirklich einfach: Mit UTF-8 werden die Umlaute unter tyndur angezeigt, mit allem anderen kommt irgendwas anderes raus. ;)
-
kann es sein das wir schon wieder etwas offtopic vom thema des Threads sind :-D
Naja hast de mal wieder recht taljeth! Ach hier in dem thread steht glaube ich noch das der Posten für den FTP-Client noch net besetzt ist, dies stimmt nun nicht mehr, das ist jetzt mein chaoshaufen, den ich da anrichte :-D
-
[...], das ist jetzt mein chaoshaufen, den ich da anrichte :-D
That's the spirit. :mrgreen:
-
Stimmt, da gehört eine Konstante hin.
Thx. :-)
-
Guten Abend zusammen!
Ich beobachte schon des längeren das tyndur-Projekt und ihr habt jetzt richtig Interesse bei mir geweckt :)
Jetzt wollte ich einfach mal fragen, ob und vor allem wie ich mithelfen kann.
Ich kenne mich mit der Betriebssystemprogrammierung schon etwas aus (habe selbst einen kleinen Kernel in Assembler und einen sehr einfachen Mikrokernel geschrieben) und programmiere in C und Assembler. Auch Pascal bin ich nicht abgeneigt.
Würde mich freuen, wenn ich mitmachen dürfte,
schöne Grüße!
-
Klar jeder darf mitmachen! Besuch uns mal im IRC und was den rest belangt schreib FreakyPenguin einfach mal eine nachricht! Freuen uns auf jede tippende hand! :-D
-
Seit der letzten Aktivität hier ist ein bisschen Zeit vergangen und manche vorgeschlagene Punkte wurden angegangen, andere nicht. Ich versuche mal, zur Übersicht zu jedem Punkt ganz grob den aktuellen Zustand zu nennen, um das Forum nicht schon wieder völlig außen vor zu lassen.
Falls jemand neu in das Projekt einsteigen möchte, aber keine Ideen hat, wo er anfangen sollte, kann er die Liste auch als Vorschlag verwenden. Sich in diesem Thread und/oder im IRC zu melden, wäre natürlich auch nicht verkehrt, damit es nicht völlig unkoordiniert abläuft.
Hier also der aktuelle Stand:
Kernkomponenten
- Umstellung auf kernel2, d.h. Implementierung der im Vergleich zu kernel noch fehlenden Features und Syscalls
kernel2 bootet und funktioniert für übliche Aufgaben. Er wird noch nicht standardmäßig gebaut. Einige exotische Syscalls fehlen und es scheint noch größere Speicherlecks zu geben.
Eine erste Version existiert, kann aber nur mit Services im Kernel umgehen. Unvollständig und instabil.
- Portierung auf amd64 oder weitere Architekturen
Keine Arbeit am amd64-Port in den letzten Monaten
- Unterstützung für TCP-Server
Erledigt
- Evtl. mehr Hardwareunterstützung (z.B. Netzwerkkarten)
ne2000-Netzwerktreiber und ac97-Sound sind neu dazugekommen
- Wechselbares Tastaturlayout
Erledigt
- Mehrsprachige Anwendungen
lpt kann auch englisch, ansonsten nocht nicht in Angriff genommen[/list]
POSIX und lbuilds
- Irgendein Mailclient, z.B. mutt
mutt kann die Mailheader holen, den Inhalt anzuzeigen geht aber noch nicht. Sehr langsam.
Subversion ist funktionsfähig. git kompiliert, funktioniert aber nicht.
- Übliche Unixtools portieren: bash, make, tar, gzip, ...
coreutils kompilieren und funktionieren teilweise. bash und make sind noch komplett offen.[/list]
Grafische Benutzeroberfläche
Grafiktreiber sind in der Entwicklung. Die Arbeit an der GUI hat noch nicht begonnen.
Werkzeuge und Anwendungsprogramme
- Ein Installationsprogramm, mit dem man tyndur von einer CD oder Netzwerk auf Platte installieren kann (für die Mutigen unter uns ;))
Noch nicht begonnen.
- kedit: Markieren von Text, Kopieren/Ausschneiden/Einfügen, Suchen.
Noch nicht begonnen.
- kedit: Syntaxhighlighting für zusätzliche Sprachen (bisher nur C)
Syntaxhighlighting für Pascal und Assembler (sowohl nasm als auch gas) ist erledigt
- lpt: Upgrades, evtl. eine TUI vergleichbar mit aptitude
Noch nicht begonnen.
Größtenteils erledigt, Dinge wie mget/mput fehlen noch
Noch nicht begonnen.[/list]
-
Als Versuch, hier etwas öfter auch kleinere Änderungen zu posten:
Ich habe die letzten zwei Tage ein bisschen an git geschraubt, für ein Minimum an lokalem Einsatz (git init/add/commit/diff/status/log) geht das jetzt halbwegs. git clone tut allerdings noch nicht und ohne das ist es ja etwas langweilig. Wenn ich es richtig sehe, müsste man dazu erstmal eine Standardein/ausgabeumleitung für neu erstellte Prozesse basteln (git will da wohl einen anderen Prozess aufrufen und dessen Ausgabe lesen oder sowas). Vielleicht ist mir ja nächstes Wochenende langweilig genug. ;)
-
Ich wollte einfach mal ein bisschen mit den Grafiktreibern unter tyndur experimentieren, also z.B. Bildschirm komplett Blau ausfüllen oder in eine andere Auflösung wechseln oder mal einen Kreis zeichen... :roll:
Leider ist es nicht möglich, die Version 0.2.1 zum laufen zu bringen, da unter bochs der Prozess kbc einen Timeout auslöst. Aus dem Grund konnten dann die Prozesse vterm, getterm4 und default nicht gestartet werden...
-
Leider ist es nicht möglich, die Version 0.2.1 zum laufen zu bringen, da unter bochs der Prozess kbc einen Timeout auslöst. Aus dem Grund konnten dann die Prozesse vterm, getterm4 und default nicht gestartet werden...
Ist ein bekannter Bug in Kombination mit bochs - andere Emulatoren funktionieren. Übrigens nach meinem Kenntnissstand auch aktuell nicht gefixt, kann also gerne untersucht werden ;)
Ich wollte einfach mal ein bisschen mit den Grafiktreibern unter tyndur experimentieren, also z.B. Bildschirm komplett Blau ausfüllen oder in eine andere Auflösung wechseln oder mal einen Kreis zeichen... :roll:
Aktuelle Grafiktreiber gibts in meinem Entwicklerrepo im Branch "video-devel", zu finden unter http://git.tyndur.org/?p=tyndur/alex.git;a=log;h=refs/heads/video-devel
Ist nicht der perfekte Code, und teilweise wird auch rumgebastelt, zum ausprobieren und spielen reichts aber ;) Zum testen vorzugsweise qemu verwenden (andere funktionieren ziemlich sicher nicht) - einfach kompilieren (Relevant sind die Module cdi/vesa und gfxtest), im Emulator
start modules/vesa
gfxtest
Der Code von gfxtest (src/modules/c/gfxtest/) sollte selbsterklärend sein, ansonsten einfach Nachfragen ;)
-
Werde ich tun...
Mal so ganz neben bei, gibt es eigentlich schon einen Treiber für die Maus?
Und wie sieht es mit dem Stand der gui aus? Anscheinend gibt es ja schon ein Modul hierfür...
EDIT
Irgend etwas stimmt nicht...
Ich sehe keinen Ordner "gfxtest", wenn ich diesen aber in der URL angebe, komme ich rein...
-
Werde ich tun...
Mal so ganz neben bei, gibt es eigentlich schon einen Treiber für die Maus?
PS/2-Mäuse werden von kbc unterstützt.
Und wie sieht es mit dem Stand der gui aus? Anscheinend gibt es ja schon ein Modul hierfür...
In welchem Source schaust du? In meinem Branch gibt es dafür definitiv keinen Code mehr - der setzt auch auf eine vollkommen andere Codebasis, hat ergo garkeine Chance zu funktionieren. War aber auch nicht sonderlich weit, afaik.
EDIT
Irgend etwas stimmt nicht...
Ich sehe keinen Ordner "gfxtest", wenn ich diesen aber in der URL angebe, komme ich rein...
Siehe #2 - Hast du wirklich den richtigen Branch geklont, oder meinen master - der ist nämlich auf tyndur.git/master-Stand ;)
-
Ich habe nichts geklont... Ich habe das Webinterface genutzt und da war kein "gfxtest" sichtbar.
Geklont habe ich das jetzt so, wie es in der wiki steht:
git clone git://git.tyndur.org/tyndur.git
EDIT
Habe nun alles da... Ist das erste mal, dass ich mit git zu tun habe, da ich für mein Projekt ein SVN-Repository am laufen habe...
Ich werde dann einfach mal etwas experimentieren. Vielleicht komme ich ja dann auch zu einer einfachen GUI, je nach dem, ob nun schon daran gearbeitet wird oder nicht.
Sollte so etwas bereits in Arbeit sein, werde ich mal schauen, was sich machen läst...
-
Kurzes Statusupdate vielleicht... Die letzten zwei Wochen ist nicht ganz so viel passiert. Ich glaube, die beiden wichtigsten Neuigkeiten sind, dass XanClic Unterstützung für Shared IRQs eingebaut hat und dass ich gestern ctris (einen Tetrisklon) portiert habe. ;)
Außerhalb des Hauptentwicklungszweigs bastelt außerdem in letzter Zeit wieder FreakyPenguin an LostIOv2 rum.
-
wollte mal was melden, was mir aufgefallen ist im bezug zu kedit. Aus irgend einem grund werden beim eingeben von text, zeichen einfach gelöscht, und der cursor versetzt. Ist mir zumindest unter virtualbox aufgefallen, kann sein dass wo anders nicht so ist.
-
Ich wollte nur mal sagen, dass es bei mir mal wieder beim Compilen scheitert.
main.c:138: undefined reference to `__udivdi3'
main.c:139: undefined reference to `__udivdi3'
src/modules/lib/library.a(jprintf.o): In function `divmod':
src/modules/lib/stdlibc/jprintf.c:59: undefined reference to `__umoddi3'
src/modules/lib/stdlibc/jprintf.c:59: undefined reference to `__udivdi3'
-
Hast du eine 32-Bit-libgcc installiert?
-
Lass es mich so sagen: Jetzt schon. Compiled ohne Anstand, Zeit zum Testen finde ich wohl erst morgen ^^'
-
Ich möchte noch im Bereich Netzwerk ein paar weitere Ziele setzen, damit wir da endlich mal was halbwegs vollständiges haben:
- ICMP(wir haben noch kein ping!)
- UDP
- DHCP
-
Hi,
ich bin zwar noch recht neu, würde aber gerne an der Übersetzung der Programme/des Systems oder sogar an einem Sprachenauswahl-System arbeiten.
Ich spreche sehr gut Englisch, fließend Französisch und habe Grundkenntnisse in Spanisch. Ich schreibe viel in C++ aber auch in C und Assembler =)
-
Klingt gut. :)
getterm, lpt, setup und kedit können mittlerweile englisch. Die zwei Möglichkeiten, die ich für einen Anfang sehe, wäre entweder die schon mehrsprachigen Programme in weitere Sprachen übersetzen - außer bei getterm bedeutet das aber, dass du erstmal einen funktionierenden Pascalcompiler aufsetzen musst (was allerdings ohnehin ratsam ist, wenn du ein voll funktionsfähiges tyndur bauen können willst).
Die andere Möglichkeit wäre, sich z.B. um die Shell zu kümmern, die bisher noch gar nichts kann. Für C fehlt uns auch noch eine vernünftige Standardmethode, das zu machen - da wäre also etwas mehr Basteln am Code angesagt.
Du kannst auch gern mal im IRC vorbeischauen (irc.euirc.net, #lost), dort lassen sich die Details oft schneller klären.
-
Erstmal: Großes Lob an euch. Ich habe mir nun auch endlich die Zeit genommen, euer týndur zu testen. Ich dachte erst, es wäre nur so ein typisches Amateur-OS, wie manche andere. Aber als ich es mir angeschaut habe, war ich richtig begeistert. Erinnert mich richtig an Linux, mit der Paketanwendung und der Shell. Richtig gut gemacht. :-D
Was ich mir wünsche:
- Einen FreeBasic-Compiler(irgendwie glaube ich nicht, dass ihr das machen werdet, aber vielleicht ja doch)
- (hat vll schon jemand gesagt) Grafiktreiber für eine GUI
ys, aletes :wink:
-
Um den Grafiktreiber kümmert sich stultus, ist aber noch in einer relativ frühen Phase.
Beim FBC dachte ich erst, dass er in C geschrieben ist (so wie die Runtime), dann hätte ich ihn vermutlich kurz portieren können, aber mir anzuschauen wie ich mir einen FBC-Crosscompiler aufsetze habe ich gerade keine richtige Lust. ;)
Falls du Lust hast, ein bisschen Vorarbeit zu leisten, kannst du dir ja mal näher anschauen, wie das geht.
-
Puuh.
Ich habe mir mal den FBC-Source runtergeladen, aber dort finde ich nur .bas files(FreeBASIC Sourcecode-Dateien) vor. Und irgendwie kann ich mir nicht vorstellen, wie sich ein Compiler selber compilieren soll.
Ich denke eher, dass er in C geschrieben wurde, da man C-libs ohne Umstände includen kann. :wink:
-
Doch, natürlich. Ein Compiler, der was auf sich hält, kompiliert sich immer selber. Das ist beim gcc nicht anders.
-
Oh. Das wusste ich gar nicht. Danke für die Info :-)
-
Hallo,
Ich melde mich seit langer Zeit mal wieder. Wenns nicht eilt würde ich mich ggf. mal an der IMCP-Implementierung versuchen (falls sich noch niemand drum kümmert).
Allerdings weiß ich nicht wie viel oder wenig Zeit ich in nächster Zeit dafür aufbringen kann, weil ich z.B. auch demnächst umziehe. Wenn die Sache aber nicht eilt würde ich mich mal hiermit melden.
Problem war nur das letzte mal als ich was für tyndur programmieren wollte, dass ich es nicht geschafft habe tyndur unter Windows zu compilieren.
D.h. da wäre es dann ganz nett wenn mir da jemand ggf. etwas helfen könnte der damit am besten schon seine Erfahrungen gemacht hat.
-
Ja, ICMP fehlt noch.
Was Bauen unter Windows betrifft, dürfte wohl PorkChicken am ehesten was sagen können, aber die Tatsache, dass selbst der mittlerweile ein Debian fürs OS-Dev benutzt, spricht vermutlich dafür, dass es nicht wirklich Spaß macht. ;)
-
Dass es z.T. keinen Spaß macht kann ich aus 1. Hand bestätigen :-D
Zumindest bei Betriebssystemen die eigentlich unter einem anderen OS entwickelt werden. Ich denke ihr "Pinguine" hättet sicher auch keinen Spaß ein unter Windows entwickeltes OS zu compilieren :-D
Werde mich dann demnächst mal mit PorkChicken in Verbindung setzen.
-
Solange dieses unter Windows entwickelte OS "unsere" Tools benutzt (und ein Cross-gcc für ELF ist unter Win schon einigermaßen Standard), ist das in der Regel eine Sache von fünf Minuten - nämlich ein eigenes Makefile dazu zu schreiben. ;)
-
Werde mich dann demnächst mal mit PorkChicken in Verbindung setzen.
Neee, lieber hier im Forum fragen. PNs les ich grundsätzlich erst 1 Woche nach Empfang.
Ich habe mir einen Cross-Compiler nach den vielfach im Internet verfügbaren Anleitungen gebaut. Das Ergebnis gibt es hier (http://www.lowlevel.eu/wiki/Crosscompiler_f%C3%BCr_Windows) im Wiki.
Unter Windows sind mangels ext2-Support halt nur für Diskettenimages drin, und keine Festplattenimages.
-
Ich hab in den Wikiartikel Týndur/Entwicklung einen kleinen Absatz zu Windows (http://www.lowlevel.eu/wiki/Týndur/Entwicklung#Entwicklung_unter_Windows) eingebaut. Für Plattenimages kann man nämlich einfach vvfat nehmen, wenn man qemu benutzt.
Um ungefähr das gleiche zu kriegen wie unter Linux, bräuchte man jetzt nur noch unter tyndur einen ordentlichen Installer, mit dem man das so gebootete System auf ein richtiges mit ext2 formatiertes Image kopieren könnte. ;)
-
Hbe ich richtig gelesen,das es schon AC97 Sound gibt. Wenn ja fände ich ein Musikplayer sehr schön(WAV und MP3).
Wie weit siehts eigentlich mit dem Grafiktreiber aus und gibt es schon einen funktionierenden USB Treiber?
Programm Noob
-
Eine Sache fällt mir gerade noch ein.
Ein tool,welches alle PCI geräte auflistet inclusive aller ports und ids.
-
XanClic hat mal einen ac97-Treiber implementiert, ja. Der ist aber noch nicht im Repository, weil man dafür eigentlich eine richtige Schnittstelle für Audiotreiber bräuchte - bisher gibt sich der Treiber als Festplatte aus, was zumindest ein interessanter Ansatz ist. ;) Den passenden einfachen ogg-Player gibt es auch.
USB-Treiber sind in einem ähnlichen Zustand.
Für das Tool, das PCI-Geräte auflistet, hätte ich dir cat pci:/info oder lsdev anzubieten.
-
Erstmal: Großes Lob an euch. Ich habe mir nun auch endlich die Zeit genommen, euer týndur zu testen. Ich dachte erst, es wäre nur so ein typisches Amateur-OS, wie manche andere. Aber als ich es mir angeschaut habe, war ich richtig begeistert. Erinnert mich richtig an Linux, mit der Paketanwendung und der Shell. Richtig gut gemacht. :-D
Was ich mir wünsche:
- Einen FreeBasic-Compiler(irgendwie glaube ich nicht, dass ihr das machen werdet, aber vielleicht ja doch)
- (hat vll schon jemand gesagt) Grafiktreiber für eine GUI
ys, aletes :wink:
Um den Grafiktreiber kümmert sich stultus, ist aber noch in einer relativ frühen Phase.
Beim FBC dachte ich erst, dass er in C geschrieben ist (so wie die Runtime), dann hätte ich ihn vermutlich kurz portieren können, aber mir anzuschauen wie ich mir einen FBC-Crosscompiler aufsetze habe ich gerade keine richtige Lust. ;)
Falls du Lust hast, ein bisschen Vorarbeit zu leisten, kannst du dir ja mal näher anschauen, wie das geht.
Wenn sich da bisher noch keienr dran versucht hat , kann ich das gerne in angriff nehmen.
-
Ist eigentlich auch schon ein Pascal Compiler portiert. sonst mache ich das gerne auch.
-
Ja, FreePascal ist portiert (ich war damit sogar knapp schneller als FreakyPenguin mit gcc, und damit war es der erste Compiler auf tyndur ;)).
FreeBasic kannst du gern mal in Angriff nehmen. lbuilds hast du schonmal ein bisschen benutzt, so dass du weißt, wie das geht?
-
lbuilds habe ich noch nicht benutzt.
-
Wenn ich nur (1/9*10^100) soviel know how hätte wie ihr, wär ich schon glücklich :D
Ich weiß noch nicht mal, wie ich mein "OS" ohne großen Aufwand dazu bringe den PC herunterzufahren... :roll:
-
Ohne größen Afwaand geht im PMode nicht. Du musst einen ACPI Treiber schreiben. Auserdem schon wieder off topic und falschen Forum.
Programm Noob
-
Wenn ich nur (1/9*10^100) soviel know how hätte wie ihr, wär ich schon glücklich :D
Ich weiß noch nicht mal, wie ich mein "OS" ohne großen Aufwand dazu bringe den PC herunterzufahren... :roll:
Wozu? Drückst du auf den Knopf, dann geht der Computer aus. ;)
-
Ohne größen Afwaand geht im PMode nicht. Du musst einen ACPI Treiber schreiben. Auserdem schon wieder off topic und falschen Forum.
Programm Noob
Das war kein Aufruf zur Hilfe, sondern lediglich eine Anmerkung :wink:
Aber du hast Recht, es ist trozdem Off-Topic.
Wozu? Drückst du auf den Knopf, dann geht der Computer aus.
Ja gut, aber per Knopfdruck auf der Tastatur ist hald irgendwie schöner :-D
-
Ich hab ne Tastatur mit Power knop. 6 Sekunden drücken PC aus. ;)
Programm Noob
-
"schon wieder off topic und falschen Forum.", Programm Noob.
Jetzt aber mal Tacheles Ontopic:
UDP und DHCP nehmen langsam aber sicher Formen an. Wie sieht es mit kedit aus? Man wollte doch mal einen vim-ähnlichen Befehlsmodus einbauen, oder?
Weitere Syntaxfärbungen erwünscht?
-
Ich hab ne Tastatur mit Power knop. 6 Sekunden drücken PC aus. ;)
Programm Noob
Ja, aber ich meinte eigentlich grob gesagt, dass ich durch knopfdurck von mir geschriebenen Code ausführt, welcher den Rechner runterfährt.
Die PC-durch-EinschaltPowerknopf-ausschalten-Variante war mir bisher ein wenig suspekt, da ich immer an Datenverlust denken muss. Doch da die komplexität meines "OS"-es nahe dem Nullpunkt angesiedelt ist, und ich sowieso nur in den RAM-Speicher schreibe, welcher beim Beenden eh gelehrt (EDIT: Vor allem "gelehrt". Deutsche Sprache schwere Sprache :-D) wird, ist das auch eine möglichkeit.
Aber wie oben shcon gesagt, möchte ich das ganze mit selbst geschriebenen Code bewerkstelligen. Bis mein Wissensstand soweit ist, muss ich aber auf die Holzhammermethode zurückgreifen :-D
@Topic
Gibt es in Týndur eigentlich soetwas wie einen Internet-Text-Browser?
mfg rungaaz
-
Ja, und zwar wurde Lynx/ (http://lynx.isc.org/) portiert. Du installierst Lynx unter tyndur via "lpt get lynx" nach.
Ansonsten ist hier (http://lpt.tyndur.org/0.2.2/) mal eine Liste aller portierter Software.
-
Was ist denn los mit eucht? :-o
Ihr entwickelt ein OS mit allen Raffinessen, und ich gammel noch bei meinem Hello World rum :-D
Respekt!
-
UDP und DHCP nehmen langsam aber sicher Formen an. Wie sieht es mit kedit aus? Man wollte doch mal einen vim-ähnlichen Befehlsmodus einbauen, oder?
Weitere Syntaxfärbungen erwünscht?
Erwünscht ist alles, was die 0.3 cooler macht. :)
Wenn du konkret nach kedit fragst, fehlen mit da zwar keine Syntaxhighlightings mehr (aber dir vielleicht, keine Ahnung?), aber mich stören schon ein paar Punkte: Mit aktiviertem Syntaxhighlighting dauernd den ganzen Bildschirm neuzeichnen macht ihn lahm. Wir brauchen eine Zwischenablage. Irgendeine Art von Suche vielleicht.
Aber auch außerhalb von kedit gibt es sicher genug Verbesserungsmöglichkeiten.
Die PC-durch-EinschaltPowerknopf-ausschalten-Variante war mir bisher ein wenig suspekt, da ich immer an Datenverlust denken muss. Doch da die komplexität meines "OS"-es nahe dem Nullpunkt angesiedelt ist, und ich sowieso nur in den RAM-Speicher schreibe, welcher beim Beenden eh gelehrt (EDIT: Vor allem "gelehrt". Deutsche Sprache schwere Sprache :-D) wird, ist das auch eine möglichkeit.
Wenn per Netzschalter ausschalten deine Daten kaputtmacht, dann schafft das der nächste Stromausfall auch. Besser gleich so machen, dass nichts kaputtgeht, wenn man einfach ausschaltet.
@Topic
Gibt es in Týndur eigentlich soetwas wie einen Internet-Text-Browser?
Ja, lynx ist portiert.
-
Ansonsten ist hier (http://lpt.tyndur.org/0.2.2/) mal eine Liste aller portierter Software.
Das sind nur die als stabil genug fürs letzte Release angesehenen, was schon wieder 9 Monate her ist. Die furchteinflößende Liste ist die hier (http://git.tyndur.org/?p=lbuilds.git;a=tree;f=lbuilds;h=c83c107f1c5d8048b4a8d06b29a1324ba36f5e39;hb=HEAD). ;)
-
Wenn du konkret nach kedit fragst, fehlen mit da zwar keine Syntaxhighlightings mehr (aber dir vielleicht, keine Ahnung?)
Ihr könnt es ja so wie in "normalen" Editoren wie Notepad++ machen, eine externe Datei anlegen, welche Schlüsselwörter enthält, die gehighlighted werden sollen und in welcher Farbe. Dann kann es jeder nach seinem Belieben ändern.
Die furchteinflößende Liste ist die hier.
Das haut mal rein!
-
Wenn du konkret nach kedit fragst, fehlen mit da zwar keine Syntaxhighlightings mehr (aber dir vielleicht, keine Ahnung?),
Mir würde da jetzt C++ und Shellscript einfallen. Anhand der Liste auch noch Python, Perl fände ich auch Dolle (ich alter Perler). Ich würde mich dem dann auch entsprechend annehmen.
Aber auch außerhalb von kedit gibt es sicher genug Verbesserungsmöglichkeiten.
Da ich wieder gut machen möchte, dass ich so lange nicht da war, bombardiere mich ruhig mit Aufgaben, damit auch ich meinen Teil zu tyndur beitragen kann/darf :D
-
Ihr könnt es ja so wie in "normalen" Editoren wie Notepad++ machen, eine externe Datei anlegen, welche Schlüsselwörter enthält, die gehighlighted werden sollen und in welcher Farbe. Dann kann es jeder nach seinem Belieben ändern.
Ein bisschen mehr als Schlüsselwörter gehört schon dazu. Zum Beispiel gehen Strings oder Kommentar in jeder Sprache anders.
Mir würde da jetzt C++ und Shellscript einfallen. Anhand der Liste auch noch Python, Perl fände ich auch Dolle (ich alter Perler). Ich würde mich dem dann auch entsprechend annehmen.
Ohne die passenden Interpreter halte ich das eher für eine akademische Übung. Aber wenn dich was motiviert, lass dich nicht davon abhalten, dass ich es im Moment grad nicht brauche. Am besten ist es, wenn du das schreibst, was dich im Moment am meisten davon abhält, tyndur als dein Erstbetriebssystem zu benutzen. ;)
-
Was hält mich davon ab, týndur als mein Erstbetriebssystem zu nutzen?
* Keine GUI
* Kein OpenOffice-Pendant
* Keine Möglichkeit, Fotos und Video anzuschauen
...
...
...
Und vielleicht eine kleinere Konsolen-Schriftart, aber sonst eigentlich nichts.
-
Ihr könnt es ja so wie in "normalen" Editoren wie Notepad++ machen, eine externe Datei anlegen, welche Schlüsselwörter enthält, die gehighlighted werden sollen und in welcher Farbe. Dann kann es jeder nach seinem Belieben ändern.
Ein bisschen mehr als Schlüsselwörter gehört schon dazu. Zum Beispiel gehen Strings oder Kommentar in jeder Sprache anders.
Ja, das stimmt, aber schaut euch vielleicht mal so eine XML-Datei von NP++ an, das ist vll. ne gute Vorlage.
Gut das Teil auslesen lassen ist vielleicht ein Projekt für sich.
[EDIT]
Ich habe gerade einen kleinen Bug in Tyndur enddekt, glaube ich.
Hier ein Paar Screens:
(http://img442.imageshack.us/img442/7771/kedit.jpg)
Hier lege ich den Dateinamen fest:
(http://img155.imageshack.us/img155/7512/createfile.jpg)
Nachdem ich Kedit beendet habe:
(http://img193.imageshack.us/img193/8176/errorcx.jpg)
Was nicht wirklich ein Bug ist, aber auch nicht sooo schön aussieht ist, dass ich den String "Dateiname: " in Kedit einfach mit Backspace wegmachen kann:
(http://img337.imageshack.us/img337/2900/filenamedel.jpg)
-
Hallo,
UDP und DHCP nehmen langsam aber sicher Formen an.
Darf ich diesen Satz so interpretieren das ihr noch kein ordentliches UDP in tyndur habt? Wenn ja, wie macht ihr DNS?
Wenn das DHCP mal soweit ist dann teste ich das mal mit meinem Router, der scheint das DHCP nicht so ganz korrekt zu machen so das schon verschiedene (Live-)Linuxe Probleme hatten. Windows 2k schafft es in einer Sekunde (oder auch weniger ich habs nicht gemessen) eine IP zu bekommen und damit ins I-Netz zu kommen, selbst das aktuelle Kubuntu braucht dafür mindestens etwa 8 Sekunden und das alte OpenSUSE 10.? hat dafür immer mindestens 20 Sekunden gebraucht.
Grüße
Erik
-
UDP und DHCP nehmen langsam aber sicher Formen an.
Darf ich diesen Satz so interpretieren das ihr noch kein ordentliches UDP in tyndur habt? Wenn ja, wie macht ihr DNS?
Mit TCP. :wink:
-
[EDIT]
Ich habe gerade einen kleinen Bug in Tyndur enddekt, glaube ich.
Hier ein Paar Screens:
Welche Version bzw. welches Dateisystem ist das denn? Eine 0.2.1-Floppy, d.h. FAT?
-
Hallo,
Mit TCP. :wink:
Aha, auch ne Methode. Wäre es nicht einfacher gewesen UDP zu implementieren und irgendeine DNS-Client-Library zu benutzen anstatt einen TCP-DNS-Clienten zu programmieren. Ich hab mal vor Jahren einen simplen IP-Stack gebastelt (ich schreibe extra nicht entwickelt) und das primitive UDP war da so ziemlich als erstes fertig.
Grüße
Erik
-
[EDIT]
Ich habe gerade einen kleinen Bug in Tyndur enddekt, glaube ich.
Hier ein Paar Screens:
Welche Version bzw. welches Dateisystem ist das denn? Eine 0.2.1-Floppy, d.h. FAT?
Ja, genau.
-
Ich würde auch gerne mitarbeiten,
wie fang ich denn am besten an?
-
Als allererstes musst du natürlich in der Lage sein, tyndur selber zu bauen, also dir eine Entwicklungsumgebung aufzusetzen. Am besten schaust du dir mal http://www.lowlevel.eu/wiki/Týndur/Entwicklung (http://www.lowlevel.eu/wiki/Týndur/Entwicklung) an, dort sind die wichtigsten Punkt genannt (nicht nur zur Entwicklungsumgebung).
Ansonsten benutzen wir zur Kommunikation auch viel das IRC (#lost auf irc.euirc.net). Vielleicht wäre es hilfreich, sich dort ab und zu blicken zu lassen - obwohl andere Leute (z.B. MNemo), die eigentlich nie im IRC sind, auch schon ein paar Sachen beigetragen haben.
-
Ok werd ich machen danke
-
Hier nochmal eine Frage:
Wie kann ich Tyndur unter Linux bauen?
Immer wenn die Skripte /build/scripts/image_floppy bzw image_cdrom aufraufe gibt es nur Fehler
von wegen ungültigen Parametern und nicht gefunden Datei/Verzeichnissen.
Kann mir da jemand helfen??
Gruß Daniel
-
Einfach im tyndur-Stammverzeichnis make image-floppy oder make image-hd eingeben, mehr brauchst du nicht zu tun.
-
Oder auch (das mache ich üblicherweise):
make
build/scripts/updateroot && build/scripts/image_hd
Vorteil ist, dass man das make auch in irgendeinem Unterverzeichnis machen kann und so nicht immer den ganzen Verzeichnisbaum abklappern muss.
-
Ah jetzt funktioniert es!! :-)
-
Ich versuche mal wieder, den aktuellen Stand zusammenzufassen. Hilfe wird bei jedem der Punkte gern angenommen.
Kernkomponenten
- Umstellung auf kernel2, d.h. Implementierung der im Vergleich zu kernel noch fehlenden Features und Syscalls
kernel2 ist die Plattform, auf der alle aktuellen Entwicklungen stattfinden. Es fehlen nach wie vor einige Sachen aus kernel1, die bis zum Release gebraucht werden (z.B. PIT-Initialisierung, I/O-Port-Verwaltung) - LostIOv2
Massenspeicher- und Dateisystemtreiber benutzen LIOv2 und man kann ein System damit booten und auch einigermaßen benutzen. Noch instabil, aber hier geht momentan die meiste Arbeit rein. Netzwerk über LIOv2 wäre für die 0.3.0 hilfreich. - Portierung auf amd64 oder weitere Architekturen
Keine Arbeit am amd64-Port in den letzten Monaten; frühestens für 0.3.1 - ICMP, UDP, DHCP
DerHartmut arbeitet an UDP und DHCP - Evtl. mehr Hardwareunterstützung (z.B. Netzwerkkarten)
UHCI-Treiber sind neu dazugekommen, müssen irgendwann cdifiziert werden - Mehrsprachige Anwendungen
Die Shell und servmgr sollten bis zur 0.3.0 noch englisch lernen
POSIX und lbuilds
- Irgendein Mailclient, z.B. mutt
mutt kann die Mailheader holen, den Inhalt anzuzeigen geht aber noch nicht. Sehr langsam. Sobald tcpip auf LIOv2 umgestellt ist, sollte eine anständige Geschwindigkeit möglich sein. - Ein git-Client
Lokales Arbeiten mit git geht, aber für fetch/push reicht die libc noch nicht. - Übliche Unixtools portieren: bash, make, tar, gzip, ...
coreutils kompilieren und funktionieren teilweise. bash und make sind noch komplett offen.
Grafische Benutzeroberfläche
Grafiktreiber sind in der Entwicklung. Die Arbeit an der GUI hat noch nicht begonnen.
Werkzeuge und Anwendungsprogramme
- Ein Installationsprogramm, mit dem man tyndur von einer CD oder Netzwerk auf Platte installieren kann (für die Mutigen unter uns ;))
Noch nicht begonnen. - kedit: Markieren von Text, Kopieren/Ausschneiden/Einfügen, Suchen.
Noch nicht begonnen. - lpt: Upgrades, evtl. eine TUI vergleichbar mit aptitude
Noch nicht begonnen. - Debugger
Noch nicht begonnen.
Kleinigkeiten und Bugs
Siehe Bugzilla (https://bugs.tyndur.org/buglist.cgi?query_format=advanced&short_desc_type=allwordssubstr&short_desc=&long_desc_type=substring&long_desc=&bug_file_loc_type=allwordssubstr&bug_file_loc=&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&emailassigned_to1=1&emailtype1=substring&email1=&emailassigned_to2=1&emailreporter2=1&emailcc2=1&emailtype2=substring&email2=&bugidtype=include&bug_id=&chfieldfrom=&chfieldto=Now&chfieldvalue=&cmdtype=doit&order=Reuse+same+sort+as+last+time&field0-0-0=noop&type0-0-0=noop&value0-0-0=)
-
Hey, nur mal so als Frage: Wie siehts mit dem FreeBasic-Compiler aus? Arbeitet noch jemand dran?
Ich würde es ja gerne selber machen, allerdings habe ich weder Zeit noch viel Ahnung ...
-
Was meinst du mit Debugger?
-
Irgendwie sowas ähnliches wie gdb, um eben tyndur-Programme debuggen zu können.
-
Ich werde die portierung von fbc weitermachen. Mir müsste nur mal einer lbuilds erklären.
PNoob
-
kann ma jemand wieder den Stand zusammenfassen!!
-
Große Veränderungen hat es nicht gegeben, so dass die oben genannten Punkte eigentlich alle noch aktuell sind, auch wenn die noch nötige Arbeit für manche davon weniger geworden ist. Also ganz kurz ein Diff zum letzten Mal:
- kernel2: ps zeigt wieder den Speicherverbrauch an; I/O-Ports werden verwaltet; PIT wird initialisiert; es gibt jetzt einen Idle-Task; Exceptions beenden nur noch den aktiven Prozess statt das ganze System; Performanceoptimierungen
- LostIOv2: Wird weiterentwickelt, ist aber nach wie vor nicht einsatzbereit
- UDP/DHCP: bluecode möchte sich jetzt evtl. drum kümmern
- Mehrsprachige Anwendungen: Die libc hat jetzt die nötige Funktionalität, um mehrsprachige Anwendungen zu bauen. Die Shell ist teilweise ins Englische übersetzt, ein großer Teil fehlt aber noch. servmgr ist noch nicht übersetzt.
- Ein paar Bugs im Bugzilla (http://bugs.tyndur.org) sind behoben worden, ein paar neue dazugekommen.
- tev hat die Buildskripte erweitert, so dass man jetzt auch mit GRUB 2 CD-Images bauen kann. Festplattenimages kommen bald. Für Ubuntu-Benutzer sollte es damit einfacher werden, tyndur-Images zu bauen.
-
Nachdem wieder ein Monat vergangen ist, wäre vielleicht mal wieder Zeit, den aktuellen Stand zusammenzufassen. Mich persönlich würde es aber auch mal interessieren, was denn alles schon so passiert ist, seitdem dieser Thread begonnen wurde.
-
joar das neuste mal wieder zusammenfassen wäre gut. den rest kann man ja anhand der anderen Statusmeldungen ersehen
PNoob
-
Mich würde es auch interessieren!
(Hätte ich eine von Tyndur unterstützte Netzerkkarte, würde ich Tyndur [aus Neugier] auf der Festplatte installieren) :roll:
Sfan
-
Naja, es gibt da eine einfache Möglichkeit: Du musst nur einen Netzwerkkartentreiber schreiben. ;)
-
Naja, es gibt da eine einfache Möglichkeit: Du musst nur einen Netzwerkkartentreiber schreiben. ;)
Ich habe eine nVidia MCP67 (10de:054c).
Aber darüber("Netzwerkkartentreiber schreiben") hatte ich mir noch keine Gedanken gemacht...
Könnte man den VESA-Treiber und die GUI auf http://lpt.tyndur.org/current/ (http://lpt.tyndur.org/current/) zum installieren anbieten?
Das wäre sehr praktisch für mich, weil der Freetype lbuild auf Ubuntu 10.04 LTS Lucid Lynx nicht geht.
Sfan
-
Hm, ein Nvidia-Chip klingt nicht besonders spaßig. Würde mich jedenfalls wundern, wenn man dazu Dokumentation findet. Bleibt nur anderer Code als Dokumentation, was erstens keinen Spaß macht und wo man zweitens wegen Urheberrecht aufpassen muss.
-
jaa :(
PS: Ich bin mir da nicht so 100%ig sicher.
Könnte mir jemand sagen wie man die Netzwrkkarte unter Linux ermittelt?
Sfan
-
Also ich schätze mal, dass ich für die GUI zuständig bin. Zur Zeit ist sie in einem unbrauchbaren Zustand, aber die Idee, die GUI als Paket anzubieten finde ich gut. Allerdings ist der Freetype-lbuild ist kein Problem, nimm den einfach aus den GUI-BUILD_DEPs raus, die Version, die online ist braucht den sowieso nicht, genau so wie zlib und libpng.
Gruß, oern
EDIT: Grafiktreiber als Paket wird wohl nicht gehen, dazu müsste es ein lbuild sein, damit es die Paketstrukturen wie postinstall-bin beinhaltet.
-
EDIT: Grafiktreiber als Paket wird wohl nicht gehen, dazu müsste es ein lbuild sein, damit es die Paketstrukturen wie postinstall-bin beinhaltet.
Der VESA-Treiber als Paket dürfte nicht so schwer sein
möglich Ordnerstruktur für ein VESA-Paket:
-packages
--vesa
---1
----postinstall-bin << müsste ich schauen
----packageinfo-bin << hier auch
----bin
-----vesa << Hier der Treiber
Das müsste doch gehen, oder?
Sfan
-
Einen Installer für Tyndur könnte ich schreiben(geschrieben haben ;) )
Momentan geht der Installer nicht wie ein richtiger Installer vor.
aktueller Installer:
* HD-Image kopieren
richtiger Installer:
* Festplatte (auf Wunsch) formatieren
* Systemdateien kopieren
* Bootloader(GRUB) installieren
Da noch kein GRUB-Lbuild vorhanden ist der vorhandene Installer eine Alternative
Sfan
-
Ich glaube, ich habe keine einzige Festplatte, die genau 64 MB groß ist wie das Festplattenimage. ;)
-
Ich glaube, ich habe keine einzige Festplatte, die genau 64 MB groß ist wie das Festplattenimage. ;)
1. Das Image ist 63 MB groß
2. Es wird nur so etwas gemacht:
HD-Image:111111
Festplatte:0000000000
\/ \/ \/ \/
HD-Image:111111
Festplatte:1111110000
Also ist die Grösse der Festplatte egal.
PS:Die tyndur-Pfade wie ata:/ata00 sind sehr einfach zu benutzen
Sfan
-
Zumindest die Partitionstabelle dürfte aber nicht zur Festplatte passen, das läuft schon unter "böse".
Davon abgesehen will ich nicht hunderte Gigabytes auf meiner Festplatte ungenutzt lassen, sondern tyndur nur in eine Partition installieren (> 64 MB) und wahrscheinlich nebenher noch ein Linux (oder sonstiges OS) behalten.
-
Zumindest die Partitionstabelle dürfte aber nicht zur Festplatte passen, das läuft schon unter "böse".
Es ist so:
pl = readline("Festplatte: ");
sprintf(devstring, "ata:/ata%s0", pl);
destination = fopen(devstring, "wb");
Muss ich dann auch noch die Partitionstabelle ändern?
Daran könnte es liegen das der nicht bootet.
Das HD-Image kann ich sogar mounten.
Davon abgesehen will ich nicht hunderte Gigabytes auf meiner Festplatte ungenutzt lassen, sondern tyndur nur in eine Partition installieren (> 64 MB) und wahrscheinlich nebenher noch ein Linux (oder sonstiges OS) behalten.
Ich könnte den Installationspfad in ("ata:/ata%s0_p%s", platte, partition) ändern
Sfan
-
Ich verbessere dann mal den Installer nach den Vorschlägen! :wink:
Sfan
-
Sinnvoll wäre, wenn man Images möchte, ungefähr folgende Reihenfolge:
(a) Zielpartition erstellen
(b) Partitionsimage (nicht Festplattenimage!) da reinkopieren
(c) Dateisystem an reale Partitionsgröße anpassen (z.B. resize2fs)
(d) Postinstall
Die zweite Möglichkeit ist ein Release als Tarball:
(a) Zielpartition erzeugen
(b) Dateisystem erzeugen
(c) Tarball entpacken
(d) Postinstall
Zum Postinstall gehört alles, was ein System benutzbar macht: Hostname, Netzwerkeinstellungen, Bootmanager (bevorzugt in die Partition, dann macht man einen bereits vorhandenen Systembootmanager nicht kaputt), Tastaturbelegung, Sprache, Hardwarekonfiguration (soweit nötig), so notwendigen Krempel halt, den man nicht allgemein machen kann.
Gruß,
Svenska
-
Die zweite Möglichkeit ist ein Release als Tarball:
...
(b) Dateisystem erzeugen
(c) Tarball entpacken
Das HD-Image ist ein Dateisystem mit Tarball.
Die Zielpartition erzeugen kann man ja mit fdisk
Sfan
-
Ist es jetzt ein Dateisystem oder ein Tarball? Das eine installierst du mit "dd", das andere mit "tar"...
Die Partition erzeugen kann man mit fdisk, ein guter Installer bietet aber die Möglichkeit (oder kann fdisk starten).
-
Ist es jetzt ein Dateisystem oder ein Tarball? Das eine installierst du mit "dd", das andere mit "tar"...
ich benutze ein selbstgebautes "dd"
Das HD-Image lässt sich so auf die Festplatte schreiben
Die Partition erzeugen kann man mit fdisk, ein guter Installer bietet aber die Möglichkeit (oder kann fdisk starten).
Kann man mit system("fdisk") fdisk starten?
Sfan
-
Also ich habe auf meinem Rechner zu Hause auch mal einen Installer begonnen, der aber auch nur Festplatte auswählen und gegebenenfalls partitionieren (mit fdisk) konnte und nach Dateisystemformatierungsprogrammen gesucht hat und dann zur Auswahl gegben hat.
Mit fdisk habe ich das etwa so gemacht:
char *fdisk_string = "fdisk ";
strcat(fdisk_string, install_device);
system(fdisk_string);
Im Moment bin ich aber bis zum 14. März nicht zu Hause, also wird von meiner Seite bis dahin kein Code kommen, denke ich.
Viele Grüße aus den Ferien,
oern
-
Ich werde den Installer(warscheinlich) neu beginnen, allerdings werde ich versuchen es auch mit dem alten "Installer" zu schaffen.
@oern: Also kann man mit der system(char*) funktion in der shell einen befehl ausführen?
Sfan
-
Ich habe mich jetzt entschlossen den Installer neu zu beginnen und dan alten nach trash:/ zu verschieben :wink:
Dabei nehme ich Svenska's 2. Möglichkeit:
(a) Zielpartition erzeugen
(b) Dateisystem erzeugen
(c) Tarball entpacken
(d) Postinstall
Sfan
-
Idee zur GUI:
statt den "normalen" viereckigen Fenstern könnte man doch auch 6-Eckige Fenster machen.
-
In welchem Fall würde das das Interface verbessern? Ich meine, man muss ja nicht alles machen, nur weil es nutzlos ist. ;)
-
Ich dachte, das man also mögliche Style-Variante ansehen könnte, die vielleicht Cooler aussehen würde. Z.B. könnte man unten eine Symbolleiste anbringen, mit einer Fenstervorschau (auch Sechseckig), mit Symbolen (in 6-Eckigen Rahmen umfasst), die bei überfahren weitere Informationen Preisgeben usw.. Wenn ihr die Idee gut findet, kann ich sie natürlich bis ins Detail planen (ist bereits teilweise geschehen), aber die GUI kann ich leider noch nicht programmieren, weil mir die Kenntnisse fehlen...
-
Ich glaube, eine Style-Variante geht schlecht, weil Vierecke und Sechsecke doch sehr unterschiedlich sind und unterschiedlich viel Platz an verschiedenen Stellen bieten. Wahrscheinlich müsste man dann alles komplett auf sechseckig auslegen.
Kenntnisse kann man sich übrigens aneignen, falls du es ausprobieren willst.
-
Und was für Kentnisse sollten es sein? Wenn ich weiß, welche dies sind, könnte ich die gesamte GUI Testweise entwickeln, auch mit unterschiedlichen Styles und Zusatz-Features...
-
Es wurde schon eine GUI angefangen: http://git.tyndur.org/?p=gui.git;a=summary (http://git.tyndur.org/?p=gui.git;a=summary) - starte da doch einfach und mach dann weiter.
-
Danke, werde mich auch einarbeiten :-)
-
Das Thema ist zwar alt, aber meine Idee wäre: Das wenn eine Systemdatei fehlt, die neu geschrieben werden kann.
Also ein selbst reparierendes tyndur.
LG
-
Sinnvoll wäre, wenn man Images möchte, ungefähr folgende Reihenfolge:
(a) Zielpartition erstellen
(b) Partitionsimage (nicht Festplattenimage!) da reinkopieren
(c) Dateisystem an reale Partitionsgröße anpassen (z.B. resize2fs)
(d) Postinstall
Die zweite Möglichkeit ist ein Release als Tarball:
(a) Zielpartition erzeugen
(b) Dateisystem erzeugen
(c) Tarball entpacken
(d) Postinstall
Zum Postinstall gehört alles, was ein System benutzbar macht: Hostname, Netzwerkeinstellungen, Bootmanager (bevorzugt in die Partition, dann macht man einen bereits vorhandenen Systembootmanager nicht kaputt), Tastaturbelegung, Sprache, Hardwarekonfiguration (soweit nötig), so notwendigen Krempel halt, den man nicht allgemein machen kann.
Gruß,
Svenska
Das läuft unter Berücksichtigung der Tatsache, das man seine Partitionstabelle mit tyundur ändern möchte. Ich persönlich würde lieber:
(a) 1) Zielpartition mit irgendeinem System erstellen und im Installer auswählen.
2) (Alternativ) Partition mit dem Installer erstellen.
(b) ... (wie gehabt).
-
Hallo,
ich weiss, dass dieses Thema schon ziemlich alt ist, aber ich wollte einfach mal nachfragen, wie der Stand der Arbeit momentan so ist.
Es hat bis heute noch kein Tyndurrelease von Version 0.3 gegeben und das letzte liegt jetzt auch schon fast 5 Jahre zurück.
Wird an Tyndur eigentlich noch weiterentwickelt oder liegt momentan alles auf Eis?
Ich fände es schade, wenn dieses Projekt aufgegeben werden müsste. Ich selber habe leider momentan nicht sehr viel Zeit, wegen Studium und so.
-
Es tut sich (sehr) sporadisch was, alle paar Monate schubweise eine Handvoll Commits.
Aber wenn sich jemand hinsetzen würde und würde irgendwas nettes dazuentwickeln und sich damit auf der Mailingliste melden, dann würde das immer noch recht zügig ins Repository eingecheckt werden. Und vielleicht sogar den einen oder anderen von uns motivieren, auch mal wieder ein bisschen was zu machen. Letztendlich macht es halt mehr Spaß, wenn man zu mehreren an etwas hackt als allein.
Je nachdem, was "nicht sehr viel Zeit" heißt, könntest also einfach du die Initiative ergreifen. ;)
-
Hallo,
Was wäre denn irgendwas nettes
?
Mich selber juckt es auch in den Fingern, aber bei meinem eigenen OS komme ich gerade nicht so wirklich weiter.
Gruß,
Streetrunner
-
Hallo,
ich hatte vor allem an cdi gedacht, weil ich das selber auch in meinem OS verwende.
Aber momentan habe ich wirklich überhaupt keine Zeit, weil ich im 1.Semester meines Studiums bin und muss mich erst noch einfinden. Aber vielleicht dann in einem Jahr ;-).
-
Was wäre denn irgendwas nettes
?
Mich selber juckt es auch in den Fingern, aber bei meinem eigenen OS komme ich gerade nicht so wirklich weiter.
Am meisten motiviert ist man erfahrungsgemäß, wenn man an etwas werkelt, das (oder dessen Fehlen) einen selber wirklich stört. ;)
Aber wenn du Vorschläge brauchst, kannst du zum Beispiel diesen Thread mal durchblättern (die meisten Punkte aus dem ersten Beitrag sind immer noch offen) oder auch im Wiki unter Týndur/Wunschliste (http://www.lowlevel.eu/wiki/Týndur/Wunschliste) schauen (wobei das älter aussieht als dieser Thread und ein paar Sachen erledigt sind).
Spontan in den Sinn kommen würde mir zum Beispiel, den amd64-Port mal wieder kompilierbar zu machen, und irgendwann auch den Userspace anzupassen, dass er dann darauf läuft. MNemo hatte das vor einiger Zeit mal angefangen, aber dann ist ihm die Zeit ausgegangen (und später wahrscheinlich die Motivation, wieder anzufangen?)
-
Und mittlerweile etwas mehr Zeit gehabt?