对<< ubuntu 12.04编译安装linux-3.6.10内核笔记>>的修正
前题:
在前几个月的时候,写了一篇笔记,说的是kernel compile的事情,当时经验不足,虽说编译过了,但有些地方写的有错误--因为当时的理解是有错误的。今天一一更正,记录如下:
前文笔记链接: ubuntu 12.04编译安装linux-3.6.10内核笔记
NO 1:
内核清洁工作。
一般的清洁可能会立刻想到make clean.但这个确实不完整,make clean只能清楚一部分东西。而有一个命令是做的非常彻底的,那就是make mrproper。对于这两个的差别,可以在进入kernel source 目录的时候,make help.
xxx@linux-3.6.:%make help
Cleaning targets:
clean - Remove most generated files but keep the config and
enough build support to build external modules
mrproper - Remove all generated files + config + various backup files
distclean - mrproper + remove editor backup and patch files
make clean: 会清除大部分以前留下来的东西,但是不会清楚配置文件,也就是那个 .config文件;
make mrproper:是会连配置文件都清除的。
而我前文的操作步骤就是,先把配置文件从/boot目录下导入到/usr/src/linux-3.6.10/ 然后再次执行make mrproper。这样,就把导入的配置文件给删除了嘛,根本就没保持系统原来的配置文件了。但是为啥能成功呢? 因为linux kernel source 默认的是x86的配置吧。---这其实是很危险的,所以纠正这一步这么做:先make mrproper,然后再导入系统原来的配置文件。
NO 2:
配置文件。
配置文件有三个大的来源:一个是自己按照自己的硬件平台,自行的配置编写---这个要求有点高,对于新手不是很合适;一个来源于别人成熟的配置文件--在别人成熟的配置基础上,做一些小动作的修改;第三个是使用kernel source自带的一个配置文件,如果需要使用的话,使用如下:
make defconfig
而借助别人的配置文件,有两种方式添加到现有的kernel source目录下--第一,直接cp命令,比如将/boot/config-3.5这个文件copy到现在将要编译的这个内核中,那么就这个样子:
sudo cp /boot/config-3.5 /usr/src/linux-3.6./.config
这里注意,要编译的配置文件是 .config,而非其他格式。
第二种方法就是 make menuconfig 后,在第一个界面有一个 Load选项:
Load an Alternate Configuration File
在这里写入/boot/config-3.5,然后保存为.config文件。
这两种方法适合于:第一种,是完全不做修改了,直接拿来用;第二种是自己还想做一些修改---其实也不啦,第一种直接再make menuconfig后,一样的可以修改。
再次说明的是:
make mrproper会删除配置文件的,所以配置文件一定要在make mrproper进行之后进行。
以此修正。
对<< ubuntu 12.04编译安装linux-3.6.10内核笔记>>的修正的更多相关文章
- Ubuntu 16.04.2 安装Linux kernel 4.10 内核并解决 VMware 问题
http://www.linuxidc.com/Linux/2017-03/141456.htm
- ubuntu 12.04 编译安装 nginx
下载源码包 nginx 地址:http://nginx.org/en/download.html 编译前先安装两个包: 直接编译安装会碰到缺少pcre等问题,这时候只要到再安装两个包就ok sudo ...
- (转)Ubuntu 12.04 LTS安装VMware Tools实现linux和window 互相复制:无法找到kernel header path的问题
Ubuntu 12.04 LTS安装VMware Tools无法找到kernel header path的问题 ubuntuvmware Ubuntu 12.04 安装 VMware Tools, ...
- Angularjs学习---angularjs环境搭建,ubuntu 12.04下安装nodejs、npm和karma
1.下载angularjs 进入其官网下载:https://angularjs.org/,建议下载最新版的:https://ajax.googleapis.com/ajax/libs/angular ...
- Ubuntu 12.04上安装R语言
Ubuntu 12.04上安装R语言 作者:凯鲁嘎吉 - 博客园 http://www.cnblogs.com/kailugaji/ R的安装 sudo gedit /etc/apt/sources. ...
- [转载] Ubuntu 12.04下安装git,SSH及出现的Permission denied解决办法
如何安装ssh http://os.51cto.com/art/201109/291634.htm 仅需要阅读至成功开启ssh服务即可 http://www.linuxidc.com/Linux/20 ...
- ubuntu 12.04下安装Qt出现cannot execute binary file的解决方案
最近在ubuntu 12.04下安装QT的过程中,遇到一个问题. ./qt-opensource-linux-x64-5.7.0.run出现了bash: ./qt-opensource-linux-x ...
- 如何在ubuntu 12.04 中安装经典的 GNOME桌面
这次介绍的是如何在ubuntu 12.04 中安装经典的 GNOME桌面,默认的 Ubuntu 12.04 默认unity桌面,一些用户不喜欢 Unity 桌面,所以想找回昔日的经典Gnome桌面. ...
- Ubuntu 12.04 下安装 Eclipse
方法一:(缺点是安装时附加openjdk等大量程序并无法去除,优点是安装简单) $ sudo apt-get install eclipse 方法二:(优点是安装内容清爽,缺点是配置麻烦)1.安装JD ...
随机推荐
- Magic skills of vim from zhihu
https://www.zhihu.com/question/27478597 插入模式下ctrl-y,重复当前光标上一行的字符 gd 高亮当前词 cc 删除当前行并插入 “.” 这个 mark 代表 ...
- Microsoft.Data.ConnectionUI.DataConnectionDialog
MicrosoftVisualStudio里面的资源之数据库连接配置 这个功能的实现主要是用了Microsoft.Data.ConnectionUI.dll和Microsoft.Data.Connec ...
- python操作Excel读--使用xlrd
一.安装xlrd模块 到python官网下载http://pypi.python.org/pypi/xlrd模块安装,前提是已经安装了python 环境. 二.使用介绍 1.导入模块 import x ...
- chrome禁用某个网站js脚本的执行
1 首先打开谷歌浏览器.如下 2 点击右上角,打开菜单进入[设置] 3 打开后,第一个界面是没有这个的,要滚动到最后点击[显示高级设置...] 4 展开第二页后,点击[隐私设置]->[内容设 ...
- js jquery版本的 金额千分位转换函数(非正则,效率极高)
没想到js里面没有 金额千分位格式化的处理函数(例:1,234.01 这样的格式),网上搜了一圈,都是使用正则的方式处理的.正则的效率不敢恭维啊,又耗费资源速度又慢(虽然处理起来会直观一些). 因此专 ...
- 【转】protobuf2.5.0在<delete [] elements_;>crash的问题。
背景 项目中使用protobuf作为网络传输协议,最开始在项目中直接使用源代码编译,在真机上测试一直是正常的,直到某天开始在 CPU是64 bit的设备上发现protobuf导致crash了,于是就开 ...
- 学习面试题Day06
1.字节流的处理方式 字节流处理的是计算机最基本的单位byte,它可以处理任何数据格式的数据.主要的操作对象就是byte数组,通过read()和write()方法把byte数组中的数据写入或读出. 2 ...
- [转载]C#基础-Func,Action
Func,Action 的介绍及其用法 Func是一种委托,这是在3.5里面新增的,2.0里面我们使用委托是用Delegate,Func位于System.Core命名空间下,使用委托可以提升效率,例如 ...
- 负载均衡、LVS概述
1. 负载均衡概述 负载均衡的基本思路是:在一个服务器集群中尽可能的平衡负载量.通常的做法是在服务器前端设置一个负载均衡器(一般是专门的硬件设备).然后负载均衡器将请求的连接路由到最空闲的可用服务器. ...
- 13、Android的多线程与异步任务
课程目标:学习Android中异步操作的三大方式 重点难点:Handler与线程的关系 Handler消息队列的实现 考核目标: 使用Handler是异步的,它会建立新线程么? no Handle ...