一、下载最新内核文件

地址:http://www.kernel.org,一般下载Full Source版本。

下载完毕后,放到任意文件夹中,使用命令:


tar jxvf linux-x.x.x.tar.bz2     //版本号自行填写

二、安装必要的编译工具


sudo apt-get install build-essential kernel-package libncurses5-dev

三、裁剪内核的方法

目前有三种流行的配置方式:

  1. make menuconfig:文本界面,配置高效
  2. make xconfig:Qt编写,GUI配置,建议初学者使用
  3. make oldconfig:互动性的脚本,用当前内核的配置作为配置标准,重新编译新内核,使用与只是为了升级的选择

四、编译内核最简单方法

编译内核最快的方法就是用当前内核设置标准来编译最新版本的内核,具体操作如下:


cd linux内核解压目录

sudo make oldconfig

sudo make-kpkg clean

sudo make-kpkg -initrd --initrd --append-to-version=xxx kernel_image kernel-headers

//xxx用自己喜欢的名字

注意:如果不是第一次编译Linux内核,一定执行清理命令,对源代码目录进行彻底清理,否则编译会出现问题。


sudo make mrproper

这种方法最适合用于更新内核系统版本

五、编译和裁剪内核

进入系统内核文件夹,输入如下命令以文本方式裁剪和配置内核。


sudo make menuconfig

每个选项前面又[],空的选项表示不选择[N],有的选项表示要编译进内核[Y],有M标志的表示编译成动态的模块(M)。

桌面应用环境的内核配置过程为:

  1. 常规设置
  2. 模块支持
  3. 计算机硬件支持

服务器的内核配置过程主要对内核进行性能优化。



1.定制内核参数:

桌面应用环境的内核配置过程:

A.常规设置(General setup)

Prompt for development and/or incomplete code/drivers:选中用于支持新的硬件

POSIX Message  Queues 和 Kenel->user space:多数用户用不到

B.模块支持(Enable loadable module support)

模块的设计可以实现内核在运行时的功能扩展,linux的内核其实就是Kernel加模块,这样的好处就是减小内核体积并提高了Linux内核的灵活性。配置工具中凡是可以选择成圆点的项目,就可以被编译成模块;如果可以选择成对对勾,则是编译进内核。

C.对硬件设备的支持

在终端中安装Hardinfo或者lshw,可以彻底了解硬件。


sudo apt-get install hard info

安装完成后终端输入:

hardinfo

启动软件检测计算机硬件

D.文件系统支持

定制LInux支持的文件系统,通常又fat,ext2/3/4,ntfs等。



2.编译和安装内核

A.编译内核


sudo make-kpkg clean

sudo make-kpkg -initrd --initrd --append-to-version=xxx kernel_image kernel-headers

//xxx可以用自己使用的字符替换,不能大写

B.安装裁剪好的内核

编译好的内核在内核文件的上一层目录,包括linux-headers....和linux-image...两个文件。

安装操作如下:


cd..

sudo dpkg -i linux-image....deb

//桌面用户只需安装这个image文件即可

具体的卸载方法为:

uname -a  #使用这个命令可以查看当前系统使用的内核。

dpkg --get-selections|grep linux #列出当前内核。

sudo apt-get remove linux-image-2.6.15-23-386

这样就可以实现自动删除内核文件了,还可以释放磁盘空间。

另外还要记录一个命令。

uname -a

使用这个命令可以查看当前系统使用的内核。

编译、裁剪、安装、删除 Ubuntu内核和模块管理的更多相关文章

  1. 裁剪Ubuntu内核和模块管理2

    准备工作 通常要运行的第一个命令是: #cd /usr/src/linux;make mrproper 该命令确保源代码目录下没有不正确的.o文件以及文件的互相依赖.由于我们使用刚下载的完整的源程序包 ...

  2. Node.js的安装以及Node.js的模块管理

    索引: Node.js的安装以及Node.js的模块管理Node.js开发环境搭建以及对ES6的支持Node.js构建Vue.js项目Vue.js单文件组件的开发基于Vue.js的UI组件(Eleme ...

  3. 在Ubuntu上下载、编译和安装Android最新内核源代码(Linux Kernel)

    文章转载至CSDN社区罗升阳的安卓之旅,原文地址:http://blog.csdn.net/luoshengyang/article/details/6564592 在前一篇文章提到,从源代码树下载下 ...

  4. Linux下samba编译与安装(Ubuntu和嵌入式linux)

    Ubuntu[i386-linux下安装过程] 1.安装samba $ sudo apt-get install samba $ sudo apt-get install smbfs (可选) $ s ...

  5. 在Windows平台上安装Node.js及NPM模块管理

    1. 下载Node.js官方Windows版程序:http://nodejs.org/#download    从0.6.1开始,Node.js在Windows平台上提供了两种安装方式,一是.MSI安 ...

  6. (转)在Windows平台上安装Node.js及NPM模块管理

    本文转载自:http://www.cnblogs.com/seanlv/archive/2011/11/22/2258716.html 之前9月份的时候我写了一篇关于如何在Windows平台上手工管理 ...

  7. 编译自己的Ubuntu内核

    很多时候我们在使用Ubuntu的时候,想修改一下内核配置,然后编译,安装到Ubuntu中.这也是进行Ubuntu内核开发的前提. 获取当前Ubuntu对应代码 有很多方法可以获得Ubuntu内核代码, ...

  8. windows下编译和安装boost库

    boost是一个功能强大.构造精巧.跨平台.开源并且完全免费的C++程序库. 获取方式 boost提供源码形式的安装包,可以从boost官方网站下载,目前最新版本是1.59.0. 本机上正好有boos ...

  9. linux内核及其模块的查询,加载,卸载 lsusb等

    http://blog.sina.com.cn/s/blog_53e81e2a0100zkxi.html 1,/sbin/update-modules文件,他是一个linux通用的模块管理脚本程序. ...

随机推荐

  1. redis数据类型-散列类型

    Redis数据类型 散列类型 Redis是采用字典结构以键值对的形式存储数据的,而散列类型(hash)的键值也是一种字典结构,其存储了字段(field)和字段值的映射,但字段值只能是字符串,不支持其他 ...

  2. HTTP请求和MIME介绍

    HTTP请求和MIME介绍 HTTP请求由三部分组成,分别是: 请求行,消息报头,请求正文. 请求行(格式): Method Request-URI HTTP-Version CRLF Method: ...

  3. fscanf和fprintf

    fscanf和fprintf fscanf的字符串是在键盘的缓冲区,fprintf是在显示器的缓冲区. 1.函数原型: int fprintf(FILE *fp, const char *format ...

  4. js基本语法与变量

    1.//声明变量,js是弱类型语言,变量类型声明示没有意义的.变量类型是随时可以变化的.var a = 1;      a = "haha";    a = false;2.注释与 ...

  5. 解决axios传递参数后台无法接收问题

    1.根据下面几个方法改变前台传递参数方式 这样后台就可以直接根据传递的参数获取数据,如下图用户登录时直接传递用户名和密码 2.不改变前台传递样式修改后台接收方式

  6. js中splice()的用法

    实例 移除数组的第三个元素,并在数组第三个位置添加新元素: var fruits = ["Banana", "Orange", "Apple" ...

  7. BZOJ 2959: 长跑 [lct 双连通分量 并查集]

    2959: 长跑 题意:字词加入边,修改点权,询问两点间走一条路径的最大点权和.不一定是树 不是树

  8. BZOJ 2754: [SCOI2012]喵星球上的点名 [AC自动机+map+暴力]

    2754: [SCOI2012]喵星球上的点名 Time Limit: 20 Sec  Memory Limit: 128 MBSubmit: 1902  Solved: 837[Submit][St ...

  9. [代码]JAVA触发器,Spring的quartz配置

    Spring的quartz中的配置代码,spring-quartz.xml: <?xml version="1.0" encoding="UTF-8"?& ...

  10. Windows Server 2016-Active Directory域服务概述

    活动目录(AD)是一种目录服务是微软用于开发Windows域网络.它被包含在大多数Windows Server 操作系统中作为一组进程和服务.最初,Active Directory只负责集中式域管理. ...