Lowlevel
OffZone => Offtopic => Thema gestartet von: sebi2020 am 08. November 2009, 16:14
-
Hallo,
hab grad letztens noch nen alten MEDION Pc ausgegraben und schau da, sogar noch mit Disketten laufwerk :-). Hab mir Suse 11.1 mit gnome installiert. Und hab dann auch noch nen paar alte Disketten mit MS_DOS 6. gefunden.
wollte sie dann gleich mal formatieren damit linux sie lesen kann. Hab versucht Sie erstmal lowlevel zu formatieren (sprich in sektoren , zylinder und head).
naja, dass ist dabei herumgekommen:
linux-sebi:~ # fdformat /dev/fd0u1440
Doppelseitig, 80 Spuren, 18 Sektoren/Spur, Totale Kapazität: 1440kB.
Formatieren … Beendet
Überprüfen … Lesen: : Eingabe-/Ausgabefehler
Problem beim Lesen von Zylinder 0, es wurde 18432 erwartet, aber -1 gelesen
habt ihr ne ahnung woher der fehler kommt? Ist die diskette vielleicht physikalisch kaputt?
-
Ist die diskette vielleicht physikalisch kaputt?
Ja, das ist durchaus wahrscheinlich.
-
Problem beim Lesen von Zylinder 0, es wurde 18432 erwartet, aber -1 gelesen
Ich würde auch sagen, dass die Diskette kaputt ist. Du könntest ja mal unter einem andern OS (Windows?) das Formatieren versuchen.
-
hm, ja, hab da im moment aber nur linux drauf, und es ist der einzigste rechner mit disketten laufwerk. ich hab mir ja überlegt nen disketten laufwerk mit usb anzuschaffen. Nur ich frag mich ob es möglich ist von Diskette zu booten wie bei einem internen laufwerk, wenn es über usb angeschlossen ist?!. Hm wahrscheinlich nicht, oder? Wenn dann müsste wahrscheinlich das BIOS usb unterstützen, oder?. Und wenn es dass tut, muss man wahrscheinlich den Bootloader auch anders schreiben, weil dass Bios für USB bestmmt andere Interupts benutzt.
-
Hallo,
Nur ich frag mich ob es möglich ist von Diskette zu booten wie bei einem internen laufwerk, wenn es über usb angeschlossen ist?!
Also das BIOS muss das auf jeden Fall ordentlich unterstützen (eventuell muss dazu irgendeine Legacy-Option aktiviert werden). Das BIOS blendet das Laufwerk in den üblichen Int 13h ein.
Ich hab mir auch so ein USB-Floppy-Laufwerk angeschafft, da ich sonst gar nicht mehr von Diskette booten könnte. :wink:
Menuet und die Boot-Diskette von WIN98 arbeiten damit korrekt zusammen und ich glaube nicht das dort irgendwelche Extras dafür drauf sind.
Grüße
Erik
-
Den Kernel laden sollte damit ohne weiteres gehen, wenn das BIOS es unterstützt. Ein handelsüblicher Protected-Mode-Floppytreiber funktioniert damit aber natürlich nicht. Da müsste dann schon ein USB-Treiber her.
-
Hallo,
Ein handelsüblicher Protected-Mode-Floppytreiber funktioniert damit aber natürlich nicht.
Stimmt, hab ich vergessen zu erwähnen.
Das mit dem Int 13h funktioniert natürlich nur im Real-Mode (oder im Virtual-Real-Mode mit nem passenden Virtual-Maschine-Manager, z.B. Windows bis 98 kann das). Ob die BIOS-Emulation auch die original IO-Ports fürs Floppy umfasst weis ich nicht, wenn dann sollte das auch im Protected-Mode funktionieren.
Auch wenn das OS den USB-Hostcontroller selber in Betrieb nimmt ist es vorbei mit der BIOS-Emulation. Entweder das OS kann selber mit USB umgehen dann muss es alles selber machen oder es kann über Int 13h aufs USB-Floppy zugreifen und darf dafür nichts eigenes mit USB machen.
Grüße
Erik
-
naja, ich benötige den zugriff aufs laufwerk ja erstmal nur im real-mode um den kernel und eventuell weiter sachen in den arbeitspeicher zu laden und dann in den Protected Mode zu schalten. Aber dort brauch ich erst mal dass Diskettenlaufwerk nicht mehr. bzw, wenn doch, werd cih schaun, ob sich da nen Treiber auffinden lässt.
-
Naja, jetzt is mir noch eingefallen, wie kann ich feststellen von wo aus gebootet wurde? also ob über ein externes diskettenlaufwerk (usb), oder ein internes gebootet wurde. Ich mein, ich muss ja schaun, welchen treiber ich verwende, kann schlecht für ein internes laufwerk, nen usb treiber nehmen.
mfg Sebi
-
Sorry dich da enttäuschen zu müssen, aber: Keine Möglichkeit
Die USB-Laufwerke sind im BIOS entsprechend fest eingebunden und ersetzen vonnen id's her die normalen eingebauten (d.h. wenn du von ner USB-HDD startest ist das bootdrive was dein bootloader vom bios bekommt immernoch 0x80, als obs die erste Festplätte wäre). Du musst wirklich alles was in Frage kommt laden und dann suchen.
Gleiches Spiel findet sich übrigens bei Linux Live-Distributionen, die machen das genauso wenn die von CD oder USB starten ;)
-
hm, und wie find ich dann heraus, welcher treiber funktioniert? also beide treiber laden, un äh, einfach gucken welcher funktoniert, oder kann man es vielleicht über den PIC herauskriegen?
-
Hab ich doch gesagt ;)
Du musst wirklich alles was in Frage kommt laden und dann suchen.
Nicht ausprobieren welcher der beiden Treiber funktioniert, sondern entsprechend den Treibermöglichkeiten alle Dateisysteme laden, und auf denen dann nach nem Erkennungsmerkmal (z.b. der gesuchten Datei) suchen. Der PIC kann dir da nicht helfen, einzige Option wäre wohl inner BIOS Data Area und CMOS nachzuschauen ob da nen Floppy eingetragen ist, ich würds jedenfalls für denkbar halten dass die nur echte listen. Aber alle Angaben ohne Gewähr ;)
-
und auf denen dann nach nem Erkennungsmerkmal (z.b. der gesuchten Datei) suchen
Naja, dasss ist doch ausprobieren, entweder er findet die datei, oder nicht.