`
mzqthu
  • 浏览: 76781 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

linux内核编译步骤(详细全过程)

阅读更多

本人新学,因此将每一步详细记录如下,望能够对大家有所帮助。

环境: 电脑操作系统:ubuntu10.04 。 linux内核版本:linux-3.12.6

内核源码下载地址:www.kernel.org

我就按照步骤来,都是按照细小步骤来。

1、打开终端,更改为root用户。输入命令su,再输入密码即可。

2、进入下载到的内核所在的目录,将下载的内核移动到/usr/src/目录下

         mv linux-3.12.6.tar.xz /usr/src

3、切换到/usr/src/目录下,解压缩内核压缩包。由于下载的压缩包是.tar.xz后缀,解压分为两步:

        xz -d linux-3.12.6.tar.xz

        tar -xvf linux-3.12.6.tar

然后进行一些准备工作,将/usr/include/asm、/usr/inlude/linux、/usr/include/scsi链接到/usr/src/linux/include目录下的对应目录中

 

cd /usr/include
rm -rf asm linux scsi
ln -s /usr/src/linux-3.12.6/include/asm-generic asm
ln -s /usr/src/linux-3.12.6/include/linux linux
ln -s /usr/src/linux-3.12.6/include/scsi scsi

以上红色字体部分不是必做。

 

同时,清理内核源码中的残渣(多次编译留下的):

cd /usr/src/linux-3.12.6
make mrproper
 

4、输入cd linux-3.12.6 进入解压后的目录下。

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

以下要进行内核的配置了。

 

5、由于系统中没有图形界面配置工具ncurses,因此首先下载此工具安装包,然后在终端打开工具所在目录,切换到root用户下,输入以下命令:

                   tar zxvf ncurses-5.9.tar.gz

                   cd ncurses-5.9

                   ./configure

                   make

                   make install

这样就安装好了ncurses,可以使用了。

6、第五步是独立步骤。单独操作。这一步接上面第四步。在终端输入以下命令:

                    make menuconfig

出现了配置的图形界面。



 

说一下配置:

    对每一个配置选项,用户有三种选择,它们分别代表的含义如下:

<*>[*]——将该功能编译进内核

[]——不将该功能编译进内核

[M]——将该功能编译成可以在需要时动态插入到内核中的代码

7、这一步是配置过程。配置你需要的内容。配置完成以后,保存退出。

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

8、配置完成以后,开始编译内核,在终端输入make命令即可。

    还有一种比较麻烦的方法,在终端依次输入以下命令:

make dep

make clean

make bzlmage

make modules

这样也可以。

 

这一步需要很长时间,耐心等待吧。

 

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

然后是安装内核模块

 

9、输入命令 make modules_install

10、输入命令 make install 

 

此时,内核编译完成。剩下是修改启动程序配置,然后运行新的内核程序。

11、将生成的bzImage文件和System.map文件拷贝到/boot/目录下,命令如下:

       cp /usr/src/linux-3.12.6/arch/x86/boot/bzImage /boot/

       cp /usr/src/linux-3.12.6/System.map /boot/

 

12、在终端输入命令:

mkinitramfs 3.12.6 -o /boot/initrd/img-3.12.6

来建立镜像文件

然后输入命令:

update-initramfs -c -k 3.12.6

再输入命令:

update-grub2

更新修改系统引导配置。

13、进入引导程序(boot loader)的配置文件看看,对于不同的引导程序(LILO和GRUB),其配置文件所在路径不同。

     对于LILO,路径为:/etc/lilo.conf

     对于GRUB,路径为:/boot/grub/grub.cfg  

     本系统为GRUB引导,因此进入/boot/grub/grub.cfg,命令如下

     cd /boot/grub

     gedit grub.cfg

看到配置文件中有如下内容:



 说明内核已经添加到启动项了。

 

14、到此,内核编译就算全部完成,可以重启电脑了。

/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

15、以上是在ubuntu下编译内核的全过程。

16、参考网上各种资料,在别的linux系统下编译内核在最后配置启动过程的时候略有差别,在此列出。

17、其他版本一:配置/etc/lilo.conf文件。在该文件中加入下面几行:

   default=linux-2.3.14

   image=/boot/vmlinuz-2.3.14

   label=linux-2.3.14

   root=/dev/hda1

   read-only   

使新配置生效  输入  /sbin/lilo

重新启动系统    /sbin/reboot 

 

 

好了,本文到此结束。希望对大家有所帮助。

 

 

 

 

 

  • 大小: 60 KB
  • 大小: 56.9 KB
分享到:
评论

相关推荐

    Linux内核编译全过程详解

    ### Linux内核编译全过程详解 #### 一、前言 在深入了解Linux内核编译的过程中,我们将聚焦于kernel 2.6.7版本,并详细阐述整个编译流程中的关键步骤与注意事项。对于想要深入了解Linux内核工作原理及定制化需求的...

    Linux内核编译全过程详解(kernel2.6.7)[参考].pdf

    下面我们将详细介绍 Linux 内核编译的全过程。 编译前准备 在编译内核之前,需要准备以下几步: 1. 下载内核源代码:可以从 kernel.org 下载最新的内核源代码,例如 linux-2.6.7.tar.bz2。 2. 下载 module-init-...

    linux-2.6.18内核编译全过程

    Linux内核编译是一项复杂但极富价值的技能,它不仅能够加深对操作系统底层工作原理的理解,还能为特定场景下的性能优化提供强大的工具。通过本实训的实践操作,实训者将能够独立完成内核的定制化编译,为自己的项目...

    2.6.18内核编译全过程

    内核编译是Linux系统管理员和开发者经常遇到的一项任务,特别是在定制特定功能或优化系统性能时。本教程将详述2.6.18内核的编译过程,虽然这个版本较旧...通过理解这个过程,你可以自信地应对任何版本的Linux内核编译。

    Linux内核编译详谈

    在本文中,我们将深入探讨Linux内核编译的全过程,包括前置条件、配置、编译以及安装,同时也会涉及与Android开发相关的知识。 首先,让我们了解编译Linux内核的必要性。Linux内核是操作系统的核心部分,它负责管理...

    linux内核如何编译与升级

    全内核编译将所有功能直接集成到内核中,启动快速,但可能导致内核体积过大。模块化编译则允许在需要时动态加载功能,避免了不必要的内存占用。例如,网络卡驱动可以作为模块编译,仅在需要时加载。 Linux内核的...

    内核编译详解

    Linux内核编译详解是针对Linux操作系统核心进行定制和优化的重要过程,尤其对于系统开发者和高级用户来说,了解并掌握这一技术至关重要。在本文中,我们将深入探讨如何编译Linux内核3.8版本,包括下载、配置、修改和...

    Linux内核编译全过程详解(kernel2.6.7)[文].pdf

    Linux内核编译是软件开发过程中的一项重要任务,特别是对于那些需要定制内核功能或优化系统性能的开发者来说。在本文中,我们将详细介绍如何编译Linux内核2.6.7,这个版本的内核发布于2004年,为当时的操作系统提供...

    手把手教你LFS内核编译过程

    本文将详细介绍LFS内核编译的全过程,包括准备阶段、配置阶段、编译阶段以及安装阶段。 #### 二、准备工作 在开始LFS内核编译之前,首先需要完成以下准备工作: 1. **环境设置**:确保您的开发环境已经安装了必要...

    Linux内核编译

    **知识点详解:Linux内核编译全过程** 在深入解析Linux内核编译的过程中,我们将从实验准备、系统环境搭建、内核源码处理到最终的系统启动验证等环节,全面剖析这一复杂但极具价值的技术实践。 ### 实验背景与目标...

    Linux内核裁剪步骤

    ### Linux内核裁剪步骤详解 #### 一、引言 随着微处理器技术的发展,价格低廉、体积小巧的中央处理单元(CPU)及其外围设备之间的连接变得更加稳定可靠,这为嵌入式系统的软硬件设计提供了良好的基础。然而,随着...

    实验2 Linux内核编译及系统调用添加.doc

    ### 实验2:深入探索Linux内核编译与系统调用机制 #### 一、实验目标解析 在《实验2 Linux内核编译及系统调用添加》文档中,实验的目标旨在深化对Linux内核的理解与操作能力。具体而言: 1. **了解Linux内核的...

    linux内核编译

    本文将详细解析RHEL6.1上升级内核至3.0.4的过程,从下载内核源码、安装编译环境、配置内核参数到最终的内核安装与测试,全方位展示内核编译的全过程。 #### 二、下载内核源码包 第一步,访问`www.kernel.org`网站...

    Linux内核完全剖析

    Linux内核编译涉及的步骤包括配置、编译和安装,这个过程允许开发者根据特定硬件和需求定制内核功能。 1. **配置内核**:使用`make menuconfig`或`make xconfig`命令打开配置界面,选择所需的内核模块和功能。配置...

    Linux内核升级全过程

    ### Linux内核升级全过程 在本篇文章中,我们将详细介绍如何完成Linux内核的升级过程,包括所需的工具介绍、内核的下载以及整个升级步骤。对于Linux用户而言,了解这一过程至关重要,因为它涉及到系统的稳定性和...

    Linux内核裁剪步骤.pdf

    本篇文章将详细介绍如何将Linux内核裁剪并移植到ARM920T内核的S3C2410处理器芯片上,其中涵盖的技术和方法同样适用于其他处理器平台。 #### 二、嵌入式Linux操作系统 Linux是一种与Unix类似的开源操作系统,具有全...

    Linux kernel内核升级全过程

    Linux 内核升级全过程 Linux 内核升级是指将当前使用的 Linux 内核版本升级到最新版本,以获取最新的功能和安全补丁。下面是 Linux 内核升级的全过程,帮助您一次性解决升级烦恼。 一、查看 Linux 内核版本 在...

    Linux内核3.6.x及以上版本的xr21v1414驱动编译

    本文将深入探讨如何在Linux内核3.6.x及以上版本中编译xr21v1414驱动,包括X86架构上的本地编译以及ARM平台的交叉编译。 首先,我们要理解什么是xr21v1414驱动。xr21v1414通常是指一款网络通信芯片或接口,可能用于...

    Linux_kernel内核升级全过程_教你一次成功.pdf

    本文将指导读者完成 Linux 内核升级的全过程,从准备工作到配置内核选项,全程记录详细的命令行和步骤。 一、准备工作 在开始升级之前,需要先查看当前 Linux 内核版本,使用命令 `uname -a` 查看。如果当前版本...

Global site tag (gtag.js) - Google Analytics