Hypercell ein ] Hypercell aus ] Zeige Navigation ] Verstecke Navigation ]
c++.net  
   

Die mobilen Seiten von c++.net:
https://m.c-plusplus.net

  
C++ Forum :: Projekt: OS-Development  ::  Wie kann ich ein anderes Medium als eine Floppy Disc verwenden?     Zeige alle Beiträge auf einer Seite Auf Beitrag antworten
Autor Nachricht
mbrain
Mitglied

Benutzerprofil
Anmeldungsdatum: 25.08.2015
Beiträge: 4
Beitrag mbrain Mitglied 19:04:31 25.08.2015   Titel:   Wie kann ich ein anderes Medium als eine Floppy Disc verwenden?            Zitieren

Guten Abend zusammen. Erstmal danke das ihr eure Arbeit mit anderen teilt, ich habe vor 4 Tagen mit dem Tutorial begonnen und bin gerade in der Stufe vor dem C Kernel. Wenn ich Bochs wie im Tut von der .bin Datei myOS.bin starte bootet es auch und der Kernel lädt wie er soll. Da ich leider kein Floppy Laufwerk habe wollte ich fragen, ob ich die myOS.bin statt auf eine Floppy auch auf eine CD oder einen USB Stick schreiben kann um zu versuchen ob mein laptop oder virtualbox damit startet?

Danke und fg Manuel


Zuletzt bearbeitet von mbrain am 19:05:05 25.08.2015, insgesamt 1-mal bearbeitet
Mr X
Mitglied

Benutzerprofil
Anmeldungsdatum: 18.09.2007
Beiträge: 1725
Beitrag Mr X Mitglied 19:06:39 25.08.2015   Titel:              Zitieren

Du kannst das ganze auch (mit dd) auf ein anderes Speichermedium pressen. Sofern das BIOS von USB-Sticks booten kann, ist die Chance auch ganz gut, dass es funktioniert.
mbrain
Mitglied

Benutzerprofil
Anmeldungsdatum: 25.08.2015
Beiträge: 4
Beitrag mbrain Mitglied 19:22:22 25.08.2015   Titel:              Zitieren

Danke für die schnelle Antwort. Ich habe es nämlich mit einem USB Stick versucht und beim booten ist zwar keine Fehlermeldung aber nur ein blankscreen mit cursor gekommen. Der Laptop bzw das BIOS kann von USB booten aber vlt hat ja der Stick etwas. Ich werde es einmal mit einer CD versuchen, danke erstmal.

edit: ich habe es jetzt mit einer CD, mit einem weiteren USB Stick und einer SD Karte versucht. Bochs startet auch vom USB Stick aber mein echter PC nicht. Es kommt aber noch immer keine Fehlermeldung das kein bootfähiges Medium gefunden wurde. Es scheint als wäre da so eine Art Bootloop oder so, als würde der laptop erkennen das da was ist aber es nicht starten können. mit der cd das selbe. entschuldige das ich mich so unbeholfen ausdrücke.

mfg


Zuletzt bearbeitet von mbrain am 19:46:01 25.08.2015, insgesamt 2-mal bearbeitet
Tobiking2
Mitglied

Benutzerprofil
Anmeldungsdatum: 12.04.2009
Beiträge: 1008
Beitrag Tobiking2 Mitglied 06:43:49 26.08.2015   Titel:              Zitieren

Wenn du ein relativ neues Mainboard mit UEFI hast müsstest du mal schauen ob es auf UEFI oder BIOS gestellt ist. Ansonsten gibt es bei USB in den BIOS Einstellungen meistens etwas von USB Legacy Support. Das muss aktiviert sein, sonst startet das BIOS zwar den Bootloader vom USB Stick, allerdings kann dieser dann nicht auf die weiteren Daten vom Stick zugreifen.
mbrain
Mitglied

Benutzerprofil
Anmeldungsdatum: 25.08.2015
Beiträge: 4
Beitrag mbrain Mitglied 21:09:03 27.08.2015   Titel:              Zitieren

Also meint ihr, ich habe im Prinzip alles richtig gemacht und es liegt an meinem laptop? Komisch ist aber das ich auch 2 live sticks habe und die booten ohne probleme, wenn ich sie im BootManager auswähle.

Es genügt also ein simples

dd if=/file.bin of=/dev/sdb

und der Bootloader sowie der Kernel in der Datei sind bootfähig auf dem Stick?
Mr X
Mitglied

Benutzerprofil
Anmeldungsdatum: 18.09.2007
Beiträge: 1725
Beitrag Mr X Mitglied 14:16:25 28.08.2015   Titel:              Zitieren

Wenn file.bin das Diskettenimage ist: Ja.
mbrain
Mitglied

Benutzerprofil
Anmeldungsdatum: 25.08.2015
Beiträge: 4
Beitrag mbrain Mitglied 19:32:07 30.08.2015   Titel:              Zitieren

Mr X schrieb:
Wenn file.bin das Diskettenimage ist: Ja.


file.bin ist die datei, die ich aus den beiden assemblierten .asm dateien mit cat zusammengefügt habe, wie ich anfangs beschrieben habe.

mfg
Erhard Henkes
Mitglied

Benutzerprofil
Anmeldungsdatum: 25.04.2000
Beiträge: 15377
Beitrag Erhard Henkes Mitglied 08:32:34 31.08.2015   Titel:              Zitieren

Für den Stick musst Du ein FAT12 Image bauen, also die Diskette simulieren. Dieses Thema könnte ich im Tutorial ergänzen. Bei PrettyOS haben wir tools dabei, die ein solches Image basteln.
http://prettyos.de

_________________
OS-Development-, C++, Win32-API-, MFC-, Chemie-, Robotik- und Flugsimulator-Tutorials
http://www.henkessoft.de/index.htm
w_ciossek
Mitglied

Benutzerprofil
Anmeldungsdatum: 12.09.2011
Beiträge: 12
Beitrag w_ciossek Mitglied 06:15:28 01.12.2017   Titel:              Zitieren

Muß man wirklich eine Diskette mit FAT12 simulieren, um den Bootstick zu nutzen? Das will ich ganz und gar nicht! Erstens bietet mir ein Bootstick wesentlich mehr Speicherplatz als eine Diskette und ich möchte auf den Bootstick ein eigenes entwickeltes Dateisystem haben. Vorerst sollte es sogar gar kein Dateisystem besitzen! Es muß doch möglich sein, einfach alle Sektoren lesen zu können.
Ich denke nicht, daß das BIOS beim Lesen von Datenträgern irgend ein Dateisystemformat wie beispielsweise FAT12 erwartet, sondern jediglich nur die Sektoren liest. Es werden ja auch Betriebsysteme wie Linux von einen Bootstick gebootet, dem ein ganz anderes Dateiformat zugrunde liegt.
Hierbei stellt sich die Frage, wie erkennt man, wieviel Zylinder, Köpfe und Sektoren hat ein USB-Stick je nach Kapazität? Diese Frage ist auch für mich interessant, um auch die Kapazitäten, und deren Zylinder-, Kopf- und Sektorenanzahl von Festplatten zu ermitteln, was ja durch die Low-Level-Formatierung festgelegt wird. Oft besitzt das BIOS diese Informationen und wie kommt man an sie heran, bzw. wie schafft das BIOS, beim Anschluß eines Datenträgers, automatisch diese Geometrie herauszulesen? Das könnte man im Prinzip auch durch ein eigenes Programm ermitteln?! Diese Informationen sind ja immerhin wichtig, wenn man ein Formatierungsprogramm für eine High-Level Formatierung schreiben möchte, die ein eigenes Dateisystem erzeugt.
Jedenfalls habe ich die Schwierigkeit, mit den USB-Stick zu booten, wenn ich ich den Befehl dd if=Betriebssytem.bin of=/dev/sdX (X für den USB-Stick) verwende, obwohl mein BIOS vom Bootstick booten kann. Ich denke, man braucht hierzu die entsprechende Geometrie, so daß man die einzelnen Sektoren in Zusammenhang mit der Kopf- und Zylinderanzahl die richtige Reihenfolge der Sektoren lesen kann.


Zuletzt bearbeitet von w_ciossek am 06:47:03 01.12.2017, insgesamt 1-mal bearbeitet
C++ Forum :: Projekt: OS-Development  ::  Wie kann ich ein anderes Medium als eine Floppy Disc verwenden?   Auf Beitrag antworten

Zeige alle Beiträge auf einer Seite




Nächstes Thema anzeigen
Vorheriges Thema anzeigen
Sie können Beiträge in dieses Forum schreiben.
Sie können auf Beiträge in diesem Forum antworten.
Sie können Ihre Beiträge in diesem Forum nicht bearbeiten.
Sie können Ihre Beiträge in diesem Forum nicht löschen.
Sie können an Umfragen in diesem Forum nicht mitmachen.

Powered by phpBB © 2001, 2002 phpBB Group :: FI Theme

c++.net ist Teilnehmer des Partnerprogramms von Amazon Europe S.à.r.l. und Partner des Werbeprogramms, das zur Bereitstellung eines Mediums für Websites konzipiert wurde, mittels dessen durch die Platzierung von Werbeanzeigen und Links zu amazon.de Werbekostenerstattung verdient werden kann.

Die Vervielfältigung der auf den Seiten www.c-plusplus.de, www.c-plusplus.info und www.c-plusplus.net enthaltenen Informationen ohne eine schriftliche Genehmigung des Seitenbetreibers ist untersagt (vgl. §4 Urheberrechtsgesetz). Die Nutzung und Änderung der vorgestellten Strukturen und Verfahren in privaten und kommerziellen Softwareanwendungen ist ausdrücklich erlaubt, soweit keine Rechte Dritter verletzt werden. Der Seitenbetreiber übernimmt keine Gewähr für die Funktion einzelner Beiträge oder Programmfragmente, insbesondere übernimmt er keine Haftung für eventuelle aus dem Gebrauch entstehenden Folgeschäden.