成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Linux系統下以模塊方式安裝卸載文件系統

運維 系統運維
在Kernel.org主頁上可以獲得2.6.24.4-64內核的源代碼,其實我們只需要其中linux-2.6.24.4/fs/minix/目錄中的代碼。因為我們不需要對整個內核進行重新編譯......

以Fedora8下面安裝minix文件系統為例:

為了保證與系統內核相匹配,首先得獲得相應版本的minix源代碼,首先通過uname -r查詢本機的內核版本:

[cocobear@cocobear ~]$ uname -r

2.6.24.4-64.fc8

在Kernel.org主頁上可以獲得2.6.24.4-64內核的源代碼,其實我們只需要其中linux-2.6.24.4/fs/minix/目錄中的代碼。因為我們不需要對整個內核進行重新編譯,因此我們只需要在linux-2.6.24.4/fs/minix/目錄下寫一個Makefile,生成相應的minix.ko就可以了。

在開始寫Makefile之前要確認系統已經安裝了以下的包:

[cocobear@cocobear ~]$ rpm -qa | grep kernel

kernel-devel-2.6.24.4-64.fc8

kernel-headers-2.6.24.4-64.fc8

kernel-2.6.24.4-64.fc8

在模塊編譯的過程中需要用到。

在源代碼中已經有一個Makefile:

#

# Makefile for the Linux minix filesystem routines.

#

obj-$(CONFIG_MINIX_FS) += minix.o

minix-objs := bitmap.o itree_v1.o itree_v2.o namei.o inode.o file.o dir.o

修改該文件為:

#

# Makefile for the Linux minix filesystem routines.

# make minix fs as kernel module

obj-m += minix.o

minix-objs := bitmap.o itree_v1.o itree_v2.o namei.o inode.o file.o dir.o

KERNELDIR:=/lib/modules/$(shell uname -r)/build

PWD:=$(shell pwd)

default:

make -C $(KERNELDIR) M=$(PWD) modules

clean:

rm -rf *.o *.mod.c *.ko *.symvers

這里簡單的解釋一下,obj-m表示該文件將以模塊的方式編譯;因為本模塊由多個文件組成,采用模塊名加 –objs(minix-objs)后綴的形式來定義模塊的組成文件。KERNELDIR定義了代碼樹的位置,PWD定義了當前文件夾位置;而make命令中-C選項指定了代碼樹的位置(由KERNELDIR給出),M=$(PWD)指定了在當前目前進行構建工作。

最后一行清理編譯過程產生的文件。


完成了Makefile后我們就可以開始編譯這個文件系統模塊了,直接輸入make就開始編譯了:


[cocobear@cocobear minix]$ make

make -C /lib/modules/2.6.24.4-64.fc8/build M=/home/cocobear/minix modules

make[1]: Entering directory `/usr/src/kernels/2.6.24.4-64.fc8-i686′

CC [M] /home/cocobear/minix/bitmap.o

CC [M] /home/cocobear/minix/itree_v1.o

CC [M] /home/cocobear/minix/itree_v2.o

CC [M] /home/cocobear/minix/namei.o

CC [M] /home/cocobear/minix/inode.o

CC [M] /home/cocobear/minix/file.o

CC [M] /home/cocobear/minix/dir.o

LD [M] /home/cocobear/minix/minix.o

Building modules, stage 2.

MODPOST 1 modules

CC /home/cocobear/minix/minix.mod.o

LD [M] /home/cocobear/minix/minix.ko

make[1]: Leaving directory `/usr/src/kernels/2.6.24.4-64.fc8-i686′

編譯結束后會面當前目前下生成minix.ko文件,這就是我們需要的東西,使用insmod命令就可以安裝這個minix文件系統模塊了。當然這里需要有root權限。我們來演示一下minix模塊的加載:

[cocobear@cocobear minix]$ cat /proc/modules | grep minix

[cocobear@cocobear minix]$

這里可以看到minix并沒有被加載,我們使用insmod minix.ko命令:

[cocobear@cocobear minix]$ sudo insmod minix.ko

[cocobear@cocobear minix]$ cat /proc/modules | grep minix

minix 28676 0 - Live 0xd0e7d000


insmod后我們從上面的信息可以看到minix模塊已經被加載,如果不需要使用這個模塊我們同樣可以很方便的把它卸載:

[cocobear@cocobear minix]$ sudo rmmod minix.ko

[cocobear@cocobear minix]$ cat /proc/modules | grep minix

[cocobear@cocobear minix]$

到此我們順利的完成了文件系統的編譯、安裝以及卸載。

BTW:中間遇到了點問題寫了Makefile后輸入make提示:”make: Nothing to be done for `default’.“,在網上找到了原因,在make命令前要使用tab,而不是空格,而我的剛好的空格,郁悶,以前就似乎遇到過的。

【編輯推薦】

  1. Linux下獨立添加PHP擴展模塊
  2. 巧用Recent模塊加固Linux安全
  3. Linux系統的Nagios網絡管理模塊的實現
責任編輯:趙寧寧 來源: 賽迪網
相關推薦

2009-12-10 13:35:25

Linux操作系統

2010-12-20 10:42:59

Linux文件系統

2009-10-28 13:29:14

Linux文件系統安裝

2010-01-06 11:06:07

2012-05-10 13:49:44

Linux文件系統

2010-01-14 09:52:27

linux文件系統

2010-01-05 15:26:04

Linux軟件

2010-03-02 15:09:26

Linux mount

2020-07-22 14:53:06

Linux系統虛擬文件

2011-01-13 14:10:30

Linux文件系統

2010-01-05 16:02:36

Ubuntu Git

2009-11-06 10:05:18

Linux系統環境GFS

2010-08-05 11:03:55

創建分區文件系統

2009-03-10 19:19:16

Linux日志文件系統安裝使用

2010-03-16 14:42:16

linux環境

2017-02-28 20:00:17

Linux文件系統對比

2009-10-23 10:05:36

2010-01-08 18:01:03

Ubuntu硬盤操作

2021-06-06 16:55:22

Linux文件系統

2021-04-12 05:44:44

Linux文件系統
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 黄色网址在线免费观看 | 在线免费91| 亚洲精品久久久久久久久久久 | 中文字幕亚洲在线 | 亚洲成av人片在线观看 | 亚洲精品在线免费观看视频 | 国产真实乱对白精彩久久小说 | 无码一区二区三区视频 | 中文字幕在线观看 | 三区四区在线观看 | av在线免费播放 | 色综合视频 | 91久久久精品国产一区二区蜜臀 | 在线视频成人 | 国产成人高清 | 国产视频线观看永久免费 | 国产精品女人久久久 | 亚洲精品第一国产综合野 | 亚洲精品在线看 | 欧美伊人久久久久久久久影院 | 日韩在线一区视频 | 青青久在线视频 | 黄色a视频 | 免费黄色录像片 | 91精产国品一二三区 | 久久精品一区 | 国产精品欧美日韩 | 亚洲国产一区在线 | 国产在线一区二区 | 成人免费区一区二区三区 | 中文二区| 日本不卡高清视频 | 免费在线黄色av | 国产丝袜一区二区三区免费视频 | 欧美久久大片 | 午夜男人天堂 | 久草成人| 国产精品免费观看 | 久久久久久免费毛片精品 | 日韩中文字幕在线观看 | 做a的各种视频 |