浙江荣盛建设集团网站,在线做任务的网站有哪些,做网站制作挣钱吗,ghost 卸载wordpress一. 编译的实质基于头文件和c文件---产生对象文件(.o)将所有的对象文件链接起来#xff0c;产生可执行文件。内核的编译系统组成Makefile分布在内核源代码中的Makefile#xff0c; 定义内核的编译规则#xff0c;配合Kconfig使用。Kconfig配置文件#xff0c;给用户提供…一. 编译的实质 基于头文件和c文件---产生对象文件(.o) 将所有的对象文件链接起来产生可执行文件。内核的编译系统组成 Makefile分布在内核源代码中的Makefile 定义内核的编译规则配合Kconfig使用。 Kconfig配置文件给用户提供配置选项的功能make menuconfig 等命令根据此文件生成配置文件菜单。 配置工具包括配置命令解释器(解析Kconfig)和内核配置的用户界面程序等。 使用make config、make menuconfig等命令时 内核顶层目录会生成一个.config的配置文件 该配置文件记录了哪些功能会被编译进内核 哪些功能会被编译成内核模块。运行make menuconfig时 配置工具首先分析与体系结构对应的 arch/ arch /Kconfig 文件 arch/ arch /Kconfig 文件中除本身包含一些与体系结构相关的配置项和配置菜单以外 还通过 source 语句引入下一层的 Kconfig 文件。配置后生成文件 include/config auto.conf include/generated: autoconf.h二. 相关命令2.1 清理配置指定输出目录#除了保存config文件以及构建外围模块必要的文件其他的全部清除。
make clean Obuild#清理全部生成的文件config文件不同的备份文件
make mrproper Obuild#彻底的清理等价于clean mrproper
make distclean Obuild2.2 配置编译选项指定arch和输出目录# 默认内核配置
make Obuild defconfig
make Obuild ARCHarm xxx_defconfig# 或者
cp arch/arm/configs/xxx_defconfig /build/.config# 修改配置(可能需要切换到gcc下)
make menuconfig Obuild2.3 编译内核指定交叉编译工具线程数输出目录make ARCHarm CCarm-oe-linux-gnueabi-gcc LDarm-oe-linux-gnueabi-ld.bfd -j 4 Obuild#或者
make zImage Obuild ARCHarm CC${CC} LDarm-oe-linux-gnueabi-ld.bfd -j 4 Obuild2.4 编译内核模块指定交叉编译工具线程数输出目录make modules ARCHarm CCarm-oe-linux-gnueabi-gcc LDarm-oe-linux-gnueabi-ld.bfd -j 4 Obuild#或者
make modules Oobj ARCHarm CC${CC} LDarm-oe-linux-gnueabi-ld.bfd -j 4 Obuild