ubuntu——更新、编译、启动内核
步骤如下:
1、make mrproper
Linux下面去编译项目之前,一般常会用make mrproper去先删除之前编译所生成的文件和配置文件,备份文件等,其中,mrproper和distclean,clean之间的区别,Linux内核源码根目录下面的makefile中,有很清晰的解释:
help:
@echo 'Cleaning targets:'
@echo ' clean - Remove most generated files but keep the config and'
@echo ' enough build support to build external modules'
@echo ' mrproper - Remove all generated files + config + various backup files'
@echo ' distclean - mrproper + remove editor backup and patch files'
mrproper到底是什么意思呢?为什么起了个这么个看起来如此诡异的名字。
在英文wiki对Mr. Clean的解释提到了此点;
http://en.wikipedia.org/wiki/Mr._Clean
"make mrproper" is a command in the Linux kernel build system, used to
"clean up" all files from past builds and restore the build directory to
its original clean state. The reason "make mrproper" is used instead of
"make mrclean" is because Linus Torvalds, the father of Linux, was
familiar with the name "Mr. Proper" as this is the brand widely known in
Europe."
总的来说,就是:首先,我们要知道的是make mrproper想要做的事情是,清理旧的编译生成的文件及其他配置等文件,所以,相当于Clean,即我们在现实世界中用清洁剂去清洁卫生,清理旧的, 不再需要的,脏东西。而现实世界中,保洁(P&G)公司的,有一个清洁产品方面的品牌,在美国叫做Mr.Clean,在欧洲叫做 Mr.Proper,所以编译之前的清理旧东西的命令,原先是用的make mrclean,即make Mr.Clean。只是后来被Linux之父Linus Torvalds改成了make mrproper,即make Mr.Proper。所以,现在就变成了用make mrproper来清理之前的东西了。
但是,它更深层次的清除你上次编译内核的东西,就是说比make clean还要厉害!
make mrproper在Readme中的解释如下:
Make sure you have no stale .o files and dependencies lying around:
2、cp /boot/config-`uname -r` .config
编译内核时的配置文件。
/boot/config-`uname -r`为当前内核编译时的配置文件,因为更新内核时是在同一台机器上,所以编译新内核时的配置文件与旧的相同。
3、sudo apt-get install libncurses5-dev
Ncurses 提供字符终端处理库,包括面板和菜单。
编译内核时的辅助编译工具,提供选项菜单面板。
4、make menuconfig
根据.config生成Makefile。
图形化的内核配置。解释如下:
- #make config(基于文本的最为传统的配置界面,不推荐使用)
- #make menuconfig(基于文本选单的配置界面,字符终端下推荐使用)
注意:使用make menuconfig 需要安装ncurses( sudo apt-get install ncurses-dev)
- #make xconfig(基于图形窗口模式的配置界面,Xwindow下推荐使用)
注意:如果要用make xconfig,则要先安装libqt3-compat-headers( sudo apt-get install libqt3-compat-headers)
- #make oldconfig(如果只想在原来内核配置的基础上修改一些小地方,会省去不少麻烦)
目的都是生成一个.config文件,这三个命令中,make xconfig的界面最为友好,如果你可以使用Xwindow,你就用这个好了,这个比较方便,也好设置。如果你不能使用Xwindow,那么就使用make menuconfig好了。界面虽然比上面一个差点,总比make config的要好多了。 选择相应的配置时,有三种选择,它们分别代表的含义如下:
Y--将该功能编译进内核
N--不将该功能编译进内核
M--将该功能编译成可以在需要时动态插入到内核中的模块 。
5、在菜单中选择需要的配置
6、make
根据Makefile编译内核,得到内核镜像文件。
7、make modules_install
安装植入模块。
8、make install
安装植入内核。
9、reboot
重启系统后,uname -r就可以看到现在是更新过后的内核。
ubuntu——更新、编译、启动内核的更多相关文章
- ubuntu修改默认启动内核
一.序言 新换的笔记本由于太新的主板芯片,驱动还没有完善.每次升级系统内核都要小心谨慎.经常发生部分硬件驱动失败的事情.系统Ubuntu 20.04.2 LTS x86_64 ,我现在使用的两个版本的 ...
- Ubuntu:编译Linux内核源代码和内核模块
1. 目的 内核模块需要运行在Linux 3.8.13内核中,因此需要为此内核重新编译内核模块源代码. 2. 步骤 1.在Ubuntu 14.04 64位(内核3.13.0-24-generic)上, ...
- ubuntu更新删除旧内核的shell脚本
ubuntu经常提示要更新内核,更新几次后 /boot目录就满了,再更新就提示目录没空间了,这时候就需要删除不用的老旧内核,之前都是uname, grep, dpkg之类的命令一条条敲,然后用眼睛看需 ...
- ubuntu上编译linux内核
Linux 编译:1,首先解压缩内核.2,make ARCH=arm CROSS_COMPILE=arm-xilinx-linux-gnueabi- digilent_z ...
- (七)ubuntu下编译openwrt内核的环境配置
首先安装基本开发环境: sudo apt-get install ssh vim samba tftp nfs 安装编译openwrt须要的包: 解压openwrt包编译出错: Build depen ...
- ubuntu下编译linux内核之前需要做哪些准备?
答: 安装必要的工具(笔者使用的ubuntu代号为bionic) sudo apt-get install -y bison flex
- ubuntu13.04修改默认启动内核
ubuntu下面的启动内核选项跟其他操作系统不一样,有个子菜单,比如我在默认的ubuntu13.04上安装了一个新的内核3.14.5,那么默认的第一项是3.14.5内核,第二项是一个子菜单,第二项里面 ...
- ubuntu 下编译内核
目的: 1. 练习.网上有很多类似的文章可供参考. 2. 为写qemu的watchdog驱动练手. 有朋友问make的 watchdog驱动 需要什么准备,所以写这个blog. 环境: ubuntu ...
- Ubuntu下编译内核
一.下载源代码和编译软件的准备 下载内核源代码:http://www.kernel.org/ 注意,点击2.6.25内核的F版,即完整版. 如果你懒得去网站点联接,运行下列命令: 代码: $cd ~ ...
随机推荐
- 【R笔记】R语言函数总结
R语言与数据挖掘:公式:数据:方法 R语言特征 对大小写敏感 通常,数字,字母,. 和 _都是允许的(在一些国家还包括重音字母).不过,一个命名必须以 . 或者字母开头,并且如果以 . 开头,第二个字 ...
- leetcode187. Repeated DNA Sequences
https://leetcode.com/problems/repeated-dna-sequences/#/description https://leetcode.com/problems/r ...
- mysql max_allowed_packet 设置
mysql根据my.cnf中max_allowed_packet的大小来限制接收到的数据包大小. 据官网描述,如下图. 数据包的值范围为1k~1G, 只能是1024的倍数,不能整除1024的,会向下取 ...
- Linux下使用ISC DHCP可以实现动态推送静态路由表
ISC DHCP可以实现动态推送静态路由表,先做个记号. 参考: https://gauvain.pocentek.net/docs/dhcpd-push-routes/ http://www.isc ...
- 【PHP内存泄漏案例】PHP对象递归引用造成内存泄漏
[案例一] 作者:老王 如果PHP对象存在递归引用,就会出现内存泄漏.这个Bug在PHP里已经存在很久很久了,先让我们来重现这个Bug,代码如下: <?php class Foo { funct ...
- Android 开源项目android-open-project解析之(四) ColorPickView,GraphView,UI Style,Other
十三.ColorPickView ColorPickerView 颜色选择器,支持PopupWindows或新的Activity中打开 项目地址:https://code.google.com/p/c ...
- 一些值得学习的Unity教程 (很实用的包括源码)
***********************项目源码******************************** 1. 降临 2. 沉睡缤纷乐 3. 千炮捕鱼 4. Photon官方FSP示例 ...
- Unity3d通用工具类之数据配置加载类
今天,我们来讲讲游戏中的数据配置加载. 什么是游戏数据加载呢?一般来说游戏中会有场景地图. 按照国际惯例,先贴一张游戏场景的地图: 在这张地图上,我们可以看到有很多正六边形,正六边形上有树木.岩石等. ...
- xml布局内容总结(一)--Android
关于安卓项目中xml的使用非常多.为了达到一些好的UI效果.须要对xml比較熟练.会使用非常多的小技巧,本人准备对这些小技巧进行整理和总结,希望进行分享和交流. 关于weight的使用,因为weigh ...
- VB开发ActiveX控件的一些记录
注意,下面很多语句的用法,不能放在Private Sub UserControl_Initialize()里使用,要放在Private Sub UserControl_InitProperties() ...