`
mzqthu
  • 浏览: 75974 次
  • 性别: 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
分享到:
评论

相关推荐

    Linux2.6内核标准教程(共计8-- 第1个)

    2.1.1 编译内核的步骤及分析 15 2.1.2 内核镜像构建过程分析 16 2.2 系统引导过程分析 18 2.2.1 傀儡引导扇区 18 2.2.2 探测系统资源 21 2.2.3 解压内核镜像 35 2.2.4 进入保护模式 40 2.2.5 系统...

    Linux2.6内核标准教程(共计8--第6个)

    2.1.1 编译内核的步骤及分析 15 2.1.2 内核镜像构建过程分析 16 2.2 系统引导过程分析 18 2.2.1 傀儡引导扇区 18 2.2.2 探测系统资源 21 2.2.3 解压内核镜像 35 2.2.4 进入保护模式 40 2.2.5 系统...

    Linux2.6内核标准教程(共计8--第8个)

    2.1.1 编译内核的步骤及分析 15 2.1.2 内核镜像构建过程分析 16 2.2 系统引导过程分析 18 2.2.1 傀儡引导扇区 18 2.2.2 探测系统资源 21 2.2.3 解压内核镜像 35 2.2.4 进入保护模式 40 2.2.5 系统...

    Linux2.6内核标准教程(共计8--第3个)

    2.1.1 编译内核的步骤及分析 15 2.1.2 内核镜像构建过程分析 16 2.2 系统引导过程分析 18 2.2.1 傀儡引导扇区 18 2.2.2 探测系统资源 21 2.2.3 解压内核镜像 35 2.2.4 进入保护模式 40 2.2.5 系统...

    Linux2.6内核标准教程(共计8--第7个)

    2.1.1 编译内核的步骤及分析 15 2.1.2 内核镜像构建过程分析 16 2.2 系统引导过程分析 18 2.2.1 傀儡引导扇区 18 2.2.2 探测系统资源 21 2.2.3 解压内核镜像 35 2.2.4 进入保护模式 40 2.2.5 系统...

    Linux2.6内核标准教程(共计8--第4个)

    2.1.1 编译内核的步骤及分析 15 2.1.2 内核镜像构建过程分析 16 2.2 系统引导过程分析 18 2.2.1 傀儡引导扇区 18 2.2.2 探测系统资源 21 2.2.3 解压内核镜像 35 2.2.4 进入保护模式 40 2.2.5 系统...

    Linux2.6内核标准教程(共计8--第2个)

    2.1.1 编译内核的步骤及分析 15 2.1.2 内核镜像构建过程分析 16 2.2 系统引导过程分析 18 2.2.1 傀儡引导扇区 18 2.2.2 探测系统资源 21 2.2.3 解压内核镜像 35 2.2.4 进入保护模式 40 2.2.5 系统...

    Linux2.6内核标准教程(共计8--第5个)

    2.1.1 编译内核的步骤及分析 15 2.1.2 内核镜像构建过程分析 16 2.2 系统引导过程分析 18 2.2.1 傀儡引导扇区 18 2.2.2 探测系统资源 21 2.2.3 解压内核镜像 35 2.2.4 进入保护模式 40 2.2.5 系统...

    嵌入式Linux应用程序开发标准教程(第2版全)

    5.1.4 编译嵌入式Linux内核 5.1.5 Linux内核源码目录结构 5.1.6 制作文件系统 5.2 U-Boot移植 5.2.1 Bootloader介绍 5.2.2 U-Boot概述 5.2.3 U-Boot源码导读 5.2.4 U-Boot移植主要步骤 5.3 实验内容——创建Linux...

    自己动手写操作系统(含源代码).part1

    而在章的内部,一项大的功能被分解成许多小的步骤,通过完成每个小的步骤,读者可以不断获得阶段性的成果,从而让整个开发过程变得轻松并且有趣。 本书适合各类程序员、程序开发爱好者阅读,也可作为高等院校操作...

    ELDK使用与开发手册

    使用U-Boot下载Linux内核或者应用程序的最快捷的方法是通过网络传输。为了这一目的,U-Boot实现了TFTP协议(参见U-Boot中的tftpboot命令)。为了使主机支持TFTP,你必须确保TFTP后台程序/usr/sbin/in.tftpd已经安装...

    自己动手写操作系统(含源代码).part2

    而在章的内部,一项大的功能被分解成许多小的步骤,通过完成每个小的步骤,读者可以不断获得阶段性的成果,从而让整个开发过程变得轻松并且有趣。 本书适合各类程序员、程序开发爱好者阅读,也可作为高等院校操作...

    新版Android开发教程.rar

    QWERTY 全键盘; 310 万像素摄像头。 流媒体 支持视频格式: H.264 、流媒体、 3GPP 、 MPEG4 和 Codec 3GP ;支持音频格式: MP3 、 AAC 、 AAC+ 、 W MA 、 MPEG4 、 WAV 、 MIDI 、 REAL 、 AUDIO 和 OGG ;支持...

    2017最新老男孩MySQL高级专业DBA实战课程全套【清晰不加密】,看完教程月入40万没毛病

    21-MySQL5.5编译方式安装实战.avi 第二部 MySQL多实例安装与企业应用场景(10节) 22-MySQL数据库多实例介绍.avi 23-MySQL数据库多实例的优势和问题介绍.avi 24-MySQL数据库多实例的门户企业应用场景.avi 25-...

    《计算机操作系统》期末复习指导

    多道程序设计的基础:是将运行过程进一步细化成几个小的步骤,从而实现宏观上的并行。但从微观上看,内存中的多道程序轮流地或分时地占用处理机,交替执行。 多道程序系统 ≠ 多重处理系统 ≠ 多用户 ≠ 多...

Global site tag (gtag.js) - Google Analytics