编译安装Linux内核
来源:天天加油
摘要
文章将为你详细并逐步的描述如何编译、配置、安装一个定制的RedHat Linux内核。我们知道,一个定制的内核从很多方面来看都是必需的,在此我不再讨论这个问题。我只向大家展示如何编译、配置和安装一个定制的内核。虽然下面所列步骤主要是针对RedHat Linux用户,但它也同样适用于其它Linux发行版的使用者。当然,一些较小的改动是必须的(例如,并不是所有的系统都使用initrd)
硬件配置
下列步骤需在一个下列配置的计算机系统中演示:
Compaq Presatio 4010 Series cinorter system,15.5GB硬盘,96 MB内存,400 MHz Intel Celeron Processorm ,Red Hat Linux 7.0(内核版本为2.2.16-22)
目标
我们的目标是在进行完下列步骤后得到一个完全运行的定制过的内核,例如,我有一个 定制过的内核2.2.16-22ghosh在我的系统中运行(我的名字叫Subhasish Ghosh,你也可以命名为其它名称,事实上在系统中有两个内核是同时运行的)下面,搜索并编译Linux内核。
编译、配置并安装一个定制的RedHat Linux内核的步骤:
整个步骤如下:
步骤1:以“root"身份登录,然后执行下列步骤
步骤2:在命令提示中键入 "rpm-q kernel-headers kernel-source make dev86"
步骤3:如果这些rpm包已经装好,直接进入步骤4。否则,挂载上RedHat Linux 7.0 光盘并执行rpm-Uvh以便安装这些必须的rpm包。
步骤4:如果你已有一个完全运行的X window System,那么在命令提示中键入“startx”。如果没有配置X window System,那么在命令提示中键入“make config”或者“make menuconfig”。
步骤5:进入GNOME环境,打开GNOME终端并键入“cd /usr/src/linux”然后回车。
步骤6:在/usr/src/linux 目录下,键入“make xconfig”。
步骤7:屏幕上将出现GUI版本的“make config",它将提供给你不同选项使你获得一个定制的内核。
步骤8:现在,我建议你尽量使用缺省设置。请注意不要轻易改变选项,因为许多选项非常敏感,需要专业处理,你仅需要做以下改动:
1.处理器型号和特征:选择正确的处理器取决于你是否使用Pentium Ⅱ或者Pentium Ⅲ,或像我一样使用Intel Celeron.例如,我操作如下:
Processor Family:PPro/686MX
Maximum Physical Memory:1 GB
Math Emulation:Yes
MTRR:Yes
SMP:Yes
2.打开文件系统对话框并做以下改动:
例如我是如下选择的:
DOS FAT fs support:Yes(y)
MSDOD fs support:Yes(y)
UMSDOS:m
VFAT(Window 95) support:Yes(y)
NTFS filesystem support (read-only):Yes(y)
NTFS read-write support(DANGEROUS):NO(n)
完成以上选择后,请确认你没有改变其它选项。以上所有改动是无害的, 不会对你的Linux内核产生坏作用。
3.保存并从主对话框中退出
步骤9:在/usr/src/Linux目录下执行"ls -al".
步骤10:你将看到一个名为"Makefile"的文件,它对整个编译过程非常重要。因此,一定要先使用“cp Makefile Makefile.bak”命令对该文件进行备份。
步骤11:在usr/src/linux 中执行"vi Makefile"。
步骤12:找到EXTRAVERSION并改变它.例如:我将EXTRAVERSION=-22改为EXTRAVERSION="-22grosh".当然,你完全可以任意命名它。
步骤13:保存并退出文件。
步骤14:下列步骤在/usr/src/Linux 目录下执行。键入“make dep clean”回车。
步骤15:键入:“make bzImage modules”。这需要花费一些时间。你可以在这段时间休息一会。
步骤16:以上步骤完成后,在/usr/src/Linux/arch/i386/boot目录下将产生一个“bzlmage”文件。找到这个目录并检查“bzlmage”文件是否已经产生.如果上述步骤得到了正确的执行并且在“make xconfig”中的所有选项都选择正确的话,你一定会看到这个文件。如果没有这个文件,那么很遗憾,你得从头开始。
步骤17:在/usr/src/linux目录下键入“cp ./arch/i386/boot/bzlmage /boot/vmlinuz-2.2.16.22ghosh”并回车。
步骤18:键入:“cp System.map /boot/System.map-2.2.16-22ghosh”。
步骤19:键入:“make modules install”,回车。你将看见所有的模块将在一个新的指定目录下被安装。
步骤20:键入:“mkinitrd /boot/initrd-2.2.16-22ghosh.img2.2.16-22ghosh”。
步骤21:键入:“vi /etc/lilo.conf”且随后加入以下条目
image=/boot/vmlinuz-2.2.16-22ghosh
label=GhoshKernel
initrd=/boot/initrd-2/2/16-22ghosh.img
root=/dev/hdc5
read-only
步骤22:保存并退出。请注意:在lilo.conf文件中已经按你的要求改变了相应的条目,但重要的一点是根目录必须是你的系统的根目录。例如:在我的系统中是在/dev/hde5中。插入你的系统的有关信息。
步骤23:键入:“/sbin/lilo -v -v”。
步骤24:阅读屏幕上的所有信息。假如没有显示错误,那么所有的工作就已完成了。Congratulations!
步骤25:键入:“/sbin/reboot”或“/sbin/shutdowm-r now”重新开机。
步骤26:在启动屏中,按Tab键(如果你使用的是LILO启动屏,可按 ctrl-X 键),你可以看见与其它选项一同出现的“GhoshKernel”选项。
步骤27:键入:GhoshKernel,回车。完全运行的定制内核就被引导装入系统中了。
终曲
以“root”身份登录,键入“uname -r”然后回车。你会在屏幕上看到2.2.16-22ghosh条目,它表示你正在运行定制过的内核,而不是2.2.16-22的内核版本。记住你可以在一个计算机中运行多个不同版本的内核。
资源
在许多Web站点里都有关于如何编译和运行最优化的定制内核的信息。例如http://www.vmlinuz.nu/。还有一些其它的关于Linux内核的使用和编译的站点。
分享到:
相关推荐
linux内核编译2.6.39linux内核编译2.6.39linux内核编译2.6.39linux内核编译2.6.39linux内核编译2.6.39linux内核编译2.6.39linux内核编译2.6.39linux内核编译2.6.39linux内核编译2.6.39linux内核编译2.6.39linux内核...
编译Linux内核是一个复杂但重要的过程,它涉及到多个步骤: - **配置内核**:使用`make menuconfig`或`make xconfig`等工具来配置内核。这些工具提供了图形界面或文本界面,帮助用户选择需要的功能。 - **交叉...
编译Linux内核及调试内核模块 本篇文章主要讲述了编译Linux内核及调试内核模块的过程,以帮助读者掌握编译内核调试内核模块的基本方法。下面是文章中所涉及的知识点: 1. 获取内核源码:文章中讲述了如何从网上...
Linux 内核编译文档 本文档旨在为 Linux 新手提供一个详细的 Linux 内核编译指南,帮助他们从基础开始学习 Linux 系统。...通过本文档,读者可以轻松地编译和安装 Linux 内核,从而深入了解 Linux 系统的核心机理。
- **编译Linux内核**: 执行`make bzImage`命令编译内核映像文件`bzImage`,并使用`make modules`和`make modules_install`命令编译并安装内核模块。 - **修改Grub配置**: 修改Grub配置文件以支持新编译的内核,确保...
为了编译Linux内核,你需要安装MinGW32的完整版,包括gcc、make以及其他必要的库和工具。确保你的MinGW32安装了g++编译器,因为内核源码主要是用C++编写的。 接下来,我们需要**Linux 0.11** 的源代码。在解压提供...
### Linux内核重编译详解 #### 一、前言:Linux内核的魅力与灵活性 Linux内核,作为操作系统的核心,不仅提供了用户程序与硬件之间的桥梁,还支持多任务、虚拟存储、共享库函数等功能,使得Linux成为了一个成熟且...
编译安装安卓内核是 Android 系统中一个非常重要的步骤,它涉及到 Linux 内核的编译、配置和安装。在本文中,我们将逐步详细地描述如何编译、配置和安装一个定制的 Android 内核。 编译安装安卓内核的必要性 在 ...
然后,执行 make modules 和 make modules_install 命令编译和安装内核模块。 步骤 3: 编写模块文件及 Makefile 编写模块文件,例如 hello.c,包含了模块的初始化和退出函数。使用 Makefile 文件来编译模块文件,...
编译Linux内核 编译Linux内核是Linux操作系统课程设计实验的一部分,目的是学习重新编译Linux内核,理解并掌握Linux内核和发行版本的区别。以下是编译Linux内核的详细知识点: 一、实验目的 * 了解Linux内核的...
操作系统Linux内核编译是一项对Linux系统有深入理解的重要实践,它涉及到系统核心的构建、配置和安装。在这个实验报告中,我们主要关注的是在Ubuntu Kylin 13.04环境下,如何编译和安装一个新的Linux内核,并且如何...
Linux内核编译需要注意的几点是编译内核需要root权限,需要备份重要数据,需要安装Linux系统和软件gcc-2.95.3,需要收集硬件信息,需要删除符号链接,需要生成configure文件,需要编译内核,需要安装内核模块,需要...
4. **了解Linux内核的编译过程**:学会如何编译Linux内核,理解编译过程中的关键步骤及其背后的原理。 5. **掌握如何将自定义代码加入Linux内核结构**:学会如何将自己的代码整合进内核,使其成为内核的一部分。 ##...
自己动手编译Linux内核是一项对系统有深入了解的高级任务,它可以帮助你定制内核以适应特定的需求,去除不必要的功能,提升系统效率,或者添加新的硬件支持。以下是一些关于如何编译Linux内核的关键步骤和注意事项:...
Linux 内核移植与编译的过程主要包括了解 Linux 内核相关知识与内核结构、了解 Linux 内核在 ARM 设备上移植的基本步骤和方法、掌握 Linux 内核裁剪与定制的基本方法等。 实验环境中,我们使用的是 PC:windows+...
下面将详细讲解Linux内核源码编译的过程、重要性以及相关知识点。 首先,我们要明白为什么需要编译内核源码。默认的内核可能无法满足特定硬件或软件的需求,比如新的硬件驱动支持、优化性能或添加安全特性。通过...
Linux 内核下载和编译指南 Linux 内核下载是获取 Linux 内核源码的第一步,在这个过程中,我们可以从官方网站或其他镜像站点下载最新的 Linux 内核版本。下载完成后,我们可以开始编译内核,编译过程需要注意一些...
总之,编译Linux内核文档是一项技术性强且细致的工作,需要理解各种配置选项的含义,同时确保系统具有编译和安装所需的所有依赖。通过这个过程,用户可以定制出最适合自身系统需求的内核,从而提高系统的性能和稳定...