热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

debian下编译2.6.13.2内核的步骤及感受

debian下编译2.6.13.2内核的步骤及感受--Linux通用技术-Linux编程与内核信息,下面是详情阅读。
编译内核是每一个真正使用linux的用户一定要过的一道关。
linux的无穷魅力就在于用户可以根据自己的需要按需定制一个适合自已的内核。
还有新的硬件老的内核不能识别的话,编译一个新版的内核没准就能识别。
两个星期前我还对编译内核一无所知的,经过一个高手师兄的指点,现在总算可以
顺利编译内核了。

编译内核的主要步骤:
1 到www.kernel.org上下载内核源码,目前已经更新到2.6.13.4 但由于教育网不能随便访问国外网站,我到ftp.tsinghua.edu.cn下载了一个2.6.13.2的内核。反正我的机器是IBM的老PII本子,kernel的新功能一般用不上,主要是定制一个比较精简的内核,把用不到的东西去掉,节省资源
2 下载linux-2.6.13.2.tar.gz到本地目录,我下到了root目录。我看很多人都放在/usr/src下,可能是习惯问题吧。
3 解压缩:tar zxvf linux-2.6.13.2.tar.gz
4 这时root目录下会出现linux-2.6.13.2子目录
5 进入linux-2.6.13.2目录,make menuconfig关键的一步,编译内核的成败全在这一步了。只要少选了什么重要的东西, 新kernel就要panic了。
6 配置完后会在当前目录下面生成一个.config文件。此文件具有隐藏属性
可以用ls -a查看,刚才编的配置文件都保存在这个文件
7 make 编译过程,最漫长的过程,建议找个地方看看书过两个小时再回来
我的CPU比较慢,所以我都是在宿舍晚上make menuconfig ,之后我就睡觉,让
我的本本自己compile,等到第二天早上肯定能编译好。
8 make modules_install 安装配置的模块
9 make install 执行完后会在/boot目录下面生成一个vmlinuz-2.6.13.2
同时在/arch/i386/boot/下面生成一个bzImage,我看了一下,跟vmlinuz-2.
6.13.2是一样大小的,所以推测可能就是一样的文件。
10 mkinitrd -o /boot/initrd.img-2.6.13.2 关于这个文件,我看了很多论坛的
帖子,但还是不太清楚这个东西是干什么用的,听说如果编译时不选择ramdisk就
不需要。
11 修改/boot/grub/menu.lst 加载新内核
12 reboot


编译内核的感受:我从国庆假期就在实验室一直在研究编译内核,经常到论坛上看相关
的帖子,或者用百度搜资料。我用的版本是hiweed Debian linux 0.7。研二的师兄告
诉我Debian下面用标准方式很难编译成功。但我就是觉得Debian的编译方式不如标准方
式用着顺手。在假期里我编了两次都失败了,Debian的方式我也试过,安装完内核后会
把我的Windows选项清掉。假期过完了,又接着编译,又编译了两次,每次还都是这个
错误
VFS:Connot open root device "hda12" or unknown-block(0,0)

kernel panic--not syncing:VFS:Uable to mount root fs on unknown-block(0,0)

VFS老师讲过是底层的物理设备和上层用户间通信的一个逻辑的过渡层。网友提供的一些
解决方法:

原因一:ext2文件格式支持没有编译进内核,不论你使用ext3或其它文件格式,ext2支持都
必须直接编译进内核,不能以内核模块形式编译。

原因二:如果使用initrd.img启动系统,则cromfs必须编译


cromfs在哪里配置我没有找到,但我把关于ATA/IDE/SATA/SCSI的选项都编译进内核就解决
了,不过到现在也不知道什么原因。


编译内核的苦恼就是每次配置都有很多选项要选,很多选项都不知道是做什么用的,去掉
以后会有什么后果,师兄告诉我很多看似无关的选项去掉后就是启动不起来。还有我用的
hiweed debian版本无法安装QT库和GTK库,上论坛发帖子求教也没有求教出结果,到baidu
上搜了一下也没有相关的资料,以前鄙视red hat丑陋的界面,现在开始羡慕red hat的
方便了,只要在安装时选择上Gnome 开发包就行了。而且关于2.6内核的配置资料很少的。

不过有忧必有喜,自己编译内核毕竟有成就感,很多没有用的模块我都没有编译进内核,启
动时快了很多。真正感觉到了It's my kernel!选上Frame Buffer,这样在Terminal里面
和文本模式下面就可以利用zhcon来显示中文了,把Embed fonts选中,这样启动时界面漂亮
很多的,还会显示企鹅。自己编的内核连启动界面都美化了剩下的事情就是阅读源码,真正
明白linux。
的原理,从而更深层次的了解操作系统。
推荐阅读
  • Ubuntu简介Ubuntu(乌班图)是一个以桌面应用为主的Linux操作系统,其名称来自非洲南部祖鲁语或豪萨语的“ubuntu”一词,意思是“人性”、“我的存在是因为大家的存在” ... [详细]
  • 本文介绍了iOS开发中检测和解决内存泄漏的方法,包括静态分析、使用instruments检查内存泄漏以及代码测试等。同时还介绍了最能挣钱的行业,包括互联网行业、娱乐行业、教育行业、智能行业和老年服务行业,并提供了选行业的技巧。 ... [详细]
  • 如何使用PLEX播放组播、抓取信号源以及设置路由器
    本文介绍了如何使用PLEX播放组播、抓取信号源以及设置路由器。通过使用xTeve软件和M3U源,用户可以在PLEX上实现直播功能,并且可以自动匹配EPG信息和定时录制节目。同时,本文还提供了从华为itv盒子提取组播地址的方法以及如何在ASUS固件路由器上设置IPTV。在使用PLEX之前,建议先使用VLC测试是否可以正常播放UDPXY转发的iptv流。最后,本文还介绍了docker版xTeve的设置方法。 ... [详细]
  • 如何查看电脑系统版本_腾讯云服务器系统版本怎么看?Windows和Centos版本怎么选?...
    腾讯云服务器系统版本怎么看?想要知道自己的腾讯云服务器系统版本是哪个,可以登录云服务器后台管理系统查看,或者使用命令行查询,如果不会操作& ... [详细]
  • 主流操作系统简介
    主流操作系统简介子墨居士操作系统理论定义为管理计算机硬件资源,控制其他程序运行并为用户提供交互操作界面的系统软件的集合。操作系统是计算机系统的关键组成部分࿰ ... [详细]
  • 下载地址http:www.kbengine.org这货不错安装在Linux上安装(CentosDebianUbuntuetc.)服务端,请在终端输入:pythonkbenginek ... [详细]
  • i3 处理器_旧机型安装 Linux_64位操作系统
    1.确认CPU是否支持64位首先确认CPU为64位cpu,intelcpu应支持EM64T指令集,amdcpu应支持x86-64指令集; ... [详细]
  • 1998元龙芯学生笔记本将投产(组图)
    图1:图示龙芯笔记本机型外观靓丽,对边角做了圆滑处理以防止划伤磕碰,定位小学生。(国芯科技图片)图2:图示龙芯笔记本机型外观稳重,更适合中学生使用。(国芯科技图 ... [详细]
  • 一次上线事故,30岁+的程序员踩坑经验之谈
    本文主要介绍了一位30岁+的程序员在一次上线事故中踩坑的经验之谈。文章提到了在双十一活动期间,作为一个在线医疗项目,他们进行了优惠折扣活动的升级改造。然而,在上线前的最后一天,由于大量数据请求,导致部分接口出现问题。作者通过部署两台opentsdb来解决问题,但读数据的opentsdb仍然经常假死。作者只能查询最近24小时的数据。这次事故给他带来了很多教训和经验。 ... [详细]
  • 本文介绍了互联网思维中的三个段子,涵盖了餐饮行业、淘品牌和创业企业的案例。通过这些案例,探讨了互联网思维的九大分类和十九条法则。其中包括雕爷牛腩餐厅的成功经验,三只松鼠淘品牌的包装策略以及一家创业企业的销售额增长情况。这些案例展示了互联网思维在不同领域的应用和成功之道。 ... [详细]
  • 【影评】大内密探灵灵狗
    本文是对王晶执导的电影《大内密探灵灵狗》进行的影评。文章称赞了王晶的才华和导演经验,认为演员阵容强大,笑料不少,发明新奇又好笑。然而,编剧的表现被认为是本片的最大失败,宣传言过其实,笑点不多。总体来说,本片是一部典型的王式喜剧,可看性较高,但没有突破。 ... [详细]
  • 系统安装Debian系统的安装方式和Ubuntu系统的安装方式几乎是一样的,毕竟Ubuntu系统是基于Debian的,就如同CentOS基于Redhat ... [详细]
  • 阿里云服务器iis设置方法与上千种Linux桌面版本相比,Linux服务器只有可怜的十几种。但想要选对适合你的企业需要的仍然不是件容易的事情,选Linux服务器首先要 ... [详细]
  • 如何监控 Linux 服务器状态?,分享
    Linux服务器我们天天打交道,特别是Linux工程师更是如此。为了保证服务器的安全与性能,我们经常需要监控服务器的一些状态,以保证工作能顺利开展。本文介绍的几个命令,不仅仅适用于 ... [详细]
  • 一、安装软件包dig和nslookup需要安装相关软件包。Centos:yuminstallbind-utilsDebian:apt-getupdate ... [详细]
author-avatar
2702934635_941
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有