• 【linux】 Makefile之make menuconfig /uImage


     

    欢迎转载,转载时请保留作者信息,谢谢。

    邮箱:tangzhongp@163.com

    博客园地址:http://www.cnblogs.com/embedded-tzp

    Csdn博客地址:http://blog.csdn.net/xiayulewa

     

    config文件生成

    Make menuconfig: 在src/Makefile中

    %config: scripts_basic outputmakefile FORCE

            $(Q)mkdir -p include/linux include/config

            $(Q)$(MAKE) $(build)=scripts/kconfig $@

    上面最后一句话是会跳转到scripts/kconfig目录,然后执行其目录下的Makefile

    在srcscriptskconfigMakefile中定义

    menuconfig: $(obj)/mconf

            $< $(Kconfig)

    在scriptskconfig下的确有mconf文件,是二进制可执行的,$< $(Kconfig)意思为 执行mconf, 其参数为$(Kconfig)

    mconf二进制文件的源代码在srcscriptskconfigmconf.c

    入口就是这样了,更加详细的见如下文章:

    linux make menuconfigMakefileKconfig 详解: http://blog.csdn.net/codectq/article/details/9797031

    当执行make menuconfig后,会生成.config文件。

    .config转换成auto.conf

    include/config/%.conf: $(KCONFIG_CONFIG) include/config/auto.conf.cmd

        $(Q)$(MAKE) -f $(srctree)/Makefile silentoldconfig

    auto.conf依赖于$(KCONFIG_CONFIG),而KCONFIG_CONFIG    ?= .config (src/Makefile中)

    见如下文章,该文章未细看。

    auto.conf, auto.conf.cmd, autoconf.h:http://blog.csdn.net/lcw_202/article/details/6661364

    大概流程就是 .configauto.conf(在src/Makefile中被包含 -include include/config/auto.conf)include/generated/autoconf.h(被 linux源代码包含)

    Make uImage:

    uImage目标:/src/arch/arm/boot/Makefile

    srcscriptsKbuild.include中定义了if_changed

    srcscriptsMakefile.lib:完整mkimage命令定义cmd_uimage

    srcscriptsmkuboot.sh 给MKIMAGE赋值

    srcarcharmootMakefile:UIMAGE_LOADADDR加载地址定义

    srcarcharmmach-s3c24xxMakefile.boot:加载地址具体定义

    要修改加载地址等,找到相关文件并修改就可以了。

    下面图片是拷贝的,忘了出处了。

  • 相关阅读:
    冒泡排序的PHP实现 Bubble Sort
    什么是排序算法
    使用memcache 心得和注意事项
    Memcache存储机制与指令汇总
    php中ob缓存机制
    防止php重复提交表单更安全的方法
    Nginx负载均衡配置实例详解
    FAT和EXFAT文件系统
    uCOS-II模拟(VS2010&WIN32)
    MIPS汇编指令集
  • 原文地址:https://www.cnblogs.com/embedded-tzp/p/4444380.html
Copyright © 2020-2023  润新知