Neuling sucht hilfe


  • Mod

    Neuling sucht Hilfe

    Also diesbezüglich habe ich den Faden verloren. Vom wirren Theoretisieren entsteht keine Zeile Code, schon gar nicht bei einem Anfänger.

    Ich verweise hier auf den "Tanenbaum": http://www.pearson-studium.de/9783827373427.html

    Fallstudie 1: Unix und Linux
    Fallstudie 2: Windows Vista
    Entwurf von Betriebssystemen
    Symbian OS

    Ansonsten vielleicht folgende IRC: euirc.net #lost (chat deutsch) oder freenode.org #osdev (chat engl.)

    Hier gibt es auch schulmeisterliche Belehrungen für Anfänger:
    http://wiki.osdev.org/Beginner_Mistakes 😉

    Anfänger werden in den osdev-Foren zumeist harsch behandelt, weil sie irgendwelchen Code zusammen kleben (copy & paste), ohne ihn zu verstehen, keine manuals und specs lesen (zu faul, zu blöd, finden nix) und nur dumme Fragen in störender Form vorbringen. Daher habe ich mein "Tutorial" geschrieben. Übrigens ist die Serie von www.brokenthorn.com ebenfalls empfehlenswert, allerdings sehr detail-verliebt.



  • Jonas OSDever schrieb:

    Schon die Linux-Syscalls nachzubilden und nen ELF-Loader für die Programme zu schreiben dauert extrem Lange, obwohl die Linux-Sources angesehen werden können.

    Ein paar grundlegende Sachen zum Laufen zu bekommen, ist wohl gar nicht so schwer. Aber danach wird der Aufwand ziemlich schnell ziemlich groß.

    Und noch kurz @Erhard: Dein Tutorial ist mal das einzige deutsche was sinnvoll ist und nicht nur 'n Text ausgibt, auf Tastendruck wartet und dann rebootet! Sich dafür zu ohrfeigen ist eigentlich nicht richtig. Freu dich lieber, das du als einziger in der Lage warst sowas auf deutsch und für jedemann verständlich zu machen!

    Einspruch, Euer Ehren!

    Die Tutorialreihe http://www.lowlevel.eu/wiki/OS-Dev_für_Einsteiger, auf die ich am Anfang des Threads verwiesen habe, macht deutlich mehr als ein Hello World, das einzige ist Erhards also nicht (mehr). Und meiner Meinung macht das Lowlevel-Tutorial manche Dinge richtiger, aber darüber kann man genauso wie über die Verständlichkeit streiten - da will ich mir kein endgültiges Urteil anmaßen. 😉

    Am Ende muss man halt doch immer alles anschauen und dann selber entscheiden, was einem vernünftiger vorkommt.



  • Und noch kurz @Erhard: Dein Tutorial ist mal das einzige deutsche was sinnvoll ist und nicht nur 'n Text ausgibt, auf Tastendruck wartet und dann rebootet! Sich dafür zu ohrfeigen ist eigentlich nicht richtig. Freu dich lieber, das du als einziger in der Lage warst sowas auf deutsch und für jedemann verständlich zu machen!

    Einspruch, Euer Ehren!

    OK, ich geb mich geschlagen! Das einzige ist es vielleicht nicht, aber eines der wenigen deutschen. Es gibt einige andere gute Tutorials auf deutsch, aber der größere Teil ist halt nach dem Kleine-Textzeile-Ausgeben-gelich-OS-Prinzip gemacht.



  • Ja, das stimmt. Viele Tutorials basteln wirklich nur einen Bootsektor, der einen Text ausgibt, und lassen einen dann im Regen stehen.

    Es ist auch ganz interessant zu sehen, dass die meisten Leute immer genau dort hängen bleiben, wo das aktuelle Tutorial aufhört. Früher sind im Lowlevel-Forum viele schon direkt nach dem Bootsektor gescheitert, weil das Tutorial da halt mehr oder weniger zu Ende war; mit der neuen Tutorialreihe ist es eher Paging, was die Leute zum Aufgeben bringt. Wo die typischen Stolperfallen sind, wenn man Erhards Tutorial befolgt, habe ich noch keine Erfahrung, wäre aber auch interessant zu wissen.


  • Mod

    taljeth: im Background schreiben wir an einem ganz neuen Script für den Einstieg, aber die Energie ist gering, dies vorwärts zu treiben. Wir wurschteln lieber an PrettyOS. Da sehen wir etwas und freuen uns gemeinsam.

    Vielleicht muss da auch eine Burgmauer sein, damit sich nicht jeder im OSDev-Bereich tummelt, sondern nur die wirklich zähen Kämpfer. Wer bei meinem einfach gestrickten "Tutorial" stolpert und nicht mehr aufsteht, dem ist wahrscheinlich wenig zu helfen. Der soll liegen bleiben. 😃

    Jetzt sag' doch mal einer was Positives über dieses lowlevel-Tut, sonst gibt taljeth keine Ruhe. 🕶



  • Erhard Henkes schrieb:

    taljeth: im Background schreiben wir an einem ganz neuen Script für den Einstieg

    Cool, ich hoffe, dass ihr damit zu einem Ergebnis kommt. Ich nehme an, ihr werdet da ein paar Sachen anders machen als beim ersten Mal.

    aber die Energie ist gering, dies vorwärts zu treiben. Wir wurschteln lieber an PrettyOS. Da sehen wir etwas und freuen uns gemeinsam.

    Das Problem kenne ich nur zu gut. Wenn ich den Paging-Teil nicht angekündigt hätte und regelmäßig genervt worden wäre, das endlich zu machen, gäbe es den wohl heute noch nicht. 😉

    Jetzt sag' doch mal einer was Positives über dieses lowlevel-Tut, sonst gibt taljeth keine Ruhe. 🕶

    So einfach werdet ihr mich nicht los. :p


  • Mod

    So einfach werdet ihr mich nicht los.

    taljeth: Du gehörst eindeutig zu den bedeutenden Developern in der deutschen Hobby-OS Szene. Daher freut es uns, dass Du uns bei unserem Projekt und dem damit verbundenen Umfeld begleitest. Wir wissen dies zu schätzen. 👍



  • Erhard Henkes schrieb:

    Jetzt sag' doch mal einer was Positives über dieses lowlevel-Tut, sonst gibt taljeth keine Ruhe. 🕶

    Würd ich ja gern machen, aber ich finde das Tutorial nicht wirklich:D 😮
    Ist es das OS-Dev für Einsteiger? Hab das mal gaanz kurz überflogen, aber dachte das ist kein Tutorial, sah auf den ersten Blick wie so ne kurze Zusammenfassung oder so aus?
    Vielleicht kann mich mal kurz jemand aufklären:-P

    Lg freeG


  • Mod

    Das ist ein Fortsetzungsroman, habs auch zuerst nicht gefunden, dass es mehrere Teile sind. 😃

    Ganz unten rechts steht in blasser Farbe "Teil 1 - Entwicklungsumgebung", und so geht das dann weiter. Vom Layout völlig verkehrt gemacht. Der letzte Teil ist "Teil 9 - Paging".

    Der eigentliche One-Page-Wegweiser (also übergeordnetes Inhaltsverzeichnis) ist hier: http://www.lowlevel.eu/wiki/Kategorie:OS-Dev_für_Einsteiger 🙂

    Da gibt es auch was für ARM, wie ich sehe. 👍



  • asoo ok, jetzt check ichs;-). dann les ich nun mal ein bisschen.
    Aber was sind diese Teile mit Ausgabe 1, Ausgabe 2 usw...? Hab ich grad zufällig noch gesehen.

    Lg freeG


  • Mod

    http://www.lowlevel.eu/wiki/Kategorie:Magazin <--- Hier?

    Das ist das Lowlevel "Magazin", offenbar aus Urzeiten. Mir hat das wenig gebracht, hat sich halt überlebt. Das beste Nachschlagwerk findet man bei osdev.org.

    http://www.lowlevel.eu/wiki/Ausgabe_1#Unser_Bootloader
    Die dort stehende Warnung ignorierst Du einfach. Man empfiehlt bei Lowlevel GRUB und Linux als Developer-Basis. Ich empfehle von Anfang an den eigenen Bootloader und Windows als Basis, und wir machen es seit 2 1/2 Jahren vor, dass es geht.
    Beide Ansätze und vielleicht auch noch weitere sind richtig! Man wird bei OSDev viel zu stark eingeengt. Also bleibe kreativ und experimentiere. Probleme gibt es überall. Davon lässt man sich nicht abschrecken.



  • Ok das Magazin ist also nicht das empfohlene Tutorial, sondern das was mit Teil 1 Entwicklungsumgebung losgeht? Dann les ich dort mal ein bisschen weiter, ist zwar recht gut erklärt, allerdings stört mich die drängung zu grub sehr, da auch ich meinen eigenen bootloader nutzen will=) Zudem nutze auch ich Windows.
    Ich vermute, ich bleibe lieber bei Erhards Tutorial:-P

    Lg freeG



  • Wir sagen nicht, dass Windows und eigener Bootloader nicht geht, wir sagen nur, dass es der anstrengendere Weg ist, was du selbst ja auch gemerkt hast, Erhard. Das Tutorial ist mit anderen Bootloadern genauso anwendbar. Idealerweise kann der andere Bootloader Multiboot, dann bleibt alles genau gleich. Oder er kann es nicht, dann muss man sich für die paar Zeilen, wo auf Multiboot-Informationen zurückgegriffen wird, halt selber was ausdenken.

    Die Aussage, bei der ich bleibe, ist, dass ein gescheiter Bootloader ein Projekt für sich ist und zum Einstieg tendenziell mehr Erfahrung braucht als ein OS. Ich halte es deswegen für eine gute Idee, erst mit dem Kernel anzufangen und frühestens wenn das OS etwas sinnvolles tut, zum Bootloader zurückzukommen und ihn durch was eigenes zu ersetzen.



  • fr33g schrieb:

    Würd ich ja gern machen, aber ich finde das Tutorial nicht wirklich:D 😮
    Ist es das OS-Dev für Einsteiger? Hab das mal gaanz kurz überflogen, aber dachte das ist kein Tutorial, sah auf den ersten Blick wie so ne kurze Zusammenfassung oder so aus?

    Hm, ich hab mal die Einleitung ein bisschen überarbeitet. Ist es jetzt offensichtlicher, wie das gedacht ist?



  • Ich schaus mir gleich mal an;-)
    Ich habe gerade ein Problem mit meiner Buildumgebung. Ich nutze wie gesagt Windows, und nutze MinGw, das mit Code-Blocks ja automatisch installiert ist. nasm sowie mingw ist in der path variable.
    Wenn ich nun mittels diesem makefile den buildprozess starte:

    all:
    		nasm bootloader.asm -O32 -f bin -o bootloader.bin
    		nasm kernel.asm -O32 -f aout -o kernel.o
    		gcc -c ckernel.c -o ckernel.o
    		ld -T kernel.ld kernel.o ckernel.o
    		rename a.out ckernel.bin
    		copy /b bootloader.bin + ckernel.bin MyOS.bin
    

    erhalte ich leider immer einen Fehler beim linken. Er sagt mir immer:
    kernel.o : file not recognized: file format not recognized.

    hat jemand ne ahnung wo dran das liegt?

    Schonmal vielen Dank

    Lg freeG

    EDIT: Hat sich erledigt. Hab mir einfach den GCC Crosscompiler geladen und das makefile dementsprechend geändert und nun funktioniert es einwandfrei=) MySYS hab ich gar nicht benötigt, nehme einfach das mingw32-make. War doch gar nicht so schwer die Buildumgebung auf Windows aufzusetzen:-P, vor allem mit Hilfe vom Tut von lowlevel;-)

    Lg freeG



  • Ja, deine normale mingw-Toolchain produziert halt PE-Binaries für Windows. Ich schätze mal, wenn man nasm auch COFF ausgeben lässt, hätte es vielleicht funktioniert. Aber einen Crosscompiler zu benutzen ist sowieso immer die sauberere Variante.


  • Mod

    vor allem mit Hilfe vom Tut von lowlevel;-)

    Na endlich wird es mal gelobt. 🙂

    Eines muss man sagen: Jeder, der sich für andere auf eigene Kosten abmüht mit solchen Tutorials, hat Respekt verdient. das ist immer eine Menge Arbeit, gerade in diesem Bereich.



  • das auf jeden fall. ich finde das von lowlevel besser gestaltet und übersichtlicher und von der codequalität besser, das von ehenkes wirkt überfüllt, eugt aber von einem sehr guten schreibstil und nicht zuletzt von recht detalliertem einblick.


Anmelden zum Antworten