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

邮箱: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

在src\scripts\kconfig\Makefile中定义

menuconfig: $(obj)/mconf

        $< $(Kconfig)

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

mconf二进制文件的源代码在src\scripts\kconfig\mconf.c

 

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

linux make menuconfig\Makefile\Kconfig 详解: 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

 

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

 

Make uImage:

 

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

src\scripts\Kbuild.include中定义了if_changed

src\scripts\Makefile.lib:完整mkimage命令定义cmd_uimage

src\scripts\mkuboot.sh 给MKIMAGE赋值

src\arch\arm\boot\Makefile:UIMAGE_LOADADDR加载地址定义

src\arch\arm\mach-s3c24xx\Makefile.boot:加载地址具体定义

 

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

 

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

 

【linux】 Makefile之make menuconfig /uImage的更多相关文章

  1. Linux下USB烧写uImage kernel

    Linux下USB烧写uImage kernel   1.启动开发板,进入u-boot:(如果开发板中没有系统,可以通过用SD卡方式启动开发板进入)   U-Boot 2011.06 (Mar 19 ...

  2. Linux makefile 教程 非常详细,且易懂(转)

    转自:http://blog.chinaunix.net/uid-27717694-id-3696246.html 原文地址:Linux makefile 教程 非常详细,且易懂 作者:Deem_pa ...

  3. Linux Makefile自动生成--config.h

    Linux Makefile自动生成--config.h http://blog.csdn.net/spch2008/article/details/12510805

  4. 很详细、很移动的Linux makefile教程:介绍,总述,书写规则,书写命令,使用变量,使用条件推断,使用函数,Make 的运行,隐含规则 使用make更新函数库文件 后序

    很详细.很移动的Linux makefile 教程 内容如下: Makefile 介绍 Makefile 总述 书写规则 书写命令 使用变量 使用条件推断 使用函数 make 的运行 隐含规则 使用m ...

  5. Linux Makefile文件编写详细步骤与实践

    Linux Makefile文件编写详细步骤与实践 1.makefile概述 Windows环境下IDE会帮你完成makefile文件的编写,但在UNIX环境下你就必须自己写makefile了,会不会 ...

  6. PuTTY 连接 linux 服务器执行 make menuconfig 乱码问题解决

    PuTTY 连接 linux 服务器执行 make menuconfig 时可能出现乱码,如下图所示: 有两个方法解决这个问题: 方法一: 修改 PuTTY 配置如下图所示: 方法二: 在 -/.ba ...

  7. Linux Makefile analysis for plain usr

    一.本文主旨 笔者写了一篇linux内核Makefile整体分析 ,测重于理论分析,对于实际应用不算对头,所以需要写一篇实用性较强的文章,为以后内核.驱动移植做好铺垫. 二.本文内容概要 1.编译哪些 ...

  8. 配置Linux Kernel时make menuconfig执行流程分析

       在编译内核前,一般是根据已有的配置文件(一般在内核根目录下的arch/arm/configs/文件夹下,把该目录下的xxx_defconfig文件拷贝到内核根目录下,并重命名为.config)来 ...

  9. 【转】Linux makefile 教程 非常详细,且易懂

    From: http://blog.csdn.net/liang13664759/article/details/1771246 最近在学习Linux下的C编程,买了一本叫<Linux环境下的C ...

随机推荐

  1. IT第二十天 - 面向对象编程思想、抽象类、异常处理、程序操作日志记录、本周总结 ★★★

    IT第二十天 上午 面向对象编程思想 1.组装电脑的设计: (1)电脑的组成:显示器+机箱 (2)机箱的组成:电源+主板+硬盘 (3)主板所包含的部件:cpu+内存+PCI接口+usb接口 (4)PC ...

  2. [置顶] 吃论扯谈---吃货和Office 365订阅的关系

    什么事物都可以和吃联系起来,在女孩子穿裙子的季节这是一个悲伤的故事! 说明: :Office365是微软云计算产品之一,其采取订阅的方式,按人头*每月的方式付费,用户可以选择自己需要的服务 2:Off ...

  3. iReport5.6.0 linechart 制作方法

    iReport 官网和文档上关于chart设计以饼图和JDBC源作为样例.但很多其它的情况下因为报表中的数据须要首先加工处理,因此很多其它的是从JavaBeans set datasource从获取数 ...

  4. 应用之间进行跳转,ComponentName的方式

    从应用A跳转到应用B, 关键代码如下: 有以下几个注意点: 1.ComponentName cn = new ComponentName("com.terry", "co ...

  5. Android存储之SQLiteDatbase

    SQLiteDatabase的方式会生成一个数据库文件,每个应用最多只对应一个数据库文件,即.db文件. 可以使用很多第三方工具进行打开,查看数据库里的内容. 昨晚试了好几种工具,如navicat,s ...

  6. Asp.Net Core

    开源Asp.Net Core小型社区系统 源码地址:Github 前言 盼星星盼月亮,Asp.Net Core终于发布啦!! Asp.Net发布时我还在上初中,没有赶上.但是Asp.Net Core我 ...

  7. 基于Sql Server 2008的分布式数据库的实践(四)

    原文 基于Sql Server 2008的分布式数据库的实践(四) 数据库设计 1.E-R图 2.数据库创建 Win 7 1 create database V3 Win 2003 1 create  ...

  8. 基于visual Studio2013解决算法导论之024双向链表实现

     题目 双向链表的实现 解决代码及点评 #include <stdio.h> #include <stdlib.h> #include <time.h> #i ...

  9. Git学习笔记总结和注意事项

    一.Git简单介绍 Git是眼下世界上最先进的分布式版本号控制系统.其特点简单来说就是:高端大气上档次! 二.Windows上Git安装 最早Git是在Linux上开发的.非常长一段时间内.Git也仅 ...

  10. 如何将UISearchBar上"Cancel"按钮改为”取消“?

    别说话,直接上代码 for (id obj in [searchBar subviews]) {        if ([obj isKindOfClass:[UIView class]]) {    ...