内核编译练习
本次编译内核需要实现的功能:        
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