编译内核时,我常用到make clean,把之前编译产生的.o文件清除,进行一些配置修改后,再重新编译。
在编译内核模块时,会用到make mrproper,目的是把下载的内核还原到初始状态(清除掉.o文件,清除掉一些在make之后生成的备份文件,甚至还清除了.config配置文件)。
在make mrproper时,会首先调用make clean。
至于要清除些什么东西,要查看内核源文件中的Makefile,仅仅一个Makefile就有1500行,不得不感慨它的强大。
Makefile里这么描述mrproper的:
“Delete all generated files, including .config”
对应的规则为:
mrproper: rm-dirs := $(wildcard $(MRPROPER_DIRS))
mrproper: rm-files := $(wildcard $(MRPROPER_FILES))
mrproper-dirs := $(addprefix _mrproper_,Documentation/DocBook scripts)
PHONY += $(mrproper-dirs) mrproper archmrproper
$(mrproper-dirs):
$(Q)$(MAKE) $(clean)=$(patsubst _mrproper_%,%,$@)
mrproper: clean archmrproper $(mrproper-dirs)
$(call cmd,rmdirs)
$(call cmd,rmfiles)
虽然前面几条,看不懂,但最后一条:
mrproper: clean archmrproper $(mrproper-dirs)
明确的说明了在执行make mrproper之前会先make clean、make archmrproper及make $(mrproper-dirs)。
还有扩展一下:
make distclean
Makefile里有这么几行:
distclean: mrproper
@find $(srctree) $(RCS_FIND_IGNORE) \
\( -name '*.orig' -o -name '*.rej' -o -name '*~' \
-o -name '*.bak' -o -name '#*#' -o -name '.*.orig' \
-o -name '.*.rej' -o -size 0 \
-o -name '*%' -o -name '.*.cmd' -o -name 'core' \) \
-type f -print | xargs rm -f
说明,在执行make distclean时,会先make mrproper。
至于make clean、make mrproper及make distclean的作用是什么,查到再添加。
more:
1、
make clean、make mrproer 以及make distclean的区别
2、
make mrproper及mrproper的含义
3、
Linux内核——make mrproper与make clean的区别
4、
Build Your Own Kernel Modules
分享到:
相关推荐
make clean # 清除生成文件(保留.config 和部分模块文件) make mrproper # 清除全部文件(包括.config 和备份文件) make distclean # 在 make mrproper 上还清除编辑器其他的备份文件 modules.order 记录了 ...
第一个补丁使用: patch -p1 < 使用 interdiff 打补丁: interdiff -z <your> <your> | patch -p1 构建命令: echo make_kernel.sh gedit make_kernel.sh - 写入该文件 ... make mrproper
#make clean #make bzImage #make modules 5. 安装 #make modules_install #make install #depmod -a 六、升级 X Window 1. 在 XFree86 的 FTP 站台 ftp.xfree86.org 下载/pub/XFree86/4.1.0/binaries/Linux-ix86-...
1. **make clean/mrproper/distclean**: 分别用于清理编译过程中产生的文件,其中`make mrproper`会清理更多的文件,包括.config文件;`make distclean`则在`mrproper`的基础上进一步清理编辑器生成的备份文件和...
4. 重新编译内核,使用 make mrproper、make clean、make xconfig、make、make modules_install 等命令 5. 生成新的内核镜像,使用 cp 命令将内核镜像拷贝到 /boot/vmlinuz-版本号 6. 编辑启动配置文件 grub,添加新...
make命令是配置和编译内核的主要工具,make clean、make mrproper、make distclean是常用的命令来清除临时文件、中间文件和配置文件。 2. Linux内核Makefile:Makefile是编译内核的主要文件,包含了编译内核的规则...
当需要重新编译时,先备份 `.config`,然后执行 `make mrproper` 清理编译环境,再执行 `make clean`。 对于特定模块或文件的编译,可以使用 `make M=drivers/net` 编译网络驱动,或直接指定文件如 `make drivers/...
- 使用`make clean`和`make mrproper`清理之前的编译结果。 - 使用`make bf533-ezkit.config`配置U-Boot(根据开发板型号选择配置)。 - 运行`make`进行编译。 - **使用**: - 在系统启动时,U-Boot将负责初始化...
2. make mrproper:清理编译环境和配置文件。 3. make menuconfig:配置内核。 4. make:编译内核。 5. make modules:编译内核模块。 6. make modules_install:安装内核模块。 运行内核的常见问题 在编译和安装...
华为P9 Plus(VIENNA)Android OREO EMUI ...make ARCH=arm64 distclean rm ../out -Rf && make clean && make mrproper && mkdir ../out make ARCH=arm64 O=../out merge_hi3650_defconfig make ARCH=arm64 O=../out x
3. `make distclean`:与`make mrproper`相同,但还会清除编辑器备份和补丁文件。 #### 四、配置内核 接下来,根据目标系统的硬件配置和软件需求,选择合适的内核配置选项。 1. **确定目标系统配置**:了解CPU...
首先回到内核目录,然后执行`make mrproper`来清除之前的构建状态。然后运行`make menuconfig`生成配置文件,这里推荐保持默认配置,除非你对内核有深入理解并需要定制。 ```bash make clean ``` `make clean`是...
make mrproper`命令清理旧的编译残留,确保从干净的状态开始。 - **配置内核**:根据个人偏好,可选用`make config`(传统文本界面)、`make menuconfig`(菜单式界面)、`make xconfig`(图形界面)或`make ...
- `make clean`:移除大部分生成的文件,但保留配置文件。 - `make mrproper`:移除所有生成的文件及配置文件。 - `make distclean`:执行`make mrproper`之后,再移除编辑器备份文件和补丁文件。 2. **确定目标...
3. **检查依赖和编译**:运行`make dep`检查文件依赖,`make clean`确保所有文件是最新的,然后`make zImage`或`make bzImage`(针对较大的内核)进行编译。`zImage`是压缩的内核映像,适合内存较小的系统,而`...
- `make clean`:移除大部分生成的文件,但保留配置文件。 - `make mrproper`:移除所有生成的文件,包括配置文件。 - `make distclean`:相当于`mrproper`加上额外的清理,如编辑器备份和补丁文件。 #### 四、确定...
- `make clean` 清除编译后的文件。 - `make mrproper` 清理源代码树。 - `make menuconfig` 配置内核选项,如设备驱动和文件系统支持。 - `make dep` 生成依赖关系。 - `make` 编译内核。 - `make modules_...
1. `make mrproper`:清除代码,删除目标文件和相关设置,通常在首次编译前执行。 2. `make clean`:仅删除编译过程中产生的中间文件,保留配置文件。 3. `make [X|g]config`:使用图形界面配置内核。`make ...
通过执行make mrproper、make config、make dep、make clean、make bzImage和make modules等命令来配置和编译内核,生成定制后的内核文件。 5. 系统电子盘制作 在标准Linux环境下,可以制作系统电子盘,将定制好的...
首先,进入源代码目录并执行`make mrproper`命令,这是编译内核前的基本步骤,用来清理源代码目录,移除任何可能干扰编译的旧文件或编译残留。这一步确保了你将基于干净的源代码开始编译过程。 接下来,配置内核是...