总结之:CentOS 6.5内核编译步骤及配置详解

简介:

前言
   Linux内核是操作系统的核心,也是操作系统最基本的部分。


   Linux内核的体积结构是单内核的、但是他充分采用了微内核的设计思想、使得虽然是单内核、但工作在模块化的方式下、并且这个模块可以动态装载或卸载;Linux负责管理系统的进程、内存、设备驱动程序、文件和网络系统,决定着系统的性能和稳定性。如是我们在了解Linux内核的基础上根据自己的需要、量身定制一个更高效,更稳定的内核,就需要我们手动去编译和配置内核里的各项相关的参数和信息了。
注意、如果两个内核模块的版本不完全相同是不可以跨版本使用的。

正文
   首先我们要去获得Linux内核的压缩文件、获得的路径很多了、最直接的就是去内核官网获得了(http://www.kernel.org),也可以到各镜像站上去下载、这里就不再说明了。

注意:/usr/src;一般而言、我们制做linux内核的时候源码一般放在这个路径下、并且有一个链接叫linux什么的、所以展开时应该放在这个路径下。

   我这里下载有一个3.13.2版本的内核、展开时指定一个展开路径就可以了,文件比较大、70多M、可能需要点时间的。
   # tar xf linux-3.13.2.tar.xz -C /usr/src/

   wKioL1MapH-Bjd82AABmpA1PjrU567.jpg
   展开之后在/usr/src/这个目录下就看到了生成一个linux-3.13.2的文件了

   为以后使用方便、我们给他创建一个链接:
   # ln -sv linux-3.13.2 linux

   wKiom1MapNKh74XPAAB5IEKw_vI902.jpg
   我们cd到linux目录里面看一下里面的文件看:
   # cd /usr/src/linux

   wKioL1MapOHQgrpoAACzmJ7T90Q230.jpg
   里面的目录我这里就不一一介绍了、有兴趣的朋友可以去了解一下哦。

   到下一步就是去配置内核了、这步配置内核的方法有多种、每一个make就是一种方法、我们只在选一种就可以了:
   make config:遍历选择所要编译的内核特性
   make allyesconfig:配置所有可编译的内核特性
   make allnoconfig:并不是所有的都不编译,而是能选的都回答为NO、只有必须的都选择为yes。
   make menuconfig:这种就是打开一个文件窗口选择菜单,这个命令需要打开的窗口大于80字符的宽度,打开后就可以在里面选择要编译的项了
   下面两个是可以用鼠标点选择的、比较方便哦:
   make kconfig(KDE桌面环境下,并且安装了qt开发环境)
   make gconfig(Gnome桌面环境,并且安装gtk开发环境)

   menuconfig:使用这个命令的话、如果是新安装的系统就要安装gcc和ncurses-devel这两个包才可以打开、然后再里面选择就可以了、通这个方法也是用得比较多的:

wKiom1MapVCCGRSaAAMP-pFlTno636.jpg
   

   如果想方便点又不想用别的方法那就复制当前系统上的/boot/config-版本-平台,这个文件到/usr/src/linux/.config覆盖这个文件,再改一下里面的配置信息;哪些用得着就保留、哪些用不着就删除了都可以、有什么新的也可以加进来、这就是按自己的需求来配置了;

wKioL1MapU-xI3JzAAGGyCZYZIg932.jpg
   

   注意:如果编译是在远程连接上的话、make会出问题的、如果远程连接断开的话那运行的进程是不是也都断开了、这个make的进程一定是当前系统上运行的子进程、有些一旦父进程挂了、子进程也将不复存在、俗话说:皮之不存毛将焉附,是这个道理吧;


   所以我们使用一个叫screen这个命令来操作,没安装自己安装上就是了、可以在一个窗口上启动n个虚拟的桌面,即使退出了也会保留之前的内容,切换进screen就可以看到窗口标题栏上的screen标志了:

   wKiom1Mapd_w1zGTAAEcrGcM8i0433.jpg

   

   # screen -ls:可以查看当前启用了多少个screen
   按Ctrl+a,松开再按d可以隐藏screen桌面

   因为编译内核需要比较长的时间、所以我们在screen上编译、然后再把screen桌面隐藏就可以了;

   重新接入screen:
   # screen -r 跟上screenID就可以了

   然后我们就开始编译吧;(我这里编译差不多用了两小时、make的时候我不指定cpu的核心数、默认就是用一个核来编译、所以很久)

   # make

   wKiom1MappTS0l7PAADEZe4oUD8150.jpg
   

   编译好了之后我们就可以进行下一步了:
   # make modules_install

   这步完了之后你可以查看一下/lib/modules/目录下就会生成一个以版本号命名的一个文件模块了
   wKiom1Mawq7yelmIAABNeTaicBs308.jpg

   

    modules之后再往下走、敲命令吧
   # make install

   安装完之后会在/boot/目录下生成一个内核文件vmlinuz-3.13.2、还有几个跟你当前编译的版本一样的文件、可以ls去看一下:
   # ls /boot/

   wKioL1MaxPbj4wuFAAD2w1YRV1Q097.jpg
   如果没出什么问题到这里我们应该算是编译好了一个新内核了;可以到grub.conf配置文件时看一下:
   # vim /boot/grub/grub.conf

   wKiom1Maxdiy9RmsAAGyhgb-QWs068.jpg
   

   好了、要不我们重启一下看看、OK、重启吧!如果顺利的话就可以进到内核选择界面了,选项我们编译的新内核就OK了,好了、到这就结束了!

wKioL1Maxz2ge3GNAAC6wW-iFY0072.jpg
   总结一下我们的安装步骤:
       1、获取内核源码,解压至/usr/src
           # tar xf linux-3.13.5.tar.xz -C /usr/src
           # ln -sv /usr/src/linux-3.13.5  /usr/src/linux
       2、配置内核特性(选择一种方法就可以了)
           make config:遍历选择所要编译的内核特性
           make allyesconfig:配置所有可编译的内核特性
           make allnoconfig:并不是所有的都不编译
           make menuconfig:这种就是打开一个文件窗口选择菜单
           make kconfig(KDE桌面环境下,并且安装了qt开发环境)
           make gconfig(Gnome桌面环境,并且安装gtk开发环境)
       3、编译内核
           # make [-j #] : #号最多为CPU物理核心总数的两倍,这样会快点哦            
       4、安装内核模块
           # make modules_install
       5、安装内核
           # make install
       6、验正并测试
           # cat /boot/grub/grub.conf
           查看新内核是否已经添加, 而后重启系统并测试

结束:
   其实编译一个新的内核好像也不是很难是吧、跟我们之前源码编译的httpd的步骤差不多、也就是第一步麻烦点、细心点就OK了,当然如果有什么不对的地方还望各路诸侯多多提点!










本文转自 wei0164 51CTO博客,原文链接:http://blog.51cto.com/tanxw/1370606,如需转载请自行联系原作者
目录
相关文章
|
21天前
|
Linux 网络安全 开发工具
Centos6.5安装并配置Telnet服务
该内容是一个关于如何安装配置Telnet服务的教程。首先,通过yum安装vim、xinetd、telnet和telnet-server。接着,修改/etc/xinetd.d/telnet配置文件,将disable改为no,并设置访问限制(如限定特定网段和时间)。关闭防火墙,重启服务。创建测试用户后,分别使用CentOS和Windows的Telnet客户端进行连接测试,显示成功,实验完成。
26 1
|
8天前
|
Linux
CentOS 7 配置yum阿里源 (三步即可)
CentOS 7 配置yum阿里源 (三步即可)
115 1
|
19天前
|
网络协议 Java 应用服务中间件
记录_centos7离线环境和虚拟机共享文件安装jdk和tomcat(配置环境变量)
记录_centos7离线环境和虚拟机共享文件安装jdk和tomcat(配置环境变量)
11 0
|
21天前
|
Linux 网络安全 开发工具
Centos7 sendmail服务安装与配置
该文本描述了在Linux系统中设置邮件服务的步骤。首先,启用httpd的邮件发送功能,然后安装sendmail、sendmail-cf和dovecot。接着配置/sendmail.mc,设定IP和邮件域名。在dovecot配置文件中启用imap、pop3和lmtp协议,取消明文认证限制,设定mail_location,并开启SSL。创建用户mail3和mail4,给予相应权限。停止postfix服务,编辑访问控制、提交配置、本地主机名等文件。最后,重置sendmail、dovecot和saslauthd服务。
47 0
|
21天前
|
运维 网络协议 Linux
【运维系列】Centos7安装并配置PXE服务
PXE是Intel开发的预启动执行环境,允许工作站通过网络从远程服务器启动操作系统。它依赖DHCP分配IP,DNS服务分配主机名,TFTP提供引导程序,HTTP/FTP/NFS提供安装源。要部署PXE服务器,需关闭selinux和防火墙,安装dhcpd、httpd、tftp、xinetd及相关服务,配置引导文件和Centos7安装源。最后,通过syslinux安装引导文件,并创建pxelinux.cfg/default配置文件来定义启动参数。
57 0
|
21天前
|
运维 网络协议 Linux
【运维系列】Centos7安装并配置postfix服务
安装CentOS7的Postfix和Dovecot,配置Postfix的`main.cf`文件,包括修改完全域名、允许所有IP、启用邮箱等。然后,配置Dovecot的多个配置文件以启用auth服务和调整相关设置。重启Postfix和Dovecot,设置开机自启,并关闭防火墙进行测试。最后,创建邮箱账户并在Windows邮箱客户端中添加账户设置。
19 0
|
21天前
|
网络协议 Linux 网络安全
Centos7 配置DNS服务
该教程指导配置DNS服务器:首先通过yum安装bind和cach件,然后修改IP设置。接着,编辑/etc/named.conf,将第13行和21行的参数改为"any"。在/etc/named.rfc1912中更新正向和反向域名。创建正向解析文件/var/named.localhost和反向解析文件/var/named.loopback,按指定格式添加解析记录。最后,重启服务,确保防火墙关闭,通过nslookup检查DNS配置效果。
28 1
|
21天前
|
Linux 网络安全
Centos6.5安装并配置NFS服务
该内容描述了在Linux系统中设置NFS服务的步骤。首先挂载yum源,然后安装NFS服务,并编辑配置文件。接着,重启rpcbind和NFS服务,可能需要重复此过程以解决初始可能出现的问题。此外,关闭防火墙策略,并再次重启服务。最终,根目录被共享,特定IP网段被允许访问。
26 0
|
21天前
|
开发工具 数据安全/隐私保护
Centos6.5安装并配置samba服务
配置Samba服务,执行`yum -y install samba`。创建finance、sales、manager组及对应用户:user1, user2(finance组),user3(sales组),manager(manager组)。设定用户密码。创建共享目录,给予finance组对finance目录的读写权限,编辑`smb.conf`。manager拥有所有共享目录的读写权限。确保用户对其共享文件夹有完全权限,其他用户只读写。重启服务。共享/opt/public_share为share,创建无登陆权用户Tonny,允许所有用户读写,文件属主为Tonny。最后,重启服务。
13 0
|
21天前
|
网络协议
Centos6.5配置网络适配器
使用`vi /etc/sysconfig/network/ifcfg-eth0`配置网卡,将ONBOOT设为YES,移除dhcp,设定IP为192.168.10.1,子网掩码255.255.255.0,网关192.168.10.254。可选设置DNS。最后,重启网络服务`service network restart`。
21 0

热门文章

最新文章