Lowlevel
Lowlevel => Softwareentwicklung => Thema gestartet von: Infty999 am 02. June 2012, 13:55
-
Hallo Leute,
ich habe mich hier auch mal angemeldet. Ich bin 20 Jahre und beschäftige mich mit C und C++ schon seit ich so 12/13 war. Aber mit z.T. längeren Pausen, sodass ich mich deshalb nur als durchschnittlicher Programmierer bezeichnen würde. C# und Java gehören auch zu meinem Sprachumfang, aber das ist hier ja nicht relevant. Für OS Development interessiere ich mich schon seit etlicher Zeit, damals habe ich mich damit unter Windows versucht, aber bald wieder fallen gelassen. Nun nutze ich Ubuntu Linux, und diesmal klappt es relativ gut.
Ich habe den Kernel als Binärdatei vorliegen. Bisher sollte wenn es klappt nur "Hello World" ausgegeben werden. Doch unter Ubuntu stellt sich das erstellen eines Images als schwer heraus, vor allem da man da mit GRUB hantieren muss. http://www.lowlevel.eu/wiki/GRUB#GRUB_legacy Bei der Anleitung zu Diskettenimages stecke ich fest. Wäre nett, wenn mir evtl. jemand weiterhelfen kann.
Gruß
Infty
-
Hallo und willkommen an Board!
Welche Schritte hast du denn von der Anleitung ausgeführt, und welches Problem tritt genau auf?
-
Hallo,
eventuell schaust du dir mal SYSLINUX an. Der kann mit Hilfe des Programms mboot.c32 auch Multibootkernel booten. Um ein Image zu erzeugen, machst du folgendes (du brauchst mtools, syslinux und syslinux-common):
$ dd if=/dev/zero of=disk.img bs=1440k count=1
$ mformat -f 1440 -i disk.img ::
$ syslinux -i disk.img
$ cat > syslinux.cfg << EOF
> DEFAULT kernel
> LABEL kernel
> KERNEL mboot.c32
> APPEND kernel.bin
> EOF
$ mcopy -i disk.img /usr/lib/syslinux/mboot.c32 ::
$ mcopy -i disk.img syslinux.cfg ::
$ mcopy -i disk.img kernel.bin ::
$ qemu -fda disk.img
Gruß,
Svenska
-
Hallo,
@Jidder: Das genaue Problem ist meistens, dass ich da den Überblick verliere und auch z.T. einfach nichts passiert wenn ich die Shell Kommandos eingebe. Auf Fehlermeldungen habe ich jetzt nicht genau geachtet. Ich probier die Anleitung gleich nochmal durch, dann werd ich die editieren.
@Svenska: Vielen dank für den Tipp, aber so recht will das auch nicht klappen. Einen Fehler habe ich gerad schon gefunden. Ich habe bei der zweiten Zeile die beiden Doppelpunkte vergessen. Macht schon einen gewaltigen Unterschied. Nun hängt es nur noch bei der letzten Zeile. Also ich habe qemu gestern mit dem Befehl: sudo apt-get install qemu installiert aber da kommt folgende Meldung, wenn ich die letzte Zeile eingebe:
No command 'qemu' found, did you mean:
Command 'qtemu' from package 'qtemu' (universe)
Command 'aqemu' from package 'aqemu' (universe)
qemu: command not found
Gruß
Infty
-
$ sudo apt-get update
$ sudo apt-get install qemu-kvm
-
qemu-system-i386 heißt die Binary in neueren Versionen.
-
Die letzte Zeile startet nur den Emulator. :roll: Das Image ist auch vorher schon fertig und heißt disk.img.
Gruß,
Svenska