首页 > 资讯列表 > 软件学院 >> 系统程序

详解怎样进行内核编译及模块相关命令的使用方法

系统程序 2014-11-27 19:49:50 转载来源: 网络整理/侵权必删

       在Linux的系统中有着 内核编译及模块相关命令,那么关于这个的方面,我们就要认真的来了解下了。所以今天我们就来讲解下怎样进行内核编译及模块相关命令的使用方法

  

     在Linux的系统中有着 内核编译模块相关命令,那么关于这个的方面,我们就要认真的来了解下了。所以今天我们就来讲解下怎样进行内核编译及模块相关命令的使用方法

一 Linux内核相关信息 [plain]  #查看Linux系统   [root@serv01 ~]# uname   Linux   #查看所有信息   [root@serv01 ~]# uname -a   Linux serv01.host.com2.6.32-131.0.15.el6.x86_64 #1 SMP Tue May 10 15:42:40   EDT 2011 x86_64 x86_64 x86_64 GNU/Linux   #内核信息   [root@serv01 ~]# uname -r   2.6.32-131.0.15.el6.x86_64       #/boot目录下   /boot   #驱动   initrd-2.6.32-131.0.15.el6.x86_64kdump.img   #内核   vmlinuz-2.6.32-131.0.15.el6.x86_64       #桌面版的内核存放位置   [root@larrywen boot]# cd/usr/src/kernels/2.6.32-131.0.15.el6.x86_64/   [root@larrywen 2.6.32-131.0.15.el6.x86_64]#ls   arch  crypto   firmware  include ipc     lib       Makefile.common  Module.symvers  samples security  System.map  usr   block drivers  fs        init    kernel  Makefile  mm               net             scripts  sound    tools       virt       #解压内核到/usr/src下   [root@serv01 ~]# tar -xvf linux-2.6.38.tar.gz-C /usr/src/   [root@serv01 ~]# cd /usr/src/linux-2.6.38/   [root@serv01 linux-2.6.38]# pwd   /usr/src/linux-2.6.38       #已经安装好的版本有配置文件   [root@larrywen ule-sa2]# cd/usr/src/kernels/2.6.32-131.0.15.el6.x86_64/   [root@larrywen 2.6.32-131.0.15.el6.x86_64]#ls .config   .config       #查看配置文件   [root@serv01 linux-2.6.38]# vim/boot/config-2.6.32-131.0.15.el6.x86_64       #源码不区分32位和64位       #查看make帮助   #需要在linux-2.6.38目录下   [root@serv01 linux-2.6.38]# make help   clean 清除,保留配置文件   mrproper 清除,不保留配置文件,更彻底       make menuconfig:图形界面   make xconfig:图形界面,需要安装QT   #<*>:制作成内核   #<M>:制作成模块     二 编译配置 [plain]  [root@serv01 linux-2.6.38]# make menuconfig    HOSTCC  scripts/basic/fixdep    HOSTCC  scripts/basic/docproc    HOSTCC  scripts/kconfig/conf.o    HOSTCC scripts/kconfig/kxgettext.o    ***Unable to find the ncurses libraries or the    ***required header files.    ***'make menuconfig' requires the ncurses libraries.    ***    ***Install ncurses (ncurses-devel) and try again.    ***   make[1]: ***[scripts/kconfig/dochecklxdialog] Error 1   make: *** [menuconfig] Error 2   [root@serv01 linux-2.6.38]# yum install"ncurses-devel" -y       #OCFS:Oracle Class FileSystem           #配置后生成.config文件   [root@serv01 linux-2.6.38]# ls .config   [root@serv01 linux-2.6.38]# vim Makefile       [root@serv01 linux-2.6.38]# lsarch/x86/boot/ -d   arch/x86/boot/     三 编译 [plain]  [root@serv01 linux-2.6.38]# make bzImage   Root device is (8, 2)   Setup is 14908 bytes (padded to 15360bytes).   System is 3704 kB   CRC 7521c374   Kernel: arch/x86/boot/bzImage is ready  (#1)     四 编译模块 [plain]  [root@serv01 linux-2.6.38]# make modules     五 安装模块 [plain]  [root@serv01 linux-2.6.38]# makemoudule_install   #make moudule_install拷贝到该目录   [root@serv01 linux-2.6.38]# ls/lib/modules/2.6.32-131.0.15.el6.x86_64/kernel/       [root@serv01 linux-2.6.38]# ls/lib/modules/2.6.38/kernel   #出现这个错误是因为交换分区过小       /bin/sh: line 1: 10010 Killed                  /sbin/depmod -ae -F System.map2.6.38   make: *** [_modinst_post] Error 137   六 安装 [plain]  [root@serv01 linux-2.6.38]# make install   #可以比较下已有版本和编译的版本的不同,(编译版本:没选防火墙)   [root@serv01 linux-2.6.38]# ls/lib/modules/2.6.38/kernel/net/   802   9p   bluetooth  can  dccp          ieee802154  ipv6 llc       phonet  rfkill sctp    wimax     xfrm   8021q atm  bridge     core dns_resolver  ipv4        key  mac80211  rds     sched  sunrpc  wireless   [root@serv01 linux-2.6.38]# ls/lib/modules/2.6.32-131.0.15.el6.x86_64/kernel/net/   802   9p   bluetooth  can  dccp        ipv4  key mac80211   phonet  rfkill sctp    wimax     xfrm   8021q atm  bridge     core ieee802154  ipv6  llc netfilter  rds     sched  sunrpc  wireless       [root@serv01 linux-2.6.38]# ls /lib/modules/2.6.38/kernel/fs/ntfs/ntfs.ko       [root@serv01 linux-2.6.38]# ls/boot/grub/grub.conf   /boot/grub/grub.conf   [root@serv01 linux-2.6.38]# cat/boot/grub/grub.conf   # grub.conf generated by anaconda   # #   # # Note that you do not have to rerun grubafter making changes to this file   # # NOTICE: You have a /boot partition.  Thismeans that   # #         all kernel and initrd paths are relative to /boot/, eg.   # #         root (hd0,0)   # #         kernel /vmlinuz-version ro root=/dev/sda2   # #         initrd /initrd-[generic-]version.img   # #boot=/dev/sda   default=0   timeout=5   splashimage=(hd0,0)/grub/splash.xpm.gz   hiddenmenu   title Red Hat Enterprise Linux(2.6.32-131.0.15.el6.x86_64)          root(hd0,0)                kernel/vmlinuz-2.6.32-131.0.15.el6.x86_64 ro                root=UUID=110fab7c-85c4-4bae-9114-98bc2ada24d8rd_NO_LUKS                rd_NO_LVM rd_NO_MD rd_NO_DMLANG=en_US.UTF-8                SYSFONT=latarcyrheb-sun16KEYBOARDTYPE=pc KEYTABLE=us                crashkernel=auto rhgb quiet                       initrd/initramfs-2.6.32-131.0.15.el6.x86_64.img       [root@serv01 linux-2.6.38]# cat/boot/grub/grub.conf   #/boot目录下新生成的文件       initramfs-2.6.38.img   vmlinuz-2.6.38       #会在这个文件中新加一个内核信息   [root@serv01 linux-2.6.38]# cat/boot/grub/grub.conf       #出现错误一般是交换分区过小,我们可以增加交换分区。如何增加交换分区,请参考此文:系统运维技巧(三)——利用dd命令增加交换分区     七 模块相关命令使用 [sql]  #查看当前系统加载的模块   [root@serv01 linux-2.6.38]# lsmod   #手工加载模块   [root@serv01 linux-2.6.38]# cd/lib/modules/2.6.38   [root@serv01 linux-2.6.38]# cd kernel/ns   [root@serv01 linux-2.6.38]# insmod/lib/modules/2.6.38/kernel/fs/fat/fat.ko   [root@serv01 linux-2.6.38]# lsmod |grep fat   [root@serv01 linux-2.6.38]# insmod/lib/modules/2.6.38/kernel/fs/fat/vfat.ko   [root@serv01 linux-2.6.38]# lsmod |grep fat   #卸载模块,可以跟模块名,也可以跟全路径   [root@serv01 linux-2.6.38]# rmmod fat   ERROR:Module fat is in use by vfat   [root@serv01 linux-2.6.38]# rmmod vfat   [root@serv01 linux-2.6.38]# lsmod |grep fat   #模块之间有依赖,先加这个不能加上   [root@serv01 linux-2.6.38]# insmod/lib/modules/2.6.38/kernel/fs/fat/vfat.ko       #自动处理依赖关系,不需要加全路径   [root@serv01 linux-2.6.38]# modprobe vfat   [root@serv01 linux-2.6.38]# lsmod |grep fat       #-r参数,表示remove   [root@serv01 linux-2.6.38]# modprobe -r fat   [root@serv01 linux-2.6.38]# modprobe -rvfat       #记录模块依赖   [root@serv01 linux-2.6.38]# vim/lib/modules/2.6.32-131.0.15.el6.x86_64/modules.dep       [root@larrywen pdf]# pwd   /opt/soft/ule-sa2/pdf   [root@larrywen pdf]# ls ule-kerenl.pdf   ule-kerenl.pdf   [root@larrywen pdf]# ls ule-module.pdf   ule-module.pdf       #查看模块信息   [root@serv01 linux-2.6.38]# modinfo vfat   filename:      /lib/modules/2.6.32-131.0.15.el6.x86_64/kernel/fs/fat/vfat.ko   author:         Gordon Chaffee   description:    VFAT filesystem support   license:        GPL   srcversion:     ACCC2F7E9526F402F526976   depends:        fat   vermagic:       2.6.32-131.0.15.el6.x86_64 SMPmod_unload modversions(责任编辑:admin)

标签: 详解 怎样 进行 内核 编译 模块 相关 命令 使用方法


声明:本文内容来源自网络,文字、图片等素材版权属于原作者,平台转载素材出于传递更多信息,文章内容仅供参考与学习,切勿作为商业目的使用。如果侵害了您的合法权益,请您及时与我们联系,我们会在第一时间进行处理!我们尊重版权,也致力于保护版权,站搜网感谢您的分享!

站长搜索

http://www.adminso.com

Copyright @ 2007~2024 All Rights Reserved.

Powered By 站长搜索

打开手机扫描上面的二维码打开手机版


使用手机软件扫描微信二维码

关注我们可获取更多热点资讯

站长搜索目录系统技术支持