Autor Thema: CD-ROM ansprechen + welches Dateisystem  (Gelesen 26851 mal)

bluecode

  • Beiträge: 1 391
    • Profil anzeigen
    • lightOS
Gespeichert
« Antwort #40 am: 02. November 2006, 23:38 »
Das Bootlaufwerk steht doch in dl am Anfang des Bootsektors bzw. in der multiboot header von grub. Was willst du mehr? :?
lightOS
"Überlegen sie mal 'nen Augenblick, dann lösen sich die ganzen Widersprüche auf. Die Wut wird noch größer, aber die intellektuelle Verwirrung lässt nach.", Georg Schramm

bluecode

  • Beiträge: 1 391
    • Profil anzeigen
    • lightOS
Gespeichert
« Antwort #41 am: 03. November 2006, 12:26 »
Also das System find ich nicht sonderlich toll, da es nicht zu 100% funktioniert (Es können auf zwei verschiedenen Datenträgern/Partitionen die gleichen Checksummen auftreten). Insofern find ich es ziemlich nutzlos für diesen Zweck.

Zitat
Partitionen werden ja gar nicht erst behandelt
Das BIOS bootet ja auch nicht von einer Partition, sondern nur den MBR :wink: Wie der weiter verfährt sollte dann dein Problem sein...

Die Nummer sollte ja ausreichen um herauszufinden von welchem Laufwerk gebootet wurde, oder?
lightOS
"Überlegen sie mal 'nen Augenblick, dann lösen sich die ganzen Widersprüche auf. Die Wut wird noch größer, aber die intellektuelle Verwirrung lässt nach.", Georg Schramm

bitmaster

  • Troll
  • Beiträge: 1 138
    • Profil anzeigen
    • OS-64 = 64 Bit Operating System
Gespeichert
« Antwort #42 am: 03. November 2006, 15:38 »
Ihr versteht nicht was ich meine. Ich weiß das in dl das Laufwerk steht um mit dem "int 13h" später auf dieses zuzugreifen. Aber wenn ich jetzt in den 64 bit Mode springe kann ich den "int 13h" nicht nutzen und muss die Ports ansprechen. So, jetzt gibt es aber 2 verschiedene IDE Kanäle mit jeweils Master und Slave. So, woher weiß ich jetzt welchen ich ansprechen muss? Woher weiß ich, ob ich den ersten IDE Kanal oder den zweiten benötige. Und woher weiß ich ob das Laufwerk Master oder Slave ist?

Versteht ihr jetzt was ich meine?

Die Funktion 48h gibt einige Dinge aus wie z.B. die Portbasisadresse ob z.B. 170h oder 1F0h. Da dachte ich mir ich rufe diese auf, speichere die Ergebnisse und lade sie wenn ich im 64 Bit Mode bin. Aber das läuft z.B. nicht unter allen Emulatoren (die schreiben einfach Null-Werte). Deswegen bringt mir die 48h Funktion auch nicht sehr viel, da ich was benötige das überall funktioniert.

thx

bitmaster
« Letzte Änderung: 03. November 2006, 15:42 von bitmaster »
In the Future everyone will need OS-64!!!

bluecode

  • Beiträge: 1 391
    • Profil anzeigen
    • lightOS
Gespeichert
« Antwort #43 am: 03. November 2006, 16:13 »
*rofl* das hab ich schon verstanden, nur bin ich davon ausgegangen, dass du weißt, dass das was du in dl übergeben bekommen hast:
* 0 für fd0
* 1 für fd1
* 0x80 für ide0 dev0
* 0x81 für ide0 dev1
* 0x82 für ide1 dev0
* 0x83 für ide1 dev1
afaik ist, aber ich hab das jetzt nicht überprüft. Zumindest lässt sich anhand der Nummer in dl _ganz_ sicher bestimmen, von welchem Laufwerk gebootet wurde.
lightOS
"Überlegen sie mal 'nen Augenblick, dann lösen sich die ganzen Widersprüche auf. Die Wut wird noch größer, aber die intellektuelle Verwirrung lässt nach.", Georg Schramm

bitmaster

  • Troll
  • Beiträge: 1 138
    • Profil anzeigen
    • OS-64 = 64 Bit Operating System
Gespeichert
« Antwort #44 am: 03. November 2006, 16:18 »
Zitat
Zumindest lässt sich anhand der Nummer in dl _ganz_ sicher bestimmen, von welchem Laufwerk gebootet wurde.
Tja, nur das es bei CD-Laufwerken nicht so ist. Da bekomme ich nämlich den selben Wert wenn ich die CD im oberen sowie im unteren Laufwerk einlege.

Das mit den Floppy-Disks und den Festplatten weiß ich.

bitmaster
In the Future everyone will need OS-64!!!

bluecode

  • Beiträge: 1 391
    • Profil anzeigen
    • lightOS
Gespeichert
« Antwort #45 am: 03. November 2006, 16:38 »
Was bekommst du denn da für einen Wert?
lightOS
"Überlegen sie mal 'nen Augenblick, dann lösen sich die ganzen Widersprüche auf. Die Wut wird noch größer, aber die intellektuelle Verwirrung lässt nach.", Georg Schramm

bitmaster

  • Troll
  • Beiträge: 1 138
    • Profil anzeigen
    • OS-64 = 64 Bit Operating System
Gespeichert
« Antwort #46 am: 03. November 2006, 17:04 »
Was bekommst du denn da für einen Wert?

Bochs:E0h
Qemu:E0h
Virtual PC:EFh
VMware:9Fh (IDE 1:0 und 1:1)
PC:9Fh (oberes und unteres Laufwerk)

bitmaster
In the Future everyone will need OS-64!!!

bitmaster

  • Troll
  • Beiträge: 1 138
    • Profil anzeigen
    • OS-64 = 64 Bit Operating System
Gespeichert
« Antwort #47 am: 08. November 2006, 20:19 »
So, mein CD Treiber läuft jetzt (zumindest unter Bochs und Qemu). Da ich noch kein 64 Bit PC habe kann ichs noch nicht auf echten PCs testen (zu faul alles noch mal für ein test 32 Bit System zu proggen). Ich will mir ja gerne ein Notebook kaufen, wenn da nicht immer das Geld wäre (bzw. nicht wäre). ^^ Also wer noch was über hat, her damit. ;-)

Nee, jetzt mal im ernst. Ich verzweifle immer noch daran, woher ich weiß bzw. der PC von welchem Laufwerk gebootet wurde. Es gibt ja 4 möglichkeiten:

0:0
0:1
1:0
1:1

Z.z. verwende ich einfach strikt 1:0 (wegen qemu) und habs in Bochs auch so eingestellt. Läuft unter beiden Emus wunderbar. Nur auf echten PCs kann ja das Bootlaufwerk unterschiedlich sein.

Hat wirklich keiner von euch eine Idee die auch vernünftig ist, wie das klappen könnte (also nicht einfach testen ob in dem Laufwerk eine CD drin ist die eine kernel.sys hat, es könnte ja zufälligerweise sein das man im anderem Laufwerk auch eine CD drin hat, die eine kernel.sys beinhaltet).

Also bitte helft mir. *verzweifel*

thx

bitmaster
In the Future everyone will need OS-64!!!

bluecode

  • Beiträge: 1 391
    • Profil anzeigen
    • lightOS
Gespeichert
« Antwort #48 am: 08. November 2006, 20:51 »
Du könntest zum Beispiel das Codesegment deines Kernels hashen (Crc32, sha, md, ...) und den Hash mit dem Hash, der kernel.sys auf der CD vergleichen. Das würde zumindest sicherstellen, dass die cd mit dem richtigen kernel vorhanden ist.
Ansonsten könntest du ja noch eine Datei mit dem aktuellen Build erstellen, welche einmal mit dem bootloader geladen wird und dann nochmal von jedem möglichen datenträger.
lightOS
"Überlegen sie mal 'nen Augenblick, dann lösen sich die ganzen Widersprüche auf. Die Wut wird noch größer, aber die intellektuelle Verwirrung lässt nach.", Georg Schramm

bitmaster

  • Troll
  • Beiträge: 1 138
    • Profil anzeigen
    • OS-64 = 64 Bit Operating System
Gespeichert
« Antwort #49 am: 08. November 2006, 21:18 »
Du könntest zum Beispiel das Codesegment deines Kernels hashen (Crc32, sha, md, ...) und den Hash mit dem Hash, der kernel.sys auf der CD vergleichen. Das würde zumindest sicherstellen, dass die cd mit dem richtigen kernel vorhanden ist.
Ansonsten könntest du ja noch eine Datei mit dem aktuellen Build erstellen, welche einmal mit dem bootloader geladen wird und dann nochmal von jedem möglichen datenträger.
Nee nee nee, also so ein Zirkus mache ich net. Das muss auch anders gehen. Also zu not rufe ich mal bei IBM an.

thx

bitmaster
In the Future everyone will need OS-64!!!

bitmaster

  • Troll
  • Beiträge: 1 138
    • Profil anzeigen
    • OS-64 = 64 Bit Operating System
Gespeichert
« Antwort #50 am: 09. November 2006, 20:52 »
So, entlich habe ich genie ;-) es geschafft. Es funktioniert wunderbar. Jetzt ist mein CD Treiber vorerst fertig. Ich muss halt nur noch an einen echten 64 Bit PC ran kommen um zu testen ob das OS auf diesen funktioniert.

@Coffee: Ich mein du hast ein 64 Bit PC mit Nvidia Karte drin, oder? Könntest du dann einen kleinen Test für mich machen?

thx

bitmaster
In the Future everyone will need OS-64!!!

MNemo

  • Beiträge: 547
    • Profil anzeigen
Gespeichert
« Antwort #51 am: 10. November 2006, 16:16 »
So, entlich habe ich genie ;-) es geschafft. Es funktioniert wunderbar. Jetzt ist mein CD Treiber vorerst fertig. Ich muss halt nur noch an einen echten 64 Bit PC ran kommen um zu testen ob das OS auf diesen funktioniert.

wie geht das denn jetzt? :?:
„Wichtig ist nicht, besser zu sein als alle anderen. Wichtig ist, besser zu sein als du gestern warst!“

Coffee

  • Beiträge: 470
    • Profil anzeigen
Gespeichert
« Antwort #52 am: 10. November 2006, 18:08 »
So, entlich habe ich genie ;-) es geschafft. Es funktioniert wunderbar. Jetzt ist mein CD Treiber vorerst fertig. Ich muss halt nur noch an einen echten 64 Bit PC ran kommen um zu testen ob das OS auf diesen funktioniert.

@Coffee: Ich mein du hast ein 64 Bit PC mit Nvidia Karte drin, oder? Könntest du dann einen kleinen Test für mich machen?

thx

bitmaster

nope 32bit nvidia und 64bit ati... aber ich könnte das nat. umbauen... sag nur bescheid was de brauchst an arbeitsspecierh  und so dann bau ich den testpc ;)

bitmaster

  • Troll
  • Beiträge: 1 138
    • Profil anzeigen
    • OS-64 = 64 Bit Operating System
Gespeichert
« Antwort #53 am: 10. November 2006, 21:20 »
@Coffee: Das wäre echt nett. Dann bekommst du das CD Image (aber nicht weiter geben, da es noch nicht bereit ist für die nächste Version). Der PC sollte mit folgendem ausgestattet sein:

CPU mit EM64T oder AMD64 Unterstützung
min. 32 MByte RAM
Nvidia Grafikkarte (muss VESA 2.0 unterstützen)
ATAPI CD/DVD Laufwerk

Sag bescheid, wenn dein Rechner bereit ist.

vielen dank

bitmaster
In the Future everyone will need OS-64!!!

Coffee

  • Beiträge: 470
    • Profil anzeigen
Gespeichert
« Antwort #54 am: 11. November 2006, 19:36 »
@Coffee: Das wäre echt nett. Dann bekommst du das CD Image (aber nicht weiter geben, da es noch nicht bereit ist für die nächste Version). Der PC sollte mit folgendem ausgestattet sein:

CPU mit EM64T oder AMD64 Unterstützung
min. 32 MByte RAM
Nvidia Grafikkarte (muss VESA 2.0 unterstützen)
ATAPI CD/DVD Laufwerk

Sag bescheid, wenn dein Rechner bereit ist.

vielen dank

bitmaster

ok also der hat jetz

amd athlon 64 3800+
1024 MB RAM
nvidia 7600GT
und n dvdlaufwerk

bitmaster

  • Troll
  • Beiträge: 1 138
    • Profil anzeigen
    • OS-64 = 64 Bit Operating System
Gespeichert
« Antwort #55 am: 11. November 2006, 21:25 »
@Coffee: Dann meld dich mal bei MSN und ich schick dir das Image.

vielen dank

bitmaster
In the Future everyone will need OS-64!!!

bitmaster

  • Troll
  • Beiträge: 1 138
    • Profil anzeigen
    • OS-64 = 64 Bit Operating System
Gespeichert
« Antwort #56 am: 15. November 2006, 16:43 »
Ich habe noch mal eine Frage. Wenn das Ganze jetzt unter P-ATA Funktioniert, funktioniert das dann auch unter S-ATA oder muss man da wieder extra einen Treiber schreiben?

thx

bitmaster
In the Future everyone will need OS-64!!!

stultus

  • Beiträge: 486
    • Profil anzeigen
Gespeichert
« Antwort #57 am: 15. November 2006, 22:21 »
Ich folger aus der simplen Tatsache dass jedes System getrennte P-ATA/IDE und S-ATA-Treiber hat dass das nicht so wirklich kompatibel ist. Aber wer hat heutzutage schon ernsthaft S-ATA-Laufwerke verbaut? *g*
MSN: planetconquestdm@hotmail.de
ICQ: 190-084-185

... Wayne?

bitmaster

  • Troll
  • Beiträge: 1 138
    • Profil anzeigen
    • OS-64 = 64 Bit Operating System
Gespeichert
« Antwort #58 am: 16. November 2006, 07:15 »
Zitat
Aber wer hat heutzutage schon ernsthaft S-ATA-Laufwerke verbaut? *g*
Die neuen Computer die man sich z.Z. kaufen kann!?

bitmaster
In the Future everyone will need OS-64!!!

bitmaster

  • Troll
  • Beiträge: 1 138
    • Profil anzeigen
    • OS-64 = 64 Bit Operating System
Gespeichert
« Antwort #59 am: 25. November 2006, 12:05 »
Also wie gesagt ist mein ATAPI CD-Laufwerk Treiber fertig (oder sagen wir funktionsfähig). Aber mein OS soll ja auch auf PCs mit CD/DVD etc. Laufwerken Laufen die ein S-ATA Laufwerk haben. Jetzt wurden mir von mehreren gesagt das ich dafür einen neuen Treiber benötige. Aber ich habe jetzt mal in meinem PC-Hardwarebuch unter S-ATA nachgeschaut. In der Ausgabe 7 auf der Seite 912 ganz unten steht:

Zitat
Zur Software-Seite hin ist der Serial ATA zum parallelen ATA-Standard völlig kompatibel, d.h. es können die gleichen Befehle und Treiber verwendet werden, weil die entsprechende Umsetzung und Protokollanpassung auf der untersten Chip-Ebene stattfindet. Die Kommandos und Registerinhalte werden in Pakete verpackt, seriell übertragen und vom Gegenüber wieder parallelisiert und als übliche ATA-Befehle ausgeführt.

Das heißt ich brauche doch keinen eigenen S-ATA Treiber? Wenn das OS auf ATAPI CD-Laufwerke läuft, läuft es auch auf S-ATA CD Laufwerke?

thx

bitmaster
In the Future everyone will need OS-64!!!

 

Einloggen