tutorials.de Buch-Aktion 05/2012
Like Tree1Danke
  • 1 Beitrag von sheel
ERLEDIGT
NEIN
ANTWORTEN
12
ZUGRIFFE
966
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    serverinc serverinc ist offline Rookie
    Registriert seit
    Feb 2011
    Beiträge
    6
    Hallo zusammen.
    in den Thema "Ein eigenes kleines Betriebssystem funktioniert nicht" wurde ein Archiv namens "MyOS.rar" hochgeladen.
    jetzt meine frage:
    wie kann ich den code ändern?
    z.b. Die stelle mit der BETA Version soll raus und die Farbe soll etwas anders sein.
    Wie stelle ich das an?
    ich würde mich über antworten, Anregungen und Tipps freuen.
     

  2. #2
    Avatar von sheel
    sheel sheel ist gerade online Moderator
    tutorials.de Moderator
    Registriert seit
    Jul 2007
    Beiträge
    4.506
    Willkommen bei tutorials.de

    Kennst du dich mit C aus?

    Die Stelle mit "Beta" ist in der Datei boot\loader\start.c

    Gruß
     

  3. #3
    serverinc serverinc ist offline Rookie
    Registriert seit
    Feb 2011
    Beiträge
    6
    Also ich kenne mich ein wenig mit C++ aus.
    ist da denn so ein Großer unterschied.
    Also wenn ich in der start.c den code ändere, müsste ich das nur noch kompilieren.
    Aber muss ich nicht auch die iso Image ändern? -Wie tue ich das?
     

  4. #4
    Avatar von sheel
    sheel sheel ist gerade online Moderator
    tutorials.de Moderator
    Registriert seit
    Jul 2007
    Beiträge
    4.506
    Zitat Zitat von serverinc Beitrag anzeigen
    Also ich kenne mich ein wenig mit C++ aus.
    ist da denn so ein Großer unterschied.
    Nein. Hast du dir die Datei einmal angeschaut?
    Sie sieht zwar auf den ersten Blick aufgrund der Interrupts und eingebundenen Assemblersachen etwas verwirrend aus, aber ein printf wirst du doch wohl ändern können...

    Zitat Zitat von serverinc Beitrag anzeigen
    Also wenn ich in der start.c den code ändere, müsste ich das nur noch kompilieren.
    Aber muss ich nicht auch die iso Image ändern? -Wie tue ich das?
    Eine Makefile ist dabei, auch ein Programm cdmake (mit Quelltext) im Ordner tools...was braucht man mehr?
     

  5. #5
    serverinc serverinc ist offline Rookie
    Registriert seit
    Feb 2011
    Beiträge
    6
    Klar kann ein printf ändern.
    Ich hab mir die Datei noch nicht angesehen.

    Nur ich weis nicht was ich mit dem Makefile machen soll.
    Bei dem cdmake Programm gehe ich mal davon aus das ich das Ausführen muss.
     

  6. #6
    Avatar von sheel
    sheel sheel ist gerade online Moderator
    tutorials.de Moderator
    Registriert seit
    Jul 2007
    Beiträge
    4.506
    Ein Makefile besteht aus Anweisungen, wie welche Dateien kompiliert werden sollen.
    Statt jede datei einzeln zu kompilieren (und dabei immer aufpassen muss, welche datei welche anderen braucht, damits geht) startet man einmal das Makefile, das alles ordentlich kompiliert und dann auch cdmake startet.

    Vorteil: Man muss es nur einmal schreiben, danach nur noch starten und fertig
    Nachteil: Man braucht ein eigenes Programm, das solche Makefiles abarbeiten kann.

    Wenn du so ein Programm nicht hast, musst du
    entweder dir eins installieren (und auch ggf. bestimmte Compiler, für die das Makefile geschrieben wurde, oft der gcc)
    oder eben alles einzeln kompilieren und dann selbst cdmake ausführen.
    Sowas strapaziert die Nerven, vor allem wenn den Code jemand anderes geschrieben hat und man sich in der Struktur nicht auskennt.

    Gruß
    serverinc bedankt sich. 

  7. #7
    serverinc serverinc ist offline Rookie
    Registriert seit
    Feb 2011
    Beiträge
    6
    Ich habe das ebnend mal mit gcc ausprobiert.
    (mit der gcc.exe von Dev C++) also funktioniert hat das nicht. Oder gibt es da einen Speziellen code?
    Kannst du mir ein alternatives Programm empfehlen?

    MfG
     

  8. #8
    Avatar von sheel
    sheel sheel ist gerade online Moderator
    tutorials.de Moderator
    Registriert seit
    Jul 2007
    Beiträge
    4.506
    Zuerst einmal: gcc ist nicht von DevC++
    DevC++ ist nur eine grafische "Erweiterung" davon, von anderen Herstellern, und veraltert (weil nicht mehr weiterentwickelt).

    Und was genau hast du probiert, was hat nicht funktioniert, welche Fehlermeldungen etc?
    Und was ist für dich "spezieller Code"?

    Ist dir klar, das gcc nur für den C-Teil ist, und nicht für Assembler und Makefiles.
    Man kann eben kein Betribssystem ohne Assembler schreiben.
    Möglichkeiten dafür wären NASM, MASM etc...
     

  9. #9
    serverinc serverinc ist offline Rookie
    Registriert seit
    Feb 2011
    Beiträge
    6
    Ich weis das DevC++ total veraltet ist.
    Ich habe die gcc.exe aus dem bin Ordner verwendet.
    Versucht habe ich es auf verschiedenen wegen....
    Rein theoretisch müsste ich ja nur die start.c kompilieren und dann die cdmake.exe ausführen.

    Das man kein OS ohne Assembler schreiben kann ist mir bewusst.
     

  10. #10
    Avatar von sheel
    sheel sheel ist gerade online Moderator
    tutorials.de Moderator
    Registriert seit
    Jul 2007
    Beiträge
    4.506
    Zitat Zitat von serverinc Beitrag anzeigen
    Rein theoretisch müsste ich ja nur die start.c kompilieren und dann die cdmake.exe ausführen.
    Nein, so einfach ist es eben nicht (leider).

    Wenn du nur die start.c wie ein normales Programm kompilierst, würdest du auch nur ein normales Windows/Linux-Programm bekommen.
    Vorausgesetzt, du gibst dem Linker alle anderen vorkompilierten Files, die die start.c braucht.
    Vorausgesetzt in der start.c oder irgendeiner der dazugelinkten Dateien wäre ein main.
    Da gbts aber keins.

    Du musst zuerst jede C-Datei kompilieren, aber nicht linken.
    Dann auch jede Assembler-Datei übersetzen.
    Dann über noch drei Hilfsprogramme einen Binärsalat bekommen, den du dann mit cdmake wegschreiben kannst...die genauen Programmaufrufe findet man in der Makefile.

    Gruß
     

  11. #11
    serverinc serverinc ist offline Rookie
    Registriert seit
    Feb 2011
    Beiträge
    6
    Okay vielen dank bis hierher schon mal ich versuche das gleich mal.
    die asm Dateiene wandele ich mit dem befehl:
    Code :
    1
    
     nasm -f bin -o <datei.bin> <datei.asm>
    um. ist richtig so oder?
    Und die c Dateien kompiliere ich zu einer Ausführbaren Datei also ganz normal?
     

  12. #12
    Avatar von sheel
    sheel sheel ist gerade online Moderator
    tutorials.de Moderator
    Registriert seit
    Jul 2007
    Beiträge
    4.506
    Wenn du nasm und gcc hast, brauchst du doch nur im Makefile nachschauen...dort steht jede datei drinnen, die übersetzt werden muss, und auch jedesmal die Parameter für gcc/nasm dabei.

    Die anderen verwendetet Programme sollten alle im Ordner tools sein.

    Und die C-Dateien machst du eben nicht zu fertigen Programmen.
    Siehe meinen vorigen Post. Was du dem Gcc übergeben musst, um die benötigte Ausgabe zu lierfern, steht eben im Makefile.
     

  13. #13
    jkallup jkallup ist offline Mitglied Bronze
    Registriert seit
    Sep 2004
    Beiträge
    43
    Hallo,

    da hat sich doch glatt der Fehlerteufel eingeschlichen!
    Nach download dss Archives sind ein paar kleine Änderungen notwendig.
    Und in der Tat schaut die Ausgabe unter Linux virtual box recht lustig aus.
    Vielleicht weil ich es unter Windows und VMWare getestet habe.
    Leider habe ich das Image nicht zur Hand, da ich gerade auf Arbeit sitze.
    Werde es aber heute abend zur Verfügung stellen mit alle nötigen Tools - für Linux, falls noch Interesse besteht.
     

Ähnliche Themen

  1. IP ändern
    Von finntroll im Forum Security (Viren, Trojaner, Spam)
    Antworten: 0
    Letzter Beitrag: 24.01.08, 22:48
  2. DPI ändern, Größe ändern -> Kein Resultat
    Von Sk3l3tor im Forum Photoshop
    Antworten: 4
    Letzter Beitrag: 13.02.06, 12:36
  3. String vergleichen und ändern (oder nur ändern)
    Von MKDCom im Forum Relationale Datenbanksysteme
    Antworten: 0
    Letzter Beitrag: 28.10.04, 15:47
  4. Script ändern um Hintergrundbild ändern zu können
    Von Jan-Frederik Stieler im Forum Javascript & Ajax
    Antworten: 3
    Letzter Beitrag: 24.10.04, 02:31
  5. seite ändern ohne den quelltext zu ändern
    Von bruderherz im Forum PHP
    Antworten: 2
    Letzter Beitrag: 01.10.02, 19:58

Stichworte