Linux操作系统内核编译之NTFS文件系统模块支持案例

            Linux操作系统内核编译之NTFS文件系统模块支持案例

                                          作者:尹正杰

版权声明:原创作品,谢绝转载!否则将追究法律责任。

一.内核编译概述

  单内核体系设计、但充分借鉴了微内核设计体系的优点,为内核引入模块化机制

  内核组成部分:
    kernel:([*]:Y)
      内核核心,一般为bzImage,通常在
/boot目录下       名称为 vmlinuz-VERSION-RELEASE     kernel object:([M]:M)
      内核对象,一般放置于
/lib/modules/VERSION-RELEASE/     辅助文件:ramdisk       initrd       initramfs

二.内核版本

运行中的内核:
  uname命令:
    uname - print system information
    uname [OPTION]...
      -n: 显示节点名称
      -r: 显示VERSION-RELEASE
      -a:显示所有信息

三.内核模块管理相关命令

1>.lsmod命令

  显示由核心已经装载的内核模块
  显示的内容来自于:
/proc/modules文件
[root@yinzhengjie ~]# lsmod 
Module                  Size  Used by
tcp_diag                1041  0 
inet_diag               9430  1 tcp_diag
nls_utf8                1455  1 
fuse                   80180  2 
rfcomm                 71207  4 
sco                    17589  2 
bridge                 85770  0 
bnep                   16370  2 
l2cap                  54498  16 rfcomm,bnep
autofs4                27000  3 
8021q                  20507  0 
garp                    7184  1 8021q
stp                     2218  2 bridge,garp
llc                     5450  3 bridge,garp,stp
ipt_REJECT              2383  0 
nf_conntrack_ipv4       9218  0 
nf_defrag_ipv4          1483  1 nf_conntrack_ipv4
iptable_filter          2793  0 
ip_tables              17895  1 iptable_filter
ip6t_REJECT             4372  2 
nf_conntrack_ipv6       7985  3 
nf_defrag_ipv6         26468  1 nf_conntrack_ipv6
xt_state                1492  3 
nf_conntrack           79601  3 nf_conntrack_ipv4,nf_conntrack_ipv6,xt_state
ip6table_filter         2889  1 
ip6_tables             18828  1 ip6table_filter
ib_ipoib               81191  0 
rdma_ucm               15739  0 
ib_ucm                 12360  0 
ib_uverbs              40532  2 rdma_ucm,ib_ucm
ib_umad                13519  0 
rdma_cm                36651  1 rdma_ucm
ib_cm                  37444  3 ib_ipoib,ib_ucm,rdma_cm
iw_cm                  33136  1 rdma_cm
ib_sa                  24188  4 ib_ipoib,rdma_ucm,rdma_cm,ib_cm
ib_mad                 41628  3 ib_umad,ib_cm,ib_sa
ib_core                83020  10 ib_ipoib,rdma_ucm,ib_ucm,ib_uverbs,ib_umad,rdma_cm,ib_cm,iw_cm,ib_sa,ib_mad
ib_addr                 8304  3 rdma_ucm,rdma_cm,ib_core
ipv6                  336944  288 bridge,ip6t_REJECT,nf_conntrack_ipv6,nf_defrag_ipv6,ib_ipoib,ib_addr
uinput                  8152  0 
microcode             112333  0 
vmware_balloon          7199  0 
btusb                  16915  2 
bluetooth              98087  9 rfcomm,sco,bnep,l2cap,btusb
snd_seq_midi            6423  0 
rfkill                 19287  3 bluetooth
snd_seq_midi_event      7237  1 snd_seq_midi
snd_ens1371            21523  2 
snd_rawmidi            24697  2 snd_seq_midi,snd_ens1371
snd_ac97_codec        125095  1 snd_ens1371
ac97_bus                1452  1 snd_ac97_codec
snd_seq                60833  2 snd_seq_midi,snd_seq_midi_event
snd_seq_device          7277  3 snd_seq_midi,snd_rawmidi,snd_seq
snd_pcm                94177  2 snd_ens1371,snd_ac97_codec
snd_timer              22843  2 snd_seq,snd_pcm
snd                    73943  11 snd_ens1371,snd_rawmidi,snd_ac97_codec,snd_seq,snd_seq_device,snd_pcm,snd_timer
soundcore               7990  1 snd
snd_page_alloc          8856  1 snd_pcm
e1000                 134991  0 
sg                     29382  0 
shpchp                 29546  0 
i2c_piix4              11520  0 
ext4                  381488  3 
jbd2                   93380  1 ext4
mbcache                 8193  1 ext4
sr_mod                 15049  1 
cdrom                  39533  1 sr_mod
sd_mod                 37190  3 
crc_t10dif              1209  1 sd_mod
pata_acpi               3701  0 
ata_generic             3837  0 
ata_piix               24409  1 
mptspi                 16411  2 
mptscsih               36702  1 mptspi
mptbase                93807  2 mptspi,mptscsih
scsi_transport_spi     25703  1 mptspi
ttm                    89600  0 
drm_kms_helper        127731  0 
drm                   353461  2 ttm,drm_kms_helper
i2c_core               29164  3 i2c_piix4,drm_kms_helper,drm
dm_mirror              14864  0 
dm_region_hash         12181  1 dm_mirror
dm_log                  9930  2 dm_mirror,dm_region_hash
dm_mod                102791  11 dm_mirror,dm_log
[root@yinzhengjie ~]# 
[root@yinzhengjie ~]# lsmod
[root@yinzhengjie ~]# uname -r
2.6.32-754.el6.x86_64
[root@yinzhengjie ~]# 
[root@yinzhengjie ~]# uname -m
x86_64
[root@yinzhengjie ~]# 
[root@yinzhengjie ~]# cat /etc/redhat-release 
CentOS release 6.10 (Final)
[root@yinzhengjie ~]# 
[root@yinzhengjie ~]# lsmod | grep xfs   #我们发现当前已经加载的模块并没有xfs文件系统内核模块哟~
[root@yinzhengjie ~]# 
[root@yinzhengjie ~]# locate xfs      #我们发现CentOS 6.10是支持xfs文件系统的,但默认清空下并没有加载,因为CentOS 6.x系列使用的默认文件系统是ext4。
/boot/grub/xfs_stage1_5
/etc/selinux/targeted/modules/active/modules/xfs.pp
/lib/modules/2.6.32-754.el6.x86_64/kernel/fs/xfs
/lib/modules/2.6.32-754.el6.x86_64/kernel/fs/xfs/xfs.ko
/usr/include/linux/dqblk_xfs.h
/usr/lib/python2.6/site-packages/sos/plugins/xfs.py
/usr/lib/python2.6/site-packages/sos/plugins/xfs.pyc
/usr/lib/python2.6/site-packages/sos/plugins/xfs.pyo
/usr/share/grub/x86_64-redhat/xfs_stage1_5
/usr/share/selinux/devel/include/services/xfs.if
/usr/share/selinux/targeted/xfs.pp.bz2
[root@yinzhengjie ~]# 
[root@yinzhengjie ~]# 
[root@yinzhengjie ~]# lsmod | grep xfs   #我们发现当前已经加载的模块并没有xfs文件系统内核模块哟~

2>.modinfo命令

  显示模块的详细描述信息
  modinfo [
-k kernel ] [ modulename|filename... ]     -n:只显示模块文件路径     -p:显示模块参数     -a:作者     -d:描述
  示例:
    lsmod |grep xfs     modinfo xfs
[root@yinzhengjie ~]# modinfo xfs
filename:       /lib/modules/2.6.32-754.el6.x86_64/kernel/fs/xfs/xfs.ko
license:        GPL
description:    SGI XFS with ACLs, security attributes, large block/inode numbers, no debug enabled
author:         Silicon Graphics, Inc.
retpoline:      Y
srcversion:     032C69ECC93FCBD7B47F691
depends:        exportfs
vermagic:       2.6.32-754.el6.x86_64 SMP mod_unload modversions 
[root@yinzhengjie ~]# 
[root@yinzhengjie ~]# modinfo -n xfs
/lib/modules/2.6.32-754.el6.x86_64/kernel/fs/xfs/xfs.ko
[root@yinzhengjie ~]# 
[root@yinzhengjie ~]# modinfo -p xfs
[root@yinzhengjie ~]# modinfo -a xfs
Silicon Graphics, Inc.
[root@yinzhengjie ~]# modinfo -d xfs
SGI XFS with ACLs, security attributes, large block/inode numbers, no debug enabled
[root@yinzhengjie ~]# 
[root@yinzhengjie ~]# modinfo xfs

3>.modprobe命令(可以解决依赖性,和Linux的yum工具很像)

  装载或卸载内核模块
    modprobe [ -C config-file ] [ modulename ] [ module parame-ters... ]
    modprobe [ -r ] modulename…

  配置文件:/etc/modprobe.conf, /etc/modprobe.d/*.conf

4>.depmod命令

  内核模块依赖关系文件及系统信息映射文件的生成工具

5>.装载或卸载内核模块(不能解决依赖性,和Linux的rpm工具很像)

insmod命令:指定模块文件,不自动解决依赖模块
  insmod [ filename ] [ module options... ]
  insmod `modinfo –n exportfs`
  lnsmod `modinfo –n xfs`

rmmod命令:卸载模块
  rmmod [ modulename ]
  rmmod xfs
  rmmod exportfs

四.内核编译

1>.获取内核

前提:
  (1)准备好开发环境
  (2)获取目标主机上硬件设备的相关信息
  (3)获取目标主机系统功能的相关信息
      例如:需要启用相应的文件系统
  (4)获取内核源代码包
      www.kernel.org

2>.开发环境准备

包组
  Development Tools

目标主机硬件设备相关信息
  CPU:
    cat /proc/cpuinfo
    x86info -a
    lscp

3>.硬件设备

PCI设备:
  lspci
    -v
    -vv
  lsusb
    -v
    -vv
  lsblk 块设备

了解全部硬件设备信息
  hal-device:CentOS 6

4>.内核编译安装系统步骤概述

  安装开发包组
  下载源码文件
  .config:准备文本配置文件
  make menuconfig:配置内核选项
  make [-j #]
  make modules_install:安装模块
  make install :安装内核相关文件
    安装bzImage为/boot/vmlinuz-VERSION-RELEASE
    生成initramfs文件
    编辑grub的配置文件

5>.编译内核

配置内核选项
  支持“更新”模式进行配置:make help
    (1)make config:基于命令行以遍历的方式配置内核中可配置的每个选项
    (2)make menuconfig:基于curses的文本窗口界面(字符界面)
    (3)make gconfig:基于GTK (GNOME)环境窗口界面(图形界面)
    (4)make xconfig:基于QT(KDE)环境的窗口界面(图形界面)
  支持“全新配置”模式进行配置
    (1)make defconfig:基于内核为目标平台提供的“默认”配置进行配置
    (2)make allyesconfig: 所有选项均回答为“yes“(所有功能都启用)
    (3)make allnoconfig: 所有选项均回答为“no“(所有功能都不启用)

编译
  全编译:make [-j #]
  编译内核的一部分功能:
    (1)只编译某子目录中的相关代码
        cd /usr/src/linux
        make dir/
    (2)只编译一个特定的模块
        cd /usr/src/linux
        make dir/file.ko
        示例:只为e1000编译驱动:
            make drivers/net/ethernet/intel/e1000/e1000.ko

如何交叉编译内核:
  编译的目标平台与当前平台不相同
  make ARCH=arch_name

要获取特定目标平台的使用帮助
  make ARCH=arch_name help
  示例:
    make ARCH=arm help

在已经执行过编译操作的内核源码树做重新编译
  需要事先清理操作:
    make clean:清理大多数编译生成的文件,但会保留config文件等
    make mrproper: 清理所有编译生成的文件、config及某些备份文件
    make distclean:mrproper、清理patches以及编辑器备份文件
[root@yinzhengjie ~]# dmesg | grep -C 10 sda              #查看sda硬盘信息的前后10行
ata2: PATA max UDMA/33 cmd 0x170 ctl 0x376 bmdma 0x1068 irq 15
usb 2-2: New USB device found, idVendor=0e0f, idProduct=0002
usb 2-2: New USB device strings: Mfr=0, Product=1, SerialNumber=0
usb 2-2: Product: VMware Virtual USB Hub
usb 2-2: configuration #1 chosen from 1 choice
hub 2-2:1.0: USB hub found
hub 2-2:1.0: 7 ports detected
ata2.00: ATAPI: VMware Virtual IDE CDROM Drive, 00000001, max UDMA/33
ata2.00: configured for UDMA/33
scsi 2:0:0:0: CD-ROM            NECVMWar VMware IDE CDR10 1.00 PQ: 0 ANSI: 5
sd 0:0:0:0: [sda] 1048576000 512-byte logical blocks: (536 GB/500 GiB)
sd 0:0:0:0: [sda] Write Protect is off
sd 0:0:0:0: [sda] Mode Sense: 61 00 00 00
sd 0:0:0:0: [sda] Cache data unavailable
sd 0:0:0:0: [sda] Assuming drive cache: write through
sd 0:0:0:0: [sda] Cache data unavailable
sd 0:0:0:0: [sda] Assuming drive cache: write through
 sda: sda1 sda2
sd 0:0:0:0: [sda] Cache data unavailable
sd 0:0:0:0: [sda] Assuming drive cache: write through
sd 0:0:0:0: [sda] Attached SCSI disk
sr0: scsi3-mmc drive: 1x/1x writer dvd-ram cd/rw xa/form2 cdda tray
Uniform CD-ROM driver Revision: 3.20
sr 2:0:0:0: Attached scsi CD-ROM sr0
usb 2-2.1: new full speed USB device number 4 using uhci_hcd
dracut: Scanning devices sda2  for LVM logical volumes vg_node200/lv_swap vg_node200/lv_root 
dracut: inactive '/dev/vg_node200/lv_root' [50.00 GiB] inherit
dracut: inactive '/dev/vg_node200/lv_home' [445.65 GiB] inherit
dracut: inactive '/dev/vg_node200/lv_swap' [3.86 GiB] inherit
usb 2-2.1: New USB device found, idVendor=0e0f, idProduct=0008
usb 2-2.1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
usb 2-2.1: Product: Virtual Bluetooth Adapter
usb 2-2.1: Manufacturer: VMware
usb 2-2.1: SerialNumber: 000650268328
usb 2-2.1: configuration #1 chosen from 1 choice
EXT4-fs (dm-0): mounted filesystem with ordered data mode. Opts: 
--
NET: Registered protocol family 31
Bluetooth: HCI device and connection manager initialized
Bluetooth: HCI socket layer initialized
Bluetooth: Generic Bluetooth USB driver ver 0.6
usbcore: registered new interface driver btusb
microcode: CPU0 sig=0x906ea, pf=0x1, revision=0xb4
platform microcode: firmware: requesting intel-ucode/06-9e-0a
microcode: CPU1 sig=0x906ea, pf=0x1, revision=0xb4
platform microcode: firmware: requesting intel-ucode/06-9e-0a
Microcode Update Driver: v2.00 <tigran@aivazian.fsnet.co.uk>, Peter Oruba
EXT4-fs (sda1): mounted filesystem with ordered data mode. Opts: 
SELinux: initialized (dev sda1, type ext4), uses xattr
EXT4-fs (dm-2): mounted filesystem with ordered data mode. Opts: 
SELinux: initialized (dev dm-2, type ext4), uses xattr
Adding 4046844k swap on /dev/mapper/vg_node200-lv_swap.  Priority:-1 extents:1 across:4046844k 
SELinux: initialized (dev binfmt_misc, type binfmt_misc), uses genfs_contexts
NET: Registered protocol family 10
lo: Disabled Privacy Extensions
ip6_tables: (C) 2000-2006 Netfilter Core Team
nf_conntrack version 0.5.0 (16384 buckets, 65536 max)
ip_tables: (C) 2000-2006 Netfilter Core Team
e1000: eth0 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: None
[root@yinzhengjie ~]# 
[root@yinzhengjie ~]# 
[root@yinzhengjie ~]# dmesg | grep -C 10 sda              #查看sda硬盘信息的前后10行
[root@yinzhengjie linux-4.18.13]# du -sh ./
8.3G    ./
[root@yinzhengjie linux-4.18.13]# 
[root@yinzhengjie linux-4.18.13]# make clean
  CLEAN   .
  CLEAN   arch/x86/entry/vdso
  CLEAN   arch/x86/kernel/cpu
  CLEAN   arch/x86/kernel
  CLEAN   arch/x86/realmode/rm
  CLEAN   arch/x86/lib
  CLEAN   certs
  CLEAN   drivers/gpu/drm/radeon
  CLEAN   drivers/scsi/aic7xxx
  CLEAN   drivers/scsi
  CLEAN   drivers/tty/vt
  CLEAN   drivers/video/logo
  CLEAN   lib/raid6
  CLEAN   lib
  CLEAN   net/wireless
  CLEAN   security/selinux
  CLEAN   usr
  CLEAN   arch/x86/boot/compressed
  CLEAN   arch/x86/boot
  CLEAN   arch/x86/tools
  CLEAN   .tmp_versions
[root@yinzhengjie linux-4.18.13]# 
[root@yinzhengjie linux-4.18.13]# du -sh ./
915M    ./
[root@yinzhengjie linux-4.18.13]# 
[root@yinzhengjie linux-4.18.13]# make clean
[root@yinzhengjie linux-4.18.13]# du -sh ./
915M    ./
[root@yinzhengjie linux-4.18.13]# 
[root@yinzhengjie linux-4.18.13]# make mrproper
  CLEAN   scripts/basic
  CLEAN   scripts/genksyms
  CLEAN   scripts/kconfig
  CLEAN   scripts/mod
  CLEAN   scripts/selinux/genheaders
  CLEAN   scripts/selinux/mdp
  CLEAN   scripts
  CLEAN   include/config usr/include include/generated arch/x86/include/generated
  CLEAN   .config .version Module.symvers
[root@yinzhengjie linux-4.18.13]# 
[root@yinzhengjie linux-4.18.13]# 
[root@yinzhengjie linux-4.18.13]# du -sh ./
900M    ./
[root@yinzhengjie linux-4.18.13]# 
[root@yinzhengjie linux-4.18.13]# 
[root@yinzhengjie linux-4.18.13]# make mrproper

五.内核编译实战案例之ntfs编译安装

1>.下载源码文件并解压

[root@yinzhengjie ~]# ll -h
total 98M
-rw-r--r--. 1 root root 98M Oct 24 08:51 linux-4.18.13.tar.xz
[root@yinzhengjie ~]# 
[root@yinzhengjie ~]# tar xf linux-4.18.13.tar.xz 
[root@yinzhengjie ~]# 
[root@yinzhengjie ~]# ll -h
total 98M
drwxrwxr-x. 25 root root 4.0K Oct 10  2018 linux-4.18.13
-rw-r--r--.  1 root root  98M Oct 24 08:51 linux-4.18.13.tar.xz
[root@yinzhengjie ~]# 
[root@yinzhengjie ~]# du -sh linux-4.18.13
898M    linux-4.18.13
[root@yinzhengjie ~]# 

2>.准备文本配置文件

[root@yinzhengjie ~]# grep -i ntfs /boot/config-2.6.32-754.el6.x86_64       #查看操作系统是否编译了ntfs模块到内核,很显然是没有的。
# CONFIG_NTFS_FS is not set
[root@yinzhengjie ~]# 
[root@yinzhengjie ~]# wc -l /boot/config-2.6.32-754.el6.x86_64 
4730 /boot/config-2.6.32-754.el6.x86_64
[root@yinzhengjie ~]# 
[root@yinzhengjie ~]# ll -h
total 98M
drwxrwxr-x. 25 root root 4.0K Dec 2 22:49 linux-4.18.13
-rw-r--r--. 1 root root 98M Oct 24 08:51 linux-4.18.13.tar.xz
[root@yinzhengjie ~]#
[root@yinzhengjie ~]# cp /boot/config-2.6.32-754.el6.x86_64 linux-4.18.13/.config      #直接拿系统的编译文件作为模板来修改即可,咱们不是做内核开发人员,没必要一个一个参数去修改。
[root@yinzhengjie ~]# 
[root@yinzhengjie ~]# ll linux-4.18.13/.config 
-rw-r--r--. 1 root root 108282 Dec 2 22:49 linux-4.18.13/.config
[root@yinzhengjie ~]#

3>.安装依赖包

[root@yinzhengjie ~]# yum -y groupinstall "Development Tools"
Loaded plugins: fastestmirror, refresh-packagekit, security
Setting up Group Process
Loading mirror speeds from cached hostfile
 * base: mirrors.huaweicloud.com
 * extras: mirrors.huaweicloud.com
 * updates: mirrors.huaweicloud.com
Package 1:make-3.81-23.el6.x86_64 already installed and latest version
Package patch-2.6-8.el6_9.x86_64 already installed and latest version
Package 1:pkgconfig-0.23-9.1.el6.x86_64 already installed and latest version
Package gettext-0.17-18.el6.x86_64 already installed and latest version
Package elfutils-0.164-2.el6.x86_64 already installed and latest version
Package cvs-1.11.23-16.el6.x86_64 already installed and latest version
Resolving Dependencies
--> Running transaction check
---> Package autoconf.noarch 0:2.63-5.1.el6 will be installed
---> Package automake.noarch 0:1.11.1-4.el6 will be installed
---> Package binutils.x86_64 0:2.20.51.0.2-5.48.el6 will be updated
---> Package binutils.x86_64 0:2.20.51.0.2-5.48.el6_10.1 will be an update
---> Package bison.x86_64 0:2.4.1-5.el6 will be installed
---> Package byacc.x86_64 0:1.9.20070509-7.el6 will be installed
---> Package cscope.x86_64 0:15.6-7.el6 will be installed
---> Package ctags.x86_64 0:5.8-2.el6 will be installed
---> Package diffstat.x86_64 0:1.51-2.el6 will be installed
---> Package doxygen.x86_64 1:1.6.1-6.el6 will be installed
---> Package flex.x86_64 0:2.5.35-9.el6 will be installed
---> Package gcc.x86_64 0:4.4.7-23.el6 will be installed
--> Processing Dependency: cpp = 4.4.7-23.el6 for package: gcc-4.4.7-23.el6.x86_64
--> Processing Dependency: cloog-ppl >= 0.15 for package: gcc-4.4.7-23.el6.x86_64
---> Package gcc-c++.x86_64 0:4.4.7-23.el6 will be installed
--> Processing Dependency: libstdc++-devel = 4.4.7-23.el6 for package: gcc-c++-4.4.7-23.el6.x86_64
--> Processing Dependency: libmpfr.so.1()(64bit) for package: gcc-c++-4.4.7-23.el6.x86_64
---> Package gcc-gfortran.x86_64 0:4.4.7-23.el6 will be installed
--> Processing Dependency: libgfortran = 4.4.7-23.el6 for package: gcc-gfortran-4.4.7-23.el6.x86_64
--> Processing Dependency: libgfortran.so.3()(64bit) for package: gcc-gfortran-4.4.7-23.el6.x86_64
---> Package git.x86_64 0:1.7.1-9.el6_9 will be installed
--> Processing Dependency: perl-Git = 1.7.1-9.el6_9 for package: git-1.7.1-9.el6_9.x86_64
--> Processing Dependency: perl(Git) for package: git-1.7.1-9.el6_9.x86_64
--> Processing Dependency: perl(Error) for package: git-1.7.1-9.el6_9.x86_64
---> Package indent.x86_64 0:2.2.10-7.el6 will be installed
---> Package intltool.noarch 0:0.41.0-1.1.el6 will be installed
--> Processing Dependency: perl(XML::Parser) for package: intltool-0.41.0-1.1.el6.noarch
--> Processing Dependency: gettext-devel for package: intltool-0.41.0-1.1.el6.noarch
---> Package libtool.x86_64 0:2.2.6-15.5.el6 will be installed
---> Package patchutils.x86_64 0:0.3.1-3.1.el6 will be installed
---> Package rcs.x86_64 0:5.7-37.el6 will be installed
---> Package redhat-rpm-config.noarch 0:9.0.3-51.el6.centos will be installed
---> Package rpm-build.x86_64 0:4.8.0-59.el6 will be installed
---> Package subversion.x86_64 0:1.6.11-15.el6_7 will be installed
--> Processing Dependency: perl(URI) >= 1.17 for package: subversion-1.6.11-15.el6_7.x86_64
---> Package swig.x86_64 0:1.3.40-6.el6 will be installed
---> Package systemtap.x86_64 0:2.9-9.el6 will be installed
--> Processing Dependency: systemtap-devel = 2.9-9.el6 for package: systemtap-2.9-9.el6.x86_64
--> Processing Dependency: systemtap-client = 2.9-9.el6 for package: systemtap-2.9-9.el6.x86_64
--> Running transaction check
---> Package cloog-ppl.x86_64 0:0.15.7-1.2.el6 will be installed
--> Processing Dependency: libppl_c.so.2()(64bit) for package: cloog-ppl-0.15.7-1.2.el6.x86_64
--> Processing Dependency: libppl.so.7()(64bit) for package: cloog-ppl-0.15.7-1.2.el6.x86_64
---> Package cpp.x86_64 0:4.4.7-23.el6 will be installed
---> Package gettext-devel.x86_64 0:0.17-18.el6 will be installed
--> Processing Dependency: gettext-libs = 0.17-18.el6 for package: gettext-devel-0.17-18.el6.x86_64
--> Processing Dependency: libgettextpo.so.0()(64bit) for package: gettext-devel-0.17-18.el6.x86_64
--> Processing Dependency: libgcj_bc.so.1()(64bit) for package: gettext-devel-0.17-18.el6.x86_64
--> Processing Dependency: libasprintf.so.0()(64bit) for package: gettext-devel-0.17-18.el6.x86_64
---> Package libgfortran.x86_64 0:4.4.7-23.el6 will be installed
---> Package libstdc++-devel.x86_64 0:4.4.7-23.el6 will be installed
---> Package mpfr.x86_64 0:2.4.1-6.el6 will be installed
---> Package perl-Error.noarch 1:0.17015-4.el6 will be installed
---> Package perl-Git.noarch 0:1.7.1-9.el6_9 will be installed
---> Package perl-URI.noarch 0:1.40-2.el6 will be installed
---> Package perl-XML-Parser.x86_64 0:2.36-7.el6 will be installed
--> Processing Dependency: perl(LWP) for package: perl-XML-Parser-2.36-7.el6.x86_64
---> Package systemtap-client.x86_64 0:2.9-9.el6 will be installed
---> Package systemtap-devel.x86_64 0:2.9-9.el6 will be installed
--> Processing Dependency: kernel-devel for package: systemtap-devel-2.9-9.el6.x86_64
--> Running transaction check
---> Package gettext-libs.x86_64 0:0.17-18.el6 will be installed
---> Package kernel-devel.x86_64 0:2.6.32-754.24.3.el6 will be installed
---> Package libgcj.x86_64 0:4.4.7-23.el6 will be installed
---> Package perl-libwww-perl.noarch 0:5.833-5.el6 will be installed
--> Processing Dependency: perl-HTML-Parser >= 3.33 for package: perl-libwww-perl-5.833-5.el6.noarch
--> Processing Dependency: perl(HTML::Entities) for package: perl-libwww-perl-5.833-5.el6.noarch
--> Processing Dependency: perl(Compress::Zlib) for package: perl-libwww-perl-5.833-5.el6.noarch
---> Package ppl.x86_64 0:0.10.2-11.el6 will be installed
--> Running transaction check
---> Package perl-Compress-Zlib.x86_64 0:2.021-144.el6 will be installed
--> Processing Dependency: perl(IO::Uncompress::Gunzip) >= 2.021 for package: perl-Compress-Zlib-2.021-144.el6.x86_64
--> Processing Dependency: perl(IO::Compress::Gzip::Constants) >= 2.021 for package: perl-Compress-Zlib-2.021-144.el6.x86_64
--> Processing Dependency: perl(IO::Compress::Gzip) >= 2.021 for package: perl-Compress-Zlib-2.021-144.el6.x86_64
--> Processing Dependency: perl(IO::Compress::Base::Common) >= 2.021 for package: perl-Compress-Zlib-2.021-144.el6.x86_64
--> Processing Dependency: perl(Compress::Raw::Zlib) >= 2.021 for package: perl-Compress-Zlib-2.021-144.el6.x86_64
---> Package perl-HTML-Parser.x86_64 0:3.64-2.el6 will be installed
--> Processing Dependency: perl(HTML::Tagset) >= 3.03 for package: perl-HTML-Parser-3.64-2.el6.x86_64
--> Processing Dependency: perl(HTML::Tagset) for package: perl-HTML-Parser-3.64-2.el6.x86_64
--> Running transaction check
---> Package perl-Compress-Raw-Zlib.x86_64 1:2.021-144.el6 will be installed
---> Package perl-HTML-Tagset.noarch 0:3.20-4.el6 will be installed
---> Package perl-IO-Compress-Base.x86_64 0:2.021-144.el6 will be installed
---> Package perl-IO-Compress-Zlib.x86_64 0:2.021-144.el6 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

================================================================================================================================================
 Package                                  Arch                     Version                                      Repository                 Size
================================================================================================================================================
Installing:
 autoconf                                 noarch                   2.63-5.1.el6                                 base                      781 k
 automake                                 noarch                   1.11.1-4.el6                                 base                      550 k
 bison                                    x86_64                   2.4.1-5.el6                                  base                      637 k
 byacc                                    x86_64                   1.9.20070509-7.el6                           base                       48 k
 cscope                                   x86_64                   15.6-7.el6                                   base                      136 k
 ctags                                    x86_64                   5.8-2.el6                                    base                      147 k
 diffstat                                 x86_64                   1.51-2.el6                                   base                       29 k
 doxygen                                  x86_64                   1:1.6.1-6.el6                                base                      2.4 M
 flex                                     x86_64                   2.5.35-9.el6                                 base                      285 k
 gcc                                      x86_64                   4.4.7-23.el6                                 base                       10 M
 gcc-c++                                  x86_64                   4.4.7-23.el6                                 base                      4.7 M
 gcc-gfortran                             x86_64                   4.4.7-23.el6                                 base                      4.7 M
 git                                      x86_64                   1.7.1-9.el6_9                                base                      4.6 M
 indent                                   x86_64                   2.2.10-7.el6                                 base                      115 k
 intltool                                 noarch                   0.41.0-1.1.el6                               base                       58 k
 libtool                                  x86_64                   2.2.6-15.5.el6                               base                      564 k
 patchutils                               x86_64                   0.3.1-3.1.el6                                base                       95 k
 rcs                                      x86_64                   5.7-37.el6                                   base                      173 k
 redhat-rpm-config                        noarch                   9.0.3-51.el6.centos                          base                       60 k
 rpm-build                                x86_64                   4.8.0-59.el6                                 base                      131 k
 subversion                               x86_64                   1.6.11-15.el6_7                              base                      2.3 M
 swig                                     x86_64                   1.3.40-6.el6                                 base                      1.1 M
 systemtap                                x86_64                   2.9-9.el6                                    base                       23 k
Updating:
 binutils                                 x86_64                   2.20.51.0.2-5.48.el6_10.1                    updates                   2.8 M
Installing for dependencies:
 cloog-ppl                                x86_64                   0.15.7-1.2.el6                               base                       93 k
 cpp                                      x86_64                   4.4.7-23.el6                                 base                      3.7 M
 gettext-devel                            x86_64                   0.17-18.el6                                  base                      155 k
 gettext-libs                             x86_64                   0.17-18.el6                                  base                      112 k
 kernel-devel                             x86_64                   2.6.32-754.24.3.el6                          updates                    11 M
 libgcj                                   x86_64                   4.4.7-23.el6                                 base                       19 M
 libgfortran                              x86_64                   4.4.7-23.el6                                 base                      268 k
 libstdc++-devel                          x86_64                   4.4.7-23.el6                                 base                      1.6 M
 mpfr                                     x86_64                   2.4.1-6.el6                                  base                      157 k
 perl-Compress-Raw-Zlib                   x86_64                   1:2.021-144.el6                              base                       70 k
 perl-Compress-Zlib                       x86_64                   2.021-144.el6                                base                       46 k
 perl-Error                               noarch                   1:0.17015-4.el6                              base                       29 k
 perl-Git                                 noarch                   1.7.1-9.el6_9                                base                       29 k
 perl-HTML-Parser                         x86_64                   3.64-2.el6                                   base                      109 k
 perl-HTML-Tagset                         noarch                   3.20-4.el6                                   base                       17 k
 perl-IO-Compress-Base                    x86_64                   2.021-144.el6                                base                       70 k
 perl-IO-Compress-Zlib                    x86_64                   2.021-144.el6                                base                      136 k
 perl-URI                                 noarch                   1.40-2.el6                                   base                      117 k
 perl-XML-Parser                          x86_64                   2.36-7.el6                                   base                      224 k
 perl-libwww-perl                         noarch                   5.833-5.el6                                  base                      390 k
 ppl                                      x86_64                   0.10.2-11.el6                                base                      1.3 M
 systemtap-client                         x86_64                   2.9-9.el6                                    base                      3.7 M
 systemtap-devel                          x86_64                   2.9-9.el6                                    base                      1.7 M

Transaction Summary
================================================================================================================================================
Install      46 Package(s)
Upgrade       1 Package(s)

Total download size: 80 M
Downloading Packages:
(1/47): autoconf-2.63-5.1.el6.noarch.rpm                                                                                 | 781 kB     00:00     
(2/47): automake-1.11.1-4.el6.noarch.rpm                                                                                 | 550 kB     00:00     
(3/47): binutils-2.20.51.0.2-5.48.el6_10.1.x86_64.rpm                                                                    | 2.8 MB     00:00     
(4/47): bison-2.4.1-5.el6.x86_64.rpm                                                                                     | 637 kB     00:00     
(5/47): byacc-1.9.20070509-7.el6.x86_64.rpm                                                                              |  48 kB     00:00     
(6/47): cloog-ppl-0.15.7-1.2.el6.x86_64.rpm                                                                              |  93 kB     00:00     
(7/47): cpp-4.4.7-23.el6.x86_64.rpm                                                                                      | 3.7 MB     00:00     
(8/47): cscope-15.6-7.el6.x86_64.rpm                                                                                     | 136 kB     00:00     
(9/47): ctags-5.8-2.el6.x86_64.rpm                                                                                       | 147 kB     00:00     
(10/47): diffstat-1.51-2.el6.x86_64.rpm                                                                                  |  29 kB     00:00     
(11/47): doxygen-1.6.1-6.el6.x86_64.rpm                                                                                  | 2.4 MB     00:00     
(12/47): flex-2.5.35-9.el6.x86_64.rpm                                                                                    | 285 kB     00:00     
(13/47): gcc-4.4.7-23.el6.x86_64.rpm                                                                                     |  10 MB     00:00     
(14/47): gcc-c++-4.4.7-23.el6.x86_64.rpm                                                                                 | 4.7 MB     00:00     
(15/47): gcc-gfortran-4.4.7-23.el6.x86_64.rpm                                                                            | 4.7 MB     00:00     
(16/47): gettext-devel-0.17-18.el6.x86_64.rpm                                                                            | 155 kB     00:00     
(17/47): gettext-libs-0.17-18.el6.x86_64.rpm                                                                             | 112 kB     00:00     
(18/47): git-1.7.1-9.el6_9.x86_64.rpm                                                                                    | 4.6 MB     00:00     
(19/47): indent-2.2.10-7.el6.x86_64.rpm                                                                                  | 115 kB     00:00     
(20/47): intltool-0.41.0-1.1.el6.noarch.rpm                                                                              |  58 kB     00:00     
(21/47): kernel-devel-2.6.32-754.24.3.el6.x86_64.rpm                                                                     |  11 MB     00:01     
(22/47): libgcj-4.4.7-23.el6.x86_64.rpm                                                                                                              |  19 MB     00:01     
(23/47): libgfortran-4.4.7-23.el6.x86_64.rpm                                                                                                         | 268 kB     00:00     
(24/47): libstdc++-devel-4.4.7-23.el6.x86_64.rpm                                                                                                     | 1.6 MB     00:00     
(25/47): libtool-2.2.6-15.5.el6.x86_64.rpm                                                                                                           | 564 kB     00:00     
(26/47): mpfr-2.4.1-6.el6.x86_64.rpm                                                                                                                 | 157 kB     00:00     
(27/47): patchutils-0.3.1-3.1.el6.x86_64.rpm                                                                                                         |  95 kB     00:00     
(28/47): perl-Compress-Raw-Zlib-2.021-144.el6.x86_64.rpm                                                                                             |  70 kB     00:00     
(29/47): perl-Compress-Zlib-2.021-144.el6.x86_64.rpm                                                                                                 |  46 kB     00:00     
(30/47): perl-Error-0.17015-4.el6.noarch.rpm                                                                                                         |  29 kB     00:00     
(31/47): perl-Git-1.7.1-9.el6_9.noarch.rpm                                                                                                           |  29 kB     00:00     
(32/47): perl-HTML-Parser-3.64-2.el6.x86_64.rpm                                                                                                      | 109 kB     00:00     
(33/47): perl-HTML-Tagset-3.20-4.el6.noarch.rpm                                                                                                      |  17 kB     00:00     
(34/47): perl-IO-Compress-Base-2.021-144.el6.x86_64.rpm                                                                                              |  70 kB     00:00     
(35/47): perl-IO-Compress-Zlib-2.021-144.el6.x86_64.rpm                                                                                              | 136 kB     00:00     
(36/47): perl-URI-1.40-2.el6.noarch.rpm                                                                                                              | 117 kB     00:00     
(37/47): perl-XML-Parser-2.36-7.el6.x86_64.rpm                                                                                                       | 224 kB     00:00     
(38/47): perl-libwww-perl-5.833-5.el6.noarch.rpm                                                                                                     | 390 kB     00:00     
(39/47): ppl-0.10.2-11.el6.x86_64.rpm                                                                                                                | 1.3 MB     00:00     
(40/47): rcs-5.7-37.el6.x86_64.rpm                                                                                                                   | 173 kB     00:00     
(41/47): redhat-rpm-config-9.0.3-51.el6.centos.noarch.rpm                                                                                            |  60 kB     00:00     
(42/47): rpm-build-4.8.0-59.el6.x86_64.rpm                                                                                                           | 131 kB     00:00     
(43/47): subversion-1.6.11-15.el6_7.x86_64.rpm                                                                                                       | 2.3 MB     00:00     
(44/47): swig-1.3.40-6.el6.x86_64.rpm                                                                                                                | 1.1 MB     00:00     
(45/47): systemtap-2.9-9.el6.x86_64.rpm                                                                                                              |  23 kB     00:00     
(46/47): systemtap-client-2.9-9.el6.x86_64.rpm                                                                                                       | 3.7 MB     00:00     
(47/47): systemtap-devel-2.9-9.el6.x86_64.rpm                                                                                                        | 1.7 MB     00:00     
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Total                                                                                                                                       9.4 MB/s |  80 MB     00:08     
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing : perl-URI-1.40-2.el6.noarch                                                                                                                              1/48 
  Installing : mpfr-2.4.1-6.el6.x86_64                                                                                                                                 2/48 
  Updating   : binutils-2.20.51.0.2-5.48.el6_10.1.x86_64                                                                                                               3/48 
  Installing : perl-IO-Compress-Base-2.021-144.el6.x86_64                                                                                                              4/48 
  Installing : 1:perl-Compress-Raw-Zlib-2.021-144.el6.x86_64                                                                                                           5/48 
  Installing : 1:perl-Error-0.17015-4.el6.noarch                                                                                                                       6/48 
  Installing : autoconf-2.63-5.1.el6.noarch                                                                                                                            7/48 
  Installing : automake-1.11.1-4.el6.noarch                                                                                                                            8/48 
  Installing : git-1.7.1-9.el6_9.x86_64                                                                                                                                9/48 
  Installing : perl-Git-1.7.1-9.el6_9.noarch                                                                                                                          10/48 
  Installing : perl-IO-Compress-Zlib-2.021-144.el6.x86_64                                                                                                             11/48 
  Installing : perl-Compress-Zlib-2.021-144.el6.x86_64                                                                                                                12/48 
  Installing : cpp-4.4.7-23.el6.x86_64                                                                                                                                13/48 
  Installing : libgcj-4.4.7-23.el6.x86_64                                                                                                                             14/48 
  Installing : kernel-devel-2.6.32-754.24.3.el6.x86_64                                                                                                                15/48 
  Installing : perl-HTML-Tagset-3.20-4.el6.noarch                                                                                                                     16/48 
  Installing : perl-HTML-Parser-3.64-2.el6.x86_64                                                                                                                     17/48 
  Installing : perl-libwww-perl-5.833-5.el6.noarch                                                                                                                    18/48 
  Installing : perl-XML-Parser-2.36-7.el6.x86_64                                                                                                                      19/48 
  Installing : libgfortran-4.4.7-23.el6.x86_64                                                                                                                        20/48 
  Installing : ppl-0.10.2-11.el6.x86_64                                                                                                                               21/48 
  Installing : cloog-ppl-0.15.7-1.2.el6.x86_64                                                                                                                        22/48 
  Installing : gcc-4.4.7-23.el6.x86_64                                                                                                                                23/48 
  Installing : systemtap-devel-2.9-9.el6.x86_64                                                                                                                       24/48 
  Installing : systemtap-client-2.9-9.el6.x86_64                                                                                                                      25/48 
  Installing : redhat-rpm-config-9.0.3-51.el6.centos.noarch                                                                                                           26/48 
  Installing : libstdc++-devel-4.4.7-23.el6.x86_64                                                                                                                    27/48 
  Installing : gettext-libs-0.17-18.el6.x86_64                                                                                                                        28/48 
  Installing : gettext-devel-0.17-18.el6.x86_64                                                                                                                       29/48 
  Installing : intltool-0.41.0-1.1.el6.noarch                                                                                                                         30/48 
  Installing : gcc-c++-4.4.7-23.el6.x86_64                                                                                                                            31/48 
  Installing : rpm-build-4.8.0-59.el6.x86_64                                                                                                                          32/48 
  Installing : systemtap-2.9-9.el6.x86_64                                                                                                                             33/48 
  Installing : gcc-gfortran-4.4.7-23.el6.x86_64                                                                                                                       34/48 
  Installing : libtool-2.2.6-15.5.el6.x86_64                                                                                                                          35/48 
  Installing : subversion-1.6.11-15.el6_7.x86_64                                                                                                                      36/48 
  Installing : swig-1.3.40-6.el6.x86_64                                                                                                                               37/48 
  Installing : rcs-5.7-37.el6.x86_64                                                                                                                                  38/48 
  Installing : diffstat-1.51-2.el6.x86_64                                                                                                                             39/48 
  Installing : flex-2.5.35-9.el6.x86_64                                                                                                                               40/48 
  Installing : patchutils-0.3.1-3.1.el6.x86_64                                                                                                                        41/48 
  Installing : 1:doxygen-1.6.1-6.el6.x86_64                                                                                                                           42/48 
  Installing : byacc-1.9.20070509-7.el6.x86_64                                                                                                                        43/48 
  Installing : cscope-15.6-7.el6.x86_64                                                                                                                               44/48 
  Installing : ctags-5.8-2.el6.x86_64                                                                                                                                 45/48 
  Installing : indent-2.2.10-7.el6.x86_64                                                                                                                             46/48 
  Installing : bison-2.4.1-5.el6.x86_64                                                                                                                               47/48 
  Cleanup    : binutils-2.20.51.0.2-5.48.el6.x86_64                                                                                                                   48/48 
  Verifying  : perl-Compress-Zlib-2.021-144.el6.x86_64                                                                                                                 1/48 
  Verifying  : bison-2.4.1-5.el6.x86_64                                                                                                                                2/48 
  Verifying  : gcc-4.4.7-23.el6.x86_64                                                                                                                                 3/48 
  Verifying  : perl-HTML-Parser-3.64-2.el6.x86_64                                                                                                                      4/48 
  Verifying  : gettext-libs-0.17-18.el6.x86_64                                                                                                                         5/48 
  Verifying  : indent-2.2.10-7.el6.x86_64                                                                                                                              6/48 
  Verifying  : rpm-build-4.8.0-59.el6.x86_64                                                                                                                           7/48 
  Verifying  : subversion-1.6.11-15.el6_7.x86_64                                                                                                                       8/48 
  Verifying  : libstdc++-devel-4.4.7-23.el6.x86_64                                                                                                                     9/48 
  Verifying  : automake-1.11.1-4.el6.noarch                                                                                                                           10/48 
  Verifying  : redhat-rpm-config-9.0.3-51.el6.centos.noarch                                                                                                           11/48 
  Verifying  : ctags-5.8-2.el6.x86_64                                                                                                                                 12/48 
  Verifying  : cscope-15.6-7.el6.x86_64                                                                                                                               13/48 
  Verifying  : perl-Git-1.7.1-9.el6_9.noarch                                                                                                                          14/48 
  Verifying  : byacc-1.9.20070509-7.el6.x86_64                                                                                                                        15/48 
  Verifying  : gettext-devel-0.17-18.el6.x86_64                                                                                                                       16/48 
  Verifying  : mpfr-2.4.1-6.el6.x86_64                                                                                                                                17/48 
  Verifying  : systemtap-devel-2.9-9.el6.x86_64                                                                                                                       18/48 
  Verifying  : systemtap-client-2.9-9.el6.x86_64                                                                                                                      19/48 
  Verifying  : autoconf-2.63-5.1.el6.noarch                                                                                                                           20/48 
  Verifying  : ppl-0.10.2-11.el6.x86_64                                                                                                                               21/48 
  Verifying  : 1:doxygen-1.6.1-6.el6.x86_64                                                                                                                           22/48 
  Verifying  : cloog-ppl-0.15.7-1.2.el6.x86_64                                                                                                                        23/48 
  Verifying  : patchutils-0.3.1-3.1.el6.x86_64                                                                                                                        24/48 
  Verifying  : libgfortran-4.4.7-23.el6.x86_64                                                                                                                        25/48 
  Verifying  : gcc-c++-4.4.7-23.el6.x86_64                                                                                                                            26/48 
  Verifying  : 1:perl-Error-0.17015-4.el6.noarch                                                                                                                      27/48 
  Verifying  : 1:perl-Compress-Raw-Zlib-2.021-144.el6.x86_64                                                                                                          28/48 
  Verifying  : flex-2.5.35-9.el6.x86_64                                                                                                                               29/48 
  Verifying  : perl-XML-Parser-2.36-7.el6.x86_64                                                                                                                      30/48 
  Verifying  : perl-IO-Compress-Base-2.021-144.el6.x86_64                                                                                                             31/48 
  Verifying  : gcc-gfortran-4.4.7-23.el6.x86_64                                                                                                                       32/48 
  Verifying  : perl-HTML-Tagset-3.20-4.el6.noarch                                                                                                                     33/48 
  Verifying  : diffstat-1.51-2.el6.x86_64                                                                                                                             34/48 
  Verifying  : rcs-5.7-37.el6.x86_64                                                                                                                                  35/48 
  Verifying  : perl-libwww-perl-5.833-5.el6.noarch                                                                                                                    36/48 
  Verifying  : systemtap-2.9-9.el6.x86_64                                                                                                                             37/48 
  Verifying  : kernel-devel-2.6.32-754.24.3.el6.x86_64                                                                                                                38/48 
  Verifying  : perl-IO-Compress-Zlib-2.021-144.el6.x86_64                                                                                                             39/48 
  Verifying  : perl-URI-1.40-2.el6.noarch                                                                                                                             40/48 
  Verifying  : intltool-0.41.0-1.1.el6.noarch                                                                                                                         41/48 
  Verifying  : swig-1.3.40-6.el6.x86_64                                                                                                                               42/48 
  Verifying  : binutils-2.20.51.0.2-5.48.el6_10.1.x86_64                                                                                                              43/48 
  Verifying  : cpp-4.4.7-23.el6.x86_64                                                                                                                                44/48 
  Verifying  : libtool-2.2.6-15.5.el6.x86_64                                                                                                                          45/48 
  Verifying  : git-1.7.1-9.el6_9.x86_64                                                                                                                               46/48 
  Verifying  : libgcj-4.4.7-23.el6.x86_64                                                                                                                             47/48 
  Verifying  : binutils-2.20.51.0.2-5.48.el6.x86_64                                                                                                                   48/48 

Installed:
  autoconf.noarch 0:2.63-5.1.el6           automake.noarch 0:1.11.1-4.el6      bison.x86_64 0:2.4.1-5.el6                          byacc.x86_64 0:1.9.20070509-7.el6      
  cscope.x86_64 0:15.6-7.el6               ctags.x86_64 0:5.8-2.el6            diffstat.x86_64 0:1.51-2.el6                        doxygen.x86_64 1:1.6.1-6.el6           
  flex.x86_64 0:2.5.35-9.el6               gcc.x86_64 0:4.4.7-23.el6           gcc-c++.x86_64 0:4.4.7-23.el6                       gcc-gfortran.x86_64 0:4.4.7-23.el6     
  git.x86_64 0:1.7.1-9.el6_9               indent.x86_64 0:2.2.10-7.el6        intltool.noarch 0:0.41.0-1.1.el6                    libtool.x86_64 0:2.2.6-15.5.el6        
  patchutils.x86_64 0:0.3.1-3.1.el6        rcs.x86_64 0:5.7-37.el6             redhat-rpm-config.noarch 0:9.0.3-51.el6.centos      rpm-build.x86_64 0:4.8.0-59.el6        
  subversion.x86_64 0:1.6.11-15.el6_7      swig.x86_64 0:1.3.40-6.el6          systemtap.x86_64 0:2.9-9.el6                       

Dependency Installed:
  cloog-ppl.x86_64 0:0.15.7-1.2.el6                           cpp.x86_64 0:4.4.7-23.el6                                  gettext-devel.x86_64 0:0.17-18.el6                
  gettext-libs.x86_64 0:0.17-18.el6                           kernel-devel.x86_64 0:2.6.32-754.24.3.el6                  libgcj.x86_64 0:4.4.7-23.el6                      
  libgfortran.x86_64 0:4.4.7-23.el6                           libstdc++-devel.x86_64 0:4.4.7-23.el6                      mpfr.x86_64 0:2.4.1-6.el6                         
  perl-Compress-Raw-Zlib.x86_64 1:2.021-144.el6               perl-Compress-Zlib.x86_64 0:2.021-144.el6                  perl-Error.noarch 1:0.17015-4.el6                 
  perl-Git.noarch 0:1.7.1-9.el6_9                             perl-HTML-Parser.x86_64 0:3.64-2.el6                       perl-HTML-Tagset.noarch 0:3.20-4.el6              
  perl-IO-Compress-Base.x86_64 0:2.021-144.el6                perl-IO-Compress-Zlib.x86_64 0:2.021-144.el6               perl-URI.noarch 0:1.40-2.el6                      
  perl-XML-Parser.x86_64 0:2.36-7.el6                         perl-libwww-perl.noarch 0:5.833-5.el6                      ppl.x86_64 0:0.10.2-11.el6                        
  systemtap-client.x86_64 0:2.9-9.el6                         systemtap-devel.x86_64 0:2.9-9.el6                        

Updated:
  binutils.x86_64 0:2.20.51.0.2-5.48.el6_10.1                                                                                                                               

Complete!
[root@yinzhengjie ~]# 
[root@yinzhengjie ~]# yum -y groupinstall "Development Tools"            #安装开发包组
[root@yinzhengjie ~]# yum -y install ncurses-devel
Loaded plugins: fastestmirror, refresh-packagekit, security
Setting up Install Process
Loading mirror speeds from cached hostfile
 * base: mirrors.huaweicloud.com
 * extras: mirrors.huaweicloud.com
 * updates: mirrors.huaweicloud.com
Resolving Dependencies
--> Running transaction check
---> Package ncurses-devel.x86_64 0:5.7-4.20090207.el6 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

============================================================================================================================================================================
 Package                                     Arch                                 Version                                          Repository                          Size
============================================================================================================================================================================
Installing:
 ncurses-devel                               x86_64                               5.7-4.20090207.el6                               base                               641 k

Transaction Summary
============================================================================================================================================================================
Install       1 Package(s)

Total download size: 641 k
Installed size: 1.7 M
Downloading Packages:
ncurses-devel-5.7-4.20090207.el6.x86_64.rpm                                                                                                          | 641 kB     00:00     
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing : ncurses-devel-5.7-4.20090207.el6.x86_64                                                                                                                  1/1 
  Verifying  : ncurses-devel-5.7-4.20090207.el6.x86_64                                                                                                                  1/1 

Installed:
  ncurses-devel.x86_64 0:5.7-4.20090207.el6                                                                                                                                 

Complete!
[root@yinzhengjie ~]# 
[root@yinzhengjie ~]# yum -y install ncurses-devel
[root@yinzhengjie ~]# yum -y install elfutils-libelf-devel
Loaded plugins: fastestmirror, refresh-packagekit, security
Setting up Install Process
Loading mirror speeds from cached hostfile
 * base: mirrors.huaweicloud.com
 * extras: mirrors.huaweicloud.com
 * updates: mirrors.huaweicloud.com
Resolving Dependencies
--> Running transaction check
---> Package elfutils-libelf-devel.x86_64 0:0.164-2.el6 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

================================================================================================================================================
 Package                                     Arch                         Version                              Repository                  Size
================================================================================================================================================
Installing:
 elfutils-libelf-devel                       x86_64                       0.164-2.el6                          base                        32 k

Transaction Summary
================================================================================================================================================
Install       1 Package(s)

Total download size: 32 k
Installed size: 26 k
Downloading Packages:
elfutils-libelf-devel-0.164-2.el6.x86_64.rpm                                                                             |  32 kB     00:00     
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing : elfutils-libelf-devel-0.164-2.el6.x86_64                                                                                     1/1 
  Verifying  : elfutils-libelf-devel-0.164-2.el6.x86_64                                                                                     1/1 

Installed:
  elfutils-libelf-devel.x86_64 0:0.164-2.el6                                                                                                    

Complete!
[root@yinzhengjie ~]# 
[root@yinzhengjie ~]# yum -y install elfutils-libelf-devel
[root@yinzhengjie ~]# yum -y install openssl-devel
Loaded plugins: fastestmirror, refresh-packagekit, security
Setting up Install Process
Loading mirror speeds from cached hostfile
 * base: mirrors.huaweicloud.com
 * extras: mirrors.huaweicloud.com
 * updates: mirrors.huaweicloud.com
Resolving Dependencies
--> Running transaction check
---> Package openssl-devel.x86_64 0:1.0.1e-58.el6_10 will be installed
--> Processing Dependency: openssl = 1.0.1e-58.el6_10 for package: openssl-devel-1.0.1e-58.el6_10.x86_64
--> Processing Dependency: zlib-devel for package: openssl-devel-1.0.1e-58.el6_10.x86_64
--> Processing Dependency: krb5-devel for package: openssl-devel-1.0.1e-58.el6_10.x86_64
--> Running transaction check
---> Package krb5-devel.x86_64 0:1.10.3-65.el6 will be installed
--> Processing Dependency: libselinux-devel for package: krb5-devel-1.10.3-65.el6.x86_64
--> Processing Dependency: libcom_err-devel for package: krb5-devel-1.10.3-65.el6.x86_64
--> Processing Dependency: keyutils-libs-devel for package: krb5-devel-1.10.3-65.el6.x86_64
---> Package openssl.x86_64 0:1.0.1e-57.el6 will be updated
---> Package openssl.x86_64 0:1.0.1e-58.el6_10 will be an update
---> Package zlib-devel.x86_64 0:1.2.3-29.el6 will be installed
--> Running transaction check
---> Package keyutils-libs-devel.x86_64 0:1.4-5.el6 will be installed
---> Package libcom_err-devel.x86_64 0:1.41.12-24.el6 will be installed
---> Package libselinux-devel.x86_64 0:2.0.94-7.el6 will be installed
--> Processing Dependency: libsepol-devel >= 2.0.32-1 for package: libselinux-devel-2.0.94-7.el6.x86_64
--> Processing Dependency: pkgconfig(libsepol) for package: libselinux-devel-2.0.94-7.el6.x86_64
--> Running transaction check
---> Package libsepol-devel.x86_64 0:2.0.41-4.el6 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

================================================================================================================================================
 Package                                  Arch                        Version                                Repository                    Size
================================================================================================================================================
Installing:
 openssl-devel                            x86_64                      1.0.1e-58.el6_10                       updates                      1.2 M
Installing for dependencies:
 keyutils-libs-devel                      x86_64                      1.4-5.el6                              base                          29 k
 krb5-devel                               x86_64                      1.10.3-65.el6                          base                         504 k
 libcom_err-devel                         x86_64                      1.41.12-24.el6                         base                          33 k
 libselinux-devel                         x86_64                      2.0.94-7.el6                           base                         137 k
 libsepol-devel                           x86_64                      2.0.41-4.el6                           base                          64 k
 zlib-devel                               x86_64                      1.2.3-29.el6                           base                          44 k
Updating for dependencies:
 openssl                                  x86_64                      1.0.1e-58.el6_10                       updates                      1.5 M

Transaction Summary
================================================================================================================================================
Install       7 Package(s)
Upgrade       1 Package(s)

Total download size: 3.5 M
Downloading Packages:
(1/8): keyutils-libs-devel-1.4-5.el6.x86_64.rpm                                                                          |  29 kB     00:00     
(2/8): krb5-devel-1.10.3-65.el6.x86_64.rpm                                                                               | 504 kB     00:00     
(3/8): libcom_err-devel-1.41.12-24.el6.x86_64.rpm                                                                        |  33 kB     00:00     
(4/8): libselinux-devel-2.0.94-7.el6.x86_64.rpm                                                                          | 137 kB     00:00     
(5/8): libsepol-devel-2.0.41-4.el6.x86_64.rpm                                                                            |  64 kB     00:00     
(6/8): openssl-1.0.1e-58.el6_10.x86_64.rpm                                                                               | 1.5 MB     00:00     
(7/8): openssl-devel-1.0.1e-58.el6_10.x86_64.rpm                                                                         | 1.2 MB     00:00     
(8/8): zlib-devel-1.2.3-29.el6.x86_64.rpm                                                                                |  44 kB     00:00     
------------------------------------------------------------------------------------------------------------------------------------------------
Total                                                                                                           7.6 MB/s | 3.5 MB     00:00     
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing : libcom_err-devel-1.41.12-24.el6.x86_64                                                                                       1/9 
  Installing : zlib-devel-1.2.3-29.el6.x86_64                                                                                               2/9 
  Installing : libsepol-devel-2.0.41-4.el6.x86_64                                                                                           3/9 
  Installing : libselinux-devel-2.0.94-7.el6.x86_64                                                                                         4/9 
  Installing : keyutils-libs-devel-1.4-5.el6.x86_64                                                                                         5/9 
  Installing : krb5-devel-1.10.3-65.el6.x86_64                                                                                              6/9 
  Updating   : openssl-1.0.1e-58.el6_10.x86_64                                                                                              7/9 
  Installing : openssl-devel-1.0.1e-58.el6_10.x86_64                                                                                        8/9 
  Cleanup    : openssl-1.0.1e-57.el6.x86_64                                                                                                 9/9 
  Verifying  : openssl-1.0.1e-58.el6_10.x86_64                                                                                              1/9 
  Verifying  : keyutils-libs-devel-1.4-5.el6.x86_64                                                                                         2/9 
  Verifying  : libsepol-devel-2.0.41-4.el6.x86_64                                                                                           3/9 
  Verifying  : openssl-devel-1.0.1e-58.el6_10.x86_64                                                                                        4/9 
  Verifying  : krb5-devel-1.10.3-65.el6.x86_64                                                                                              5/9 
  Verifying  : libselinux-devel-2.0.94-7.el6.x86_64                                                                                         6/9 
  Verifying  : zlib-devel-1.2.3-29.el6.x86_64                                                                                               7/9 
  Verifying  : libcom_err-devel-1.41.12-24.el6.x86_64                                                                                       8/9 
  Verifying  : openssl-1.0.1e-57.el6.x86_64                                                                                                 9/9 

Installed:
  openssl-devel.x86_64 0:1.0.1e-58.el6_10                                                                                                       

Dependency Installed:
  keyutils-libs-devel.x86_64 0:1.4-5.el6         krb5-devel.x86_64 0:1.10.3-65.el6            libcom_err-devel.x86_64 0:1.41.12-24.el6        
  libselinux-devel.x86_64 0:2.0.94-7.el6         libsepol-devel.x86_64 0:2.0.41-4.el6         zlib-devel.x86_64 0:1.2.3-29.el6                

Dependency Updated:
  openssl.x86_64 0:1.0.1e-58.el6_10                                                                                                             

Complete!
[root@yinzhengjie ~]# 
[root@yinzhengjie ~]# yum -y install openssl-devel

4>.进入解压目录配置内核选项

[root@yinzhengjie ~]# cd linux-4.18.13
[root@yinzhengjie linux-4.18.13]# 
[root@yinzhengjie linux-4.18.13]# make menuconfig
  HOSTCC  scripts/basic/fixdep
  UPD     scripts/kconfig/.mconf-cfg
  HOSTCC  scripts/kconfig/mconf.o
  YACC    scripts/kconfig/zconf.tab.c
  LEX     scripts/kconfig/zconf.lex.c
  HOSTCC  scripts/kconfig/zconf.tab.o
  HOSTCC  scripts/kconfig/lxdialog/checklist.o
  HOSTCC  scripts/kconfig/lxdialog/inputbox.o
  HOSTCC  scripts/kconfig/lxdialog/menubox.o
  HOSTCC  scripts/kconfig/lxdialog/textbox.o
  HOSTCC  scripts/kconfig/lxdialog/util.o
  HOSTCC  scripts/kconfig/lxdialog/yesno.o
  HOSTLD  scripts/kconfig/mconf
scripts/kconfig/mconf  Kconfig
.config:346:warning: symbol value 'm' invalid for MICROCODE
.config:488:warning: symbol value 'm' invalid for CPU_FREQ_STAT
.config:504:warning: symbol value 'm' invalid for X86_INTEL_PSTATE
.config:573:warning: symbol value 'm' invalid for PCCARD_NONSTATIC
.config:579:warning: symbol value 'm' invalid for HOTPLUG_PCI_SHPC
.config:705:warning: symbol value 'm' invalid for NF_CT_PROTO_DCCP
.config:707:warning: symbol value 'm' invalid for NF_CT_PROTO_SCTP
.config:708:warning: symbol value 'm' invalid for NF_CT_PROTO_UDPLITE
.config:847:warning: symbol value 'm' invalid for NF_NAT_PROTO_DCCP
.config:849:warning: symbol value 'm' invalid for NF_NAT_PROTO_UDPLITE
.config:850:warning: symbol value 'm' invalid for NF_NAT_PROTO_SCTP
.config:2811:warning: symbol value 'm' invalid for MFD_WM8400
.config:2812:warning: symbol value 'm' invalid for MFD_WM831X
.config:2813:warning: symbol value 'm' invalid for MFD_WM8350
.config:2826:warning: symbol value 'm' invalid for MFD_WM8350_I2C
.config:2828:warning: symbol value 'm' invalid for AB3100_CORE
.config:2863:warning: symbol value 'm' invalid for LIRC
[root@yinzhengjie linux-4.18.13]# make menuconfig                #执行该命令后会弹出如下图所示的图形界面

  如下图所示,选择"()  Local version - append to kernel release ",添加咱们自定义的内核版本。

  如下图所示,自定义追加自定义的内核版本

如下图所示,追加内核参数配置完成后,使用tab键退出当前菜单。

如下图所示,选择"    File systems  ---> ",可以进入到配置文件系统界面。

如下图所示,选择"    DOS/FAT/NT Filesystems  --->",进入DOS/FAT/NTFS文件系统配置界面。

如下图所示,选择"",以模块化方式支持ntfs文件系统。

如下图所示,继续向上级菜单退出。

如下图所示,退出一级菜单。

如下图所示,选择"< Yes >",从而保存配置。

[root@yinzhengjie linux-4.18.13]# grep -i ntfs .config        #发现咱们从系统拷贝过来的".config"文件已经被修改啦~
CONFIG_NTFS_FS=m
# CONFIG_NTFS_DEBUG is not set
CONFIG_NTFS_RW=y
[root@yinzhengjie linux-4.18.13]# 

5>.编译(编译过程属于CPU密集型操作,使用top命令可以看到cpu占用较高,编译过程中CPU性能越好,编译的速度越快)

[root@yinzhengjie linux-4.18.13]# lscpu 
Architecture:          x86_64
CPU op-mode(s):        32-bit, 64-bit
Byte Order:            Little Endian
CPU(s):                8
On-line CPU(s) list:   0-7
Thread(s) per core:    1
Core(s) per socket:    2
Socket(s):             4
NUMA node(s):          1
Vendor ID:             GenuineIntel
CPU family:            6
Model:                 158
Model name:            Intel(R) Core(TM) i7-8750H CPU @ 2.20GHz
Stepping:              10
CPU MHz:               2208.002
BogoMIPS:              4416.00
Hypervisor vendor:     VMware
Virtualization type:   full
L1d cache:             32K
L1i cache:             32K
L2 cache:              256K
L3 cache:              9216K
NUMA node0 CPU(s):     0-7
[root@yinzhengjie linux-4.18.13]# 
[root@yinzhengjie linux-4.18.13]# lscpu          #查看CPU的核心数
[root@yinzhengjie linux-4.18.13]# make -j 8 
 ......
  LD [M]  sound/pci/vx222/snd-vx222.ko
  LD [M]  sound/soundcore.ko
  LD [M]  sound/synth/emux/snd-emux-synth.ko
  LD [M]  sound/usb/6fire/snd-usb-6fire.ko
  LD [M]  sound/usb/bcd2000/snd-bcd2000.ko
  LD [M]  sound/synth/snd-util-mem.ko
  LD [M]  sound/usb/caiaq/snd-usb-caiaq.ko
  LD [M]  sound/usb/hiface/snd-usb-hiface.ko
  LD [M]  sound/usb/misc/snd-ua101.ko
  LD [M]  sound/usb/snd-usb-audio.ko
  LD [M]  sound/usb/snd-usbmidi-lib.ko
  LD [M]  sound/usb/usx2y/snd-usb-us122l.ko
  LD [M]  sound/usb/usx2y/snd-usb-usx2y.ko
  LD [M]  virt/lib/irqbypass.ko


[root@yinzhengjie linux-4.18.13]# 
[root@yinzhengjie linux-4.18.13]# du -sh ./          #编译后当前目录会很大。
8.3G    ./
[root@yinzhengjie linux-4.18.13]#

[root@yinzhengjie linux-4.18.13]# ll /boot/ | grep yinzhengjie
-rw-------. 1 root root 7664276 Dec 3 00:33 initramfs-4.18.13-yinzhengjie-v1.0.img
lrwxrwxrwx. 1 root root 41 Dec 3 00:33 System.map -> /boot/System.map-4.18.13-yinzhengjie-v1.0
-rw-r--r--. 1 root root 3258256 Dec 3 00:33 System.map-4.18.13-yinzhengjie-v1.0
lrwxrwxrwx. 1 root root 38 Dec 3 00:33 vmlinuz -> /boot/vmlinuz-4.18.13-yinzhengjie-v1.0
-rw-r--r--. 1 root root 6338368 Dec 3 00:33 vmlinuz-4.18.13-yinzhengjie-v1.0
[root@yinzhengjie linux-4.18.13]#

[root@yinzhengjie linux-4.18.13]# cat /boot/grub/grub.conf 
# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE:  You have a /boot partition.  This means that
#          all kernel and initrd paths are relative to /boot/, eg.
#          root (hd0,0)
#          kernel /vmlinuz-version ro root=/dev/mapper/vg_node200-lv_root
#          initrd /initrd-[generic-]version.img
#boot=/dev/sda
default=1
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title CentOS (4.18.13-yinzhengjie-v1.0)
    root (hd0,0)
    kernel /vmlinuz-4.18.13-yinzhengjie-v1.0 ro root=/dev/mapper/vg_node200-lv_root nomodeset rd_NO_LUKS LANG=en_US.UTF-8 rd_LVM_LV=vg_node200/lv_swap rd_NO_MD SYSFONT=
latarcyrheb-sun16 crashkernel=128M rd_LVM_LV=vg_node200/lv_root  KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM rhgb quiet    initrd /initramfs-4.18.13-yinzhengjie-v1.0.img
title CentOS 6 (2.6.32-754.el6.x86_64)
    root (hd0,0)
    kernel /vmlinuz-2.6.32-754.el6.x86_64 ro root=/dev/mapper/vg_node200-lv_root nomodeset rd_NO_LUKS LANG=en_US.UTF-8 rd_LVM_LV=vg_node200/lv_swap rd_NO_MD SYSFONT=lat
arcyrheb-sun16 crashkernel=128M rd_LVM_LV=vg_node200/lv_root  KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM rhgb quiet    initrd /initramfs-2.6.32-754.el6.x86_64.img
[root@yinzhengjie linux-4.18.13]# 
[root@yinzhengjie linux-4.18.13]# 
[root@yinzhengjie linux-4.18.13]# cat /boot/grub/grub.conf        #我们发现多出来内核菜单的配置

6>.安装模块

[root@yinzhengjie linux-4.18.13]# ll /lib/modules/
total 8
drwxr-xr-x. 7 root root 4096 Dec  1 07:33 2.6.32-754.el6.x86_64
[root@yinzhengjie linux-4.18.13]# 
[root@yinzhengjie linux-4.18.13]# make modules_install
  ......
  INSTALL sound/pci/vx222/snd-vx222.ko
  INSTALL sound/soundcore.ko
  INSTALL sound/synth/emux/snd-emux-synth.ko
  INSTALL sound/synth/snd-util-mem.ko
  INSTALL sound/usb/6fire/snd-usb-6fire.ko
  INSTALL sound/usb/bcd2000/snd-bcd2000.ko
  INSTALL sound/usb/caiaq/snd-usb-caiaq.ko
  INSTALL sound/usb/hiface/snd-usb-hiface.ko
  INSTALL sound/usb/misc/snd-ua101.ko
  INSTALL sound/usb/snd-usb-audio.ko
  INSTALL sound/usb/snd-usbmidi-lib.ko
  INSTALL sound/usb/usx2y/snd-usb-us122l.ko
  INSTALL sound/usb/usx2y/snd-usb-usx2y.ko
  INSTALL virt/lib/irqbypass.ko
  DEPMOD  4.18.13-yinzhengjie-v1.0
[root@yinzhengjie linux-4.18.13]# 
[root@yinzhengjie linux-4.18.13]# ll /lib/modules/      #模块安装成功后观察一下该目录会多出来一个模块目录哟~
total 8
drwxr-xr-x. 7 root root 4096 Dec  1 07:33 2.6.32-754.el6.x86_64
drwxr-xr-x. 3 root root 4096 Dec  3 01:25 4.18.13-yinzhengjie-v1.0
[root@yinzhengjie linux-4.18.13]# 

7>.安装内核相关文件

[root@yinzhengjie linux-4.18.13]# make install        #如果在CentOS 7上操作到这一步出错了请忽略它,继续下面的操作。
sh ./arch/x86/boot/install.sh 4.18.13-yinzhengjie-v1.0 arch/x86/boot/bzImage 
        System.map "/boot"
ERROR: modinfo: could not find module sco
ERROR: modinfo: could not find module l2cap
ERROR: modinfo: could not find module ib_ucm
ERROR: modinfo: could not find module ib_sa
ERROR: modinfo: could not find module ib_mad
ERROR: modinfo: could not find module ib_addr
ERROR: modinfo: could not find module microcode
ERROR: modinfo: could not find module vmware_balloon
ERROR: modinfo: could not find module snd_page_alloc
ERROR: modinfo: could not find module shpchp
ERROR: modinfo: could not find module crc_t10dif

[root@yinzhengjie linux-4.18.13]# 

8>.重启操作系统并观察是否可以正常启动

[root@yinzhengjie linux-4.18.13]# reboot 

Broadcast message from root@yinzhengjie
    (/dev/pts/2) at 1:44 ...

The system is going down for reboot NOW!
[root@yinzhengjie linux-4.18.13]# 

9>.操作系统启动成功

[root@yinzhengjie ~]# uname -r
4.18.13-yinzhengjie-v1.0
[root@yinzhengjie ~]# 
[root@yinzhengjie ~]# uname -m
x86_64
[root@yinzhengjie ~]# 
[root@yinzhengjie ~]# locate ntfs.ko        #我们发现找不到ntfs驱动,因为没有更新locate数据库
[root@yinzhengjie ~]#   
[root@yinzhengjie ~]# updatedb            #更新数据库
[root@yinzhengjie ~]# 
[root@yinzhengjie ~]# locate ntfs.ko          #发现这次是找到ntfs驱动啦
/lib/modules/4.18.13-yinzhengjie-v1.0/kernel/fs/ntfs/ntfs.ko
/root/linux-4.18.13/fs/ntfs/.ntfs.ko.cmd
/root/linux-4.18.13/fs/ntfs/ntfs.ko
[root@yinzhengjie ~]# 

10>.在Linux挂载window操作系统的磁盘

[root@yinzhengjie ~]# lsblk 
NAME                          MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sdb                             8:16   0 931.5G  0 disk 
├─sdb2                          8:18   0   293G  0 part 
├─sdb3                          8:19   0 638.6G  0 part 
└─sdb1                          8:17   0    16M  0 part 
sr0                            11:0    1   3.7G  0 rom  
sda                             8:0    0   500G  0 disk 
├─sda2                          8:2    0 499.5G  0 part 
│ ├─vg_node200-lv_swap (dm-1) 253:1    0   3.9G  0 lvm  [SWAP]
│ ├─vg_node200-lv_home (dm-2) 253:2    0 445.7G  0 lvm  /home
│ └─vg_node200-lv_root (dm-0) 253:0    0    50G  0 lvm  /
└─sda1                          8:1    0   500M  0 part /boot
[root@yinzhengjie ~]# 
[root@yinzhengjie ~]# lsmod | grep ntfs        #默认是没有加载window的支持的NTFS文件系统的。
[root@yinzhengjie ~]#
[root@yinzhengjie ~]# mkdir /windows
[root@yinzhengjie ~]# 
[root@yinzhengjie ~]# mount /dev/sdb3 /windows/
[root@yinzhengjie ~]# 
[root@yinzhengjie ~]# lsmod | grep ntfs        #很显然,当我们将windows的NTFS文件系统挂载成功后,就发现ntfs模块被加载啦~
ntfs 221184 1 
[root@yinzhengjie ~]#
[root@yinzhengjie ~]# df -TH
Filesystem           Type   Size  Used Avail Use% Mounted on
/dev/mapper/vg_node200-lv_root
                     ext4    53G   15G   36G  30% /
tmpfs                tmpfs  2.0G   74k  2.0G   1% /dev/shm
/dev/sda1            ext4   500M   79M  391M  17% /boot
/dev/mapper/vg_node200-lv_home
                     ext4   471G   74M  447G   1% /home
/dev/sdb3            ntfs   686G  331G  356G  49% /windows      #看这里,我们会明显发现是NTFS文件系统格式
[root@yinzhengjie ~]# 
[root@yinzhengjie ~]# ll /windows/                    #接下来咱们就可以访问NTFS文件系统的格式
total 36
drwx------ 1 root root  4096 Nov 20 10:38 BaiduNetdiskDownload
drwx------ 1 root root 28672 Sep  4 14:01 Hlddz
drwx------ 1 root root     0 Jul 24 14:39 KuGou
drwx------ 1 root root     0 Sep 25 10:30 Program Files (x86)
drwx------ 1 root root     0 Jul  8 12:56 $RECYCLE.BIN
drwx------ 1 root root     0 Sep  4 13:08 System Volume Information
drwx------ 1 root root     0 Sep 26 13:50 temp
drwx------ 1 root root  4096 Sep  3 12:57 YXS
drwx------ 1 root root     0 Aug 26 10:34 学习资料
drwx------ 1 root root     0 Oct 14 21:28 英雄时刻
[root@yinzhengjie ~]# 
[root@yinzhengjie ~]# mount | grep windows          #我们发现挂载是以读写方式挂载的,虽然是可以进行读操作,但写入操作是被拒绝了,因此Linux内核对window的NTFS支持还是不够完善。
/dev/sdb3 on /windows type ntfs (rw)
[root@yinzhengjie ~]# 
[root@yinzhengjie ~]# echo "https://www.cnblogs.com/yinzhengjie/" > /windows/blog.txt
-bash: /windows/blog.txt: Permission denied
[root@yinzhengjie ~]#  

 

六.使Linux完美支持NTFS文件系统格式

1>.安装ntfs-3q

  如果我们只是让Linux支持NTFS格式其实并不需要重新编译Linux。以上的演示只是为了阐述内核编译的过程。

  在epel源中安装一个叫"ntfs-3g"的软件包即可,它可以完美的支持ntfs文件系统的哟~
[root@yinzhengjie ~]# yum -y install epel-release
Loaded plugins: fastestmirror, refresh-packagekit, security
Setting up Install Process
Loading mirror speeds from cached hostfile
 * base: mirrors.huaweicloud.com
 * extras: mirrors.huaweicloud.com
 * updates: mirrors.huaweicloud.com
Resolving Dependencies
--> Running transaction check
---> Package epel-release.noarch 0:6-8 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

================================================================================================================================================
 Package                                Arch                             Version                         Repository                        Size
================================================================================================================================================
Installing:
 epel-release                           noarch                           6-8                             extras                            14 k

Transaction Summary
================================================================================================================================================
Install       1 Package(s)

Total download size: 14 k
Installed size: 22 k
Downloading Packages:
epel-release-6-8.noarch.rpm                                                                                              |  14 kB     00:00     
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing : epel-release-6-8.noarch                                                                                                      1/1 
  Verifying  : epel-release-6-8.noarch                                                                                                      1/1 

Installed:
  epel-release.noarch 0:6-8                                                                                                                     

Complete!
[root@yinzhengjie ~]# 
[root@yinzhengjie ~]# yum -y install epel-release
[root@yinzhengjie ~]# yum search ntfs
Loaded plugins: fastestmirror, refresh-packagekit, security
Loading mirror speeds from cached hostfile
epel/metalink                                                                                                            | 6.7 kB     00:00     
 * base: mirrors.zju.edu.cn
 * epel: fedora.cs.nctu.edu.tw
 * extras: mirrors.zju.edu.cn
 * updates: mirrors.zju.edu.cn
epel                                                                                                                     | 5.3 kB     00:00     
epel/primary_db                                                                                                          | 6.1 MB     00:01     
============================================================== N/S Matched: ntfs ===============================================================
ntfs-3g.i686 : Linux NTFS userspace driver
ntfs-3g.x86_64 : Linux NTFS userspace driver
ntfs-3g-devel.i686 : Development files and libraries for ntfs-3g
ntfs-3g-devel.x86_64 : Development files and libraries for ntfs-3g
ntfsprogs.x86_64 : NTFS filesystem libraries and utilities
ntfsprogs-devel.i686 : Headers and libraries for libntfs
ntfsprogs-devel.x86_64 : Headers and libraries for libntfs
ntfsprogs-gnomevfs.i686 : NTFS GNOME virtual filesystem module
ntfsprogs-gnomevfs.x86_64 : NTFS GNOME virtual filesystem module

  Name and summary matches only, use "search all" for everything.
[root@yinzhengjie ~]# 
[root@yinzhengjie ~]# yum search ntfs
[root@yinzhengjie ~]# yum -y install ntfs-3g.x86_64
Loaded plugins: fastestmirror, refresh-packagekit, security
Setting up Install Process
Loading mirror speeds from cached hostfile
 * base: mirrors.zju.edu.cn
 * epel: fedora.cs.nctu.edu.tw
 * extras: mirrors.zju.edu.cn
 * updates: mirrors.zju.edu.cn
Resolving Dependencies
--> Running transaction check
---> Package ntfs-3g.x86_64 2:2017.3.23-11.el6 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

================================================================================================================================================
 Package                         Arch                           Version                                      Repository                    Size
================================================================================================================================================
Installing:
 ntfs-3g                         x86_64                         2:2017.3.23-11.el6                           epel                         252 k

Transaction Summary
================================================================================================================================================
Install       1 Package(s)

Total download size: 252 k
Installed size: 718 k
Downloading Packages:
ntfs-3g-2017.3.23-11.el6.x86_64.rpm                                                                                      | 252 kB     00:00     
warning: rpmts_HdrFromFdno: Header V3 RSA/SHA256 Signature, key ID 0608b895: NOKEY
Retrieving key from file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
Importing GPG key 0x0608B895:
 Userid : EPEL (6) <epel@fedoraproject.org>
 Package: epel-release-6-8.noarch (@extras)
 From   : /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing : 2:ntfs-3g-2017.3.23-11.el6.x86_64                                                                                            1/1 
  Verifying  : 2:ntfs-3g-2017.3.23-11.el6.x86_64                                                                                            1/1 

Installed:
  ntfs-3g.x86_64 2:2017.3.23-11.el6                                                                                                             

Complete!
[root@yinzhengjie ~]# 
[root@yinzhengjie ~]# yum -y install ntfs-3g.x86_64
[root@yinzhengjie ~]# rpm -ql ntfs-3g
/bin/lowntfs-3g
/bin/ntfs-3g
/bin/ntfs-3g.probe
/bin/ntfsmount
/lib64/libntfs-3g.so.88
/lib64/libntfs-3g.so.88.0.0
/sbin/mount.lowntfs-3g
/sbin/mount.ntfs
/sbin/mount.ntfs-3g
/sbin/mount.ntfs-fuse
/usr/bin/ntfs-3g
/usr/bin/ntfsmount
/usr/share/doc/ntfs-3g-2017.3.23
/usr/share/doc/ntfs-3g-2017.3.23/AUTHORS
/usr/share/doc/ntfs-3g-2017.3.23/COPYING
/usr/share/doc/ntfs-3g-2017.3.23/CREDITS
/usr/share/doc/ntfs-3g-2017.3.23/ChangeLog
/usr/share/doc/ntfs-3g-2017.3.23/NEWS
/usr/share/doc/ntfs-3g-2017.3.23/README
/usr/share/hal/fdi/policy/10osvendor/20-ntfs-config-write-policy.fdi
/usr/share/man/man8/mount.lowntfs-3g.8.gz
/usr/share/man/man8/mount.ntfs-3g.8.gz
/usr/share/man/man8/ntfs-3g.8.gz
/usr/share/man/man8/ntfs-3g.probe.8.gz
[root@yinzhengjie ~]# 
[root@yinzhengjie ~]# rpm -ql ntfs-3g

2>.使用Linux默认的内核启动

[root@yinzhengjie ~]# reboot           #如下图所示,不要选择咱们编译的支持ntfs文件系统的内核,而是选择默认的内核启动操作系统。

Broadcast message from root@yinzhengjie
    (/dev/pts/0) at 2:12 ...

The system is going down for reboot NOW!
[root@yinzhengjie ~]# 

3>.安装ntfs-3g包后使用默认的内核照样可以正常读写访问ntfs格式的文件系统哟~

[root@yinzhengjie ~]# uname -r
2.6.32-754.el6.x86_64
[root@yinzhengjie ~]# 
[root@yinzhengjie ~]# blkid 
/dev/mapper/vg_node200-lv_root: UUID="fb2cc473-bcf1-4e0d-9fff-71f7aa018cc6" TYPE="ext4" 
/dev/block/253:0: UUID="fb2cc473-bcf1-4e0d-9fff-71f7aa018cc6" TYPE="ext4" 
/dev/block/8:2: UUID="MS8oog-4gRp-iB4D-bpwh-G9R0-BQ2R-U2wseb" TYPE="LVM2_member" 
/dev/sr0: LABEL="CentOS_6.10_Final" TYPE="iso9660" 
/dev/sda1: UUID="6148dc57-76a2-4214-b4d5-5af9c5b40576" TYPE="ext4" 
/dev/sdb3: LABEL="M-eM--M-&M-dM-9M- M-hM-5M-^DM-fM-^VM-^Y" UUID="86BE2310BE22F7F7" TYPE="ntfs" 
/dev/mapper/vg_node200-lv_swap: UUID="a0fd4399-0a45-48ac-817a-3b6c830f63b4" TYPE="swap" 
/dev/mapper/vg_node200-lv_home: UUID="12c57023-efb5-4f61-8c90-c672a3a24dcc" TYPE="ext4" 
[root@yinzhengjie ~]# 
[root@yinzhengjie ~]# df -TH
Filesystem           Type   Size  Used Avail Use% Mounted on
/dev/mapper/vg_node200-lv_root
                     ext4    53G   15G   36G  30% /
tmpfs                tmpfs  2.1G   74k  2.1G   1% /dev/shm
/dev/sda1            ext4   500M   79M  395M  17% /boot
/dev/mapper/vg_node200-lv_home
                     ext4   471G   74M  447G   1% /home
[root@yinzhengjie ~]# 
[root@yinzhengjie ~]# mount /dev/sdb3 /windows/
[root@yinzhengjie ~]# 
[root@yinzhengjie ~]# ll /windows/
total 36
drwxrwxrwx 1 root root  4096 Nov 20 10:38 BaiduNetdiskDownload
drwxrwxrwx 1 root root 28672 Sep  4 14:01 Hlddz
drwxrwxrwx 1 root root     0 Jul 24 14:39 KuGou
drwxrwxrwx 1 root root     0 Sep 25 10:30 Program Files (x86)
drwxrwxrwx 1 root root     0 Jul  8 12:56 $RECYCLE.BIN
drwxrwxrwx 1 root root     0 Sep  4 13:08 System Volume Information
drwxrwxrwx 1 root root     0 Sep 26 13:50 temp
drwxrwxrwx 1 root root  4096 Sep  3 12:57 YXS
drwxrwxrwx 1 root root     0 Aug 26 10:34 学习资料
drwxrwxrwx 1 root root     0 Oct 14 21:28 英雄时刻
[root@yinzhengjie ~]# 
[root@yinzhengjie ~]# echo "https://www.cnblogs.com/yinzhengjie/" > /windows/blog.txt      #此时,我们发现咱们的数据写入成功啦,这都是归功于ntfs-3g这个软件包~
[root@yinzhengjie ~]# 
[root@yinzhengjie ~]# ll /windows/
total 37
drwxrwxrwx 1 root root  4096 Nov 20 10:38 BaiduNetdiskDownload
-rwxrwxrwx 1 root root    37 Dec  3 02:17 blog.txt
drwxrwxrwx 1 root root 28672 Sep  4 14:01 Hlddz
drwxrwxrwx 1 root root     0 Jul 24 14:39 KuGou
drwxrwxrwx 1 root root     0 Sep 25 10:30 Program Files (x86)
drwxrwxrwx 1 root root     0 Jul  8 12:56 $RECYCLE.BIN
drwxrwxrwx 1 root root     0 Sep  4 13:08 System Volume Information
drwxrwxrwx 1 root root     0 Sep 26 13:50 temp
drwxrwxrwx 1 root root  4096 Sep  3 12:57 YXS
drwxrwxrwx 1 root root     0 Aug 26 10:34 学习资料
drwxrwxrwx 1 root root     0 Oct 14 21:28 英雄时刻
[root@yinzhengjie ~]#
[root@yinzhengjie ~]# date 
Tue Dec 3 02:17:50 CST 2019
[root@yinzhengjie ~]#

七.卸载正在使用的内核(内核文件已经被加载到内存中,本地内核文件暂时也不会使用到了,因此是可以卸载的,只不过卸载后,一旦重启操作系统将在也无法使用该内核了)

1>.删除驱动文件

[root@yinzhengjie ~]# ll /lib/modules/
total 8
drwxr-xr-x. 7 root root 4096 Dec  1 07:33 2.6.32-754.el6.x86_64
drwxr-xr-x. 3 root root 4096 Dec  3 01:42 4.18.13-yinzhengjie-v1.0
[root@yinzhengjie ~]# 
[root@yinzhengjie ~]# uname -r
4.18.13-yinzhengjie-v1.0
[root@yinzhengjie ~]# 
[root@yinzhengjie ~]# rm -rf /lib/modules/4.18.13-yinzhengjie-v1.0/
[root@yinzhengjie ~]# 

2>.删除内核文件

[root@yinzhengjie ~]# ll /boot/
total 73692
-rw-r--r--. 1 root root   108282 Jun 20  2018 config-2.6.32-754.el6.x86_64
drwxr-xr-x. 3 root root     1024 Dec  1 07:32 efi
drwxr-xr-x. 2 root root     1024 Dec  3 01:43 grub
-rw-------. 1 root root 25761655 Dec  1 07:34 initramfs-2.6.32-754.el6.x86_64.img
-rw-------. 1 root root  9876372 Dec  3 01:43 initramfs-4.18.13-yinzhengjie-v1.0.img
-rw-------. 1 root root  6305745 Dec  1 07:37 initrd-2.6.32-754.el6.x86_64kdump.img
-rw-------  1 root root  6997938 Dec  3 01:46 initrd-4.18.13-yinzhengjie-v1.0kdump.img
drwx------. 2 root root    12288 Dec  1 07:22 lost+found
-rw-r--r--. 1 root root   216063 Jun 20  2018 symvers-2.6.32-754.el6.x86_64.gz
lrwxrwxrwx. 1 root root       41 Dec  3 01:42 System.map -> /boot/System.map-4.18.13-yinzhengjie-v1.0
-rw-r--r--. 1 root root  2652834 Jun 20  2018 System.map-2.6.32-754.el6.x86_64
-rw-r--r--. 1 root root  3258256 Dec  3 01:42 System.map-4.18.13-yinzhengjie-v1.0
-rw-r--r--. 1 root root  3258256 Dec  3 01:41 System.map-4.18.13-yinzhengjie-v1.0.old
lrwxrwxrwx. 1 root root       38 Dec  3 01:42 vmlinuz -> /boot/vmlinuz-4.18.13-yinzhengjie-v1.0
-rwxr-xr-x. 1 root root  4315504 Jun 20  2018 vmlinuz-2.6.32-754.el6.x86_64
-rw-r--r--. 1 root root  6338368 Dec  3 01:42 vmlinuz-4.18.13-yinzhengjie-v1.0
-rw-r--r--. 1 root root  6338368 Dec  3 01:41 vmlinuz-4.18.13-yinzhengjie-v1.0.old
[root@yinzhengjie ~]# 
[root@yinzhengjie ~]# rm -f /boot/*4.18*
[root@yinzhengjie ~]# 
[root@yinzhengjie ~]# ll /boot/
total 38464
-rw-r--r--. 1 root root   108282 Jun 20  2018 config-2.6.32-754.el6.x86_64
drwxr-xr-x. 3 root root     1024 Dec  1 07:32 efi
drwxr-xr-x. 2 root root     1024 Dec  3 01:43 grub
-rw-------. 1 root root 25761655 Dec  1 07:34 initramfs-2.6.32-754.el6.x86_64.img
-rw-------. 1 root root  6305745 Dec  1 07:37 initrd-2.6.32-754.el6.x86_64kdump.img
drwx------. 2 root root    12288 Dec  1 07:22 lost+found
-rw-r--r--. 1 root root   216063 Jun 20  2018 symvers-2.6.32-754.el6.x86_64.gz
lrwxrwxrwx. 1 root root       41 Dec  3 01:42 System.map -> /boot/System.map-4.18.13-yinzhengjie-v1.0
-rw-r--r--. 1 root root  2652834 Jun 20  2018 System.map-2.6.32-754.el6.x86_64
lrwxrwxrwx. 1 root root       38 Dec  3 01:42 vmlinuz -> /boot/vmlinuz-4.18.13-yinzhengjie-v1.0
-rwxr-xr-x. 1 root root  4315504 Jun 20  2018 vmlinuz-2.6.32-754.el6.x86_64
[root@yinzhengjie ~]# 

3>.修改内核的配置文件

[root@yinzhengjie ~]# cat /boot/grub/grub.conf 
# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE:  You have a /boot partition.  This means that
#          all kernel and initrd paths are relative to /boot/, eg.
#          root (hd0,0)
#          kernel /vmlinuz-version ro root=/dev/mapper/vg_node200-lv_root
#          initrd /initrd-[generic-]version.img
#boot=/dev/sda
default=1
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title CentOS (4.18.13-yinzhengjie-v1.0)
    root (hd0,0)
    kernel /vmlinuz-4.18.13-yinzhengjie-v1.0 ro root=/dev/mapper/vg_node200-lv_root nomodeset rd_NO_LUKS LANG=en_US.UTF-8 rd_LVM_LV=vg_node2
00/lv_swap rd_NO_MD SYSFONT=latarcyrheb-sun16 crashkernel=128M rd_LVM_LV=vg_node200/lv_root  KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM rhgb quiet    initrd /initramfs-4.18.13-yinzhengjie-v1.0.img
title CentOS 6 (2.6.32-754.el6.x86_64)
    root (hd0,0)
    kernel /vmlinuz-2.6.32-754.el6.x86_64 ro root=/dev/mapper/vg_node200-lv_root nomodeset rd_NO_LUKS LANG=en_US.UTF-8 rd_LVM_LV=vg_node200/
lv_swap rd_NO_MD SYSFONT=latarcyrheb-sun16 crashkernel=128M rd_LVM_LV=vg_node200/lv_root  KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM rhgb quiet    initrd /initramfs-2.6.32-754.el6.x86_64.img
[root@yinzhengjie ~]# 
[root@yinzhengjie ~]# vim /boot/grub/grub.conf 
[root@yinzhengjie ~]# 
[root@yinzhengjie ~]# cat /boot/grub/grub.conf 
# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE:  You have a /boot partition.  This means that
#          all kernel and initrd paths are relative to /boot/, eg.
#          root (hd0,0)
#          kernel /vmlinuz-version ro root=/dev/mapper/vg_node200-lv_root
#          initrd /initrd-[generic-]version.img
#boot=/dev/sda
default=1
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title CentOS 6 (2.6.32-754.el6.x86_64)
    root (hd0,0)
    kernel /vmlinuz-2.6.32-754.el6.x86_64 ro root=/dev/mapper/vg_node200-lv_root nomodeset rd_NO_LUKS LANG=en_US.UTF-8 rd_LVM_LV=vg_node200/
lv_swap rd_NO_MD SYSFONT=latarcyrheb-sun16 crashkernel=128M rd_LVM_LV=vg_node200/lv_root  KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM rhgb quiet    initrd /initramfs-2.6.32-754.el6.x86_64.img
[root@yinzhengjie ~]# 
[root@yinzhengjie ~]# 

4>.重启操作系统观察内核已经被成功删除啦

[root@yinzhengjie ~]# reboot 

Broadcast message from root@yinzhengjie
    (/dev/pts/0) at 0:29 ...

The system is going down for reboot NOW!
[root@yinzhengjie ~]# 

原文地址:https://www.cnblogs.com/yinzhengjie/p/11968625.html