1. 准备工作
切换为管理员权限,sudo –i 输入用户密码 进入root 权限
apt-get install build-essential kernel-package libncurses5-dev libqt3-headers
build-essential (基本的编程库(gcc, make 等)
kernel-package (Debian 系统里生成 kernel-image 的一些配置文件和工具)
libncurses5-dev (make menuconfig 要调用的)

libqt3-headers (make xconfig 要调用的)

2. 下载特定版本的内核源代码 http://www.kernel.org
我下载的是linux-3.15.6.tar.xz
3. 解压缩
tar -x -f linux-3.15.6.tar.xz

解压后生成 linux-3.15.6 目录

4. cd linux-3.15.6
接下来配置内核选项
make menuconfig 这一步比较复杂,内核选项很多,我们可以使用当前内核的配置选项,
但编译内核的时间会比较长,因为装系统的时候使用的配置是适应大多数系统的,非定

制选项。关于内核配置选项怎么定制,网上很多。

5. 把正在使用系统中的内核配置文件/usr/src/linux-headers-2.6.38-13-generic/.config 拷到
/usr/src/linux-3.2.12 目录下
cp /usr/src/ linux-headers-2.6.38-13-generic/.config /usr/src/ linux-3.2.12
执行:
cd /usr/src/ linux-3.2.12
make menuconfig
终端会弹出一个配置界面
注意主菜单最后有两项:
load a kernel configuration…
save a kernel configuration…
先选第一项load ….,意思是,利用当前的内核配置详单来设置将要编译的内核,然后选

save 这一项保存,最后退出配置界面

6. 开如编译安装新内核
执行:make mrproper (清除以前曾经编译过的旧文件,如果你是第一次编译,可不执行)
执行:make (编译,加-j4,必须加,双核并行编译,速度快很多,不过使用原先配置
选项,我的电脑还是要一个钟左右)
然后:make install
再:make modules (编译模块)
再:make modules_install (安装模块)
最后创建initrd 文件:

mkinitramfs -o /boot/initrd.img-linux-3.2.12

7. make install 以后,系统自动更新了启动项,可以cat /boot/grub/grub.cfg 看下.之前的启动项不能删除,如果编译内核不成功,之前的启动项又不见了,你的系统也就跪了

8. reboot

Ubuntu 下编译安装linux的更多相关文章

  1. Ubuntu下编译安装postgreSQL 10.5

    Ubuntu下编译安装postgreSQL 10.5 ubuntu 16.04 LTS系统postgreSQL 10.5 安装包准备 1.从PostgreSQL官网下载PostgreSQL的安装包 安 ...

  2. 在Ubuntu下编译安装GreatSQL

    在Ubuntu下编译安装GreatSQL 本次介绍如何利用Docker构建Ubuntu环境,并将GreatSQL源码编译成二进制文件. 1.准备工作 先创建本次Docker的workdir为 /dat ...

  3. ubuntu下编译安装poco

    系统环境: ubuntu版本:Linux jfcai-VirtualBox 4.15.0-29-generic #31-Ubuntu SMP Tue Jul 17 15:39:52 UTC 2018 ...

  4. [实践] ubuntu下编译安装ambari

    ambari是一个Hadoop套件的管理工具,可以方便部署.管理及监控.最初开发时使用的就是RH系的Linux,只支持RHEL.CentOS5/6.OEL.SLES,暂不支持Ubuntu:可我的需求就 ...

  5. linux-i386(ubuntu)下编译安装gsoap_2.8.17过程记录

    过程记录 :  1.下载gsoap_2.8.17.zip 并 解压 : $unzip gsoap_2.8.17.zip     2.进入解压后的目录gsoap-2.8   3.自动配置编译环境:  $ ...

  6. ubuntu 下编译安装 mysql php nginx 及常见错误 (持续添加)

    mysql mysql 可以使用mysql 官方提供的apt源进行安装 参见这里 php 安装前先安装一些常见库 sudo apt-get install libpng16-16 libpng16-d ...

  7. ubuntu下编译安装mysql记录

         搞了整整一天,好不容易折腾完,在此记录下,下次就省事了.     去官网http://www.php.net/downloads.php下载所需要的php版本,这里我选择5.6.22.    ...

  8. ubuntu下编译安装PHP

    首先配置configure // ./configure --prefix=/usr/local/php5 --with-apxs2=/usr/local/apache2/bin/apxs --wit ...

  9. ubuntu下编译安装apache

    官网http://httpd.apache.org/download.cgi下载apache源码包后 /*解包*/ gzip -d httpd-2_x_NN.tar.gz tar -xf httpd- ...

随机推荐

  1. 利用脚本修改SQL SERVER排序规则

    利用脚本修改SQL SERVER排序规则 编写人:CC阿爸 2014-3-1 l  今年的一项重要工作是对公司所用系统进行繁简的转换,程序转成简体基本很容易解决,但数据库转换成简体,就没那么容易了.经 ...

  2. 在Array原型链上扩展remove,contain等方法所遇到的坑

    相信jser兄弟们肯定会碰到这样一个问题, 在做数组类的操作的时候,会要求删除数组中的一个元素:亦或是判断某值是否存在于这个数组: OK,拿删除数组元素举例,扩展方法为: Array.prototyp ...

  3. Java do while求和

    用do while结构求0~100的整数数字之和. 代码如下: public class DoWhileDemo { public static void main(String[] args) { ...

  4. C高级 服务器内核分析和构建 (一)

    引言 最经看cloud wind 的 skynet服务器设计. 觉得特别精妙. 想来个专题先剖析其通信层服务器内核 的设计原理. 最后再优化.本文是这个小专题的第一部分, 重点会讲解对于不同平台通信基 ...

  5. oracle 日志文件管理

    OS: [root@b28-122 ~]# more /etc/oracle-releaseOracle Linux Server release 5.7 DB: SQL> select * f ...

  6. Gearman 安装使用教程

    Gearman是一个分发任务的程序框架,可以用在各种场合,Gearman更偏向于任务分发功能.它的任务分布非常简单,简单得可以只需要用脚本即可完成. Gearman 分布式任务实现原理上只用到2个字段 ...

  7. android开发系列之socket编程

    上周在项目遇到一个接口需求就是通讯系列必须是socket,所以在这篇博客里面我想谈谈自己在socket编程的时候遇到的一些问题. 其实在android里面实现一个socket通讯是非常简单的,我们只需 ...

  8. Android 上下文菜单实现

    1.覆盖Activity的onCreateContenxtMenu()方法,调用Menu的add方法添加菜单项(MenuItem). 2.覆盖Activity的onContextItemSelecte ...

  9. libevent 定时器示例

    程序执行结果: 每隔2秒,触发一次定时器. (2)98行:evtimer_assign在event.h中定义如下: 再来看看event_assign函数: ev     要初始化的事件对象 base  ...

  10. 依网友要求发个修改award bios的方法(刷CPU微码)

    注意本文修改的是award BIOS 首先看自己的CPUID是哪个代码,打开CPU-Z如下图红圈中就是,此CPUID就是067A,好了下面就可以开始准备工作 准备好BIOS文件,以及CPU微码文件.可 ...