本文转载自:http://www.cnblogs.com/wanqieddy/archive/2012/10/22/2734024.html

快速编译system.img,可以使用这个命令:

#make systemimage

快速编译boot.img,可以使用以下命令:

#make bootimage

快速编译userdata.img,可以使用以下命令:

# make userdataimage-nodeps

但是,对于bootimage, 在不改变内存布局的情况下,可以使用以下命令:

#cp ./arch/arm/boot/Image ./arch/arm/boot/kernel

#mkbootimg --kernel ./arch/arm/boot/kernel --ramdisk ../out/target/product/tcc8800/ramdisk.img --cmdline

console=ttyTCC,115200n8 --base 0x40000000 --pagesize 8192 --output ../out/target/product/tcc8800/boot.img

其实这些生成命令都在build/core/Makefile中.

生成boo.img的方法:

$(INSTALLED_BOOTIMAGE_TARGET):$(MKBOOTIMG) $(INTERNAL_BOOTIMAGE_FILES)

$(MKBOOTIMG)  $(INTERNAL_BOOTIMAGE_ARGS) --output $@

......

生成system.img的方法:

define build-systemimage-target

$(MKYAFFS2) -f $(mkyaffs2_extra_flags) $(TARGET_OUT) $(1)

生成userdata.img的方法

define build-userdataimage-target

mkdir -p $(TARGET_OUT_DATA)

$(MKYAFFS2) -f $(mkyaffs2_extra_flags) $(TARGET_OUT_DATA) $(INSTALLED_USERDATAIMAGE_TARGET)

同样,ramdisk.img的生成方法为:

BUILT_RAMDISK_TARGET := $(PRODUCT_OUT)/ramdisk.img

INSTALLED_RAMDISK_TARGET := $(BUILT_RAMDISK_TARGET)

$(INSTALLED_RAMDISK_TARGET): $(MKBOOTFS) $(INTERNAL_RAMDISK_FILES) | $(MINIGZIP)

$(MKBOOTFS) $(TARGET_ROOT_OUT) | $(MINIGZIP) > $@

为方便起见,也可以在Makefile中加入以下内容:

BUILT_RAMDISK_TARGET := $(PRODUCT_OUT)/ramdisk.img

.PHONY: ramdiskimage

ramdiskimage: ${BUILT_RAMDISK_TARGET}

然后,就可以输入:make ramdiskimage 来编译ramdisk.img文件了

最简单的方法是:

out/host/linux-x86/bin/mkbootfs out/target/product/tcc8900/root |

out/host/linux-x86/bin/minigzip > out/target/product/tcc8900/ramdisk.img

快速编译system.img和boot.img的方法【转】的更多相关文章

  1. 快速编译system.img、userdata.img、boot.img的方法

    快速编译system.img和boot.img的方法 快速编译system.img,可以使用这个命令: #make systemimage 快速编译boot.img,可以使用以下命令: #make b ...

  2. [UE4]使用UnrealVS扩展快速编译C++代码

    一.如果UE4 编辑器已经打开,则VS中的重新生成项目将不能使用,一定要关了UE4 编辑器才可以.一般不是有VS自身的编译UE4的C++代码 二.epic提供了UnrealVS扩展,可以快速编译C++ ...

  3. mtcp的快速编译(连接)

    mtcp的快速编译 http://mos.kaist.edu/guide/config/03_build_mtcp.html 介绍DPDK中使用mtcp的文档 https://dpdksummit.c ...

  4. 利用批处理结合Msbuild实现快速编译

    我们经常在用vs2005做项目的时候会把一个项目分成几个模块(不管是对于功能上,还是系统构架上面),为的是以后部署,还有修改维护时候的方便.这样就会带来一个问题,随着模块的增加(这里所说得每个模块就是 ...

  5. 快速掌握 Android Studio 中 Gradle 的使用方法

    快速掌握 Android Studio 中 Gradle 的使用方法 Gradle是可以用于Android开发的新一代的 Build System, 也是 Android Studio默认的build ...

  6. Python学习笔记4-如何快速的学会一个Python的模块、方法、关键字

    想要快速的学会一个Python的模块和方法,两个函数必须要知道,那就是dir()和help() dir():能够快速的以集合的型式列出该模块下的所有内容(类.常量.方法)例: #--encoding: ...

  7. Flex 1046: 找不到类型,或者它不是编译时常数;1180: 调用的方法 CompPropInfo 可能未定义

    导入项目之后一直报这个错误, 1046: 找不到类型,或者它不是编译时常数: 1180: 调用的方法 CompPropInfo 可能未定义 想这应该是没有把当前这个类编译进项目当中,找了半天也没有找到 ...

  8. XCode编译文件过多导致内存吃紧解决方法

    XCode编译文件过多导致内存吃紧解决方法 /Users/~~/Library/Developer/Xcode/DerivedData 1) 然后 找到编译文件 删除 就好了哦 快去试试看吧

  9. delphi 编译的时候 把Warning去除的方法

    delphi  编译的时候  把Warning去除的方法 在 添加 {$WARNINGS OFF}

随机推荐

  1. (转)淘淘商城系列——使用Jedis操作集群

    http://blog.csdn.net/yerenyuan_pku/article/details/72862084 通过上文的学习,我相信大家应该已经知道如何搭建Redis集群了,本文我将为大家介 ...

  2. pyhon模块

    模块基础 什么是模块 模块式一系列功能的集合体,而函数是某一个功能的集合体,因此模块可以看成是一堆函数的集合体.一个py文件内部可以放一堆函数,因此一个py文件就可以看成是一个模块.如果这个py文件的 ...

  3. 【计算几何】二维凸包——Graham's Scan法

    凸包 点集Q的凸包(convex hull)是指一个最小凸多边形,满足Q中的点或者在多边形边上或者在其内.右图中由红色线段表示的多边形就是点集Q={p0,p1,...p12}的凸包. 一组平面上的点, ...

  4. Linux学习笔记(二) 文件管理

    了解 Linux 系统基本的文件管理命令可以帮助我们更好的使用 Linux 系统,以下介绍几个常用的文件管理命令 1.pwd pwd 是 Print Working Directory 的简写,用于显 ...

  5. Tree(树的还原以及树的dfs遍历)

    紫书:P155 uva  548   You are to determine the value of the leaf node in a given binary tree that is th ...

  6. SSM+Shiro

    1) 表名:用户表(Sys_Users) Salt:盐(佐料).为避免被黑客等进行攻击(暴力密码破解),所以一般在注册用户信息时,系统会随机生成一个随机码.在验证时会将密码和随机码进行运算,以验证密码 ...

  7. TensorFlow Ops

    TensorFlow Ops 1. Fun with TensorBoard In TensorFlow, you collectively call constants, variables, op ...

  8. 学习MongoDB--(5-2):索引(查看索引的使用,管理索引)

    前一篇简单介绍了索引,并给出了基本的索引使用,这一次,我们进一步说一下MongoDB中的索引,包括如何查看查询是否走索引,如何管理索引和地理空间索引等. [使用explain和hint] 前面讲高级查 ...

  9. hdu 2089 记忆化搜索写法(数位dp)

    /* 记忆化搜索,第二维判断是否是6 */ #include<stdio.h> #include<string.h> #define N 9 int dp[N][2],digi ...

  10. hdu3450

    分析:首先要知道有递推公式dp[i] = Sigma(dp[j]),dp[i]表示第i个数结尾的完美子序列的个数,|a[i] - a[j]| <= d,j<i.直接这样做的时间复杂度为n^ ...