Beiträge anzeigen

Diese Sektion erlaubt es dir alle Beiträge dieses Mitglieds zu sehen. Beachte, dass du nur solche Beiträge sehen kannst, zu denen du auch Zugriffsrechte hast.


Nachrichten - Arktus

Seiten: [1]
1
Lowlevel-Coding / Re: Cross Compiler
« am: 04. November 2008, 20:17 »
Achso, GRUB lädt für mich allso den PM und ich muss dan nur noch die GDT basteln ?

Was brauche ich alles für den PM damit ich anfangen kann mir trieber für die Tastatur zu schreiben
2
Lowlevel-Coding / Re: Cross Compiler
« am: 04. November 2008, 19:41 »
Hat sich jetzt erledigt, habe mir Ubuntu Image für den VMWare Player besorgt und code fürs erste da, habe nun auch was hinbekommen.

Der Kernel aus dem Tut http://lowlevel.brainsware.org/wiki/index.php/C-Kernel_mit_Grub

kernel.asm
global loader ; loader für Linker sichtbar machen
extern main   ; main-Funktion des C-Kernels

FLAGS    equ 0
MAGIC    equ 0x1BADB002       ; Magicnumber - Erkennungsmerkmal für Grub
CHECKSUM equ -(MAGIC + FLAGS) ; Checksum

section .text
align 4
MultiBootHeader:
  dd MAGIC       ; Magic number
  dd FLAGS       ; Flags
  dd CHECKSUM    ; Checksum

loader:
  mov esp,0x200000 ; Stack an die 2MB-Grenze platzieren
  push eax         ; Multiboot Magicnumber auf den Stack legen
  push ebx         ; Adresse der Multiboot-Structure auf den Stack legen
  call main        ; main-Funktion des C-Kernels aufrufen

  cli ; falls der Kernel bis hier her kommt, CPU anhalten
  hlt

kernel.c
int main() {
  // Pointer zum Videospeicher
  char *video = (char*)0xB8000;
  // String zum Ausgeben
  char *hello = "Willkommen";

  // Zuerst den Speicher leeren
  for(video+=4000; video !=(char*)0xB8000 ;video--)
     *video=0;

  // String ausgeben
  while (*hello) {
    *video = *hello;
    video++;
    *video = 0x07;
    video++;
    hello++;
  }

  // jetzt wo wir schon im Kernel drin sind, wollen wir auch nicht mehr raus ;)
  while (1);
  return 0;
}

Und es leuft ^^

Dan habe ich den Kernel aus dem Tut http://lowlevel.brainsware.org/wiki/index.php/C-Kernel_starten

Wenn ich den jedoch erstelle kommt bei mir in GRUB der Fehler das die kein gültiges format wäre.

Kann mir jmd posten wie und wo ich in eine der beiden ASM Files die Magicnumber und das andere da poste muss damit er ihn als Kernel erkennt da ich glaube das es daran liegt und ich gerne mit dem Code aus diesem Tut weiterarbeiten möchte.

Danke für die Antworten im voraus.

PS: Ich glaube auch das sich mingw gut als cross compiler eignet das ich ihn ja für c und c++ verwende aber ich weiss net wie man den umbaut da ich soetwas noch nie gemacht habe und google mir nur halbe sache auspuckt wo alles veraltet oder nur zum teil erklärt ist.

MfG Arktus
3
Lowlevel-Coding / Cross Compiler
« am: 04. November 2008, 09:54 »
So, ich habe vieles probier abter nicht brauchbares ist bei rausgekommen.

Ich wollte mir einen CrossCompiler basteln der mit den Aktuelen Paketen versorgt ist.

Ich versuche schon seit einer Woche mein TuT OS zu Compilieren aber es haut einfach nicht hin, es kommen immer wieder fehler Meldungen raus. Könnte mir einer von euch eine Genau anleitung geben wie ich den den zusammen bauen soll ? Die hier in der Wiki Klappt net da kommen bei mir immer nur Fehlermeldungen raus.

OS: Vista


Danke im Voraus. MFG Arktus
Seiten: [1]

Einloggen