有关内核精简的内容,看3楼。

一、下载源代码和编译软件准备下载内核源代码:http://www.kernel.org/

注意,点击2.6.29内核的F版,即完整版。

如果你懒得去网站点联接,运行下列命令:

代码:

cd ~/

wget http://kernel.org/pub/linux/kernel/v2.6/linux-2.6.29.tar.bz2

安装有关编译程序。安装make ,gcc, make-kpkg,运行xconfig等等和编译内核相关的工具。安装不了,请检查/etc/apt/sources.list 文件。

有关命令:

代码:

sudo apt-get install build-essential kernel-package libncurses5-dev fakeroot

二、解压源代码并打上补丁注意,很多教程上说应该解压到 /usr/src,但是linux掌门人linus说解压到任何目录上都可以。

根据我的实验,linus的说法是正确的。我放在自己的主目录下的linus目录。

代码:

tar jfx linux-2.6.29.tar.bz2 -C ~/linus

你要把’~/linus’改成你自己解压linux-2.6.29.tar.bz2的目录,

注意目录容量要到达1.5G

现在,源代码就在 ~/linus/linux-2.6.29/

进入源代码的目录,准备下一步的工作。后面都在这个目录里面进行。

代码:

cd ~/linus/linux-2.6.29/

下载并安装升级补丁

代码:

wget http://kernel.org/pub/linux/kernel/v2.6/patch-2.6.29.2.bz2

bzcat patch-2.6.29.2.bz2 | patch -p1

升级内核可以参考下面的附件

附件:

.pdf [26.46 KiB]

被下载 509 次

三、开始编译前的准备工作。首先,清理以前编译时留下的临时文件,如果是刚刚解开的包,据我的实践,不需要执行这步。执行与否,自己考虑。

相关命令如下:

代码:

make mrproper

很多教程上说把现在使用的内核的config拷贝过来参考,据我的实践,也不需要,ubuntu还有debian会自动做这步。

执行与否,自己考虑。

命令如下:

代码:

cp /boot/config-`uname -r` ./.config

四、开始配置内核选项。相关命令:

代码:

sudo aptitude install libqt3-headers libqt3-mt-dev libqt3-compat-headers libqt3-mt#安装xconfig依赖包,

make xconfig

选项意义:圆中点是编译成可以随时加人的模块(以下简称M),方块中一勾是编译进入内核(以下简称Y),空就是不要(简称N)。(如下图)

附件:

Screenshot-4.png [ 191.05 KiB | 被浏览 16050 次 ]

附件:

刘少侠的2.6.28中文手册

附件:

为了一次成功,请大家遵循一个原则,如果你自己使用的内核已经选用了某个选项,如果你没用充分的理由,不要随便改动。

这样虽然内核不那么精简,但是不容易出现问题。

我自己是按照这个原则一项项对过去,按照金步国先生的资料描述去选择基本上没有问题。

但是有几个问题要强调:

1、在“General setup”里面,有几项普通用户可以放心的去掉,

分别是:POSIX Message Queues 、Cpuset Support、Create deprecated sysfs files、Kernel->user space relay support (formerly relayfs)

2、在“Block layer”里,假如没有2TB的硬盘,就去掉:Support for Large Block Devices 。

3、在“ Timer frequency ”里,默认是250Hz,最好选择1000Hz以提高gui响应

4、下列选项请慎重选择:

Bus options (PCI, PCMCIA, EISA, MCA, ISA)

PCI support

PCI Express support 老式机器没有PCI-E设备的可以选N

ISA support 较新的新机器没有ISA设备,可以选N

MCA support 一般选N

NatSemi SCx200 support 一般选N

PCI Hotplug Support

Support for PCI Hotplug (EXPERIMENTAL) 如果没有PCI热插拔设备,选N

ATA/ATAPI/MFM/RLL support

Include IDE/ATA-2 DISK support 如果你的/boot是放在IDE硬盘上,那么这里一定要选Y,选M都不行。否则启动时会出现“waiting for root file system”的提示而停滞不前。

SCSI device support 如果有SATA硬盘,就选Y

SCSI disk support 如果你的/boot放在SATA硬盘上,一定要选Y。

Character devices

I2C support 一般可以选Y或者M

Graphics support 不建议把显卡驱动编译进内核。,选M,编译成模块方便日后升级驱动。

VESA VGA graphics support 我的机器显卡是ati 3d lt,linux里面的型号定为mach64,我发现除了自己的显卡选项,一定要选择这项,编译进内核,如果不选,显示出现问题。如果你不确定的话,选上吧。

File systems

CD-ROM/DVD Filesystems

ISO 9660 CDROM file system support 一般选Y

DOS/FAT/NT Filesystems

VFAT (Windows-95) fs support 有FAT32分区就选Y吧

NTFS file system support 有NTFS分区就选Y吧

NTFS write support 如果想对 NTFS分区进行写操作,选Y

全部设置完成,请保存设置。按照我的习惯,先在上一层目录保存一个备份,文件名类似 ../config

然后保存到当起目录,文件名 .config

退出设置程序。

五、开始编译内核。ubuntu的工具是make-kpkg,和其他的发行版相比,步骤相对简单。

相关命令:

代码:

sudo make-kpkg clean #这条命令好像不要超级权限,很多资料上说要,不过这不是原则问题。

fakeroot make-kpkg –initrd –append-to-version=david0.75 kernel_image

上述命令中的david0.75大家用自己喜欢的字符代替.

输完上述命令回车之前,建议大家把浏览器还有别的运用程序都关掉,机器开始的工作比较艰苦。我的p4 1.7G机器用了30分钟。

六、安装内核编译完成就是安装工作。编译好的内核在上一层目录。我的是linux-image-2.6.29.2david0.75_2.6.29.2david0.75-10.00.Custom_i386.deb

代码:

cd..

sudo dpk -i linux-image-2.6.29.2david0.75_2.6.29.2david0.75-10.00.Custom_i386.deb

文件名很长,如果不用tab自动补足是不可能的,tab键万岁。

安装完成后和老内核比较一下大小

代码:

ls -l /boot/

注意:安装完后先不要动linux-2.6.29的目录,可能还要安装驱动

七、重新启动验证新内核。sudo reboot

八、如果。。。grub菜单上选用老内核启动机器,推倒重来

附,重启后N卡驱动安装

最新NV驱动才能在2.6.29内核上使用

代码:

sudo sh NV******.run

如果显示找不到内核源码用

代码:

sudo sh NV******.run –kernel-source-path=你编译内核的目录,

sudo sh NV******.run –kernel-source-path=/home/david/linus/linux-2.6.29

inter显卡和用开源驱动(没装受限驱动)打开特效的ati显卡编译内核后不需要安装驱动,不过没用过,

drcom-1.4.8才支持linux-2.6.28以上内核

补充1:如果编译内核后,只是希望修改某些模块(M)选项,可以不用完全重新编译。

只需要执行

make xconfig

然后之添加或减少模块(M)选项

然后(不要执行make mrproper和sudo make-kpkg clean),

直接执行编译命令如

sudo make-kpkg -initrd –initrd –append-to-version=david0.68 kernel_image #整条命令要和上次编译时一样

make就会在原来编译的基础上,编译新选上的模块(如果有的话),而不会全部重新编译。

这样可以节省大量时间和能源,尤其是你电脑不是很快的话。

欢迎大家提意见

附件:

被下载 50 次

新增linux驱动并重新编译内核,【转】配置并编译内核[更新到linux-2.6.29.2]相关推荐

  1. Linux内核的配置和编译

    文章目录 前言 1.内核介绍 2.linux内核源码目录结构 3.内核配置和编译实验 4.内核的配置原理 5.menuconfig 6.Kconfig文件详解 7.menuconfig的实验 前言 以 ...

  2. linux内核配置与编译,LINUX内核的配置与编译、安装

    LINUX内核的配置与编译.安装 平台为VM RHEL 5.1 SERVER,所用的内核为linux-2.6.25. 可以到上下载相应的内核版本. 解压压缩包,并进入内核目录.下面是具体的步骤: 1. ...

  3. 2.6内核的配置与编译

    首先对内核进行菜单配置, 代码: CODE: cd /usr/src/linux make menuconfig 代码成熟度选项, 代码: CODE: Code maturity level opti ...

  4. 十六.linux开发之Kernel移植——内核的配置和编译原理

    有道云笔记地址: 详情看这里链接,记录太多,就不一一排版了. http://note.youdao.com/noteshare?id=d25dbce79566963e3699574a74048154& ...

  5. Linux内核的配置和编译原理

    目录 一.linux内核源码目录结构 二.内核配置和编译体验 三.内核的配置原理 四.menuconfig的使用和演示 五.menuconfig的工作原理 六.Kconfig文件详解 七.menuco ...

  6. Linux环境中Visual Studio Code的配置使用----编译运行C/C++(良心教程)

    之前的博文分享了下载安装[VS code]的详细教程, 有需要速戳–>Linux环境中Visual Studio Code 安装配置及其卸载(详细教程) 本篇博文分享本人初次使用[VS code ...

  7. linux 蓝牙 profile,Linux_Linux系统下蓝牙立体声配置A2DP profile,系统配置:Linux debian 2.6.22.6 #7 - phpStudy...

    Linux系统下蓝牙立体声配置A2DP profile 系统配置:Linux debian 2.6.22.6 #7 Mon Sep 3 10:46:00 CST 2007 ppc GNU/Linux ...

  8. Linux驱动开发(十五)---如何使用内核现有驱动(显示屏)

    前文回顾 <Linux驱动开发(一)-环境搭建与hello world> <Linux驱动开发(二)-驱动与设备的分离设计> <Linux驱动开发(三)-设备树> ...

  9. 【Linux 】内核签名(签名内核模块)、linux 驱动签名、安装特定版本的 kernel-devel

    Linux 内核签名 Linux 内核签名(签名内核模块).linux 驱动签名_西京刀客-CSDN博客_linux内核签名 安装特定版本的 kernel-devel 两种方法. 一.yum 安装 查 ...

  10. 《Android深度探索(卷1):HAL与驱动开发》——6.4节使用多种方式测试Linux驱动...

    本节书摘来自异步社区<Android深度探索(卷1):HAL与驱动开发>一书中的第6章,第6.4节使用多种方式测试Linux驱动,作者李宁,更多章节内容可以访问云栖社区"异步社区 ...

最新文章

  1. oracle怎么下载安装,Oracle数据库的下载和安装方法
  2. .NET Core 最小化发布
  3. python3 shell 正则表达式 攫取复杂字符串特定子串
  4. 为X Windows添加TrueType字体
  5. ssl2295-暗黑破坏神【dp练习】
  6. mongodb防火墙配置
  7. python分支语句_Python中分支语句与循环语句实例详解
  8. html加载状态,js等待页面加载完成
  9. 《web前端课堂》正式上线啦!
  10. mac破解wifi密码
  11. android can为啥能发收不到数据_大数据显示:报读MBA已是未来竞争力提升的必然趋势...
  12. [360优化]让360安全卫士比火绒还好用 #调教360
  13. c语言实验报告1.4.3,c语言实验报告实验三.doc
  14. css美化滚动条样式,css3美化滚动条样式
  15. 正点原子i.mx6ullMini开发板用SPI驱动RC522门禁卡模块
  16. 计算机应用专业招聘试讲内容,广东文艺职业学院2018年第二批合同制人员招聘专业技能考核和试讲题目...
  17. cisco交换机配置记录(一)
  18. springboot疫情防控下基于微信小程序的食堂订餐系统毕业设计源码261620
  19. 【摘录】B2C大点名:国内B2C网站收集
  20. lvgl lv_conf.h文件详解

热门文章

  1. 9个项目助你在2020年成为前端大神!
  2. 在Ubuntu中安装Android投屏软件scrcpy
  3. 学python处理excel_【曾贤志】用Python处理Excel数据 - 第1季 基础篇
  4. windows如何显示文件扩展名称?
  5. centos7安装在NAT网络模式下无网络,显示“以太网(ens33)被拔出“?
  6. 东北大学最优化方法与理论第一章知识点总结——预备知识
  7. 重要 APT攻击事件的特征枚举
  8. c语言病毒源码演示,【病毒】震荡波病毒C语言源码
  9. html 表格 底部加统计,Bootstrap-table使用footerFormatter做统计列功能
  10. 迅雷自动生成的vod_cache_data处理方法