【原创】Linux编译内核
Linux 编译内核 大致分这几个步骤
1、准备编译工具、内核文件
2、开始编译
3、将编译好的新内核install进系统
4、查看是否成功。
一、准备好必备的库和内核文件
1、添加必备的编译工具。
apt-get install build-essential kernel-package libncurses5-dev libqt3-headers
(以下所有命令若是权限问题、请自行加上sudo)
2、处理好内核文件。

建议下载稳定版。
拷贝内核文件至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编译内核的更多相关文章
- linux编译内核make menuconfig报错Unable to find the ncurses libraries解决办法
在 linux 编译内核时 make menuconfig 报了下面的错误. *** Unable to find the ncurses libraries or the *** required ...
- Linux编译内核 Ubuntu18.04 -2020.11.04
Linux编译内核 Ubuntu18.04 -2020.11.04 关闭虚拟机并备份 首先关闭虚拟机,其次直接找到.vmdk所在目录,并压缩该目录实现备份 下载内核源码 Linux内核官网:https ...
- Linux 编译内核
编译内核步骤: 1.先查看自己OS使用的内核版本 mrzhang@mrzhang:~$ uname -r4.4.0-51-genericmrzhang@mrzhang:~$ 2.如果安装系统时,自动安 ...
- 嵌入式Linux编译内核步骤 / 重点解决机器码问题 / 三星2451
嵌入式系统更新内核 1. 前言 手里有一块Friendly ARM的MINI2451的板子,这周试着编译内核,然后更新一下这个板子的Linux内核,想要更新Linux Kernel 4.1版本,但是种 ...
- Linux编译内核提示'make menuconfig' requires the ncurses libraries错误
原来使用的ubuntu 11.10系统由于误操作,导致系统崩溃,重新安装了ubuntu 11.10: 在编译内核的时候,提示如下错误: dingq@wd-u1110:~/hwsvn/2sw/1prj_ ...
- linux编译内核
ubuntu 14.04 编译内核出现unable to locate package ncurses-devel 问题的解决 首先,在make menuconfig的时候就会提示没有 nucrs ...
- linux 编译内核 /boot空间不足?
/boot空间一般分配100M的空间,本来是够用的,由于频繁的更新导致旧的不再使用的内核文件也保留在boot空间里,占着位置,所以把这些不用的内核文件下载掉boot空间就能释放出一部分, 具体做法为 ...
- linux 编译内核[scripts/kconfig/dochecklxdialog] 错误
administrator@ubuntu:~/linux-2.6.28-omap$ make menuconfig *** Unable to find the ncurses libraries o ...
- linux 驱动模块 内核编译环境
目录(?)[+] Linux设备驱动Hello World程序介绍 如何编写一个简单的linux内核模块和设备驱动程序.我将学习到如何在内核模式下以三种不同的方式来打印hello world,这三种方 ...
随机推荐
- js 类似发微博或者微信朋友圈的时间显示 刚刚 几天前
群里的一个小伙伴(NightEagle)写的,共享出来了,我就做个记录. function getDateDiff(dateStr) { var publishTime = getDateTimeSt ...
- Sublime Text3使用及常用插件
1.安装packages组件: 参考一: https://sublime.wbond.net/installation 参考二: http://blog.csdn.net/superskk6/arti ...
- C#是怎么获取窗口标题的
博客搬到了fresky.github.io - Dawei XU,请各位看官挪步.最新的一篇是:C#是怎么获取窗口标题的.
- IOS ScrollowView 滑动到边缘后不允许再拖动
当scrollowview滑动图片时,滑动到最后一张图本应该不让其滑动,但是如果不可以去设置属性,依然可以滑动,露出白色的底色,挺影响美观的, 可以设置其属性: sv.bounces=NO; 这样就不 ...
- tar命令的详解
tar命令 [root@linux ~]# tar [-cxtzjvfpPN] 文件与文件夹 ....參数:-c :建立一个压缩文件的參数指令(create 的意思):-x :解开一个压缩文件的參数指 ...
- MongoDB的地埋空间数据存储、空间索引以及空间查询
一.关于MongoDB 在众多NoSQL数据库,MongoDB是一个优秀的产品.其官方介绍如下: MongoDB (from "humongous") is a scalable, ...
- android中利用实现二级联动的效果
按照惯例,首先上一张效果图. 本篇文章实现的效果就是如图中所圈的那样,实现类似于HTML中的二级联动的效果. 对于第一个选项我们读取的是本地xml文件来填充数据的, 对于第二个选项我们读取的是通过中央 ...
- CCLabelTTF 如何支持换行符和换行
参考自http://www.cocos2d-x.org/wiki/How_does_CCLabelTTF_support_line_breaks_and_wrapping 环境: cocos2d-x ...
- 自定义ContentProvider
ContentProvider作为安卓的四大组件之一,在看开发中用到的频率远不如其他三个,以至于我都把这个东西给忘了,最近由于工作原因,不得不重新拾起来总结一下,那么今天就来说说自定义ContentP ...
- Java基础知识强化之IO流笔记50:IO流练习之 复制多级文件夹的案例
1. 复制多级文件夹的案例 需求:复制多级文件夹 数据源:E:\JavaSE\day21\code\demos 目的地:E:\ 分析: A:封装数据源File ...