Android源码编译过程之九鼎开发板
1 build_kernel() 2 { 3 # 进入源码顶层目录 4 cd ${BS_DIR_KERNEL} || return 1 5 # 编译配置文件 6 make ${BS_CONFIG_KERNEL} ARCH=arm CROSS_COMPILE=${BS_CROSS_TOOLCHAIN_KERNEL} || return 1 7 # 编译内核uImage(arm架构、交叉编译工具) 8 make -j${threads} ARCH=arm CROSS_COMPILE=${BS_CROSS_TOOLCHAIN_KERNEL} uImage || return 1 9 # 拷贝 uImage 到输出文件夹 10 cp -v ${BS_DIR_KERNEL}/arch/arm/boot/uImage ${BS_DIR_RELEASE} 11 12 echo "^_^ kernel path: ${BS_DIR_RELEASE}/uImage" 13 14 # 进入源码顶层目录 15 cd ${BS_DIR_TOP} || return 1 16 echo 'boot.img ->' ${BS_DIR_RELEASE} 17 # Make boot.img with ext4 format, 64MB 18 # 拷贝uImage到boot目录下 19 cp -v ${BS_DIR_RELEASE}/uImage ${BS_DIR_TARGET}/boot 20 # 使用mkuserimg.sh编译boot下文件为boot.img 21 mkuserimg.sh -s ${BS_DIR_TARGET}/boot ${BS_DIR_TARGET}/boot.img ext4 boot 67108864 22 # 将输出的boot.img拷贝到输出文件夹 23 cp -av ${BS_DIR_TARGET}/boot.img ${BS_DIR_RELEASE} || return 1; 24 25 return 0 26 } 27 28 mk脚本之内核编译及boot.img制作
1 #!/bin/bash -x 2 # 3 # To call this script, make sure make_ext4fs is somewhere in PATH 4 # 打印信息 5 function usage() { 6 cat<<EOT 7 Usage: 8 mkuserimg.sh [-s] SRC_DIR OUTPUT_FILE EXT_VARIANT MOUNT_POINT SIZE [FILE_CONTEXTS] 9 EOT 10 } 11 12 echo "in mkuserimg.sh PATH=$PATH" 13 14 ENABLE_SPARSE_IMAGE= 15 if [ "$1" = "-s" ]; then 16 ENABLE_SPARSE_IMAGE="-s" 17 shift 18 fi 19 # 判断参数长度 去除-s 5个或6个(可选参数) 20 if [ $# -ne 5 -a $# -ne 6 ]; then 21 usage 22 exit 1 23 fi 24 # 源码树不存在容错 25 SRC_DIR=$1 26 if [ ! -d $SRC_DIR ]; then 27 echo "Can not find directory $SRC_DIR!" 28 exit 2 29 fi 30 # 参数赋值 31 OUTPUT_FILE=$2 32 EXT_VARIANT=$3 33 MOUNT_POINT=$4 34 SIZE=$5 35 FC=$6 36 # 扩展类型仅支持ext4,其余则打印提示 37 case $EXT_VARIANT in 38 ext4) ;; 39 *) echo "Only ext4 is supported!"; exit 3 ;; 40 esac 41 # 挂载点长度为0容错 42 if [ -z $MOUNT_POINT ]; then 43 echo "Mount point is required" 44 exit 2 45 fi 46 # 文件系统长度为0容错 47 if [ -z $SIZE ]; then 48 echo "Need size of filesystem" 49 exit 2 50 fi 51 # 可选参数非零则赋值 52 if [ -n "$FC" ]; then 53 FCOPT="-S $FC" 54 fi 55 # 编译脚本命令 56 MAKE_EXT4FS_CMD="make_ext4fs $ENABLE_SPARSE_IMAGE $FCOPT -l $SIZE -a $MOUNT_POINT $OUTPUT_FILE $SRC_DIR" 57 echo $MAKE_EXT4FS_CMD 58 $MAKE_EXT4FS_CMD # 最后执行的命令代码不为0,则执行异常 59 if [ $? -ne 0 ]; then 60 exit 4 61 fi
mkuserimg.sh脚本之打包
make_ext4fs各参数的含义
1. $simg2img system.img system_old.img
2. $mkdir system
3. mount -t ext4 -o loop system_old.img system
4. 修改system目录下的文件
5. $./make_ext4fs -s -l 512M -a system system_new.img system #512M表分区大小 第一个system表示挂载点为/system, 第二个system表示system目录。
6. system_new.img进行烧写
转载于:https://www.cnblogs.com/pokerface/p/5740162.html
Android源码编译过程之九鼎开发板相关推荐
- 【流媒体开发】VLC Media Player - Android 平台源码编译 与 二次开发详解 (提供详细800M下载好的编译源码及eclipse可调试播放器源码下载)
作者 : 韩曙亮 博客地址 : http://blog.csdn.net/shulianghan/article/details/42707293 转载请注明出处 : http://blog.csd ...
- 【Android开发】构建Android源码编译环境
原文:http://android.eoe.cn/topic/android_sdk 构建Android源码编译环境 123456789 10 11 12 13 14 15 16 17 18 $ su ...
- Android 源码编译详解【合集篇】
Android 源码编译详解[一]:服务器硬件配置及机型推荐 做 Android系统开发多年,开发环境都是入职就搭建好了,入职时拿个账号密码就直接开始搞开发了,年初换了新公司,所有的项目都是刚起步,一 ...
- Android源码编译(基于Ubuntu18.0.4)
文章目录 一.环境搭建 硬件要求 软件要求 操作系统和 JDK 主要软件包 软件安装 Git安装 repo工具安装 安装 openJDK 8 其他依赖安装 二.源码下载 建立源码文件夹 初始化仓库 源 ...
- Android 源码编译 及 mk文件解读
Android 源码编译 参考:探索Android FrameWork底层开发视频_哔哩哔哩_bilibili 基础 1.源代码编译 分为2个部分: (1)boot/Kernel (2)Android ...
- Android 源码编译及常见错误及解决方法
Android 源码编译及常见错误及解决方法 参考文章: (1)Android 源码编译及常见错误及解决方法 (2)https://www.cnblogs.com/kyyblabla/p/360393 ...
- android源码编译出错的原因
(1)gcc的版本过高,由于android源码编译要求为4.3,如果你的gcc版本为4.4,那你的编译可能会失败的!我的系统是ubuntu 10.04,默认的gcc版本为4.4,gcc-4.4太严格, ...
- [Android Pro] Android源码编译之Nexus5真机编译
reference to : http://blog.csdn.net/liu1075538266/article/details/51272398 1. 前言 在Android安全的研究工作中, ...
- Android 源码编译技巧--模块清理
参考之前的 Android 源码编译技巧–模块编译_南国樗里疾的博客-CSDN博客 https://blog.csdn.net/weixin_44021334/article/details/1069 ...
最新文章
- 我们与Datawhale的故事!
- JMS配置说明-----activeMQ-5.6
- python 代码-Python Insider
- linux结束ping进程,linux常用命令
- PHP源码分析-数组
- x86汇编-1(第三章—第四章)虚拟硬盘基本信息,虚拟硬盘的写入,bochs调试
- 国内SAP从业者们2020年最想学习的SAP相关知识分类的调查问卷结果
- 深入浅出React Native 1: 环境配置
- 算法学习——动态规划之装载问题
- SAP License:一位在ERP行业从业九年的经验总结
- Bailian4071 查找出现了k次的字符【字符串】
- 程序员须掌握的大数据分析核心技术
- PyTorch:tensor-数学API
- 简单操作去除PDF文件
- Spring Aop 报错 ...but was actually of type 'com.sun.proxy.$Proxy**'的解决方案
- 实习测试的一个月总结与心得
- 使用python进行微博登陆
- 学习javascript这一篇就够了超详细笔记(建议收藏)上
- 从网上下载一个vue项目,跑起来的全过程
- 【Excel】Excel中实现中文转拼音(自定义函数方式)
热门文章
- Winograd,GEMM算法综述(CNN中高效卷积实现)(下)
- server sql 数据c盘迁移d盘_oracle 11g dbf数据文件从C盘迁移到D盘
- javascript的Math对象和全局函数
- Tensor VS NumPy
- 机器学习中的数学基础:(1)实际应用中矩阵特征值与特征向量的几何意义
- 【camera】自动驾驶感知系统实现(车道线检测和拟合、目标检测与跟踪、道路可行驶区域分割、深度估计、图像视野到BEV空间映射、像平面到地平面映射)
- Halcon 点云拟合平面并获取单位法向量及位姿
- 【机器学习入门】(13) 实战:心脏病预测,补充: ROC曲线、精确率--召回率曲线,附python完整代码和数据集
- xlrd.biffh.XLRDError: Excel xlsx file; not supported解决方法
- request中的内容存储_宜信开源|调用链系列(3):解读UAVStack中的调用链技术...