关于生成配置文件
1、首先执行以下命令从老的 xxxx_defconfig 文件生成临时使用的 .config 文件:
根据硬件平台生成临时配置文件.config,比如 make xxxx_defconfig
make vexpress_defconfig
2、然后 make menuconfig
启动图形化配置,在 menuconfig 菜单中手动选择上我们需要添加的模块。执行以下命令打开配置菜单:
个人认为make menuconfig就是make oldconfig图形版本,在将新的更新到.config同时,将原来.config文件保存为.oldconfig.
make menuconfig
手动选择好要使用的模块,保存并退出后,我们的配置就写入到 .config 文件中了。
3、然后我们再执行下方的命令将配置保存到 defconfig 文件中:
make savedefconfig
上方这条命令在成功被执行之后,我们可以在内核的根目录下发现新增了一个名为 defconfig 的文件,这个文件里包含了所有模块的配置。我们只需要将要移植的模块配置添加到xxxx_defconfig行了
4. 保存形式xxx_defconfig
cp defconfig arch/arm/configs/xxx_defconfig
保存
这样保存的defconfig文件,配置最小化。 以后就执行make xxx _defconfig
即可。
内核编译时, 到底用make clean, make mrproper还是make distclean
删除的文件范围从小到大依次为: make clean < make mrproper < make distclean
清除命令 | 说明 |
---|---|
make clean | 删除大多数的编译生成文件, 但是会保留内核的配置文件.config, 还有足够的编译支持来建立扩展模块 |
make mrproper | 删除所有的编译生成文件, 还有内核配置文件, 再加上各种备份文件 |
make distclean | 删除的文件, 加上编辑备份文件和一些补丁文件。 |
其 实, 对于一个刚刚从kernel.org上下载的内核源码包, 可以不用执行make clean/make mrproper/make distclean, 因为源码包的状态本身就是clean的。
使用 make distclean 指令可以直接清除编译生成的*.o 文件、Makefile、生成的*.h 与生成的可执
行文件。再使用 ls 查看当前工程目录,又变成一个干净原始的工程目录了。
编译内核(第一次耗时较强,建议等待期间吃个饭)
make -jN
安装内核模块
make modules_install 只
是把编译好的模块拷贝到系统目录下(一般是/lib/modules/)。
make modules_install
安装内核
make install