2.6内核的安装(一)

2016-01-29 18:45 7 1 收藏

2.6内核的安装(一),2.6内核的安装(一)

【 tulaoshi.com - Linux 】


  第一部分,准备
  要使用新的内核首先当然要取得新内核的源码,内核的官方网站是http://www.kernel.org 在上面可以得到最新的内核。2.6的更新是相当快的,你可以在命令行下使用finger @kernel.org命令来快速得到当前最新的内核列表。在这篇文章中我将以2.6.0为准。
  
  下载了内核源码之后,我们要使用tar jxvf linux-2.6.0.tar.bz2来提取源码,如果你下载的是以tgz结尾的压缩包就使用zxvf参数来解压。我强烈建议你不要使用 /usr/src/linux这个目录来存放源码,因为使用这个目录你需要手工在/usr/include目录下作一些符号链接,这实在不是一个好主意。所以我建议你为源码单独建一个目录,这里我们的目录是/src/linux-2.6.0。
  
  要编译与正常运行新的内核你需要升级一些软件包,这些信息在源码目录下的Documentation/Changes文件中,请根据你的实际情况选择升级。这其中我强调一下你应该升级Module-Init-Tools,不要被你当前系统中depmod -V输出的版本号迷惑(在RH9中它的输出是2.4.22,感觉好象要比Changes中所要求的要高,实际上它们使用不同的版本规则)。新的 Module-Init-Tools在下面的网址中取得:http: //www.kernel.org/pub/linux/kernel/people/rusty/modules/
  
  我使用的是0.9.14。如果你下载的是源码使用如下步骤进行编译
  
  ./configure --prefix=/
  
  make moveold
  
  #这一步会将你以前的insmod, modprobe, rmmod和 lsmod
  
  #重命名为insmod.old, modprobe.old, rmmod.old lsmod.old
  
  make

  
  make install
  
  然后使用 ./generate-modprobe.conf /etc/modprobe.conf (将原来的/etc/modules.conf转换到/etc/modprobe.conf )
  
  如果你使用devfs系统你还需要复制modprobe.devfs 到/etc目录下。
  
  当你升级完相关软件包之后,准备工作就算完成了,下面我们将进入到编译阶段。
  
  第二部分 编译
  2.6的build系统与2.4有很大的不同,实际上是更加简单与方便了。第一步我们要进入源码目录
  
  cd /src/linux-2.6.0
  
  make mrproper
  
  make menuconfig (基于文本选单的配置界面)
  
  在闪过几行字之后就出现了如图的界面,在界面的上部是配置工作的使用说明,使用箭头键在各选项间移动,使用enter进入下一层菜单,每个选项上的高亮字母是键盘快捷方式,使用它可以快速的到达你想设置的菜单项上。在括号中按y将这个项目编译进内核中,按M编译为模块,按N为不选择,按esc将返回到上层菜单。 GUI工具的基本概念也与之类似我们就不详细讨论了。在后面我将主要使用menuconfig来设置各个选项,选项的次序以它为准,其它工具中各选项也基本与之对应。切记把声卡的模块编译进内核不然无法发声!!
  
  编译和安装内核
  
  #make
  
  #make install
  
  编译和安装模块
  
  #make modules(编译选择的模块)
  
  #make modules_install(将编译后的模块转移到系统标准位置)
  
  完成后reboot就会发现启动选项就会多出一个2.6内核的选项。
  
  介绍一下新内核中的图形界面配置工具
  
  新内核中有两个GUI配置工具,过去的make xconfig现在是一个使用QT库作为界面方案的配置工具了,所以你要使用它必需先安装QT库。一般的发行版光盘中都包含了这个软件包。
  
  另一个是make gconfig这是一个使用GTK库作为界面方案的工具,同样你要使用它就要先安装GTK库。这两个工具与原来的GUI工具在界面上有很大的变化,更加符合一般图形界面程序的使用习惯。
  
  而传统的控制台配置工具menuconfig则没什么太大的变化基本上保持了原来的样子,不喜欢花里糊哨的GUI工具的兄弟还是用这个吧:)
  
  在2.6中还添加了几个以调试为目的的make选项,它们是allyesconfig、allnoconfig、allmodconfig分别表示将所有选项加载为y、将所有选项加载为n、将所有选项加载为m。它们是为内核开发人员与测试人员准备的,与我们的关系不大。

来源:http://www.tulaoshi.com/n/20160129/1507143.html

延伸阅读
  解决复杂性的所有方法都基于一个基本原理:问题分解和各个击破。也就是说,都是把大 型的、难以解决的问题(或系统)分解成一定数量的复杂度较低的子问题(或子系统), 再根据需要重复这一过程直到每一部分都小到可以解决为止,而各种方法只是这种原理的 一些不同运用而已。 计算机科学中有三种经典的方法比较适合于构建大型系统(...
爱好Linux内核的朋友: 您好! 我最近在阅读Linux的内核,一个人读有时候觉得很无助。所以我想找些有相同想法的朋友一起来读。我的想法是代价把自己阅读时碰到的问题写出来,然后我们一起分析。 谢谢!
  星期天呀,呵呵,10:30起床,好像有一点早,昨天晚上玩游戏玩到3点钟,好累呀。打开电脑,先玩一会游戏在说。11:00,不玩了,开始干正事了。先换到linux下去。本来想用虚拟机的,但是我做的ftp不能用,而且还可能好慢的。我的电脑是没有上网的,在我的2003下架了个ftp,想让虚拟机来访问,可是虚拟机和我的电脑连不上,好郁闷。 ...
标签: Web开发
最近一直学习DotNet相关资料,sscli真是好东西啊:P。 一边学习一边把知识综合了一下,做了这个小工具。 保护原理和国人的remotesoft,maxtocode差不多。加密后的程序发布时也需要附带一个运行库, 不过和那两个不同,附带的运行库不是纯native的dll,而是C++/CLI的混合程序集。 工具已经有了雏形,整体内核框架完成了。用...
    1。缩进 8个字符的长度设置为缩进的长度。这样使得你的代码更加容易阅读,并且提醒你不要nest得过深。     2。断开长的行以及长的字符串 要记住我们的代码会被屏幕只有24个字符长度的终端阅读。     3。放置大括号 这方面我们遵从C程序员的老祖宗——Kernighan and Ritchie的风格。 if...

经验教程

354

收藏

54
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部