Wenn ich mein eigenes Dateisystem schreibe (einige grundlegende), wie installiere ich es auf meinem USB? Nehmen wir an, ich habe eine Hash-Tabelle geschrieben und möchte auf meinem USB formatieren. Mein Betriebssystem ist Ubuntu x86_64.
linux
ubuntu
usb
filesystems
user17629
quelle
quelle
Antworten:
Ich würde empfehlen, dass Sie zuerst mit neuen Dateisystemen spielen, indem Sie sie in Dateien und nicht in Geräte schreiben. Dies erleichtert Ihnen die Entwicklung und das Testen.
Sobald Sie Ihr Dateisystem in eine Datei geschrieben haben, können Sie es auf den USB-Stick kopieren. Wenn Sie Ihr USB-Laufwerk / Ihren USB-Schlüssel anschließen, weisen Ereignisskripten ihm einen Gerätenamen zu. Sie benötigen den Gerätenamen, um Ihr eigenes Dateisystem darauf zu installieren. Sie können seinen Namen erhalten, indem Sie betrachten
dmesg
Nachdem Sie es eingesteckt haben.Für einen USB-Kartenleser sehen Sie etwa Folgendes:
Die Datei
/dev/sdf
Hier kann man direkt mit dem interagieren, was auf der Speicherkarte gespeichert ist. Sie müssen darauf achten, den Geräteknoten für den USB-Schlüssel auszuwählen und nicht etwa eine Festplatte, von der Sie abhängig sind. Wenn sich auf dieser Speicherkarte eine Partitionstabelle befände, wären die Partitionen unter verfügbar/dev/sdf[n]
Dabei ist n die Nummer der Partition. Ubuntu stellt automatisch Dateisysteme ein, unter denen es erkannt wird/media/<username>/<label>
. Wenn Sie mit Ihrem eigenen Dateisystemformat herumspielen möchten, müssen Sie dies wahrscheinlich tunumount
die ersten.Sie können Ihr Dateisystem in eine Datei kopieren
myfs
zum usb schlüssel mit demdd
Werkzeug:Registrieren des neuen benutzerdefinierten Dateisystems
Sie können neue Dateisysteme mit implementieren
FUSE
, mit denen Sie Folgendes tun können:Hier ist ein Tutorial für einen in Ruby geschriebenen FS: https://www.debian-administration.org/article/619/Creating_Filesystems_with_Ruby__and_FUSE
Und wenn das funktioniert, können Sie Ihr neues benutzerdefiniertes Dateisystem dafür registrieren
mount
weiß was damit zu tun ist. Sehen: https://stackoverflow.com/questions/1554178/how-to-register-fuse-filesystem-type-with-mount8-and-fstabquelle