现在的位置: 首页 > 综合 > 正文

Linux 内核的安装

2018年03月16日 ⁄ 综合 ⁄ 共 1000字 ⁄ 字号 评论关闭

在linux下会在命令行下敲几个命令,写写几行简单的脚本,这仅仅算是学习linux的入门,linux的内核和驱动才算是开发者真正的练马场,最近几个月打算沉下来好好学习linux内核和驱动。

学习Linux内核首先要学会编译和安装内核,下面就通过自己的学习过程来介绍一下Linux内核的编译和安装。

        一、获取Linux源代码。一般安装的Linux桌面环境下都有Linux源码,在/usr/src可以看到源码,可以通过 uname命令查看系统所用的Linux内核版本。也可以到官方网站下载最新的源码。

二、Linux内核的编译。

1、解压源代码。下载下来的源代码一般都是打包压缩好的,首先需要解压。解压命令如下:

tar -xvf linux-2.6.39.tar.bz2

2、清除原有的配置文件。

make mrproper

3、配置内核。Linux内核源代码提供多种配置方法,使用菜单配置的方式比较常用,y表示编译进内核,n表示不编译进内核,m表示已模块方式的编译(可以减小内核的大小),可以通过h查看对应项的详细信息。

make menuconfig

4、编译内核。内核编译一般会耗费非常长的时间,性能好的计算机估计得半个小时左右,差的会花费更长时间。这里有几个make选项可以加快编译过程,如,make提供一种功能可以讲一个makefile编译过程分解成几个并行的作业进行并行编译,如果在多处理器情况下,可以成倍的提高编译速度,默认情况下,make仅仅作为一个作业进行执行,可以通过make -jn来分成n个作业并行编译。

make

5、内核安装。编译完成后,会在相应的CPU架构的文件夹的boot目录下生成bzImage文件(注意bzImage或者zImage文件),这个文件就是内核的可执行二进制文件,然后将此文件copy到系统的/boot目录下,并重命名为vmlinux-version。接着修改/boot/grub/grub.conf,添加新的Title,这是通过Grub方式引导。

6、模块的安装。模块的安装与系统的架构没有关系,通过以下命令:

make modules_install

就可以将相应的模块安装到/lib/modules对应的子目录下去。

注意:生成过程会在源代码树根目录下创建一个System.map文件,它包含一个符号查找表,映射内核符号到它们的起始地址,在调试期间可以用它将内存地址转换成函数和变量名。

抱歉!评论已关闭.