2012-03-31 5 views
1

Ich verwende das OSDEV Wiki als eine Ressource für die Programmierung eines Betriebssystems. Bisher habe ich einen 2-stufigen Bootloader mit einem minimalen 32-Bit Protected Mode Kernel.Ext2 Dateisystem auf einem USB

Allerdings habe ich für den Bootloader zu einem bestimmten Sektor geschrieben und aus einem bestimmten Sektor gelesen, und ich habe beschlossen, es auf die richtige Weise zu tun, und ein Dateisystem verwenden, also wählte ich das ext2-Dateisystem, da das Wiki eine Dokumentation enthält. Also habe ich mein Flash-Laufwerk mit ext2 formatiert, mit gparted auf Ubuntu 11.10, und packte lde (linux disc editor), und lief es mit meinem Flash-Laufwerk.

Das Problem ist, dass ich Tabelle nicht sehe, wie auf der Seite ext2 beschrieben, ich habe unter anderem Byte 1024 (0x400) angeschaut, und ich kann nicht scheinen, die Tabelle zu finden. Ich ging zurück in gparted, und es ist noch formatiert. Außerdem sagt lde "unrecognized file system", auch wenn ich festlege, dass es ext2 ist. Verwendet ein Flash-Laufwerk nicht das Standard-ext2-Dateisystem, wurde das Dateisystem so verändert, dass es dem auf der Seite beschriebenen ähnelt, oder bin ich einfach nicht an der richtigen Stelle?

Links:

Ext2 - http://wiki.osdev.org/Ext2

OsDev Wiki - http://wiki.osdev.org/Main_Page

+0

Ich habe gehört, dass _some_ billige Flash-Laufwerke "private" Speicherplatz aus dem FAT-Dateisystem für ihre eigene interne Verwendung verwenden, und daher nicht mit anderen Dateisystemen zuverlässig umgehen können. Aber ich hoffe, dass diese Geräte nicht mehr auf dem Markt sind, da sie _horrible_ klingen. Was sagt 'debugfs (8)' über Ihr Dateisystem? – sarnold

+0

Es sagt: Schlechte magische Zahl in Super-Block beim Öffnen des Dateisystems, und sie klingen schrecklich, hoffe, dass das hier nicht das Problem ist. – Codesmith

+0

Die meisten Sticks werden unpartitioniert verwendet; Ich habe keine Ahnung, wie gut verschiedene Werkzeuge mit ihnen umgehen, wenn sie partitioniert sind, aber stellen Sie sicher, dass Sie '/ dev/sdX' oder'/dev/sdX1' konsistent verwenden. – sarnold

Antwort

1

Wie in den Kommentaren erwähnt, ich habe meine Frage beantwortet. Mein Problem war nicht mit dem Formatieren meines Flash-Laufwerks, oder der Art, wie das Flash-Laufwerk verwendet wird, oder irgendetwas anderes, das technisch ist. Das Problem war, dass ich, als ich meinen CD-Editor benutzte, das Laufwerk selbst lesen wollte (/dev/sdb), und ich musste die Partition verwenden (/dev/sdb1). Als ich die Partition betrachtete, schaute ich auf 0x400 (der Anfang des Superblocks), und der Superblock war tatsächlich dort, wo er sein sollte. Ich habe auch den Superblock und einige der anderen Blöcke/Inoden mit denen auf meiner Festplatte verglichen, und das Format war das gleiche, aber nicht die Daten, wie zu erwarten war.

Verwandte Themen