/lib/modules/linux version/kernel/fs/ には ext2/ext3/ext4 ディレクトリがありません。

/lib/modules/linux version/kernel/fs/ には ext2/ext3/ext4 ディレクトリがありません。

Linux 3.5カーネルをインストールし、e2fsprogsをコンパイルしました。私は独自のext3ファイルシステムのバージョンを持っています。これがmyfsだとしましょう。私もmyfsをコンパイルしました。今、いくつかの質問があります。

  1. myfsモジュールを挿入する方法と場所は何ですか? modprobe myfs(.koファイル)を実行すると、モジュールが見つからないというメッセージが表示されます。単にinsmod myfs.koを実行するとうまくいきますが、.koファイルがどこに保存されているのかわかりません。マウントされたフォルダ内にディレクトリを作成しようとすると、mkdir呼び出しによって追加されたディスプレイも表示されません(カーネルのデバッグレベルも8に設定されています)。

myfs ディレクトリの Makefile は次のようになります。

KERNEL_TREE     ?= /lib/modules/$(shell uname -r)/build
PWD     := $(shell pwd)

obj-m := iext3.o

iext3-objs := balloc.o bitmap.o dir.o file.o fsync.o ialloc.o inode.o \
           ioctl.o namei.o super.o symlink.o hash.o resize.o ext3_jbd.o \
           xattr.o xattr_user.o xattr_trusted.o acl.o xattr_security.o icefs.o \
           transaction.o commit.o recovery.o checkpoint.o revoke.o journal.o

all:
        make -C $(KERNEL_TREE) M=$(PWD) modules

clean:
        rm -rf *.o *~ core .depend .*.cmd *.ko *.mod.c .tmp_versions *.markers *.order *.symvers

私は私のディレクトリ/home/myname/soft/myfsでmyfsをコンパイルしています。

また、/lib/modules/linuxversion/kernel/fs/ に ext2/ext3/ext4 ディレクトリは表示されません。これが正しいか間違っているかわかりません。

  1. インストールはうまくいきます。 df -aを実行すると、myfsが/ dev / sda3にマウントされていることがわかります。マウントを解除すると -umount: /home/..../mnt: not Mounted と表示され、df -a を実行するとファイルシステムがマウント解除されます。削除しましたが、それでもエラーが発生しているので奇妙です。

いくつかの背景: すべてがあるディレクトリ: /home/soft myfs/ mye2fs/ Linux-3.5/ mnt/

ステップ1: cd Linux-3.5 --> 1) make 2) make module 3) make module_install 4) make install 5) 再起動

ステップ2:myfs(私のext3バージョン)をコンパイルし、myfsカーネルモジュール --> cd myfs / --> make --> insmod myfs.koを挿入します。

ステップ3:mye2fsをmkfsにコンパイル

ステップ4:mye2fsを使用してデバイスにmyfilesystemを作成する - >マウント - > myfsモジュールの下のprintkステートメントをテストする

関連情報