论坛风格切换
正版合作和侵权请联系 sd173@foxmail.com
 
  • 帖子
  • 日志
  • 用户
  • 版块
  • 群组
帖子
购买邀请后未收到邀请联系sdbeta@qq.com
  • 1790阅读
  • 0回复

[求助-系统问题]Centos5.3系统内核编译用以支持Reiserfs和NTFS文件系统 [复制链接]

上一主题 下一主题
离线惊鸿一剑
 
发帖
*
今日发帖
最后登录
1970-01-01
只看楼主 倒序阅读 使用道具 楼主  发表于: 2009-05-28 09:28:32
内核编译练习

本次编译内核需要实现的功能:
        
1、        编译内核以实现对EXT4、Reiserfs、NTFS文件系统的支持。
2、        以此复习2.6内核编译的一般过程。
==========================================================================================================

步骤一:拷贝所需要的内核源码包

        # fdisk –l
        # mkdir /media/u
        # mount /dev/sdb1 /media/u
        # cd /media/u
        # cd kernel
        # cp linux-2.6.28.tar.gz /usr/src/kernels/
        # cd
        # umount /media/u


步骤二:解压内核源码包

        # cd /usr/src/kernels/
        # tar xzvf linux-2.6.28.tar.gz


步骤三:编辑Makeflie文件

        # cd linux-2.6.28
        # vim Makefile
        -------------------------------------------------------------------------
          VERSION = 2
          PATCHLEVEL = 6
          SUBLEVEL = 28
          EXTRAVERSION = -128.el5                // 修改扩展版本号
            NAME = FileSystemTry                        // 修改名称
            ……

步骤四:拷贝配置文件用以生成“.config”配置文件

        # ls /boot
        # cp /boot/config-2.6.18-128.el5 ./.config

步骤五:在TUI界面载入.config文件并配置

        # make menuconfig
        选择相关的选项(详细选项大家可以载网上找“金步国2.6.19内核详细选项”
           http://lamp.linux.gov.cn/Linux/kernel_options.html
        备注:编译时选上 file system 里的 FUSE (Filesystem in Userspace )support
        
步骤六:编译内核

        # make


步骤七:安装内核

        # make modules_install
        # make install


步骤八:修改grub.conf

        # cp /boot/grub/grub.conf /boot/grub/grub.conf_bak
        # vim /boot/grub/grub.conf
          --------------------------------------------------------------
        default=0
        timeout=10
        splashimage=(hd0,0)/grub/splash.xpm.gz
        hiddenmenu
        title CentOS (2.6.28-128.el5)
                        root (hd0,0)
                        kernel /vmlinuz-2.6.28-128.el5 ro root=LABEL=/ hdc=ide-cdrom rhgb quiet
                        initrd /initrd-2.6.28-128.el5.img
        title CentOS (2.6.18-128.el5)
                        root (hd0,0)
                        kernel /vmlinuz-2.6.18-128.el5 ro root=LABEL=/ hdc=ide-cdrom rhgb quiet
                        initrd /initrd-2.6.18-128.el5.img

        
步骤九:编译安装reiserfsprogs

        作用:用于创建和维护reiserfs文件系统的工具
        软件包下载地址:
                ftp://ftp.namesys.com/pub/reiserfsprogs/reiserfsprogs-3.6.19.tar.gz
                http://ftp.namesys.com/pub/reiserfsprogs/reiserfsprogs-3.6.19.tar.gz

        # cp reiserfsprogs-3.6.19.tar.gz /usr/src
        # cd /usr/src
        # tar xzvf reiserfsprogs-3.6.19.tar.gz
        # cd reiserfsprogs-3.6.19
        备注:这里有一个文件中所指定的一个包含文件的路径不正确,需要修改:
        # vim include/reiserfs_fs.h
        --------------------------------------------------------------------------
         // 在末行模式使用“:41”直接将光标定位到41行
        修改下面的内容:
       #include <asm/unaligned.h>
       修改为:
       #include </usr/src/kernels/2.6.18-128.el5-i686/include/asm-i386/unaligned.h>
        --------------------------------------------------------------------------


        # ./configure --prefix=/usr --sbindir=/sbin && make
        # make install && ln -sf reiserfsck /sbin/fsck.reiserfs && ln -sf mkreiserfs /sbin/mkfs.reiserfs
        查看编译后生成的相关文件
        # ls /sbin/*reiserfs*


步骤十:编译安装:fuse-2.8.0-pre2.tar.gz和 ntfs-3g-2009.4.4.tgz用以对NTFS文件系统的(读)写支 持。
        
A、编译安装fuse-2.8.0-pre2.tar.gz
官方网站:http://fuse.sourceforge.net/
# cp fuse-2.8.0-pre2.tar.gz /usr/src
# cd fuse-2.8.0-pre2
# tar xzvf fuse-2.8.0-pre2.tar.gz
# ./configure
# make && make install

B、 编译安装ntfs-3g-2009.4.4.tgz
官方网站:http://www.ntfs-3g.org
# cp ntfs-3g-2009.4.4.tgz  /usr/src
# cp ntfs-3g-2009.4.4.tgz  /usr/src
# tar xzvf ntfs-3g-2009.4.4.tgz
# cd ntfs-3g-2009.4.4
# ./configure
# make && make install

C、 挂载:NTFS文件系统:
手工方式挂载:(下面两个命令都可以)
# ntfs-3g 设备名称 挂载点
# mount –t ntfs-3g设备名称 挂载点
开机自动挂载:
# vim /etc/fstab
------------------------------------实例---------
/dev/sda1         /mnt/windows        ntfs-3g     defaults    0 0