Kernel herunterladen, compilieren und laufen lassen

Low-Level-Programmierung und Experimenteller Kernel; Ansprechpartner: Dirty Oerti
nufan
Wiki-Moderator
Beiträge: 2558
Registriert: Sa Jul 05, 2008 3:21 pm

Kernel herunterladen, compilieren und laufen lassen

Beitrag von nufan » Sa Okt 11, 2008 2:42 pm

Ich hab mal ne Frage, die den Kernel betrifft, aber nicht genau dieses Thema.
Kann man den auch in ner VM laden? Wenn ja, könnte ich mich auch als Alpha-Tester anbieten :D
Dann natürlich die Frage: wo genau runterladen? svn.proggen.org/kernel: Not Found The requested URL /kernel was not found on this server.
Zuletzt geändert von nufan am Sa Okt 11, 2008 2:58 pm, insgesamt 1-mal geändert.

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 » Sa Okt 11, 2008 2:52 pm

*edit* Anmerkung:
Hier befindet sich eine aktuellere Anleitung (Revision 45)
*/edit*


Natürlich kann man den Kernel auch in einer VM (bzw in einem Emulator) testen. :)
Mache ich selber eigntl die ganze Zeit (Rechner neustarten dauert einfach zu lange).

Ich nutze dafür Bochs.

Zum herunterlanden:
Das ist ein SVN-Repository. Das heißt du benötigst irgendeine Software, um darauf zugreifen zu können.
Wenn du unter Ubuntu unterwegs bist, dann solltest du einfach Subversion (das Programm dazu) nehmen.

Erstelle einen neuen Ordner (irgendwo), wechsel mit der Konsole in diesen Ordner und schreibe

Code: Alles auswählen

svn co svn.proggen.org/kernel/trunk/
Das trunk, damit du nur die aktuelle Version bekommst.

Es gibt natürlich auch grafische Tools dafür.
Ich benutze eigntl immer esvn.
Ist in den Repos enthalen.
Also einfach per Paketmanager oder per

Code: Alles auswählen

sudo apt-get install esvn
installieren.

Wenn du heruntergeladen hast dann einfach in den Ordner /trunk/src/basic-kernel/ wechseln und make eingeben.

Wenn du Probleme hast, ein Image zu kompilieren, dann schreib :)
(Ich verschiebe das mal in ein neues Thema, mir ist aufgefallen das ich das evtl erklären sollte)

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: 2558
Registriert: Sa Jul 05, 2008 3:21 pm

Re: Kernel herunterladen, compilieren und laufen lassen

Beitrag von nufan » Sa Okt 11, 2008 2:57 pm

Natürlich bin ich unter Ubuntu unterwegs :)
Ich werd mal die zwei Progs installieren. Du könntest das was du mir gerade erklärt hast ja auch ins Wiki einbauen.

EDIT:
Also...

Code: Alles auswählen

$ svn co svn.proggen.org/kernel/trunk/
svn: Versuchen Sie »svn help« für weitere Informationen
svn: Fehler beim Einlesen der Parameter
Die manuelle Methode geht mal nicht.
Wenn ich bei esvn auf "checkout" gehe und PW usw eingebe kommt folgende Fehlermeldung:

Code: Alles auswählen

svn checkout svn.proggen.org/kernel/trunk /home/daniel/kernel-projekt/ --username nufan --password ****** --non-interactive 
svn: »svn.proggen.org/kernel/trunk« scheint keine URL zu sein
error (1)
Liegts an mir?
Zuletzt geändert von nufan am Sa Okt 11, 2008 3:15 pm, insgesamt 1-mal geändert.

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 » Sa Okt 11, 2008 3:14 pm

nufan hat geschrieben:Natürlich bin ich unter Ubuntu unterwegs :)
Ich werd mal die zwei Progs installieren. Du könntest das was du mir gerade erklärt hast ja auch ins Wiki einbauen.
Wenn irgendwas nicht läuft, dann meld dich.

Klar kommt das (iwann) ins Wiki.
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: 2558
Registriert: Sa Jul 05, 2008 3:21 pm

Re: Kernel herunterladen, compilieren und laufen lassen

Beitrag von nufan » Sa Okt 11, 2008 3:16 pm

Sry, mein edit kam zu spät...

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 » Sa Okt 11, 2008 3:27 pm

Sorry:

So muss es heißen:

Code: Alles auswählen

svn co svn://svn.proggen.org/kernel/trunk/
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: 2558
Registriert: Sa Jul 05, 2008 3:21 pm

Re: Kernel herunterladen, compilieren und laufen lassen

Beitrag von nufan » Sa Okt 11, 2008 3:45 pm

Code: Alles auswählen

$ make
gcc -m32 -fno-builtin -fno-leading-underscore -fno-strict-aliasing -fno-stack-protector -Wall -O0 -c -g -I ./inc/ *.c
paging.c: In function ‘PageFault_handler’:
paging.c:129: warning: unused variable ‘id’
paging.c:128: warning: unused variable ‘reserved’
paging.c:126: warning: unused variable ‘readwrite’
for i in basic-kernel-asm.asm isr-irq-asm.asm; do nasm -f elf $i; done
/bin/sh: nasm: not found
/bin/sh: nasm: not found
make: *** [Standard] Fehler 127
Hmmm... da in der letzten Zeile "Fehler" steht, nehme ich nicht an, dass das Kompilieren erfolgreich war...

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 » Sa Okt 11, 2008 3:46 pm

Dir fehlt der Assembler nasm, um den Assemblercode zu assemblieren.
Per sudo apt-get install nasm installieren, dann geht alles (die Warnungen sind normal)
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: 2558
Registriert: Sa Jul 05, 2008 3:21 pm

Re: Kernel herunterladen, compilieren und laufen lassen

Beitrag von nufan » Sa Okt 11, 2008 3:54 pm

Ok, kompilieren war erfolgreich. Eine kurze Anleitung zum Laden mit Bochs wäre nice :D
BTW: Gibts das auch mit GUI? EDIT: Bochs mein ich natürlich. :)
BTW2: Dein zweiter Beitrag in diesem Thema heißt noch immer "Re: Ein Heap für den Kernel".

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 » Sa Okt 11, 2008 4:14 pm

Ok Anleitung kommt:

Zuerst einmal musst du bochs natürlich installiert haben.
Das geht über die üblichen

Code: Alles auswählen

sudo apt-get install bochs
oder natürlich auch über den Paketmanager.

Es gibt ein paar Pakete die man installieren sollte. Evtl installiert der Paktemanager oder apt sie schon mit, wenn nicht dann halt von Hand installieren:
bochs
bochsbios
vgabios
Optional kann man noch folgende Pakete installieren:
bochs-doc (Dokumentation)
bochs-sdl (SDL GUI für Bochs)
bochs-svga (SVGA GUI)
bochs-term (ncurses UI)
bochs-wx (WxWindwos GUI)
bochs-x (X11 GUI)
bximage (Tool zum Image erstellen)
Danach kann Bochs über die Kommandozeile mit einem einfachen

Code: Alles auswählen

bochs
gestartet werden.

Paramter braucht bochs natürlich auch.
Die befinden in einer Datei (bochs.conf).

Diese Datei befindet sich in /basic-kernel/bochs/ und heißt bochs.conf.

Um Bochs nun mit dem Kernel zu starten, muss erst ein Image des Kernels erstellt werden.
Dafür befindet sich im Ordner bochs/ eine Datei namens "make_floppy_img_with_grub.sh"
Diese einfach in der Konsole (man sollte sich im Ordner bochs befinden) per

Code: Alles auswählen

sh make_floppy_img_with_grub.sh
ausführen.
Es wird nach dem Root-Passwort fragen.
Das Skript wird in die Kommandozeile von GRUB (muss auf dem System installiert sein...) wechseln.
Dort bitte folgendes eingeben:

Code: Alles auswählen

device (fd0) floppy.img

root (fd0)

setup (fd0)

quit
Wenn das alles geklappt hat, dann einfach im Ordner bochs/ folgendes ausführen:

Code: Alles auswählen

bochs -f bochs.conf
Dann sollte bochs starten und GRUB bzw dann den Kernel laden.

Ich hoffe das ist verständlich..^^ :)
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.

Antworten