当前位置: 技术问答>linux和unix
如何将windows下的源代码考到linux上
来源: 互联网 发布时间:2015-03-10
本文导语: 我的LINUX是2.4.18-14版本的,我在网上下拉一个2.4.18版本的我想用这个内核但linux不能识别ntfs文件系统 ,那我该怎么办? | 一、这个问题你如果不想编译内核的话,可以采取这个方法——我试...
我的LINUX是2.4.18-14版本的,我在网上下拉一个2.4.18版本的我想用这个内核但linux不能识别ntfs文件系统 ,那我该怎么办?
|
一、这个问题你如果不想编译内核的话,可以采取这个方法——我试过的
具体操作步骤(这里以redhat 8.0原始安装为例,#之后的整行是输入的命令,其他系统或者打过redhat 补丁的系统只有内核以及开发程序版本不同,按照自己的情况略加修改就可以正常完成):
login as root,
#uname -r 查看kernel版本号,确认你要编译的kernel source和运行的kernel一致,这一步并非必须,你可以在一个运行版本下编译另一个版本的kernel
#cd /usr/src/linux-2.4.18-14 2.4.18-14是新装的redhat 8的内核版本,随发行版不同略有变化,根据自己的情况改后面的数字。下面不再说明。
#make mrproper 说明:这一步很重要,否则编译会出错,这是编译任何内核的第一步;
#vi Makefile 编辑Makefile, 把前面EXTRAVERSION = -14custom 去掉custum,改成 EXTRAVERSION = -14 ,对照前面uname出来的结果,Makefile最前面几行的$VERSION+$PATCHLEVEL+$SUBLEVEL+$EXTRAVERSION 应该和你的内核版本完全一致。
#cp configs/kernel-2.4.18-i686.config .config (根据你的配置选择一个合适的config,多CPU的机器选择带smp的config)
#make menuconfig 选择File Systems,把光标定在NTFS file system support (read only) 前面,按回车是最前面显示为。紧跟的一行NTFS write support(DANGEROUS)前面不要选, 要吗?! 连续按ESC键(不要太多了),直到出现保存设置对话框,打回车确认。
#make dep
#make modules SUBDIRS=fs/ntfs
#mkdir /lib/modules/2.4.18-14/kernel/fs/ntfs
#cp /usr/src/linux-2.4.18-14/fs/ntfs/ntfs.o /lib/modules/2.4.18-14/kernel/fs/ntfs
#depmod -a
如果没有错误,编译完成。
#/sbin/fdisk -l 找到后面SYSTEM显示为 HPFS/NTFS的行,那就是你的NTFS分区,记下这一行最前面的 Device,(比如 /dev/hda1)windows 2000的动态磁盘显示为SFS,也是NTFS分区。
#mount -t ntfs /dev/hda1 /mnt/ntfs 测试一下 应该可以正常mount了(别忘了先建立 /mnt/ntfs目录),ls /mnt/ntfs 看一下。
二、另外,如果你想定制自己的内核,就必须编译内核了,我刚编译完成,然后按照通用的挂载格式就可以了
首先你必须确保你安装了内核编译这个组件。
在图形界面下选择好安装完成后,大概有这么几步(最后几步耗费时间很长)
1.cd usr/src/Linux***
2.make clean (make mrproper)
3.make xconfig (图形界面用xconfig,字符界面用menuconfig)
4。make dep
5.make bzImage
6.make modules
7.make install
8.make modules_install
具体操作步骤(这里以redhat 8.0原始安装为例,#之后的整行是输入的命令,其他系统或者打过redhat 补丁的系统只有内核以及开发程序版本不同,按照自己的情况略加修改就可以正常完成):
login as root,
#uname -r 查看kernel版本号,确认你要编译的kernel source和运行的kernel一致,这一步并非必须,你可以在一个运行版本下编译另一个版本的kernel
#cd /usr/src/linux-2.4.18-14 2.4.18-14是新装的redhat 8的内核版本,随发行版不同略有变化,根据自己的情况改后面的数字。下面不再说明。
#make mrproper 说明:这一步很重要,否则编译会出错,这是编译任何内核的第一步;
#vi Makefile 编辑Makefile, 把前面EXTRAVERSION = -14custom 去掉custum,改成 EXTRAVERSION = -14 ,对照前面uname出来的结果,Makefile最前面几行的$VERSION+$PATCHLEVEL+$SUBLEVEL+$EXTRAVERSION 应该和你的内核版本完全一致。
#cp configs/kernel-2.4.18-i686.config .config (根据你的配置选择一个合适的config,多CPU的机器选择带smp的config)
#make menuconfig 选择File Systems,把光标定在NTFS file system support (read only) 前面,按回车是最前面显示为。紧跟的一行NTFS write support(DANGEROUS)前面不要选, 要吗?! 连续按ESC键(不要太多了),直到出现保存设置对话框,打回车确认。
#make dep
#make modules SUBDIRS=fs/ntfs
#mkdir /lib/modules/2.4.18-14/kernel/fs/ntfs
#cp /usr/src/linux-2.4.18-14/fs/ntfs/ntfs.o /lib/modules/2.4.18-14/kernel/fs/ntfs
#depmod -a
如果没有错误,编译完成。
#/sbin/fdisk -l 找到后面SYSTEM显示为 HPFS/NTFS的行,那就是你的NTFS分区,记下这一行最前面的 Device,(比如 /dev/hda1)windows 2000的动态磁盘显示为SFS,也是NTFS分区。
#mount -t ntfs /dev/hda1 /mnt/ntfs 测试一下 应该可以正常mount了(别忘了先建立 /mnt/ntfs目录),ls /mnt/ntfs 看一下。
二、另外,如果你想定制自己的内核,就必须编译内核了,我刚编译完成,然后按照通用的挂载格式就可以了
首先你必须确保你安装了内核编译这个组件。
在图形界面下选择好安装完成后,大概有这么几步(最后几步耗费时间很长)
1.cd usr/src/Linux***
2.make clean (make mrproper)
3.make xconfig (图形界面用xconfig,字符界面用menuconfig)
4。make dep
5.make bzImage
6.make modules
7.make install
8.make modules_install