Kernel herunterladen, compilieren und laufen lassen

Low-Level-Programmierung und Experimenteller Kernel; Ansprechpartner: Dirty Oerti
Benutzeravatar
cloidnerux
Moderator
Beiträge: 3084
Registriert: Fr Sep 26, 2008 4:37 pm
Wohnort: Ram (Gibts wirklich)

Re: Kernel herunterladen, compilieren und laufen lassen

Beitrag von cloidnerux » Mo Okt 13, 2008 6:01 pm

aha
Aber ihr solltet mal nen möglichkeit schaffen das ganze unter Windoof zu Compiliren
Redundanz macht wiederholen unnötig.
quod erat expectandum

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 Okt 13, 2008 6:19 pm

cloidnerux hat geschrieben:aha
Aber ihr solltet mal nen möglichkeit schaffen das ganze unter Windoof zu Compiliren
Ist im Prinzip gegeben:
Cygwin installieren und dann per Cygwin ausführen.
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
cloidnerux
Moderator
Beiträge: 3084
Registriert: Fr Sep 26, 2008 4:37 pm
Wohnort: Ram (Gibts wirklich)

Re: Kernel herunterladen, compilieren und laufen lassen

Beitrag von cloidnerux » Mo Okt 13, 2008 6:28 pm

aha
Und am ende komt sowas bei raus:

*edit* von Dirty Oerti
Ich möchte dich bitten, die Bilder von dieser Webseite und allgemein keine Bilder dieser Größe, außer sie nutzen etwas, hochzuladen.

*/edit*


http://www.heise.de/ct/schlagseite/3.shtml
Zuletzt geändert von Dirty Oerti am Mo Okt 13, 2008 7:17 pm, insgesamt 1-mal geändert.
Grund: Bild entfernt
Redundanz macht wiederholen unnötig.
quod erat expectandum

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 1:02 pm

Dirty Oerti hat geschrieben: Dazu gibt man (im gleichen Verzeichnis) folgendes ein:

Code: Alles auswählen

make floppy-img
Hier kommt wieder die GRUB Kommandozeile, in die folgendes eingegeben werden muss:
device (fd0) floppy.img
root (fd0)
setup (fd0)
quit
Danach kann man per

Code: Alles auswählen

make run
(immer noch im gleichen Verzeichnis) den Kernel mit bochs ausführen.
@Dirty Oerti:
Man kann das ganze auch noch weiter vereinfachen. Ich hab bei mir einfach den Teil wo grub eingerichtet wird so abgeändert:

Code: Alles auswählen

#GRUB installation
sudo mkdir -p /mnt/floppy
echo "device (fd0) floppy.img\nroot (fd0)\nsetup (fd0)\nquit\n" | sudo /usr/sbin/grub
Außerdem solltest du noch das 'clean-all' Target etwas anpassen. Das tut eigentlich gar nichts, da es nur im aktuellen verzeichnis löscht.
Du kannst es entweder so machen:

Code: Alles auswählen

for i in $(ALLDIRS); do (cd $$i; rm -f *.o; rm -f *.bin; rm -f *map.txt); done
Oder noch besser du rufst einfach make rekursiv auf, und erstellst in jedem Unterverzeichnis in jedem Makefile ein 'clean' target.

Ansonsten funktioniert alles ohne Probleme. Man sollte nur 'bochs-x' auch installieren :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
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 2:34 pm

Kerli hat geschrieben:@Dirty Oerti:
Man kann das ganze auch noch weiter vereinfachen. Ich hab bei mir einfach den Teil wo grub eingerichtet wird so abgeändert:
Wunderbar :)
Ich dachte mir schon, dass das irgendwie gehen muss, wusste aber nicht wie.
Wobei ich das mit dem Verzeichnis so belassen werde. Ich denke mal, niemand wird einen derart sinnlosen Ordnernamen in /mnt/ haben...
Aber das man nicht mehr alles von Hand in die GRUB Kommandozeile eingeben muss, ist super! :)
Danke!
Kerli hat geschrieben:Außerdem solltest du noch das 'clean-all' Target etwas anpassen. Das tut eigentlich gar nichts, da es nur im aktuellen verzeichnis löscht.
Du kannst es entweder so machen:

(...)

Oder noch besser du rufst einfach make rekursiv auf, und erstellst in jedem Unterverzeichnis in jedem Makefile ein 'clean' target.
Ja..das clean-all Target..und auch das clean Target sind zur Zeit bei mir Sorgenkinder.
Man kann rm doch auch rekursiv aufrufen, so dass es nur bestimmte Dateien aus allen Unterverzeichnissen löscht, oder?
Ich dachte zumindest, dass das bei mir schon mal funktioniert hatte.
Wollte nämlich eigentlich vermeiden, in jedem Makefile noch die 2 Targets zu ergänzen.

Hast du da ne Ahnung?
Wie man da mit einem Aufruf von rm machen könnte?
Kerli hat geschrieben:Ansonsten funktioniert alles ohne Probleme. Man sollte nur 'bochs-x' auch installieren :D
Freut mich :)
bochs-x...könnte von Nutzen sein :D
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 4:20 pm

Dirty Oerti hat geschrieben: Wunderbar :)
Ich dachte mir schon, dass das irgendwie gehen muss, wusste aber nicht wie.
Wobei ich das mit dem Verzeichnis so belassen werde. Ich denke mal, niemand wird einen derart sinnlosen Ordnernamen in /mnt/ haben...
Aber das man nicht mehr alles von Hand in die GRUB Kommandozeile eingeben muss, ist super! :)
Danke!
Bitte ;) Diese Technik wird auch 'Pipelining' genannt, und kann ganz praktisch sein...
Dirty Oerti hat geschrieben: Ja..das clean-all Target..und auch das clean Target sind zur Zeit bei mir Sorgenkinder.
Man kann rm doch auch rekursiv aufrufen, so dass es nur bestimmte Dateien aus allen Unterverzeichnissen löscht, oder?
Ich dachte zumindest, dass das bei mir schon mal funktioniert hatte.
Wollte nämlich eigentlich vermeiden, in jedem Makefile noch die 2 Targets zu ergänzen.

Hast du da ne Ahnung?
Wie man da mit einem Aufruf von rm machen könnte?
So, ich hab da jetzt eine Lösung gefunden. 'rm' kann nämlich nur Verzeichnisse rekursiv löschen, nicht aber nach einem Suchmuster. Abhilfe schafft dabei 'find':

Code: Alles auswählen

clean-all:
	@echo "Aufräumen..."
	@find . -name '*.o' -exec rm -rfv {} \;
	@find . -name '*.bin' -exec rm -rfv {} \;
	@find . -name '*map.txt' -exec rm -rfv {} \;
Das sollte funktionieren ;)
"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
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 4:23 pm

Kerli hat geschrieben:So, ich hab da jetzt eine Lösung gefunden. 'rm' kann nämlich nur Verzeichnisse rekursiv löschen, nicht aber nach einem Suchmuster. Abhilfe schafft dabei 'find':

Code: Alles auswählen

clean-all:
	@echo "Aufräumen..."
	@find . -name '*.o' -exec rm -rfv {} \;
	@find . -name '*.bin' -exec rm -rfv {} \;
	@find . -name '*map.txt' -exec rm -rfv {} \;
Das sollte funktionieren ;)
Benötigt find eine Art Datenbank wie locate?
Sind die @ davor nützlich, bzw wozu dienen sie?

Ich hatte mir gedacht, dass es auch irgendwie über Pipelining möglich sein müsste.
Mit ls und grep nur die gemeinten Dateien filtern und dann per rm löschen, oder so.
Aber wenn das so funktioniert, wäre es natürlich super :)
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 4:37 pm

Dirty Oerti hat geschrieben:Benötigt find eine Art Datenbank wie locate?
Nein. 'find' durchsucht nur von einem Verzeichnis rekursiv alle Ordner nach einem bestimmten Suchmuster und kann dann mit den gefunden Dateien etwas machen (zb. '-exec' führt dir Befehle bis '\;' aus. '{}' ist der gefundene Dateiname)
Dirty Oerti hat geschrieben:Sind die @ davor nützlich, bzw wozu dienen sie?
Das @ unterbindet nur die Ausgabe auf die Konsole, dh. ohne @ würde auch der ganze Befehl ausgegeben werden.
"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: 8488
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 7:48 pm

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.
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
cloidnerux
Moderator
Beiträge: 3084
Registriert: Fr Sep 26, 2008 4:37 pm
Wohnort: Ram (Gibts wirklich)

Re: Kernel herunterladen, compilieren und laufen lassen

Beitrag von cloidnerux » Di Okt 14, 2008 7:51 pm

jo, zudem kann niemand was dazu posten
Redundanz macht wiederholen unnötig.
quod erat expectandum

Antworten