Autor Thema: Filesystem  (Gelesen 16257 mal)

DaniilKharlamov

  • Beiträge: 22
    • Profil anzeigen
Gespeichert
« am: 03. May 2004, 13:43 »
Hola, ich habe eure Tuts gelesen und kann nur sagen, dass diese sehr gut erklärt werden, aber wie man das anwendet weiß ich nicht. Was ich rausfand, dass die Fat Boot Sektor in den Boatloader geschrieben werden muss, aber mehr nicht. Wie lege ich die Root einträge an und wie lege ich die Datenbanken für verschiedene Dateien an? Muss ich dafür ein Assemblercode anlegen, oder reicht nur eine Textdatei. Ich meine wenn man Assemblercode compiliert, dann wird das ja eine exe/bin format und da kann man ja doch keine Einträge dann ändern, oder? Und ich will die Bottdirectory (oder so) in den Boatloader speichern und wie bringe ich es zu stande, dass die Bootdirectory als erstes, die Einträge als zweites und die Rootdirectory als Drittes auf die Diskette schreibe?
Daniel
Meine lieblingsbilder:
[1] http://www.lifeisajoke.com/Osama/look_in_your_mirror_osama.jpg

[2]http://www.lifeisajoke.com/Osama/osamas_airforce.jpg

joachim_neu

  • Beiträge: 1 228
    • Profil anzeigen
    • http://www.joachim-neu.de
Gespeichert
« Antwort #1 am: 03. May 2004, 14:11 »
achtung! auf solche fragen kommt (zumindest bei mir) immer "das lernen können wir nicht für dich übernehmen!" also am besten nicht fragen. wenn du bock hast kannste mit mir und bscreator zusammen FAT implementieren. überlegs dir!
http://www.joachim-neu.de | http://www.orbitalpirates.de | http://www.middleageworld.de

System: 256 RAM, GeForce 2 MX 400, AMD Athlon XP 1600+, Windows XP, 1x Diskette, 1x DVD-ROM, 1x CD-R(W) Brenner,...

chr15

  • Beiträge: 279
    • Profil anzeigen
    • http://www.clinux.de.vu
Gespeichert
« Antwort #2 am: 03. May 2004, 15:03 »
Due kanst auch in einer binären Datei was verändern (Das kannst du in jeder Datei), aber ich habe noch nicht ganz verstanden, was du genau willst....
Kannst du eine Kurze verständliche Frage stellen????

DaniilKharlamov

  • Beiträge: 22
    • Profil anzeigen
Gespeichert
« Antwort #3 am: 04. May 2004, 09:47 »
Ich weiß nicht wie ich die FAT Tabelle, den Rootdirectory und die Bytes (mit diesen Signalen, wo das nächste Byte liegt) anlegen.... Die Bootsektor fürs Filesystem habe ich schon angelegt....
Meine lieblingsbilder:
[1] http://www.lifeisajoke.com/Osama/look_in_your_mirror_osama.jpg

[2]http://www.lifeisajoke.com/Osama/osamas_airforce.jpg

JensFZ

  • Beiträge: 96
    • Profil anzeigen
Gespeichert
« Antwort #4 am: 04. May 2004, 12:39 »
Hiho

Du kannst z.B. den Sektor, der die FAT-Einträge beinhaltet in den Speicher lesen (http://www.ctyme.com/intr/rb-0607.htm) und dort manipulieren. danach schreibst du einfach die geänderten einträge wieder zurück (http://www.ctyme.com/intr/rb-0608.htm). Beachte aber, dass diese Version warscheinlich nicht im PMode funktioniert. Da müsstest du es auf Port's umschreiben.

MfG JensFZ
 

chr15

  • Beiträge: 279
    • Profil anzeigen
    • http://www.clinux.de.vu
Gespeichert
« Antwort #5 am: 04. May 2004, 15:59 »
Also erst mal kannst du die Disk ja auch unter Win und Lin formatieren. Wenn du das aber dein eigenes OS machen lassen willst, dann kannst du eine FAT z.B. im Ram anlegen (Nach TeeJays Tut) und das dann Sectorweise auf die Disk schreiben. Das gleich mit dem Rootdir!

TeeJay

  • Beiträge: 630
    • Profil anzeigen
    • http://www.jay-code.de
Gespeichert
« Antwort #6 am: 04. May 2004, 16:32 »
www.jay-code.de/files/Floppy.asm

Da ist ein wenig Code zum Thema FAT12.
----------------------
Redakteur bei LowLevel

DaniilKharlamov

  • Beiträge: 22
    • Profil anzeigen
Gespeichert
« Antwort #7 am: 05. May 2004, 13:59 »
Wie jesagt: Wie ich dat verstande habe: Kopierreihenflge:

1) Boatloader (mit Boot Sector (ich meine die Daten des Filesystems))
2) Kernel
3) Die Fateinträge
4) Root directory

Kann man das alles in eine .raw Datei hintereinander speichern?

Wenn ich das dann speichere (z.b. copy boot.bin + kernel.bin + fateintr.bin + fatroot.bin) speichert er das dann in dieser Reihenfolge?

Gibt es tutorial zur speicherung von Root-, Fateinttäge? Ich kann mir nämlich das nicht vorstellen, wie das geht...  Für jede neue Datei muss ich eine Datei mit der Datenbank davon speichern?

Wie schreibe ich diese da rein und wie lese ich diese da wieder raus?

Daniel
Meine lieblingsbilder:
[1] http://www.lifeisajoke.com/Osama/look_in_your_mirror_osama.jpg

[2]http://www.lifeisajoke.com/Osama/osamas_airforce.jpg

lobmann

  • Beiträge: 243
    • Profil anzeigen
    • http://www.fallek.de.vu
Gespeichert
« Antwort #8 am: 05. May 2004, 16:54 »
Da kann ich auch nur wieder auf TeeJays FAT12 Tut verweisen.

Aber ich würde so vorgehen:
vomerstem FAT Eintrag loslegen und den ersten freien FAT Eintrag Suchen an den beschriebenen Sektor die ersten 512 Bytes schreiben. Dann den nächsten Suchen und das selbe bis die Datei vollkommen gespeichert ist. und dann einfach nen Eintrag in dem Directory machen wo die Datei haben willst.
Man kann doch nem alten Mann nicht in den Bart spucken und sagen es hat geschneit

StrgAltEntf

  • Beiträge: 22
    • Profil anzeigen
Gespeichert
« Antwort #9 am: 20. May 2004, 00:12 »
Zitat
DaniilKharlamov postete
Wenn ich das dann speichere (z.b. copy boot.bin + kernel.bin + fateintr.bin + fatroot.bin) speichert er das dann in dieser Reihenfolge?
Du musst "COPY /B A + B + C + D E" angeben, wenn du Binärdaten haben willst. Sonst bricht der gleich am ersten Sonderzeichen ab :-)
In der Reihenfolge, in der du die Dateinamen angibst, wird später auch gespeichert. D.h. das Beispiel kopiert sozusagen die Dateien A, B, C und D in dieser Reihen folge zur Datei E zusammen.

Was die Tuts angeht: Bezieh dich auf lobmann :-)

 

Einloggen