经过长时间学习Linux文件系统安装卸载,和大家一起分享一下学习的经验.,希望也能为不了解的同学一个启示.。<性病>
以Fedora8下面安装minix文件.系统为例:.
为了保证与系统内核相匹配,首先得获得相应版本的minix源代码,首先通过u.name .-r查询本机的内核版本:[成人用品]
[co.cobear@.cocobear ~]$ uname -r.
2.6.24..4-64.fc8 女人
在Kernel.org主页上可以获得2.6.24.4-64内核的源代码,其实我们只需要其中linux-2.6.24.4/fs/minix/目录中的代码。因为我们不需要对整个内核进行重新编译,因此我们只需要在linux- .6.24.4/fs/minix/目录下写一个Makefi.le,生成相.应的.mi.nix.ko就可以了。 电子
在开始写Makefi.le之.前要确认系统已经安装了以下的包:[成人用品]
[cocobear@cocobear ~]$. rpm -qa | grep k.ernel 健康
kernel-devel-2.6..24.4-6.4.fc8[成人用品]
kernel.-head.ers-2.6.24.4-64.fc8--- 印刷
kernel-2.6..24.4-64.fc8 建材
在模块编译的过程中需要用到。
在源代码中已经有一个Makefil.e:健康
#
# Makefi.le for the. Linux minix filesystem routines. 婚庆
#
obj-$(CONFIG_M.INIX_.FS) += minix.o.
minix-objs. := bitmap.o itree_v1.o itree_v2.o n.amei.o inode.o file.o dir.o 婚庆
修改该文件为:
#
M.akefile for the Linux minix fil.esystem routines..
# make mini.x fs as .kernel module虚拟主机
ob.j-m += minix.o<性病>
minix-objs :=. bitmap.o itree_v1.o itree_v.2.o namei.o inode.o file.o dir.o 电子
KERNELDIR:=/lib/module.s/$(shell uname -r)/b.uild健康
PW.D:=$(shell pwd).
default:
make -C $(KERNELD.IR) M=$(PW.D) modules学习
clean:
rm -rf .*..o *.mod.c *.ko *.symvers投资
这里简单的解释一下,obj-m表示该文件将以模块的方式编译;因为本模块由多个文件组成,采用模块名加 –objs(minix-objs)后缀的形式来定义模.块的组成文件。KERNELDIR定义了代码树的位置,PWD定义了当前文件夹.位置;而make.命令中-C选项指定了代码树的位置(由KERNELDIR给出),M=$.(PWD)指定了在当前目前进行构建工作。 婚庆
最后一行清理编译过程产生的文件。. 乙肝
完成了Makefile后我们就可以开始.编译这个文件系统模块了,直接输入m.ake就开始编译了: 美容
[
cocobear@c.ocobear .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.fc.8-i686′<性病>
CC [M]. /home/coc.obear/minix/bitmap.o 汽车
CC [M] /hom.e/cocobear/minix/itree_v1..o服务器
CC [M] /home/cocobear/minix/itr..ee_v2.o 婚庆
C.C [M] /home/cocobear/m.inix/namei.o 婚庆
CC [M] /home/.cocobear/mini.x/inode.o外贸
CC [M]. /home/cocobear/.minix/file.o 鲜花
CC [M] /.home/cocobear/minix/dir.o. 健康
LD [M] /home/c.ocobear/minix/minix..o<性病>
Building modules,.. stage 2.电脑
MODPOST 1 mod.ules--- 印刷
CC /home/cocobear/m.inix/mini.x.mod.o.
L.D [M] /home/cocobear/minix/min.ix.ko 建材
make[1]: Leaving directo.ry. `/usr/src/kernels/2.6.24.4-64.fc8-i686′电影
编译.结束后会面当前目前下生成minix.ko文件,这就是我们需要的东西,使用insmod命令就可以安装这个minix文件系统模块了。当.然这里需要有root权限。我们来演示一下m.inix模块的加载: 美容
[
cocobear@c.oco.bear minix]$ cat /proc/modules | grep minix虚拟主机
[coc.obe.ar@cocobear minix]$.
这里可以看到minix并没有被加.载,我们使用insmod mi.nix.ko命令:.
[cocobear.@cocobear .minix]$ sudo insmod minix.ko 婚庆
[cocobear@cocobear mini.x]$ cat /p.roc/modules | grep minix投资
minix 28676. 0 - Live 0xd0e7d00.0.
insmod后我们从上.面的信息可以看到minix模块已经被加载,如果不需要使用.这个模块我们同样可以很方便的把它卸载:--------------彩票
[cocobear@cocobear minix]$ sudo rmm.od .minix.ko 电子
[coc.obear@cocobear minix]$ cat /pro.c/modules | grep minix学习
[
cocobear@cocob.ear m.inix]$ 美容
到此我们顺利的完成了Linux.文件系统安装.卸载和编译。 鲜花
BTW:中间遇到了点问题写了Makefile后输入make提示.:“m.ake: Nothing to b.e done for `default‘。”,在网上找到了原因,在make命令前要使用tab,而不是空格,而我的刚好的空格,郁闷.,以前就似乎遇到过的。.
浦华众诚培.训网.技术学院 转载.