tempad
ReadyGo!技术成就梦想 >>Linux >> 学习园地:编译Linux系统内核的方法步骤 (1)

学习园地:编译Linux系统内核的方法步骤 (1)

ReadyGo!技术成就梦想 网络搜索 efish 2008-8-31 13:38:31

1.需要先安装编译环境

进入 root 帐户:

> su

输入密码

安装必要的工具:

> apt-get install build-essential

(安装 gcc, make 等)

> apt-get install libncurses-dev

(安装 make menuconfig 时必须的库文件)

> apt-get install kernel-package, fakeroot

(Debian 系统里生成 kernel-image 的一些配置文件和工具)

> apt-get install initramfs-tools, module-init-tools

2.安装 kernel-source:

可以从 Ubuntu 的源安装,这样的好处是简单,而且安装的内核是Debian 化了的,缺点是内核不是最新的内核。

> apt-get install linux-source

也可以从 www.kernel.org 下载内核安装。kernel.org 的境象应该很多,选一个最快的来下载,因为要下载的文件很大。我这里介绍的是安装 2.6.24 的内核,加上了 ck 的补丁。

下载 linux-2.6.24.tar.bz2 和 patch-2.6.24.bz2 ,并且把它们都存放在 /usr/src 目录下。

> tar xvjf linux-2.6.24.tar.bz2

> ln -s linux-2.6.24 linux

(如果已经有了 linux 目录,则要先将其删除)

> cd linux

> bzcat ../patch-2.6.24.bz2 | patch -p1

至此,内核源文件以及补丁就都安装好了。

3.编译内核

把源码包解压到 /usr/src/linux-2.6.24,然后在/usr/src/下创建一个名为linux的指向/usr/src/linux-2.6.24的链接(link)。

在shell中输入

root@FE2000:~# cd ..

root@FE2000:/# cd /usr/src/linux

root@FE2000:/usr/src/linux# make mrproper

root@FE2000:/usr/src/linux# make menuconfig

或者make gconfig

此时qconf已经读取了默认配置,你也可以这样做:

在qconf中点File->Load 去读取其他的设置文件。

比如 /boot/config-2.6.18-23-686

下面在qconf中配置.config文件。选“Y”(打勾)就是把它编译到内核中,选“M”(打点)把它编译成模块,供内核动态调用。选“N”就是不安装。也可以保持默认选项……

下面只是简单提几项:

General setup

Optimize for size (Look out for broken compilers!) 发烧友可以选Y以获得更小的内核。

Processor type and features

Symmetric multi-processing support 如果你没有多线程处理器这个可以选N

Processor family 根据你的CPU来选择。

High Memory Support 1G以上内存的选“4GB”, 1G以下的,将来也不打算升级到1G的,选“off”.

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

Device Drivers

Block devices

Packet writing on CD/DVD media

Enable write caching (EXPERIMENTAL) 如果你有刻录机,想启用写缓存功能,选Y

ATA/ATAPI/MFM/RLL support

1 2 >>

[1]  [2]  上一页  下一页
责任编辑: efish 参与评论 查找更多:
相关文章
虚拟机中RH9 2.4内核升级为2.6内核方法 虚拟机中RH9 2.4内核升级为2.6内核方法
高手进阶:Linux系统下驱动程序框架概述 高手进阶:Linux系统下驱动程序框架概述
Linux2.4内核和2.6内核对Initrd处理流程 Linux2.4内核和2.6内核对Initrd处理流程
如何自己动手做一个迷你型Linux操作系统 (1) 如何自己动手做一个迷你型Linux操作系统 (1)
2.6.24内核编译 initrd-2.6.24.img分析 2.6.24内核编译 initrd-2.6.24.img分析
新手学堂:Linux系统下使用net send工具 新手学堂:Linux系统下使用net send工具
Linux系统下如何删除某个目录下大量文件 Linux系统下如何删除某个目录下大量文件
Linux系统Fcitx中文输入法开机启动方法 Linux系统Fcitx中文输入法开机启动方法
Slackware开机 出现lost interrupt错误 Slackware开机 出现lost interrupt错误
Ubuntu Linux设置守护进程时出错的解决 Ubuntu Linux设置守护进程时出错的解决
2秒记住本站域名

玩过泡泡龙吗?Readygo?Go! 再加上.Com.Cn的后缀,那就是大名小顶的ReadyGo.com.cn

分类导航
ReadyGo!技术成就梦想