内核编译:

Step 1:配置内核编译选项。

make menuconfig

Optional Step :排除编译结果文件(.o)等之间的依赖性。

make mrproper

Optional Step:清除历史编译结果。

make clean

Step 2:编译内核。

make bzImage #编译内核

make modules #编译各内核模块,如驱动等。

make modules_install #将编译好的模块安装至 /lib/modules/x.xx.x 文件夹下。

Step 3:生成初始盘镜像 initrd.img。


cd linux-source-x.xx.x/.config #复制配置文件至/boot文件夹 sudo cp .config /boot/config-x.xx.x #x.xx.x 相应 /lib/modules/x.xx.x 文件夹。 # -o 指示了镜像的输出文件夹。 sudo mkinitramfs -o /boot/initrd.img-x.xx.x x.xx.x

Step 4:改动Grub配置。

在/boot/grub/grub.cfg中复制一段已有的启动项条目,将当中的内核相关文件地址改动至新内核相关文件所在位置。

如:

复制下段:

menuentry'Ubuntu,Linux 3.2.0-36-generic-pae' --class ubuntu --class gnu-linux --class gnu --class os {

        recordfail

        gfxmode $linux_gfx_mode

        insmod gzio

        insmod part_msdos

        insmod ext2

        set root='(hd0,msdos1)'

        search --no-floppy --fs-uuid --set=root 7b4e922c-d943-4b84-9c75-4fdc57cf1a3f

        linux   /boot/vmlinuz-3.2.0-36-generic-pae root=UUID=7b4e922c-d943-4b84-9c75-4fdc57cf1a3f ro   quiet splash $vt_handoff

        initrd  /boot/initrd.img-3.2.0-36-generic-pae

}

改动为:

menuentry 'Test,Linux 3.7.4' --class ubuntu --class gnu-linux --class gnu --class os {

        recordfail

        gfxmode $linux_gfx_mode

        insmod gzio

        insmod part_msdos

        insmod ext2

        set root='(hd0,msdos1)'

        search --no-floppy --fs-uuid --set=root 7b4e922c-d943-4b84-9c75-4fdc57cf1a3f

        linux  /boot/core/vmlinuz-3.7.4root=UUID=7b4e922c-d943-4b84-9c75-4fdc57cf1a3f  ro   quiet splash $vt_handoff

        initrd  /boot/core/initrd.img-3.7.4

}

Step 5:測试

在虚拟机启动时按Esc。强制进入Grub启动菜单。

在菜单中选择’Test。Linux 3.7.4,使用刚编译的内核初始化系统。查看启动过程,看是否存在异常。如一切正常,则表明内核编译正确,反之则须要继续改动编译选项。

Linux内核编译測试的更多相关文章

  1. 运行在TQ2440开发板上以及X86平台上的linux内核编译

    一.运行在TQ2440开发板上的linux内核编译 1.获取源码并解压 直接使用天嵌移植好的“linux-2.6.30.4_20100531.tar.bz2”源码包. 解压(天嵌默认解压到/opt/E ...

  2. linux内核编译环境配置

    linux内核编译环境配置 如果不是编译内核,只需要安装与内核相匹配的kernel-devel开发包即可.即是/lib/modules/`uname -r`/build -> /usr/src/ ...

  3. Linux内核编译与安装

    2013-04-16    Linux内核介绍  Linux内核是一个用C语言写成的,符合POSIX标准的类Unix操作系统.内核是操作系统中最基本的一部分,提供了众多应用程序访问计算机硬件的机制.L ...

  4. Lab1:Linux内核编译及添加系统调用(详细版)

    实验一:Linux内核编译及添加系统调用(HDU) 花了一上午的时间来写这个,良心制作,发现自己刚学的时候没有找到很详细的,就是泛泛的说了下细节地方也没有,于是自己写了这个,有点长,如果你认真的看完了 ...

  5. Linux内核编译、安装流程

    原文链接:https://blog.csdn.net/qq_28437139/article/details/83692907 此处只讲linux内核编译步骤至于安装虚拟机,安装ubuntu操作系统请 ...

  6. Linux内核编译完整过程

    Linux内核编译完整过程 通过网上的资料我自己的实际内核编译,我把对Linux内核编译的过程写在这里,也许对其他的Linux爱好者的编译学习有些帮助,其中很大部分是网上的资料,另外就是我在实际编译过 ...

  7. Linux 内核 编译模块

    背景: 由于调试内核或者由于分区大小限制,有时候内核组件不一定完全需要编进内核中. 所以,在开发中经常将内核组件编译成为模块,等到在恰当的时机加载. 概览: Linux内核模块的编译方法有两种: 1. ...

  8. Linux内核编译配置脚本

    环境 宿主机平台:Ubuntu 16.04.6 目标机:iMX6ULL Linux内核编译配置脚本 在linux开发过程中熟练使用脚本可以大大简化命令行操作,同时对于需要经常重复操作的指令也是一种备忘 ...

  9. linux内核编译,配置本机驱动

    1.前言  编译linux内核失败的原因很多时候就是驱动选错,适合自己本机的驱动没编译进去.面对特殊平台(或者有些洁癖者,我就是^_^),要编译精简内核,只要本机驱动,其他都不需要.面对内核里面这么多 ...

随机推荐

  1. 鸟哥Linux私房菜知识点总结3到5章

    感觉自己对Linux的理解一直不够,所以近期翻看了一本<鸟哥的Linux私房菜>.这是一本基础的书,万丈高楼平地起,会的不多但能够学.这是我整理的一些知识点,尽管非常基础.希望和大家共同交 ...

  2. 点击了一个link button,查看后台调用

    使用F12进行监视 本身是一个linkbutton,可以看到绑定了一个JavaScript <a id="gvStaticConnection_ctl02_fresh" hr ...

  3. [Swift]二进制、八进制、十进制、十六进制之间的转换

    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★➤微信公众号:山青咏芝(shanqingyongzhi)➤博客园地址:山青咏芝(https://www.cnblogs. ...

  4. HDU 1575 矩阵快速幂裸题

    题意:中文题 我就不说了吧,... 思路:矩阵快速幂 // by SiriusRen #include <cstdio> #include <cstring> using na ...

  5. element-ui自定义table表头,修改列标题样式

    elementUI table表格一般的样式是这样的: 但是要改变表头是比较麻烦的一个事情,但是往往有些项目是需要的比如改成如下样式: 一般直接改起来挺麻烦,好在官网提供了一个方法:render-he ...

  6. Python学习小计

    1.初学Python最好选择2.7版本,因为大部分Python书籍的示例代码是基于这个版本的 2.Python安装可以参考百度经验完成 如果在电脑上同时安装2个版本,则CMD启动时只需要: py -2 ...

  7. gdal集成kml库的做法

    作者:朱金灿 来源:http://blog.csdn.net/clever101 最近要读取kml文件,具体就是把kml文件当作一个矢量文件来读取.我发现gdal是支持集成kml库的.不过集成这个km ...

  8. java根据出生日期计算年龄

    /** * @author jerry.chen * @param brithday * @return * @throws ParseException * 根据生日获取年龄; */ public ...

  9. HDU 2955 Robberies【01背包】

    解题思路:给出一个临界概率,在不超过这个概率的条件下,小偷最多能够偷到多少钱.因为对于每一个银行都只有偷与不偷两种选择,所以是01背包问题. 这里有一个小的转化,即为f[v]代表包内的钱数为v的时候, ...

  10. css——应用多个样式

    应用多个样式 在class中使用多个样式 在这是会有优先级关系问题 在上面的代码中,aa,bb,中的颜色会有冲突,到底显示的结果会是黄色还是绿色呢? 结果是绿色的.它是以程序执行的先后为优先级,后执行 ...