Autor Thema: Bootloader auf CD???  (Gelesen 16902 mal)

lowlevel

  • Beiträge: 26
    • Profil anzeigen
    • http://www.abi-09.de.tf
Gespeichert
« am: 01. May 2005, 17:55 »
Hallo Leute,
ich bin totaler Anfänger im "lowlevel" coding. Hab mich aber dazu entschlossen mehr über die wirklichen Grundlagen des PC zu erfahren.
Ich finde das Magazin deshalb einfach nur genial.

Nun aber zu meiner Frage:
Ich habe mir den Code (Bootloader und Kernel) des ersten Magazins mal angesehen. Ich würde dies nun gerne nachmachen, allerdings habe ich kein Floppydisk-Laufwerk. Kann ich also die fertig kompilierte Binärdatei auch irgendwie auf CD brennen???
(Bei Nero gibst doch so ne Funktion: Bootfähige CD erstellen)

Bitte kommt mir nicht mit allzu komplizierten Antworten. :D
Wie gesagt bin ja Anfänger. :D

Roshl

  • Beiträge: 1 128
    • Profil anzeigen
    • http://www.lowlevel.net.tc
Gespeichert
« Antwort #1 am: 01. May 2005, 18:06 »
Erstmal heisse ich dich als Admin herzlich willkommen^^

So, eine bootfähige CD ist normalerweise möglich. Aber nicht mit diesem Bootloader. Denn dieser benutzt Bios Int 13h und der ist soweit ich weiss nicht für CD's gedacht.
Du kannst aber auch bochs benutzen und dort mit Images arbeiten, dann brauchst du zumindest für das testen in Bochs keine Diskette. Für den Anfang genügt das. Das ersetzt allerdings nicht das Testen auf echten PC's. Dazu bräuchtest du dann eine bootfähige CD (wie das genau funzt weiss ich nicht, hab das nie in Betracht gezogen für mich) oder installierst es auf der Festplatte, was vorerst aber nicht relevant sein dürfte.
[schild=1]Wieder ein wertvoller(?) Beitrag von Roshl[/schild]

lowlevel

  • Beiträge: 26
    • Profil anzeigen
    • http://www.abi-09.de.tf
Gespeichert
« Antwort #2 am: 01. May 2005, 18:11 »
ähhh.....
was hat es mit "bochs" auf sich??? *kp*

Roshl

  • Beiträge: 1 128
    • Profil anzeigen
    • http://www.lowlevel.net.tc
Gespeichert
« Antwort #3 am: 01. May 2005, 18:14 »
Bochs ist ein Emulator der einen kompletten x86er PC samt Hardware per Software emuliert.
[schild=1]Wieder ein wertvoller(?) Beitrag von Roshl[/schild]

lowlevel

  • Beiträge: 26
    • Profil anzeigen
    • http://www.abi-09.de.tf
Gespeichert
« Antwort #4 am: 01. May 2005, 18:18 »
tja keine Ahnung.... Werd mich dann wohl mal bei Google umschauen müssen...Oder kannst du mir in igendeiner Weise weiterhelfen?
da ich mich entschlossen hab, mich damit intensiver zu beschäftigen, habe ich überlegt ob ich mir nicht ein ext. Floppy Laufwerk holen soll. Allerdings kann ich im BIOS nicht einstellen, dass von USb gebootet werden soll.
Anmerkung: Hab voll das mist BIOS. Kann fast garnichts einstellen. Liegt das daran, dass ich nen Laptop hab???

Roshl

  • Beiträge: 1 128
    • Profil anzeigen
    • http://www.lowlevel.net.tc
Gespeichert
« Antwort #5 am: 01. May 2005, 18:21 »
Keine Ahnung inwiefern sich Laptops da von Desktop-PC's unterscheiden.
Runterladen kannst du dir Bochs auf deren HP, google einfach mal.
Und ein kleines Tut um es einzustellen hat joachim_neu schonmal geschrieben, dass findest du in der Tutorial Section. Ansonsten gibts auch noch ICQ;) 332-061-907
[schild=1]Wieder ein wertvoller(?) Beitrag von Roshl[/schild]

lowlevel

  • Beiträge: 26
    • Profil anzeigen
    • http://www.abi-09.de.tf
Gespeichert
« Antwort #6 am: 01. May 2005, 18:37 »
hab mir das jetzt mal runtergeladen.
Und (alles) so gemacht wie es im Tut stand.
Allerdings kapier ich nicht, was "9. Kopiere dein OS-Image auf die Datei "a.floppy" " heißt.

Wenn ich auf die Datei OS.bxrc klicke, erscheint folgendes:

00000000000i[APIC?] local apic in  initializing
========================================================================
                      Bochs x86 Emulator 2.2.pre2
               Build from CVS snapshot on March 25, 2005
========================================================================
00000000000i[     ] reading configuration from D:\Programme\Bochs\Bochs-
\OS\OS.bxrc
00000000000i[     ] WARNING: syntax has changed, please use 'vgaromimage
..' now
00000000000e[     ] D:\Programme\Bochs\Bochs-2.2.pre2\OS\OS.bxrc: usb ir
 deprecated (assigned by BIOS).
00000000000i[     ] D:\Programme\Bochs\Bochs-2.2.pre2\OS\OS.bxrc: vga_up
erval seems awfully small!
00000000000p[     ] >>PANIC<< newharddrivesupport directive is deprecate
ould be removed.
00000000000i[SYS  ] Last time is 0
00000000000i[     ] restoring default signal behavior
========================================================================
Bochs is exiting with the following message:
[     ] newharddrivesupport directive is deprecated and should be remove
========================================================================
00000000000i[CTRL ] quit_sim called with exit code 1

Bochs is exiting. Press ENTER when you're ready to close this window.

Was nun...?

Roshl

  • Beiträge: 1 128
    • Profil anzeigen
    • http://www.lowlevel.net.tc
Gespeichert
« Antwort #7 am: 01. May 2005, 18:50 »
mit nr.9 mein er sicherlich dass dein os-image dann so heissen soll.

joachim_neu hat das config file noch für eine version geschrieben die älter ist. Da wurden einige tags noch benutzt die es in den neueren nicht mehr gibt
z.b. newharddrivesupport: enabled=1 muss raus
dann sollte er eigentlich nicht mehr darüber meckern, einige andere angaben sind auch veraltet dürften aber keine probleme machen
[schild=1]Wieder ein wertvoller(?) Beitrag von Roshl[/schild]

lowlevel

  • Beiträge: 26
    • Profil anzeigen
    • http://www.abi-09.de.tf
Gespeichert
« Antwort #8 am: 01. May 2005, 19:00 »
Cool, danke für den Tipp.
Hab newharddrivesuport rausgenommen. Jetzt gehts.......relativ.... Wenn ich jetzt starte erscheint kurz darauf "Bochs for Window - Display". Dies verschwindet jedoch gleich wieder.
(Konnte ich nur durch einen Screenshot erkennen)

Wie gehts weiter.... :?

hannibal

  • Host
  • Beiträge: 400
    • Profil anzeigen
    • brainsware - the rock.
Gespeichert
« Antwort #9 am: 01. May 2005, 19:25 »
wieviel erfahrung / ahnung hast du denn sonst so beim programmieren? hast du schon mal mit (irgend)einem assembler gearbeitet?

am besten du ladest dir mal, da du ja, wie ich, kein internes diskettenlaufwerk hast, einen treiber fuer virtuelle laufwerke runter. ich hab hier ein sehr nettes programm, das ich im netz leider nicht mehr finde =\ . hab dafuer hier ein sehr aehnliches gefunden:
http://chitchat.at.infoseek.co.jp/vmware/vfd.html#download

einfach mal runterladen und ausprobieren.

im bochs-ordner findest du eine bximage.exe (oder so), wenn du die in der eingabeaufforderung oeffnest, dann kannst du dir ein floppy-image erzeugen lassen, das du dann als virtuelles laufwerk einsetzen kannst.

warum ein virtuelles laufwerk und nicht einfach vom image booten?
ganz einfach, weil du dann beim fat12 bootloader nicht einfach deine dateien reinkopieren kannst; mit dem vfd geht das einfach per explorer.

dann bleibt da noch die frage, wie du den bootsektor auf die diskette bekommst. ganz einfach mit rawwrite:
http://uranus.it.swin.edu.au/~jn/linux/rawwrite.htm

hoffe geholfen zu haben :shock:  :wink:
\\o
o//
\o/

lowlevel

  • Beiträge: 26
    • Profil anzeigen
    • http://www.abi-09.de.tf
Gespeichert
« Antwort #10 am: 01. May 2005, 19:54 »
danke erstmal.
ich werde das ganze mal ausprobieren.
Momentan frage ich mich dann nur noch, wie ich dann von der virtuellen Diskette booten kann!?

Ich habe angefangen mit dem MASM zu proggen. Bin auf die Idee gekommen, weil ich dauernd die Debugger Ausgabe beim Visualstudio gesehen hab und ich nie wusste was das eigentlich alles heißt. ich programmiere C++.

Another Stupid Coder

  • Beiträge: 749
    • Profil anzeigen
Gespeichert
« Antwort #11 am: 01. May 2005, 20:01 »
Nya, dein richtiger PC bootet gar nicht vom Image, Bochs bootet davon, Bochs simuliert einen PC.

MASM ist allerdings nicht sehr weit verbreitet, den meisten Einfluss hat NASM (beim os-dev) aber auch FASM ist zum Beispiel sehr empfehlenswert, falls dir MASM mal nichtmehr gefällt :)

hannibal

  • Host
  • Beiträge: 400
    • Profil anzeigen
    • brainsware - the rock.
Gespeichert
« Antwort #12 am: 01. May 2005, 20:02 »
schau dir mal die bochsrc-sample.txt im bochs-ordner an.
da findet sich eine zeile wie:

floppy=a:\;1.44;inserted


oder so irgendwie.

achja..ich empfehle dir nasm oder gas, da die im lowlevel-bereich weitaus verbreiteter sind ;)
\\o
o//
\o/

B.G.

  • Beiträge: 27
    • Profil anzeigen
Gespeichert
« Antwort #13 am: 01. May 2005, 20:03 »
Du ruftst deine bochs.exe mit dem Parameter "-q" auf, dann bootet er von der Diskette.

Svenska

  • Beiträge: 1 792
    • Profil anzeigen
Gespeichert
« Antwort #14 am: 01. May 2005, 20:39 »
Am besten wäre freilich, wenn du dir erstmal das generelle Konzept des
PCs anschaust. Dazu gibt es ne ganze Masse feiner Buecher, z.B. das PC-
Hardwarebuch. Wäre sicherlich nicht verkehrt, ich finde es sehr gut.
Andere hier im Forum können sicherlich noch viel genauere Tipps
abgeben als ich hier und jetzt.

Auch wenn ich mit Kanonen auf Spatzen schiesse, aber bevor du anfängst,
solltest du erstmal einen solchen Wälzer grösstenteils verstanden haben.

Und zu deiner Frage - du kannst ein Floppydisk-Image auf eine CD
brennen, dann bootet das BIOS von ebendiesem Image. Das ist aber
sehr viel Aufwand, besonders, weil du am Anfang x-mal Kleinigkeiten
verändern musst. Das macht auch keine CD-RW auf Dauer mit.

Dazu nimmst du einen PC-Emulator oder besser einen PC-Simulator wie
Bochs. Dieser wird im späteren Verlauf noch wichtig werden :)
Wenn alles im Bochs läuft, kannst du mit dem Testen auf einem echten
PC anfangen.

Svenska

lowlevel

  • Beiträge: 26
    • Profil anzeigen
    • http://www.abi-09.de.tf
Gespeichert
« Antwort #15 am: 01. May 2005, 20:48 »
Ich komm irgendwie nicht richtig weiter.
1) Hab myOS.raw
2) Hab A: virtuell mit VFD erstellt
3) Hab mit rawwritewin.exe myOS.raw auf A: kopiert
    jetzt kann ich nicht mehr auf A: zugreifen, da Meldung unformatiert.
4) Was jetzt??

Es ist mir klar, dass ich nicht von jetzt auf gleich mein eigene OS programmieren kann. Aber ich möchte hiermit erstmal sozusagen "einen Grundstein" setzen, damit ich schon mal ungefähre Vostellungen habe, wie das alles geht.

urx_

  • Beiträge: 58
    • Profil anzeigen
    • http://tange.ta.funpic.de
Gespeichert
« Antwort #16 am: 01. May 2005, 21:22 »
wenn du dein os auf die diskette kopierst, zerstört es das vorhandene dateisystem und die diskette kann so nicht mehr gelesen werden
Hip-Hop ist vielseitige, intelligente Musik, *Metal dagegen nur stupider Lärm. <-- Von wem das wohl kommt 8)

lowlevel

  • Beiträge: 26
    • Profil anzeigen
    • http://www.abi-09.de.tf
Gespeichert
« Antwort #17 am: 01. May 2005, 21:31 »
Ok, kapiert.
Und wie starte ich das ganze jetzt?

urx_

  • Beiträge: 58
    • Profil anzeigen
    • http://tange.ta.funpic.de
Gespeichert
« Antwort #18 am: 01. May 2005, 22:00 »
in bochs gibt es irgend eine möglichkeit, direkt von diskette zu starten. damit bin ich aber überfragt
Hip-Hop ist vielseitige, intelligente Musik, *Metal dagegen nur stupider Lärm. <-- Von wem das wohl kommt 8)

lowlevel

  • Beiträge: 26
    • Profil anzeigen
    • http://www.abi-09.de.tf
Gespeichert
« Antwort #19 am: 01. May 2005, 22:17 »
habs fast. Allerdings brauch ich noch genaue Einstellungen in der bochsrc.txt

 

Einloggen