Linux 编译内核 大致分这几个步骤

1、准备编译工具、内核文件

2、开始编译

3、将编译好的新内核install进系统

4、查看是否成功。

 

一、准备好必备的库和内核文件

 

1、添加必备的编译工具。

apt-get install build-essential kernel-package libncurses5-dev libqt3-headers

(以下所有命令若是权限问题、请自行加上sudo)

 

2、处理好内核文件。

访问www.kernel.org

建议下载稳定版。

拷贝内核文件至usr/src 目录下:sudo cp linux-4.0.6.tar.xz /usr/src

 

进入/usr/src目录:cd /usr/src

 

接下来解压 内核文件。

发现内核文件以.tar.xz结尾,

So 先去掉xz:sudo xz –d linux-4.0.6.tar.xz

得到tar后缀文件

再键入sudo tar –xvf  linux-4.0.6.tar

解压完成。

 

二 、开始正式编译内核

进入目录: cd linux-4.0.6/

做净化:make mrproper

然后是配置内核。我们将新内核的配置保持原来内核的配置一样。

我们先来搞清楚原来内核文件的名字。先找到原来内核的配置文件在终端输入

cd /boot

在输入ls 如下图 得到老内核的配置文件叫config-3.16.0-30-generic ,所安装的Linux版本不同,配置文件名字不同。

将新内核的配置和老内核的配置设为一样的:sudo cp /boot/config-3.16.0-30-generic .config

在输入:Make Menuconfig

在出现的图形界面通过方向键

选择save在选择load

接下来开始比较费时的工作。你可以选择如下两种方式:

方式一、输入一次命令,别的什么都不管

我们先切换至root用户 ,终端中键入su -

输入密码,默认为toor(貌似是的如果不是出现验证故障,请通过sudo passwd root 根据提示修改root密码,重新验证) 这样我们在当前终端中,我们拥有一直root权限

在终端中输入

make bzImage &&   make modules &&   make modules_install  &&  make install &&  update-grub && reboot

(&&符号代表只有当前面的命令执行成功才执行下一条命令)

编译完内核并插入新内核后,Ubuntu会重启,重启后输入uname –a 即可验证是否编译成功。

方式二、一步一步慢慢来

使用下面的分步方式。

make bzImage

等待。。

博主虚拟机 i3+1GB内存 大概40分钟完成。

 

make modules

更漫长的等待。。。

博主虚拟机 i3+1GB内存 大概3小时完成。

三 、将编译好的内核install进系统。

 

接下来 将新内核插入新系统。

(建议使用sudo make modules_install && sudo make install  &&  sudo update-grub && sudo reboot )

 

sudo make modules_install

 

sudo make install

 

sudo update-grub

 

sudo reboot

 

四、验证内核是否成功install

 

重启之后,在终端输入uname –a  查看内核情况。看是否与新内核一致。。

【原创】Linux编译内核的更多相关文章

  1. linux编译内核make menuconfig报错Unable to find the ncurses libraries解决办法

    在 linux 编译内核时 make menuconfig 报了下面的错误. *** Unable to find the ncurses libraries or the *** required ...

  2. Linux编译内核 Ubuntu18.04 -2020.11.04

    Linux编译内核 Ubuntu18.04 -2020.11.04 关闭虚拟机并备份 首先关闭虚拟机,其次直接找到.vmdk所在目录,并压缩该目录实现备份 下载内核源码 Linux内核官网:https ...

  3. Linux 编译内核

    编译内核步骤: 1.先查看自己OS使用的内核版本 mrzhang@mrzhang:~$ uname -r4.4.0-51-genericmrzhang@mrzhang:~$ 2.如果安装系统时,自动安 ...

  4. 嵌入式Linux编译内核步骤 / 重点解决机器码问题 / 三星2451

    嵌入式系统更新内核 1. 前言 手里有一块Friendly ARM的MINI2451的板子,这周试着编译内核,然后更新一下这个板子的Linux内核,想要更新Linux Kernel 4.1版本,但是种 ...

  5. Linux编译内核提示'make menuconfig' requires the ncurses libraries错误

    原来使用的ubuntu 11.10系统由于误操作,导致系统崩溃,重新安装了ubuntu 11.10: 在编译内核的时候,提示如下错误: dingq@wd-u1110:~/hwsvn/2sw/1prj_ ...

  6. linux编译内核

    ubuntu 14.04 编译内核出现unable to locate package ncurses-devel 问题的解决   首先,在make menuconfig的时候就会提示没有 nucrs ...

  7. linux 编译内核 /boot空间不足?

    /boot空间一般分配100M的空间,本来是够用的,由于频繁的更新导致旧的不再使用的内核文件也保留在boot空间里,占着位置,所以把这些不用的内核文件下载掉boot空间就能释放出一部分, 具体做法为 ...

  8. linux 编译内核[scripts/kconfig/dochecklxdialog] 错误

    administrator@ubuntu:~/linux-2.6.28-omap$ make menuconfig *** Unable to find the ncurses libraries o ...

  9. linux 驱动模块 内核编译环境

    目录(?)[+] Linux设备驱动Hello World程序介绍 如何编写一个简单的linux内核模块和设备驱动程序.我将学习到如何在内核模式下以三种不同的方式来打印hello world,这三种方 ...

随机推荐

  1. 杀死当前Excel进程

    说明: 代码编写过程中,有时需要杀死当前Excel进程,而不影响其他Excel进程. 代码如下: 添加引用: //杀死当前进程的API引用 using System.Runtime.InteropSe ...

  2. Hibernate继承映射

    在面向对象的程序领域中,类与类之间是有继承关系的,例如Java世界中只需要extends关键字就可以确定这两个类的父子关系,但是在关系数据库的世界中,表与表之间没有任何关键字可以明确指明这两张表的父子 ...

  3. VS中调用SQL SERVER存储过程

     存储过程是经过编译的,永久保存在数据中的一组SQL语句,通过创建和使用存储过程能够提高程序的重用性和扩展性,为程序提供模块化的功能,还有利于对程序的维护和管理.以下就详谈一下,VB.NET怎样调 ...

  4. 职责链模式vs状态模式区别

    状态模式在具体状态里设置了下一状态. 而职责链模式是在客户端代码里设置了下一状态的处理对象. 如果状态模式里的任何一环缺失,将导致事情无法进行下去.职责链模式的链式在客户端连接的,也就是说,如果我们请 ...

  5. wechat server的配置

    一 服务器地址 https://github.com/donal-tong/wechat4server 包括源代码及数据库脚本放在dump文件夹里 1.根据sql脚本创建需要的数据库hcapi,然后命 ...

  6. VS C# 快捷键

    解决VS2010中工具箱的的不见的问题:按快捷键Ctrl+Alt+X 全屏:Shift+Alt+Enter注释选定内容:Ctrl+E+C/Crtr+E+U代码格式化:ctrl+E+F ======== ...

  7. 【转】C/C++求模求余运算符——2013-08-20

    http://blog.csdn.net/whealker/article/details/6203629 求模运算符(%),或称求余运算符,也就是数学上所谓的除法中的余数,%两侧均应为整数, |小| ...

  8. find——文件查找命令 linux一些常用命令

    find 命令eg: 一般文件查找方法: 1.  find /home -name file  ,  在/home目录下查找文件名为file的文件2.  find /home -name '*file ...

  9. opai_suki

  10. android的activity的跳转

    1.无参数的跳转 先在layout下建立一个factivity.xml,在里面添加2个Button按钮和一个TextView,并添加属性 , 然后建立以个sactivity.xml文件, 在src下建 ...