@M.Nemo: Wer ist "Blitzmaster" ? ^^Sry den gibts hier zwar auch, aber ich mein natürlich BITMASTER
Also wäre folgendes Vorhaben realistisch? :
Bootsektor im RM läd mit "int 13h" ohne Emulation die load.sys von CD
die load.sys schaltet in den 64 Bit Mode, läd mittels internen CD-Treiber die Module + Kernel + externe Treiber etc.
@bluecode: Ach ja, das Linuxleben. winkhä :?
@bluecode: Da du von der Materie scheinst Ahnung zu haben, müssen wir uns mal über MSN unterhalten, weil ich noch einige Fragen habe.Naja, so viel kann ich dir da auch nicht helfen, da ich selbst noch keinen ATAPI Treiber hinbekommen hab. Ich habs zwar nur kurz versucht, aber funktioniert hats net. Und bevor ich da weiter mach muss ich noch ein paar andere Sachen in meinem OS machen.
Zylinder-0 -> ATAPI Bytecount 0-7Aber das wären ja nur 16 Bit, sprich 65536 Sektore. Und das mal 2048 wären max. 128 MByte. Eine normale CD hat ja schon 650 - 700 MByte. Oder was meinst du mit "ATAPI Bytecount"?
Zylinder-1 -> ATAPI Bytecount 8-15
Partitionen werden ja gar nicht erst behandeltDas BIOS bootet ja auch nicht von einer Partition, sondern nur den MBR :wink: Wie der weiter verfährt sollte dann dein Problem sein...
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.
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) |
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.Nee nee nee, also so ein Zirkus mache ich net. Das muss auch anders gehen. Also zu not rufe ich mal bei IBM an.
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.
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.
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
@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
Aber wer hat heutzutage schon ernsthaft S-ATA-Laufwerke verbaut? *g*Die neuen Computer die man sich z.Z. kaufen kann!?
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.
S-ATA scheint demnach wirklich im Software Interface kompatibel zu seinDas heißt man muss nichts ändern? Es würde ohne eine Änderung auch mit S-ATA Laufwerken funktionieren?
heyho hab mal ne frage von welchem buch redet ihr genau (also mit autor und/oder so bitte)...PC Hardwarebuch
Man braucht eine Lizenz um einen AHCI Treiber schreiben zu dürfenKann man denn über Ports das SATA Laufwerk in den compatible Mode laufen lassen, so das man mit dem ATAPI Treiber arbeiten kann? Dafür bräuchte man dann ja keine Lizenz!?