南方Linux论坛   首页 | 行业 | 下载 | Blog | 桌面应用 | 数据库 | 电子商务 | 文摘 | 网络服务 | 开源 | 系统管理 | 内核代码 | 教程

返回   南方Linux论坛 > Linux基础技术支持区 > ARM+linux,uclinux技术交流
注册账号 Blog 论坛帮助 会员列表 日历事件 搜索 今日新帖 标记讨论区已读

发表新主题 回复
 
主题工具 显示模式
旧 2007-02-06, 01:39 PM   #1
linjiangjie 帅哥
级别:0 | 在线时长:0小时 | 升级还需:5小时
版主
 
注册日期: 2007-02-06
帖子: 6
精华: 0
现金: 31 金币
资产: 31 金币
声望: 10 linjiangjie 正向着好的方向发展
默认 浅谈Linux的内核

浅谈Linux的内核

linux是由1991年Linus B. Torvalds在网络上组织人员为PC机写的第一个免费的UNIX内核(KERNEL),发展成的一个能在PC机上可靠稳定工作的UNIX/X-WIN操作系统。从此,个人拥有工作站已不再是梦想。每个计算机爱好者都可以把自己的PC变成类似Sun Station或BSD UNIX系统的工作站。Linux系统具有最新UNIX的全部功能:真正的多任务,虚拟存储,共享库函数,即时负载,优越的存储管理和TCP/IP,UUCP网络工具。从技术上讲, Linux只是内核。它与诸如编译器、编辑器、窗口管理器等程序一起,组成了发布版。因此,虽然有不同的发布版,但其内核是相同的。

  内核是Linux的心脏,它是在引导时装入的程序,用来提供用户层程序和硬件之间的接口,执行发生在多任务系统中的实际任务转换,处理读写磁盘的需求,处理网络接口,以及管理内存。一般情况下,自动安装的内核无需任何改动就可以在机器上运行,但若要为新的设备添加支持程序或削减内核支持的设备列表,以降低内存需求,则需要配置内核。

  通常,内核源代码树以一个名为linux-X.X.XX.tar.gz的文件出现,X.X.XX为内核的版本号。内核的版本号分为三部分(以2.0.35为例):
  1、主版本号:此内核是2。它表明对内核的重大改进,很少改变。
  2、次版本号:此内核是0。它表明内核的稳定性。偶数号(如0、2、4等)的内核是稳定的产品版本。而奇数号(如1、3、5等)的内核是处于开发过程中的内核,一般包含着最近开发的试验性代码,它不太稳定,有时可能包含着致命的错误。
  3、修订号:此内核是35。它表明这一发布版本的增补级。

  下面我们来看看如何升级内核(以2.0.35版为例):
  1、获取源代码树:linux-2.0.35.tar.gz。
  2、解开内核:
  cd /usr/src/ (进入到目录 /usr/src/)
  rm -rf /usr/src/linux (将旧的内核源代码删除,也可以将其移走)
  cp linux-2.0.35.tar.gz /usr/src/ (将新的内核文件拷贝到刚才的目录)
  tar xzf linux-2.0.35.tar.gz (将内核文件解压缩,产生新目录/usr/src/linux)
  3、创建符号链接:
  cd /usr/include (进入到目录 /usr/include)
  rm -rf linux asm scsi (删除所有的老的头文件)
  ln -s /usr/src/linux/include/linux linux ln -s /usr/src/linux/include/asm-i386 asm ln -s /usr/src/linux/include/scs csi (创建符号链接将你的系统指向包含有新内核代码的新的头文件)
  cd /usr/src/linux (进入目录 /usr/src/linux)
  make mrproper (清除任何将引起问题的附加额外的源代码)
  4、配置内核:
  cd /usr/src/linux (进入目录 /usr/src/linux)
  make menuconfig (用菜单形式配置内核。根据自己的要求,配置内核,不确定的用缺省配置。另有make config----文本界面,make xconfig----图形界面命令可选。此外注意保存配置)
  5、创建内核(在目录 /usr/src/linux下):
  make dep (此命令用来分析内核的配置并创建相应的相关树,决定那些内容该编译,那些内容不该编译)
  make clean (此命令用来清楚所有以前编译的痕迹)
  make zImage (编译内核,如果内核较大,用make bzImage)
  make modules (编译模块)
  make modules_install (安装模块)
  cp /usr/src/linux/arch/i386/boot/zImage /boot/zImage (将zImage拷贝到/boot)
  6、把新内核放入lilo:
  vi /etc/lilo.conf (用vi编辑/etc/lilo.conf)
  写清/image=/boot/zImage 保存退出。
  lilo (执行lilo命令)
  7、起用新内核 注意,以上工作需以root身份完成。
  此,内核的升级就结束了,由于本人水平有限,难免有不妥之处,欢迎大家批评指正。
linjiangjie 当前离线  
回复时引用此帖
旧 2008-09-29, 08:34 PM   #2
hong830210
级别:0 | 在线时长:1小时 | 升级还需:4小时
初级会员
 
注册日期: 2008-09-12
帖子: 6
精华: 0
现金: -6 金币
资产: -6 金币
声望: 10 hong830210 正向着好的方向发展
默认 回复: 浅谈Linux的内核

不错!!!!!!!!
hong830210 当前离线  
回复时引用此帖
发表新主题 回复


当前查看此主题的会员: 1 (0 位会员和 1 位游客)
 
主题工具
显示模式

发帖规则
不可以发表新主题
不可以回复主题
不可以上传附件
不可以编辑您的帖子

论坛启用 BB 代码
论坛启用 表情符号
论坛启用 [IMG] 代码
论坛禁用 HTML 代码


所有时间均为北京时间。现在的时间是 04:19 AM


vBulletin 3.6.8 Powered by 南方Linux联盟
版权所有 ©2004 - 2009, bbs.linuxunion.net