Kernel herunterladen, compilieren und laufen lassen

Low-Level-Programmierung und Experimenteller Kernel; Ansprechpartner: Dirty Oerti
Benutzeravatar
Dirty Oerti
Beiträge: 2229
Registriert: Di Jul 08, 2008 5:05 pm
Wohnort: Thurndorf / Würzburg

Re: Kernel herunterladen, compilieren und laufen lassen

Beitrag von Dirty Oerti » Di Okt 14, 2008 7:54 pm

Xin hat geschrieben:
Kerli hat geschrieben:Das @ unterbindet nur die Ausgabe auf die Konsole, dh. ohne @ würde auch der ganze Befehl ausgegeben werden.
Es gibt übrigens einen make: Namensraum im Wiki ;-)

Know-How lieber ins Wiki schreiben und dann vom Forum drauf verlinken. Was hier geschrieben steht, findet niemand mehr wieder; was im Wiki steht, kann mehrfach nützlich sein.
*Kerli mit Zaunpfählen bewerf*
Ich denke Kerli kennt sich da recht gut aus :)
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.

Benutzeravatar
Kerli
Beiträge: 1456
Registriert: So Jul 06, 2008 10:17 am
Wohnort: Österreich
Kontaktdaten:

Re: Kernel herunterladen, compilieren und laufen lassen

Beitrag von Kerli » Di Okt 14, 2008 9:34 pm

Xin hat geschrieben: Es gibt übrigens einen make: Namensraum im Wiki ;-)

Know-How lieber ins Wiki schreiben und dann vom Forum drauf verlinken. Was hier geschrieben steht, findet niemand mehr wieder; was im Wiki steht, kann mehrfach nützlich sein.
*von Zaunpfählen getroffen*

Ich werd mich darum kümmern :D
"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

Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8858
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Re: Kernel herunterladen, compilieren und laufen lassen

Beitrag von Xin » Di Okt 14, 2008 10:05 pm

Kerli hat geschrieben:
Xin hat geschrieben: Es gibt übrigens einen make: Namensraum im Wiki ;-)
Know-How lieber ins Wiki schreiben und dann vom Forum drauf verlinken. Was hier geschrieben steht, findet niemand mehr wieder; was im Wiki steht, kann mehrfach nützlich sein.
*von Zaunpfählen getroffen*
Ich werd mich darum kümmern :D
Gruppenzwang rulezz :-D

Ansonsten: *thumbs up* @ Kerli!
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.

Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.

Benutzeravatar
Dirty Oerti
Beiträge: 2229
Registriert: Di Jul 08, 2008 5:05 pm
Wohnort: Thurndorf / Würzburg

Re: Kernel herunterladen, compilieren und laufen lassen

Beitrag von Dirty Oerti » Mi Okt 15, 2008 10:53 pm

Update, wie der Kernel zu compilieren und zum laufen zu bringen ist:

(Revision 51)

Diesmal ist es wirklich einfach:

ins Verzeichnis src/ wechseln, dann folgendes eingeben:

Code: Alles auswählen

make first_make
Dann wird alles erledigt, was gemacht werden muss. Wenn man sich später nicht sicher ist, welches Target man nehmen soll, dann das. Damit ist man auf der sicheren Seite.

Danach wie üblich über

Code: Alles auswählen

make run
starten.

Es gibt eine (miniminiminikleine) Überraschung in der jetzigen Revision ;) ^^

MfG
Daniel
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.

nufan
Wiki-Moderator
Beiträge: 2557
Registriert: Sa Jul 05, 2008 3:21 pm

Re: Kernel herunterladen, compilieren und laufen lassen

Beitrag von nufan » Mo Dez 01, 2008 6:16 pm

Hat sich beim Kompiliervorgang etwas geändert?
Jedenfalls kann ich seit Rev. 65 nicht mehr kompilieren...
Hier die Terminal-Ausgabe:

Code: Alles auswählen

$ make first_make 
kernel-print.c:6:36: error: basic-system-functions.h: No such file or directory
kernel-print.c: In Funktion »K_scroll«:
kernel-print.c:28: Warnung: Implizite Deklaration der Funktion »memcpy_4byte«
kernel-print.c:31: Warnung: Implizite Deklaration der Funktion »memsetw«
kernel-print.c: In Funktion »HardwareCsr_move«:
kernel-print.c:42: Warnung: Implizite Deklaration der Funktion »outportb«
make[2]: *** [all] Fehler 1
irq.c:5:36: error: basic-system-functions.h: No such file or directory
irq.c: In Funktion »irq_remap«:
irq.c:32: Warnung: Implizite Deklaration der Funktion »outportb«
make[2]: *** [all] Fehler 1
In file included from heap.c:5:
../inc/extra/ord_list.h:7:36: error: basic-system-functions.h: No such file or directory
In file included from heap.c:5:
../inc/extra/ord_list.h: In Funktion »PlaceOrdList«:
../inc/extra/ord_list.h:50: Warnung: Implizite Deklaration der Funktion »memset_4byte«
paging.c:5:36: error: basic-system-functions.h: No such file or directory
paging.c: In Funktion »Init_Paging«:
paging.c:21: Warnung: Implizite Deklaration der Funktion »InterruptsDisable«
paging.c:24: Warnung: Implizite Deklaration der Funktion »memset_4byte«
paging.c: In Funktion »CloneDir«:
paging.c:162: Warnung: Implizite Deklaration der Funktion »memcpy_4byte«
phys-mm.c:4:36: error: basic-system-functions.h: No such file or directory
phys-mm.c: In Funktion »pMM_Setup«:
phys-mm.c:53: Warnung: Implizite Deklaration der Funktion »memset_4byte«
make[2]: *** [all] Fehler 1
gdt-loader.c:5:36: error: basic-system-functions.h: No such file or directory
gdt-loader.c: In Funktion »GDT_Install«:
gdt-loader.c:40: Warnung: Implizite Deklaration der Funktion »memset_4byte«
gdt-loader.c: In Funktion »write_tss«:
gdt-loader.c:73: Warnung: Implizite Deklaration der Funktion »memset«
idt-loader.c:4:36: error: basic-system-functions.h: No such file or directory
idt-loader.c: In Funktion »IDT_Install«:
idt-loader.c:27: Warnung: Implizite Deklaration der Funktion »memset_4byte«
make[2]: *** [all] Fehler 1
initrd.c:7:36: error: basic-system-functions.h: No such file or directory
initrd.c: In Funktion »ird_read«:
initrd.c:35: Warnung: Implizite Deklaration der Funktion »memcpy«
make[2]: *** [all] Fehler 1
mtask.c:13:36: error: basic-system-functions.h: No such file or directory
mtask.c: In Funktion »Set_Timer_Freq«:
mtask.c:46: Warnung: Implizite Deklaration der Funktion »outportb«
mtask.c: In Funktion »MoveStack«:
mtask.c:64: Warnung: Implizite Deklaration der Funktion »MAKRO_SET_BIT«
mtask.c:73: Warnung: Implizite Deklaration der Funktion »memcpy«
mtask.c: In Funktion »_irq0_handler«:
mtask.c:92: Warnung: Variable »i« wird nicht verwendet
make[2]: *** [all] Fehler 1
make[1]: *** [all] Fehler 2
make: *** [first_make] Fehler 2

Benutzeravatar
Dirty Oerti
Beiträge: 2229
Registriert: Di Jul 08, 2008 5:05 pm
Wohnort: Thurndorf / Würzburg

Re: Kernel herunterladen, compilieren und laufen lassen

Beitrag von Dirty Oerti » Mo Dez 01, 2008 7:19 pm

Wuuuhu.

'Tschuldigung, die Revision ist nicht komplett, ich hab anscheinend vergessen, den neuen Header mit ins Repository aufzunehmen.
Wird sofort geändert :)

Revision 66
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.

nufan
Wiki-Moderator
Beiträge: 2557
Registriert: Sa Jul 05, 2008 3:21 pm

Re: Kernel herunterladen, compilieren und laufen lassen

Beitrag von nufan » Mo Dez 01, 2008 7:30 pm

Dirty Oerti hat geschrieben:Wuuuhu.

'Tschuldigung, die Revision ist nicht komplett, ich hab anscheinend vergessen, den neuen Header mit ins Repository aufzunehmen.
Wird sofort geändert :)

Revision 66
Läuft wieder :)

Übrigens hab ich das Floppy-Image mal mit vmware geladen... von der Geschwindigkeit her kein Vergleich zu Bochs. Den Text am Anfang sieht man gar nicht :)
Aber Logs oder ähnliches hab ich bis jetzt nicht gesehen.

nufan
Wiki-Moderator
Beiträge: 2557
Registriert: Sa Jul 05, 2008 3:21 pm

Re: Kernel herunterladen, compilieren und laufen lassen

Beitrag von nufan » So Mai 03, 2009 7:23 pm

Seit dem Upgrade auf 9.04 will der Kernel nicht mehr. Ich hab Revision 66 neu runtergeladen, dann in ./trunk/src/

Code: Alles auswählen

make first_make
eingegeben.

Hier das Ergebnis:

Code: Alles auswählen

$ make first_make 
ld: warning: cannot find entry symbol start; defaulting to 0000000000100000
gdt-loader.o: In function `GDT_Install':
gdt-loader.c:(.text+0x251): undefined reference to `_gdt_flush'
gdt-loader.c:(.text+0x256): undefined reference to `tss_flush'
idt-loader.o: In function `IDT_Install':
idt-loader.c:(.text+0x95): undefined reference to `_idt_load'
make[1]: *** [all] Fehler 1
make: *** [first_make] Fehler 2
Fehlt mir da was oder fehlt da allgemein in der Revision was?

Benutzeravatar
Dirty Oerti
Beiträge: 2229
Registriert: Di Jul 08, 2008 5:05 pm
Wohnort: Thurndorf / Würzburg

Re: Kernel herunterladen, compilieren und laufen lassen

Beitrag von Dirty Oerti » So Mai 03, 2009 9:10 pm

Äh... sehr gute Frage.
Ich werd das mal ausprobieren (hab ja gleiches System).
Seit wann tritt das Problem auf?

Bzw wann hat das make das letzte mal funktioniert?
Eigntl gab es nämlich keine Änderungen (und das nun über einen leider schon sehr lang gewordenen Zeitraum) mehr.
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.

nufan
Wiki-Moderator
Beiträge: 2557
Registriert: Sa Jul 05, 2008 3:21 pm

Re: Kernel herunterladen, compilieren und laufen lassen

Beitrag von nufan » So Mai 03, 2009 9:13 pm

Auf 8.10 hat die gleiche Revision problemlos funktioniert. Seit 9.04 geht nix mehr.

Antworten