Kernel herunterladen, compilieren und laufen lassen
- Dirty Oerti
- Beiträge: 2229
- Registriert: Di Jul 08, 2008 5:05 pm
- Wohnort: Thurndorf / Würzburg
Re: Kernel herunterladen, compilieren und laufen lassen
Hm, das heißt entweder hab ich vergessen, eine Datei ins Repo mit einzubeziehen (das geht eigntl gar nicht...dann hätte es unter 8.10 auch nicht funktioniert...)
Oder eine neue Version von gcc / ld / make hat Probleme mit meinem Code / Skript.
Oder eine neue Version von gcc / ld / make hat Probleme mit meinem Code / Skript.
Bei Fragen einfach an daniel[ät]proggen[Punkt]org
Ich helfe gerne!
----------
Wenn du ein Licht am Ende des Tunnels siehst, freu dich nicht zu früh! Es könnte ein Zug sein, der auf dich zukommt!
----
It said: "Install Win95 or better ..." So I installed Linux.
Ich helfe gerne!

----------
Wenn du ein Licht am Ende des Tunnels siehst, freu dich nicht zu früh! Es könnte ein Zug sein, der auf dich zukommt!
----
It said: "Install Win95 or better ..." So I installed Linux.
Re: Kernel herunterladen, compilieren und laufen lassen
Vielleicht weil ich unter 8.10 schon ältere Revisionen draufhatte. Könnte sein, dass die Dateien übrig geblieben sind oder so.Dirty Oerti hat geschrieben:Hm, das heißt entweder hab ich vergessen, eine Datei ins Repo mit einzubeziehen (das geht eigntl gar nicht...dann hätte es unter 8.10 auch nicht funktioniert...)
Oder eine neue Version von gcc / ld / make hat Probleme mit meinem Code / Skript.
- Dirty Oerti
- Beiträge: 2229
- Registriert: Di Jul 08, 2008 5:05 pm
- Wohnort: Thurndorf / Würzburg
Re: Kernel herunterladen, compilieren und laufen lassen
Hatte ich mir auch schon gedacht, aber eigntl geht das ja nicht...
Bei einem Checkout werden ja alle Dateien in der jeweils neusten Revision runtergeladen.
Wenn ich mir die Fehlermeldungen so ansehe, das betrifft eigntl alles eine Datei.
Hast du eine Datei namens basic-kernel-asm.asm im /trunk/src Ordner?
Dadrin wird nämlich start, _gdt_flush, tss_flush, _idt_load definiert.
Andere Frage: Hast du NASM isntalliert?
Bei einem Checkout werden ja alle Dateien in der jeweils neusten Revision runtergeladen.
Wenn ich mir die Fehlermeldungen so ansehe, das betrifft eigntl alles eine Datei.
Hast du eine Datei namens basic-kernel-asm.asm im /trunk/src Ordner?
Dadrin wird nämlich start, _gdt_flush, tss_flush, _idt_load definiert.
Andere Frage: Hast du NASM isntalliert?
Bei Fragen einfach an daniel[ät]proggen[Punkt]org
Ich helfe gerne!
----------
Wenn du ein Licht am Ende des Tunnels siehst, freu dich nicht zu früh! Es könnte ein Zug sein, der auf dich zukommt!
----
It said: "Install Win95 or better ..." So I installed Linux.
Ich helfe gerne!

----------
Wenn du ein Licht am Ende des Tunnels siehst, freu dich nicht zu früh! Es könnte ein Zug sein, der auf dich zukommt!
----
It said: "Install Win95 or better ..." So I installed Linux.
Re: Kernel herunterladen, compilieren und laufen lassen
Bei mir liegt die Datei in ./trunk/src/basic-kernel.Dirty Oerti hat geschrieben:Hast du eine Datei namens basic-kernel-asm.asm im /trunk/src Ordner?
Dadrin wird nämlich start, _gdt_flush, tss_flush, _idt_load definiert.
Mit folgendem Inhalt:
Code: Alles auswählen
[BITS 32]
; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ;
[GLOBAL start]
[GLOBAL _gdt_flush]
[GLOBAL _idt_load]
[GLOBAL tss_flush]
[EXTERN _c_kernel_main]
[EXTERN _gdtp]
[EXTERN _idtp]
; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ;
; Eintritt in den Kernel
; - Stack wird initialisiert
start:
mov esp, _sys_stack
jmp c_kernel_entry
; Multibootheader
; - gebraucht, um mit GRUB zu booten
; * Magic Number
; * Flags
; * Prüfsumme
ALIGN 4
multiboot_header:
dd 0x1BADB002
dd 0x0
dd (-0x1BADB002)
; Wechsel in den C-Kernel
; - Stackpointer übergeben
; - Zeiger auf GRUBs Multibootinfo übergeben
; - Bei Abbruch anhalten
c_kernel_entry:
push esp
push ebx
call _c_kernel_main
cli
hlt
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Funktionen
; Lädt die GDT neu, Zeiger _gdtp muss gültig sein!
_gdt_flush:
lgdt [_gdtp]
mov ax, 0x10
mov ds, ax
mov es, ax
mov fs, ax
mov gs, ax
mov ss, ax
jmp 0x08:flush2
flush2:
ret
; Lädt die IDT neu. Zeiger muss gültig sein!
_idt_load:
lidt [_idtp]
ret
tss_flush:
;5. Eintrag => 0x28 plus 3 da von Ring 3 ansprechbar
mov ax,0x2b
ltr ax
ret
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Hier ist der Stack
; Größe = 8KB
; Sollte für's erste mal reichen, zur Not einfach erhöhen
SECTION .bss
resb 8192
;resb 32768 ; 32KB
_sys_stack:
Ja.Dirty Oerti hat geschrieben:Andere Frage: Hast du NASM isntalliert?
- Dirty Oerti
- Beiträge: 2229
- Registriert: Di Jul 08, 2008 5:05 pm
- Wohnort: Thurndorf / Würzburg
Re: Kernel herunterladen, compilieren und laufen lassen
Sieht soweit ganz gut aus.
Nach dem make, gibt es da ein basic-kernel-asm.o im src Verzeichnis?
Nach dem make, gibt es da ein basic-kernel-asm.o im src Verzeichnis?
Bei Fragen einfach an daniel[ät]proggen[Punkt]org
Ich helfe gerne!
----------
Wenn du ein Licht am Ende des Tunnels siehst, freu dich nicht zu früh! Es könnte ein Zug sein, der auf dich zukommt!
----
It said: "Install Win95 or better ..." So I installed Linux.
Ich helfe gerne!

----------
Wenn du ein Licht am Ende des Tunnels siehst, freu dich nicht zu früh! Es könnte ein Zug sein, der auf dich zukommt!
----
It said: "Install Win95 or better ..." So I installed Linux.
Re: Kernel herunterladen, compilieren und laufen lassen
Ja, aber bei mir liegen all diese Dateien in /src/basic-kernel ?! Ist das normal?Dirty Oerti hat geschrieben:Nach dem make, gibt es da ein basic-kernel-asm.o im src Verzeichnis?
- Dirty Oerti
- Beiträge: 2229
- Registriert: Di Jul 08, 2008 5:05 pm
- Wohnort: Thurndorf / Würzburg
Re: Kernel herunterladen, compilieren und laufen lassen
Ja, so soll es auch sein (im Post oben war ein Fehler).
Hm, dann liegt das Problem definitiv am Linker.
Was für eine Version von ld hast du denn?
Hm, dann liegt das Problem definitiv am Linker.
Was für eine Version von ld hast du denn?
Bei Fragen einfach an daniel[ät]proggen[Punkt]org
Ich helfe gerne!
----------
Wenn du ein Licht am Ende des Tunnels siehst, freu dich nicht zu früh! Es könnte ein Zug sein, der auf dich zukommt!
----
It said: "Install Win95 or better ..." So I installed Linux.
Ich helfe gerne!

----------
Wenn du ein Licht am Ende des Tunnels siehst, freu dich nicht zu früh! Es könnte ein Zug sein, der auf dich zukommt!
----
It said: "Install Win95 or better ..." So I installed Linux.
Re: Kernel herunterladen, compilieren und laufen lassen
Dirty Oerti hat geschrieben:Was für eine Version von ld hast du denn?
Code: Alles auswählen
GNU ld (GNU Binutils for Ubuntu) 2.19.1
Code: Alles auswählen
GNU ld (GNU Binutils for Ubuntu) 2.19.1
Code: Alles auswählen
GNU ld (GNU Binutils for Ubuntu) 2.19.1
Re: Kernel herunterladen, compilieren und laufen lassen
Bei mir kommen die exakt gleichen Fehler. Ebenfalls unter Ubuntu 9.04 und die selber Version von ld. Anscheinend haben die da wirklich irgendwas geändert 

"Make it idiot-proof and someone will invent an even better idiot." (programmers wisdom)
OpenGL Tutorials und vieles mehr rund ums Programmieren: http://www.tomprogs.at
OpenGL Tutorials und vieles mehr rund ums Programmieren: http://www.tomprogs.at
- Dirty Oerti
- Beiträge: 2229
- Registriert: Di Jul 08, 2008 5:05 pm
- Wohnort: Thurndorf / Würzburg
Re: Kernel herunterladen, compilieren und laufen lassen
Juhu^^Kerli hat geschrieben:Bei mir kommen die exakt gleichen Fehler. Ebenfalls unter Ubuntu 9.04 und die selber Version von ld. Anscheinend haben die da wirklich irgendwas geändert
Das heißt für mich ausprobieren bis es wieder geht oder fragen, was sich genau daran geändert hat.
Bei Fragen einfach an daniel[ät]proggen[Punkt]org
Ich helfe gerne!
----------
Wenn du ein Licht am Ende des Tunnels siehst, freu dich nicht zu früh! Es könnte ein Zug sein, der auf dich zukommt!
----
It said: "Install Win95 or better ..." So I installed Linux.
Ich helfe gerne!

----------
Wenn du ein Licht am Ende des Tunnels siehst, freu dich nicht zu früh! Es könnte ein Zug sein, der auf dich zukommt!
----
It said: "Install Win95 or better ..." So I installed Linux.