对>的修正

前题:

  在前几个月的时候,写了一篇笔记,说的是kernel compile的事情,当时经验不足,虽说编译过了,但有些地方写的有错误--因为当时的理解是有错误的。今天一一更正,记录如下:

前文笔记链接: ubuntu 12.04编译安装linux-3.6.10内核笔记

NO 1:

  内核清洁工作。

  一般的清洁可能会立刻想到make clean.但这个确实不完整,make clean只能清楚一部分东西。而有一个命令是做的非常彻底的,那就是make mrproper。对于这两个的差别,可以在进入kernel source 目录的时候,make help.

1 xxx@linux-3.6.4:%make help
2 Cleaning targets:
3   clean          - Remove most generated files but keep the config and
4                     enough build support to build external modules
5   mrproper      - Remove all generated files + config + various backup files
6   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到现在将要编译的这个内核中,那么就这个样子:

1 sudo cp /boot/config-3.5 /usr/src/linux-3.6.10/.config

这里注意,要编译的配置文件是 .config,而非其他格式。

第二种方法就是 make menuconfig 后,在第一个界面有一个 Load选项:

1    Load an Alternate Configuration File  

在这里写入/boot/config-3.5,然后保存为.config文件。

这两种方法适合于:第一种,是完全不做修改了,直接拿来用;第二种是自己还想做一些修改---其实也不啦,第一种直接再make menuconfig后,一样的可以修改。

再次说明的是:

make mrproper会删除配置文件的,所以配置文件一定要在make mrproper进行之后进行。

以此修正。