Android编译详解之lunch命令

      Android的优势就在于其开源,手机和平板生产商可以根据自己的硬件进行个性定制自己的手机产品,如小米,LePhone,M9等,因此,在我们在对Android的源码进行定制的时候,很有必要了解下,Android的编译过程。

如果你从来没有做过Android代码的编译,那么最官方的编译过程就是查看Android的官方网站:http://source.android.com/source/building.html

但是,这儿只是告诉你了如何去编译一个通用的系统,并没有详细告诉你细节,我们跟着编译过程来了解下。

+-------------------------------------------------------------------------------------------------+

  本文使用Android版本为2.1,采用开发板为华清远见研发的FS_S5PC100 A8开发板。

+-------------------------------------------------------------------------------------------------+

按照google给出的编译步骤如下:

    1> source build/envsetup.sh:加载命令

    2> lunch:选择平台编译选项

    3> make:执行编译

我们按照编译步骤来分析编译过程的细节,最终添加自己的平台编译选项。

1. source build/envsetup.sh

这个命令是用来将envsetup.sh里的所有用到的命令加载到环境变量里去,我们来分析下它。

envsetup.sh里的主要命令如下:

 

function help()                  # 显示帮助信息
function get_abs_build_var()           # 获取绝对变量
function get_build_var()             # 获取绝对变量
function check_product()             # 检查product
function check_variant()             # 检查变量
function setpaths()                # 设置文件路径
function printconfig()              # 打印配置
function set_stuff_for_environment()        # 设置环境变量
function set_sequence_number()              # 设置序号
function settitle()                # 设置标题
function choosetype()               # 设置type
function chooseproduct()              # 设置product
function choosevariant()              # 设置variant
function tapas()                  # 功能同choosecombo
function choosecombo()               # 设置编译参数
function add_lunch_combo()             # 添加lunch项目
function print_lunch_menu()            # 打印lunch列表
function lunch()                 # 配置lunch
function m()                   # make from top
function findmakefile()              # 查找makefile
function mm()                   # make from current directory
function mmm()                   # make the supplied directories
function croot()                 # 回到根目录
function cproj()
function pid()
function systemstack()
function gdbclient()
function jgrep()                 # 查找java文件
function cgrep()                  # 查找c/cpp文件
function resgrep()
function tracedmdump()
function runhat()
function getbugreports()
function startviewserver()
function stopviewserver()
function isviewserverstarted()
function smoketest()
function runtest()
function godir ()                 # 跳到指定目录 405

  # add_lunch_combo函数被多次调用,就是它来添加Android编译选项
  # Clear this variable.  It will be built up again when the vendorsetup.sh
  406 # files are included at the end of this file.
  # 清空LUNCH_MENU_CHOICES变量,用来存在编译选项
  407 unset LUNCH_MENU_CHOICES
  408 function add_lunch_combo()  
  409 {
  410        local new_combo=$1                # 获得add_lunch_combo被调用时的参数
  411        local c
        # 依次遍历LUNCH_MENU_CHOICES里的值,其实该函数第一次调用时,该值为空
  412        for c in ${LUNCH_MENU_CHOICES[@]} ; do
  413                if [ "$new_combo" = "$c" ] ; then      # 如果参数里的值已经存在于LUNCH_MENU_CHOICES变量里,则返回
  414                        return
  415                fi
  416        done
        # 如果参数的值不存在,则添加到LUNCH_MENU_CHOICES变量里
  417        LUNCH_MENU_CHOICES=(${LUNCH_MENU_CHOICES[@]} $new_combo)
  418 }


# 这是系统自动增加了一个默认的编译项 generic-eng
  420 # add the default one here
  421 add_lunch_combo generic-eng      # 调用上面的add_lunch_combo函数,将generic-eng作为参数传递过去
  422
  423 # if we're on linux, add the simulator.  There is a special case
  424 # in lunch to deal with the simulator
  425 if [ "$(uname)" = "Linux" ] ; then
  426        add_lunch_combo simulator
  427 fi

# 下面的代码很重要,它要从vendor目录下查找vendorsetup.sh文件,如果查到了,就加载它
1037 # Execute the contents of any vendorsetup.sh files we can find.
1038 for f in `/bin/ls vendorbuild/vendorsetup.sh 2> /dev/null`
1039 do
1040        echo "including $f"
1041      . $f            # 执行找到的脚本,其实里面就是厂商自己定义的编译选项
1042 done
1043 unset f

envsetup.sh其主要作用如下:

  1. 加载了编译时使用到的函数命令,如:help,lunch,m,mm,mmm等
  2. 添加了两个编译选项:generic-eng和simulator,这两个选项是系统默认选项
  3. 查找vendor/<-厂商目录>/和vendor/<厂商目录>/build/目录下的vendorsetup.sh,如果存在的话,加载执行它,添加厂商自己定义产品的编译选项
  其实,上述第3条是向编译系统添加了厂商自己定义产品的编译选项,里面的代码就是:add_lunch_combo xxx-xxx。

根据上面的内容,可以推测出,如果要想定义自己的产品编译项,简单的办法是直接在envsetup.sh最后,添加上add_lunch_combo myProduct-eng,当然这么做,不太符合上面代码最后的本意,我们还是老实的在vendor目录下创建自己公司名字,然后在公司目录下创建一个新的vendorsetup.sh,在里面添加上自己的产品编译项

 
?
#mkdir vendor/farsight/
#touch vendor/farsight/vendorsetup.sh
#echo "add_lunch_combo fs100-eng" > vendor/farsight/vendorsetup.sh

 

这样,当我们在执行source build/envsetup.sh命令的时候,可以在shell上看到下面的信息:

 
?
including vendor/farsight/vendorsetup.sh

 
2. 按照android官网的步骤,开始执行lunch full-eng

 

当然如果你按上述命令执行,它编译的还是通用的eng版本系统,不是我们个性系统,我们可以执行lunch命令,它会打印出一个选择菜单,列出可用的编译选项

如果你按照第一步中添加了vendorsetup.sh那么,你的选项中会出现:

You're building on Linux
 
generic-eng simulator fs100-eng
Lunch menu... pick a combo:
        1. generic-eng
        2. simulator
        3. fs100-eng

 

其中第3项是我们自己添加的编译项。

 

lunch命令是envsetup.sh里定义的一个命令,用来让用户选择编译项,来定义Product和编译过程中用到的全局变量。

我们一直没有说明前面的fs100-eng是什么意思,现在来说明下,fs100是我定义的产品的名字,eng是产品的编译类型,除了eng外,还有user, userdebug,分别表示:

eng: 工程机,

user:最终用户机

userdebug:调试测试机

tests:测试机

由此可见,除了eng和user外,另外两个一般不能交给最终用户的,记得m8出来的时候,先放出了一部分eng工程机,然后出来了user机之后,可以用工程机换。

 

那么这四个类型是干什么用的呢?其实,在main.mk里有说明,在Android的源码里,每一个目标(也可以看成工程)目录都有一个Android.mk的makefile,每个目标的Android.mk中有一个类型声明:LOCAL_MODULE_TAGS,这个TAGS就是用来指定,当前的目标编译完了属于哪个分类里。

 

      PS:Android.mk和Linux里的makefile不太一样,它是Android编译系统自己定义的一个makefile来方便编译成:c,c++的动态、静态库或可执行程序,或java库或android的程序,

 

好了,我们来分析下lunch命令干了什么?

 

function lunch()
{
      local answer

      if [ "$1" ] ; then
            # lunch后面直接带参数
              answer=$1
      else
            # lunch后面不带参数,则打印处所有的target product和variant菜单提供用户选择
              print_lunch_menu  
              echo -n "Which would you like? [generic-eng] "
              read answer
      fi

      local selection=

      if [ -z "$answer" ]
      then
                    # 如果用户在菜单中没有选择,直接回车,则为系统缺省的generic-eng
              selection=generic-eng
      elif [ "$answer" = "simulator" ]
      then
              # 如果是模拟器
              selection=simulator
      elif (echo -n $answer | grep -q -e "^[0-9][0-9]*$")
      then
              # 如果answer是选择菜单的数字,则获取该数字对应的字符串
              if [ $answer -le ${#LUNCH_MENU_CHOICES[@]} ]
              then
                      selection=${LUNCH_MENU_CHOICES[$(($answer-$_arrayoffset))]}
              fi
              # 如果 answer字符串匹配 *-*模式(*的开头不能为-)
      elif (echo -n $answer | grep -q -e "^[^\-][^\-]*-[^\-][^\-]*$")
      then
              selection=$answer
      fi

      if [ -z "$selection" ]
      then
              echo
              echo "Invalid lunch combo: $answer"
              return 1
      fi

      # special case the simulator
      if [ "$selection" = "simulator" ]
      then
              # 模拟器模式
              export TARGET_PRODUCT=sim
              export TARGET_BUILD_VARIANT=eng
              export TARGET_SIMULATOR=true
              export TARGET_BUILD_TYPE=debug
      else

              # 将 product-variant模式中的product分离出来
              local product=$(echo -n $selection | sed -e "s/-.*$//")

              # 检查之,调用关系 check_product()->get_build_var()->build/core/config.mk比较罗嗦,不展开了
              check_product $product
              if [ $? -ne 0 ]
              then
                      echo
                      echo "** Don't have a product spec for: '$product'"
                      echo "** Do you have the right repo manifest?"
                      product=
              fi

              # 将 product-variant模式中的variant分离出来
              local variant=$(echo -n $selection | sed -e "s/^[^\-]*-//")

              # 检查之,看看是否在 (user userdebug eng) 范围内
              check_variant $variant
              if [ $? -ne 0 ]
              then
                      echo
                      echo "** Invalid variant: '$variant'"
                      echo "** Must be one of ${VARIANT_CHOICES[@]}"
                      variant=
              fi

              if [ -z "$product" -o -z "$variant" ]
              then
                      echo
                      return 1
              fi
  导出环境变量,这里很重要,因为后面的编译系统都是依赖于这里定义的几个变量的
              export TARGET_PRODUCT=$product
              export TARGET_BUILD_VARIANT=$variant
              export TARGET_SIMULATOR=false
              export TARGET_BUILD_TYPE=release
      fi # !simulator

      echo

      # 设置到环境变量,比较多,不再一一列出,最简单的方法 set >env.txt 可获得
      set_stuff_for_environment
      # 打印一些主要的变量, 调用关系 printconfig()->get_build_var()->build/core/config.mk->build/core/envsetup.mk 比较罗嗦,不展开了
      printconfig
}

 

由上面分析可知,lunch命令可以带参数和不带参数,最终导出一些重要的环境变量,从而影响编译系统的编译结果。导出的变量如下(以实际运行情况为例)

 

TARGET_PRODUCT=fs100
TARGET_BUILD_VARIANT=eng
TARGET_SIMULATOR=false
TARGET_BUILD_TYPE=release

 
执行完上述两个步骤,就该执行:make命令了,下篇来分析。
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
给全志R58增加一个lunch为cb5801.txt 开发板:全志R58的官方开发板R58_PER3_LPDDR3_32X1_V1_1.pdf 目标:给全志R58增加一个lunch为cb5801 BSP:r58_20160823.tar.gz(2016/8/22从全志的git服务器拿下来的系统) 显示:HDMI输出1080p分辨率的LCD显示器。 编译R18的时候,看lichee和android选择的是不一样的选项。 初步判断:在android中执行extract-bsp的时候,只是去上一级目录中查找lichee编译生成的内核。 先依葫芦画瓢,依照octopus-perf修改一个octopus-cb5801。下文是例子。 wenyuanbo@cm-System-Product-Name:/home/wwt/lunch_cb5801_r58$ wenyuanbo@cm-System-Product-Name:/home/wwt/lunch_cb5801_r58$ cd android/device/softwinner/ wenyuanbo@cm-System-Product-Name:/home/wwt/lunch_cb5801_r58/android/device/softwinner$ ll 总用量 44 drwxrwxr-x 11 wenyuanbo wenyuanbo 4096 8月 22 12:32 ./ drwxrwxr-x 10 wenyuanbo wenyuanbo 4096 8月 22 12:32 ../ drwxrwxr-x 7 wenyuanbo wenyuanbo 4096 8月 22 12:32 astar-common/ drwxrwxr-x 9 wenyuanbo wenyuanbo 4096 8月 22 12:32 astar-y3/ drwxrwxr-x 8 wenyuanbo wenyuanbo 4096 8月 22 12:32 common/ drwxrwxr-x 9 wenyuanbo wenyuanbo 4096 8月 22 12:32 kylin-common/ drwxrwxr-x 10 wenyuanbo wenyuanbo 4096 8月 22 12:32 kylin-p1/ drwxrwxr-x 12 wenyuanbo wenyuanbo 4096 8月 22 12:32 octopus-common/ drwxrwxr-x 11 wenyuanbo wenyuanbo 4096 8月 22 12:32 octopus-f1/ drwxrwxr-x 11 wenyuanbo wenyuanbo 4096 8月 22 12:32 octopus-n1/ drwxrwxr-x 10 wenyuanbo wenyuanbo 4096 8月 22 12:32 octopus-perf/ wenyuanbo@cm-System-Product-Name:/home/wwt/lunch_cb5801_r58/android/device/softwinner$ cp octopus-perf/ octopus-cb5801/ -rf wenyuanbo@cm-System-Product-Name:/home/wwt/lunch_cb5801_r58/android/device/softwinner$ wenyuanbo@cm-System-Product-Name:/home/wwt/lunch_cb5801_r58/android/device/softwinner$ cd octopus-cb5801/ wenyuanbo@cm-System-Product-Name:/home/wwt/lunch_cb5801_r58/android/device/softwinner/octopus-cb5801$ ll 总用量 12384 drwxrwxr-x 10 wenyuanbo wenyuanbo 4096 9月 6 18:31 ./ drwxrwxr-x 12 wenyuanbo wenyuanbo 4096 9月 6 18:31 ../ -rwxrwxr-x 1 wenyuanbo wenyuanbo 28 9月 6 18:31 AndroidBoard.mk* -rwxrwxr-x 1 wenyuanbo wenyuanbo 53 9月 6 18:31 AndroidProducts.mk* drwxrwxr-x 2 wenyuanbo wenyuanbo 4096 9月 6 18:31 bluetooth/ -rwxrwxr-x 1 wenyuanbo wenyuanbo 1835 9月 6 18:31 BoardConfig.mk* drwxrwxr-x 2 wenyuanbo wenyuanbo 4096 9月 6 18:31 configs/ -rwxrwxr-x 1 wenyuanbo wenyuanbo 2175 9月 6 18:31 fstab.sun8i* drwxrwxr-x 2 wenyuanbo wenyuanbo 4096 9月 6 18:31 .git/ -rwxrwxr-x 1 wenyuanbo wenyuanbo 15 9月 6 18:31 .gitignore* drwxrwxr-x 2 wenyuanbo wenyuanbo 4096 9月 6 18:31 hawkview/ -rwxrwxr-x 1 wenyuanbo wenyuanbo 12582912 9月 6 18:31 initlogo.rle* -rwxrwxr-x 1 wenyuanbo wenyuanbo 293 9月 6 18:31 init.recovery.sun8i.rc* -rwxrwxr-x 1 wenyuanbo wenyuanbo 5149 9月 6 18:31 init.sun8i.rc* drwxrwxr-x 2 wenyuanbo wenyuanbo 4096 9月 6 18:31 media/ -rwxrwxr-x 1 wenyuanbo wenyuanbo 6039 9月 6 18:31 octopus_perf.mk* drwxrwxr-x 3 wenyuanbo wenyuanbo 4096 9月 6 18:31 overlay/ -rwxrwxr-x 1 wenyuanbo wenyuanbo 692 9月 6 18:31 package.sh* drwxrwxr-x 2 wenyuanbo wenyuanbo 4096 9月 6 18:31 recovery/ -rwxrwxr-x 1 wenyuanbo wenyuanbo 727 9月 6 18:31 recovery.fstab* drwxrwxr-x 2 wenyuanbo wenyuanbo 4096 9月 6 18:31 tp/ -rwxrwxr-x 1 wenyuanbo wenyuanbo 1373 9月 6 18:31 ueventd.sun8i.rc* -rwxrwxr-x 1 wenyuanbo wenyuanbo 875 9月 6 18:31 vendorsetup.sh* wenyuanbo@cm-System-Product-Name:/home/wwt/lunch_cb5801_r58/android/device/softwinner/octopus-cb5801$ wenyuanbo@cm-System-Product-Name:/home/wwt/lunch_cb5801_r58/android/device/softwinner/octopus-cb5801$ wenyuanbo@cm-System-Product-Name:/home/wwt/lunch_cb5801_r58/android/device/softwinner/octopus-cb5801$ grep perf . -R 匹配到二进制文件 ./.git/index grep: ./.git/svn: 没有那个文件或目录 ./.git/config: url = ssh://[email protected]/git_repo/R58/device/softwinner/octopus-perf.git ./.git/config: projectname = device/softwinner/octopus-perf 对于git文件,直接删除。 wenyuanbo@cm-System-Product-Name:/home/wwt/lunch_cb5801_r58/android/device/softwinner/octopus-cb5801$ rm .git -rf ./package.sh:board=perf3_v1_0 看文件名,应该是在打包IMG文件时候的板文件的选择。 ./BoardConfig.mk:TARGET_RECOVERY_UI_LIB := librecovery_ui_octopus_perf ./BoardConfig.mk:BOARD_BLUETOOTH_BDROID_BUILDCFG_INCLUDE_DIR := device/softwinner/octopus-perf/bluetooth/ 直接用cb5801搜索替换perf即可。 ./recovery/Android.mk:ifneq (,$(findstring $(TARGET_DEVICE),octopus-perf)) ./recovery/Android.mk:LOCAL_MODULE := librecovery_ui_octopus_perf ./recovery/Android.mk:LOCAL_MODULE := librecovery_updater_octopus_perf 直接用cb5801搜索替换perf即可。 ./AndroidProducts.mk: $(LOCAL_DIR)/octopus_perf.mk 直接用cb5801搜索替换perf即可。 ./octopus_perf.mk: device/softwinner/octopus-perf/overlay \ ./octopus_perf.mk:# Abandon useless system app. Add which module name in apk/Android.mk octopus_perf_app section. ./octopus_perf.mk: octopus_perf_app ./octopus_perf.mk:# device/softwinner/octopus-perf/tp/GT927_1040_9CD8.BIN:/system/vendor/firmware/GT927_1040_9CD8.BIN ./octopus_perf.mk: device/softwinner/octopus-perf/recovery.fstab:recovery.fstab \ ./octopus_perf.mk: device/softwinner/octopus-perf/modules/modules/sunxi_tr.ko:obj/sunxi_tr.ko \ ./octopus_perf.mk: device/softwinner/octopus-perf/modules/modules/disp.ko:obj/disp.ko \ ./octopus_perf.mk:# device/softwinner/octopus-perf/modules/modules/hdcp.ko:obj/hdcp.ko \ ./octopus_perf.mk: device/softwinner/octopus-perf/modules/modules/sw-device.ko:obj/sw-device.ko ./octopus_perf.mk: device/softwinner/octopus-perf/kernel:kernel \ ./octopus_perf.mk: device/softwinner/octopus-perf/fstab.sun8i:root/fstab.sun8i \ ./octopus_perf.mk: device/softwinner/octopus-perf/init.sun8i.rc:root/init.sun8i.rc \ ./octopus_perf.mk: device/softwinner/octopus-perf/init.recovery.sun8i.rc:root/init.recovery.sun8i.rc \ ./octopus_perf.mk: device/softwinner/octopus-perf/ueventd.sun8i.rc:root/ueventd.sun8i.rc \ ./octopus_perf.mk: device/softwinner/octopus-perf/modules/modules/nand.ko:root/nand.ko ./octopus_perf.mk: device/softwinner/octopus-perf/configs/tablet_core_hardware.xml:system/etc/permissions/tablet_core_hardware.xml ./octopus_perf.mk: device/softwinner/octopus-perf/configs/camera.cfg:system/etc/camera.cfg \ ./octopus_perf.mk: device/softwinner/octopus-perf/configs/gsensor.cfg:system/usr/gsensor.cfg \ ./octopus_perf.mk: device/softwinner/octopus-perf/configs/media_profiles.xml:system/etc/media_profiles.xml \ ./octopus_perf.mk: device/softwinner/octopus-perf/configs/sunxi-keyboard.kl:system/usr/keylayout/sunxi-keyboard.kl \ ./octopus_perf.mk: device/softwinner/octopus-perf/configs/sunxi-ir.kl:system/usr/keylayout/sunxi-ir.kl \ ./octopus_perf.mk: device/softwinner/octopus-perf/configs/tp.idc:system/usr/idc/tp.idc ./octopus_perf.mk:#device/softwinner/octopus-perf/media/initlogo.bmp:system/media/initlogo.bmp ./octopus_perf.mk: device/softwinner/octopus-perf/initlogo.rle:root/initlogo.rle \ ./octopus_perf.mk: device/softwinner/octopus-perf/media/boot.wav:system/media/boot.wav \ ./octopus_perf.mk: device/softwinner/octopus-perf/media/bootlogo.bmp:system/media/bootlogo.bmp \ ./octopus_perf.mk: device/softwinner/octopus-perf/media/bootanimation.zip:system/media/bootanimation.zip ./octopus_perf.mk:$(call inherit-product-if-exists, device/softwinner/octopus-perf/modules/modules.mk) ./octopus_perf.mk:PRODUCT_NAME := octopus_perf ./octopus_perf.mk:PRODUCT_DEVICE := octopus-perf ./octopus_perf.mk:PRODUCT_MODEL := UltraOcta A83 perf 将octopus_perf.mk另存为:octopus_cb5801.mk,直接用cb5801搜索替换perf即可。 ./configs/media_profiles.xml: not perform any checks at all. 不用修改 ./vendorsetup.sh:add_lunch_combo octopus_perf-eng ./vendorsetup.sh:add_lunch_combo octopus_perf-user 直接用cb5801搜索替换perf即可。 ./bluetooth/bdroid_buildcfg.h:#define BTM_DEF_LOCAL_NAME "octopus-perf" 直接用cb5801搜索替换perf即可。 删除其他lunch: wenyuanbo@cm-System-Product-Name:/home/wwt/lunch_cb5801_r58/android/device/softwinner/octopus-cb5801$ cd .. wenyuanbo@cm-System-Product-Name:/home/wwt/lunch_cb5801_r58/android/device/softwinner$ wenyuanbo@cm-System-Product-Name:/home/wwt/lunch_cb5801_r58/android/device/softwinner$ ll 总用量 48 drwxrwxr-x 12 wenyuanbo wenyuanbo 4096 9月 6 18:31 ./ drwxrwxr-x 10 wenyuanbo wenyuanbo 4096 8月 22 12:32 ../ drwxrwxr-x 7 wenyuanbo wenyuanbo 4096 8月 22 12:32 astar-common/ drwxrwxr-x 9 wenyuanbo wenyuanbo 4096 8月 22 12:32 astar-y3/ drwxrwxr-x 8 wenyuanbo wenyuanbo 4096 8月 22 12:32 common/ drwxrwxr-x 9 wenyuanbo wenyuanbo 4096 8月 22 12:32 kylin-common/ drwxrwxr-x 10 wenyuanbo wenyuanbo 4096 8月 22 12:32 kylin-p1/ drwxrwxr-x 9 wenyuanbo wenyuanbo 4096 9月 6 18:48 octopus-cb5801/ drwxrwxr-x 12 wenyuanbo wenyuanbo 4096 8月 22 12:32 octopus-common/ drwxrwxr-x 11 wenyuanbo wenyuanbo 4096 8月 22 12:32 octopus-f1/ drwxrwxr-x 11 wenyuanbo wenyuanbo 4096 8月 22 12:32 octopus-n1/ drwxrwxr-x 10 wenyuanbo wenyuanbo 4096 8月 22 12:32 octopus-perf/ wenyuanbo@cm-System-Product-Name:/home/wwt/lunch_cb5801_r58/android/device/softwinner$ wenyuanbo@cm-System-Product-Name:/home/wwt/lunch_cb5801_r58/android/device/softwinner$ rm octopus-f1/ -rf wenyuanbo@cm-System-Product-Name:/home/wwt/lunch_cb5801_r58/android/device/softwinner$ rm octopus-n1/ -rf wenyuanbo@cm-System-Product-Name:/home/wwt/lunch_cb5801_r58/android/device/softwinner$ rm octopus-perf/ -rf wenyuanbo@cm-System-Product-Name:/home/wwt/lunch_cb5801_r58/android/device/softwinner$ wenyuanbo@cm-System-Product-Name:/home/wwt/lunch_cb5801_r58/android/device/softwinner$ ll 总用量 36 drwxrwxr-x 9 wenyuanbo wenyuanbo 4096 9月 6 18:50 ./ drwxrwxr-x 10 wenyuanbo wenyuanbo 4096 8月 22 12:32 ../ drwxrwxr-x 7 wenyuanbo wenyuanbo 4096 8月 22 12:32 astar-common/ drwxrwxr-x 9 wenyuanbo wenyuanbo 4096 8月 22 12:32 astar-y3/ drwxrwxr-x 8 wenyuanbo wenyuanbo 4096 8月 22 12:32 common/ drwxrwxr-x 9 wenyuanbo wenyuanbo 4096 8月 22 12:32 kylin-common/ drwxrwxr-x 10 wenyuanbo wenyuanbo 4096 8月 22 12:32 kylin-p1/ drwxrwxr-x 9 wenyuanbo wenyuanbo 4096 9月 6 18:48 octopus-cb5801/ drwxrwxr-x 12 wenyuanbo wenyuanbo 4096 8月 22 12:32 octopus-common/ wenyuanbo@cm-System-Product-Name:/home/wwt/lunch_cb5801_r58/android/device/softwinner$ wenyuanbo@cm-System-Product-Name:/home/wwt/lunch_cb5801_r58/android/device/softwinner$ wenyuanbo@cm-System-Product-Name:/home/wwt/lunch_cb5801_r58/android/device/softwinner$ wenyuanbo@cm-System-Product-Name:/home/wwt/lunch_cb5801_r58/android/device/softwinner$ ll 总用量 36 drwxrwxr-x 9 wenyuanbo wenyuanbo 4096 9月 6 18:50 ./ drwxrwxr-x 10 wenyuanbo wenyuanbo 4096 8月 22 12:32 ../ drwxrwxr-x 7 wenyuanbo wenyuanbo 4096 8月 22 12:32 astar-common/ drwxrwxr-x 9 wenyuanbo wenyuanbo 4096 8月 22 12:32 astar-y3/ drwxrwxr-x 8 wenyuanbo wenyuanbo 4096 8月 22 12:32 common/ drwxrwxr-x 9 wenyuanbo wenyuanbo 4096 8月 22 12:32 kylin-common/ drwxrwxr-x 10 wenyuanbo wenyuanbo 4096 8月 22 12:32 kylin-p1/ drwxrwxr-x 9 wenyuanbo wenyuanbo 4096 9月 6 18:48 octopus-cb5801/ drwxrwxr-x 12 wenyuanbo wenyuanbo 4096 8月 22 12:32 octopus-common/ wenyuanbo@cm-System-Product-Name:/home/wwt/lunch_cb5801_r58/android/device/softwinner$ wenyuanbo@cm-System-Product-Name:/home/wwt/lunch_cb5801_r58/android/device/softwinner$ cd ../../.. wenyuanbo@cm-System-Product-Name:/home/wwt/lunch_cb5801_r58$ ll 总用量 16 drwxrwxr-x 4 wenyuanbo wenyuanbo 4096 8月 22 14:35 ./ drwxrwxrwx 9 root root 4096 9月 6 18:00 ../ drwxrwxr-x 26 wenyuanbo wenyuanbo 4096 8月 22 12:35 android/ drwxrwxr-x 7 wenyuanbo wenyuanbo 4096 8月 22 14:13 lichee/ wenyuanbo@cm-System-Product-Name:/home/wwt/lunch_cb5801_r58$ cd lichee/ wenyuanbo@cm-System-Product-Name:/home/wwt/lunch_cb5801_r58/lichee$ wenyuanbo@cm-System-Product-Name:/home/wwt/lunch_cb5801_r58/lichee$ ./build.sh config Welcome to mkscript setup progress All available chips: 0. sun50iw1p1 1. sun8iw1p1 2. sun8iw3p1 3. sun8iw5p1 4. sun8iw6p1 5. sun8iw7p1 6. sun8iw8p1 7. sun8iw9p1 8. sun9iw1p1 Choice: 4 All available platforms: 0. android 1. dragonboard 2. linux 3. camdroid Choice: 0 All available kernel: 0. linux-3.4 Choice: 0 All available boards: 0. f1 1. fpga 2. n1 3. perf1_v1_0 4. perf2_v1_0 5. perf3_v1_0 6. qc Choice: 5 wenyuanbo@cm-System-Product-Name:/home/wwt/lunch_cb5801_r58/lichee$ ./build.sh wenyuanbo@cm-System-Product-Name:/home/wwt/lunch_cb5801_r58/lichee$ wenyuanbo@cm-System-Product-Name:/home/wwt/lunch_cb5801_r58/lichee$ cd ../android/ wenyuanbo@cm-System-Product-Name:/home/wwt/lunch_cb5801_r58/android$ wenyuanbo@cm-System-Product-Name:/home/wwt/lunch_cb5801_r58/android$ wenyuanbo@cm-System-Product-Name:/home/wwt/lunch_cb5801_r58/android$ source build/envsetup.sh including device/softwinner/kylin-p1/vendorsetup.sh including device/softwinner/common/vendorsetup.sh including device/softwinner/astar-y3/vendorsetup.sh including device/softwinner/octopus-cb5801/vendorsetup.sh including device/lge/mako/vendorsetup.sh including device/lge/hammerhead/vendorsetup.sh including device/samsung/manta/vendorsetup.sh including device/generic/x86/vendorsetup.sh including device/generic/mips/vendorsetup.sh including device/generic/armv7-a-neon/vendorsetup.sh including device/asus/tilapia/vendorsetup.sh including device/asus/deb/vendorsetup.sh including device/asus/grouper/vendorsetup.sh including device/asus/flo/vendorsetup.sh including sdk/bash_completion/adb.bash wenyuanbo@cm-System-Product-Name:/home/wwt/lunch_cb5801_r58/android$ lunch You're building on Linux Lunch menu... pick a combo: 1. aosp_arm-eng 2. aosp_x86-eng 3. aosp_mips-eng 4. vbox_x86-eng 5. kylin_p1-eng 6. kylin_p1-user 7. astar_y3-eng 8. astar_y3-user 9. octopus_cb5801-eng 10. octopus_cb5801-user 11. aosp_mako-userdebug 12. aosp_hammerhead-userdebug 13. aosp_manta-userdebug 14. mini_x86-userdebug 15. mini_mips-userdebug 16. mini_armv7a_neon-userdebug 17. aosp_tilapia-userdebug 18. aosp_deb-userdebug 19. aosp_grouper-userdebug 20. aosp_flo-userdebug Which would you like? [aosp_arm-eng] 9 ============================================ PLATFORM_VERSION_CODENAME=REL PLATFORM_VERSION=4.4.4 TARGET_PRODUCT=octopus_cb5801 TARGET_BUILD_VARIANT=eng TARGET_BUILD_TYPE=release TARGET_BUILD_APPS= TARGET_ARCH=arm TARGET_ARCH_VARIANT=armv7-a-neon TARGET_CPU_VARIANT=cortex-a7 HOST_ARCH=x86 HOST_OS=linux HOST_OS_EXTRA=Linux-3.13.0-24-generic-x86_64-with-Ubuntu-14.04-trusty HOST_BUILD_TYPE=release BUILD_ID=KTU84Q OUT_DIR=out ============================================ wenyuanbo@cm-System-Product-Name:/home/wwt/lunch_cb5801_r58/android$ extract-bsp /home/wwt/lunch_cb5801_r58/android/device/softwinner/octopus-cb5801/bImage copied! /home/wwt/lunch_cb5801_r58/android/device/softwinner/octopus-cb5801/modules copied! wenyuanbo@cm-System-Product-Name:/home/wwt/lunch_cb5801_r58/android$ make -j12 wenyuanbo@cm-System-Product-Name:/home/wwt/lunch_cb5801_r58/android$ pack copying tools file copying configs file ./out/aultls32.fex ./out/aultools.fex ./out/cardscript.fex ./out/cardtool.fex ./out/diskfs.fex ./out/env_burn.cfg ./out/env.cfg ./out/image.cfg ./out/image_linux.cfg ./out/split_xxxx.fex ./out/sys_config.fex ./out/sys_partition_dragonboard.fex ./out/sys_partition_dump.fex ./out/sys_partition.fex ./out/sys_partition_linux.fex ./out/sys_partition_private.fex ./out/test_config.fex ./out/toc0.fex ./out/toc1.fex ./out/usbtool.fex ./out/usbtool_test.fex copying boot resource copying boot file packing for android normal /home/wwt/lunch_cb5801_r58/lichee/tools/pack/pctools/linux/eDragonEx/ /home/wwt/lunch_cb5801_r58/lichee/tools/pack/out Begin Parse sys_partion.fex Add partion boot-resource.fex BOOT-RESOURCE_FEX Add partion very boot-resource.fex BOOT-RESOURCE_FEX FilePath: boot-resource.fex FileLength=4fbc00Add partion env.fex ENV_FEX000000000 Add partion very env.fex ENV_FEX000000000 FilePath: env.fex FileLength=20000Add partion boot.fex BOOT_FEX00000000 Add partion very boot.fex BOOT_FEX00000000 FilePath: boot.fex FileLength=afe000Add partion system.fex SYSTEM_FEX000000 Add partion very system.fex SYSTEM_FEX000000 FilePath: system.fex FileLength=24f6eb58Add partion recovery.fex RECOVERY_FEX0000 Add partion very recovery.fex RECOVERY_FEX0000 FilePath: recovery.fex FileLength=d5b800sys_config.fex Len: 0x110ae config.fex Len: 0xcc38 split_xxxx.fex Len: 0x200 sys_partition.fex Len: 0xe45 boot0_nand.fex Len: 0x8000 boot0_sdcard.fex Len: 0x8000 u-boot.fex Len: 0xd4000 toc1.fex Len: 0x8 toc0.fex Len: 0x8 fes1.fex Len: 0x3080 usbtool.fex Len: 0x23000 aultools.fex Len: 0x26ead aultls32.fex Len: 0x238dd cardtool.fex Len: 0x14000 cardscript.fex Len: 0x6ea sunxi_mbr.fex Len: 0x10000 dlinfo.fex Len: 0x4000 arisc.fex Len: 0x367a9 boot-resource.fex Len: 0x4fbc00 Vboot-resource.fex Len: 0x4 env.fex Len: 0x20000 Venv.fex Len: 0x4 boot.fex Len: 0xafe000 Vboot.fex Len: 0x4 system.fex Len: 0x24f6eb58 Vsystem.fex Len: 0x4 recovery.fex Len: 0xd5b800 Vrecovery.fex Len: 0x4 BuildImg 0 Dragon execute image.cfg SUCCESS ! ----------image is at---------- /home/wwt/lunch_cb5801_r58/lichee/tools/pack/sun8iw6p1_android_perf3_v1_0_uart0.img pack finish wenyuanbo@cm-System-Product-Name:/home/wwt/lunch_cb5801_r58/android$ 刷机之后,可以看见cb5801了。 shell@octopus-cb5801:/ $ wenyuanbo@cm-System-Product-Name:/home/wwt/lunch_cb5801_r58/android$ cd ../lichee/linux-3.4/tools/ wenyuanbo@cm-System-Product-Name:/home/wwt/lunch_cb5801_r58/lichee/linux-3.4/tools$ ll 总用量 52 drwxrwxr-x 13 wenyuanbo wenyuanbo 4096 8月 22 14:13 ./ drwxrwxr-x 28 wenyuanbo wenyuanbo 4096 9月 6 18:55 ../ drwxrwxr-x 2 wenyuanbo wenyuanbo 4096 8月 22 14:13 firewire/ drwxrwxr-x 2 wenyuanbo wenyuanbo 4096 8月 22 14:13 hv/ drwxrwxr-x 3 wenyuanbo wenyuanbo 4096 8月 22 14:13 include/ drwxrwxr-x 2 wenyuanbo wenyuanbo 4096 8月 22 14:13 lguest/ drwxrwxr-x 2 wenyuanbo wenyuanbo 4096 8月 22 14:13 nfsd/ drwxrwxr-x 9 wenyuanbo wenyuanbo 4096 8月 22 14:13 perf/ drwxrwxr-x 4 wenyuanbo wenyuanbo 4096 8月 22 14:13 power/ drwxrwxr-x 4 wenyuanbo wenyuanbo 4096 8月 22 14:13 testing/ drwxrwxr-x 2 wenyuanbo wenyuanbo 4096 8月 22 14:13 usb/ drwxrwxr-x 4 wenyuanbo wenyuanbo 4096 8月 22 14:13 virtio/ drwxrwxr-x 2 wenyuanbo wenyuanbo 4096 8月 22 14:13 vm/ wenyuanbo@cm-System-Product-Name:/home/wwt/lunch_cb5801_r58/lichee/linux-3.4/tools$ cd ../ wenyuanbo@cm-System-Product-Name:/home/wwt/lunch_cb5801_r58/lichee/linux-3.4$ cd .. wenyuanbo@cm-System-Product-Name:/home/wwt/lunch_cb5801_r58/lichee$ ll 总用量 44 drwxrwxr-x 8 wenyuanbo wenyuanbo 4096 9月 6 18:51 ./ drwxrwxr-x 4 wenyuanbo wenyuanbo 4096 8月 22 14:35 ../ drwxrwxr-x 11 wenyuanbo wenyuanbo 4096 8月 22 14:13 brandy/ -rw-rw-r-- 1 wenyuanbo wenyuanbo 124 9月 6 18:51 .buildconfig drwxrwxr-x 15 wenyuanbo wenyuanbo 4096 8月 22 14:13 buildroot/ -r-xr-xr-x 1 wenyuanbo wenyuanbo 55 8月 22 14:13 build.sh* drwxrwxr-x 28 wenyuanbo wenyuanbo 4096 9月 6 18:55 linux-3.4/ drwxrwxr-x 3 wenyuanbo wenyuanbo 4096 9月 6 18:51 out/ -r--r--r-- 1 wenyuanbo wenyuanbo 232 8月 22 14:13 README drwxrwxr-x 6 wenyuanbo wenyuanbo 4096 8月 22 14:13 .repo/ drwxrwxr-x 9 wenyuanbo wenyuanbo 4096 8月 22 14:13 tools/ wenyuanbo@cm-System-Product-Name:/home/wwt/lunch_cb5801_r58/lichee$ cd tools/pack/ wenyuanbo@cm-System-Product-Name:/home/wwt/lunch_cb5801_r58/lichee/tools/pack$ ll 总用量 637756 drwxrwxr-x 6 wenyuanbo wenyuanbo 4096 9月 7 08:55 ./ drwxrwxr-x 9 wenyuanbo wenyuanbo 4096 8月 22 14:13 ../ drwxrwxr-x 11 wenyuanbo wenyuanbo 4096 8月 22 14:13 chips/ drwxrwxr-x 7 wenyuanbo wenyuanbo 4096 8月 22 14:13 common/ -rwxrwxr-x 1 wenyuanbo wenyuanbo 1323 8月 22 14:13 createkeys* -rwxrwxr-x 1 wenyuanbo wenyuanbo 11 8月 22 14:13 .gitignore* drwxrwxr-x 3 wenyuanbo wenyuanbo 4096 9月 7 08:55 out/ -rwxrwxr-x 1 wenyuanbo wenyuanbo 15707 8月 22 14:13 pack* -rwxrwxr-x 1 wenyuanbo wenyuanbo 1087 8月 22 14:13 parser.sh* drwxrwxr-x 4 wenyuanbo wenyuanbo 4096 8月 22 14:13 pctools/ -rwxrwxr-x 1 wenyuanbo wenyuanbo 653002752 9月 7 08:55 sun8iw6p1_android_perf3_v1_0_uart0.img* wenyuanbo@cm-System-Product-Name:/home/wwt/lunch_cb5801_r58/lichee/tools/pack$ wenyuanbo@cm-System-Product-Name:/home/wwt/lunch_cb5801_r58/lichee/tools/pack$ wenyuanbo@cm-System-Product-Name:/home/wwt/lunch_cb5801_r58/lichee/tools/pack$ cd chips/sun8iw6p1/ wenyuanbo@cm-System-Product-Name:/home/wwt/lunch_cb5801_r58/lichee/tools/pack/chips/sun8iw6p1$ ll 总用量 24 drwxrwxr-x 6 wenyuanbo wenyuanbo 4096 8月 22 14:13 ./ drwxrwxr-x 11 wenyuanbo wenyuanbo 4096 8月 22 14:13 ../ drwxrwxr-x 2 wenyuanbo wenyuanbo 4096 8月 22 14:13 bin/ drwxrwxr-x 3 wenyuanbo wenyuanbo 4096 8月 22 14:13 boot-resource/ drwxrwxr-x 10 wenyuanbo wenyuanbo 4096 8月 22 14:13 configs/ drwxrwxr-x 2 wenyuanbo wenyuanbo 4096 8月 22 14:13 tools/ wenyuanbo@cm-System-Product-Name:/home/wwt/lunch_cb5801_r58/lichee/tools/pack/chips/sun8iw6p1$ cd configs/ wenyuanbo@cm-System-Product-Name:/home/wwt/lunch_cb5801_r58/lichee/tools/pack/chips/sun8iw6p1/configs$ ll 总用量 40 drwxrwxr-x 10 wenyuanbo wenyuanbo 4096 8月 22 14:13 ./ drwxrwxr-x 6 wenyuanbo wenyuanbo 4096 8月 22 14:13 ../ drwxrwxr-x 2 wenyuanbo wenyuanbo 4096 8月 22 14:13 default/ drwxrwxr-x 2 wenyuanbo wenyuanbo 4096 8月 22 14:13 f1/ drwxrwxr-x 2 wenyuanbo wenyuanbo 4096 8月 22 14:13 fpga/ drwxrwxr-x 2 wenyuanbo wenyuanbo 4096 8月 22 14:13 n1/ drwxrwxr-x 2 wenyuanbo wenyuanbo 4096 8月 22 14:13 perf1_v1_0/ drwxrwxr-x 2 wenyuanbo wenyuanbo 4096 8月 22 14:13 perf2_v1_0/ drwxrwxr-x 2 wenyuanbo wenyuanbo 4096 8月 22 14:13 perf3_v1_0/ drwxrwxr-x 2 wenyuanbo wenyuanbo 4096 8月 22 14:13 qc/ wenyuanbo@cm-System-Product-Name:/home/wwt/lunch_cb5801_r58/lichee/tools/pack/chips/sun8iw6p1/configs$ wenyuanbo@cm-System-Product-Name:/home/wwt/lunch_cb5801_r58/lichee/tools/pack/chips/sun8iw6p1/configs$ wenyuanbo@cm-System-Product-Name:/home/wwt/lunch_cb5801_r58/lichee/tools/pack/chips/sun8iw6p1/configs$ cp perf3_v1_0/ cb5801/ -rf wenyuanbo@cm-System-Product-Name:/home/wwt/lunch_cb5801_r58/lichee/tools/pack/chips/sun8iw6p1/configs$ ll 总用量 44 drwxrwxr-x 11 wenyuanbo wenyuanbo 4096 9月 7 09:06 ./ drwxrwxr-x 6 wenyuanbo wenyuanbo 4096 8月 22 14:13 ../ drwxrwxr-x 2 wenyuanbo wenyuanbo 4096 9月 7 09:06 cb5801/ drwxrwxr-x 2 wenyuanbo wenyuanbo 4096 8月 22 14:13 default/ drwxrwxr-x 2 wenyuanbo wenyuanbo 4096 8月 22 14:13 f1/ drwxrwxr-x 2 wenyuanbo wenyuanbo 4096 8月 22 14:13 fpga/ drwxrwxr-x 2 wenyuanbo wenyuanbo 4096 8月 22 14:13 n1/ drwxrwxr-x 2 wenyuanbo wenyuanbo 4096 8月 22 14:13 perf1_v1_0/ drwxrwxr-x 2 wenyuanbo wenyuanbo 4096 8月 22 14:13 perf2_v1_0/ drwxrwxr-x 2 wenyuanbo wenyuanbo 4096 8月 22 14:13 perf3_v1_0/ drwxrwxr-x 2 wenyuanbo wenyuanbo 4096 8月 22 14:13 qc/ wenyuanbo@cm-System-Product-Name:/home/wwt/lunch_cb5801_r58/lichee/tools/pack/chips/sun8iw6p1/configs$ wenyuanbo@cm-System-Product-Name:/home/wwt/lunch_cb5801_r58/lichee/tools/pack/chips/sun8iw6p1/configs$ wenyuanbo@cm-System-Product-Name:/home/wwt/lunch_cb5801_r58/lichee/tools/pack/chips/sun8iw6p1/configs$ rm perf1_v1_0/ -rf wenyuanbo@cm-System-Product-Name:/home/wwt/lunch_cb5801_r58/lichee/tools/pack/chips/sun8iw6p1/configs$ rm perf2_v1_0/ -rf wenyuanbo@cm-System-Product-Name:/home/wwt/lunch_cb5801_r58/lichee/tools/pack/chips/sun8iw6p1/configs$ rm perf3_v1_0/ -rf wenyuanbo@cm-System-Product-Name:/home/wwt/lunch_cb5801_r58/lichee/tools/pack/chips/sun8iw6p1/configs$ ll 总用量 32 drwxrwxr-x 8 wenyuanbo wenyuanbo 4096 9月 7 09:06 ./ drwxrwxr-x 6 wenyuanbo wenyuanbo 4096 8月 22 14:13 ../ drwxrwxr-x 2 wenyuanbo wenyuanbo 4096 9月 7 09:06 cb5801/ drwxrwxr-x 2 wenyuanbo wenyuanbo 4096 8月 22 14:13 default/ drwxrwxr-x 2 wenyuanbo wenyuanbo 4096 8月 22 14:13 f1/ drwxrwxr-x 2 wenyuanbo wenyuanbo 4096 8月 22 14:13 fpga/ drwxrwxr-x 2 wenyuanbo wenyuanbo 4096 8月 22 14:13 n1/ drwxrwxr-x 2 wenyuanbo wenyuanbo 4096 8月 22 14:13 qc/ wenyuanbo@cm-System-Product-Name:/home/wwt/lunch_cb5801_r58/lichee/tools/pack/chips/sun8iw6p1/configs$ wenyuanbo@cm-System-Product-Name:/home/wwt/lunch_cb5801_r58/lichee/tools/pack/chips/sun8iw6p1/configs$ wenyuanbo@cm-System-Product-Name:/home/wwt/lunch_cb5801_r58/lichee/tools/pack/chips/sun8iw6p1/configs$ rm f1/ -rf wenyuanbo@cm-System-Product-Name:/home/wwt/lunch_cb5801_r58/lichee/tools/pack/chips/sun8iw6p1/configs$ rm fpga/ -rf wenyuanbo@cm-System-Product-Name:/home/wwt/lunch_cb5801_r58/lichee/tools/pack/chips/sun8iw6p1/configs$ rm n1/ -rf wenyuanbo@cm-System-Product-Name:/home/wwt/lunch_cb5801_r58/lichee/tools/pack/chips/sun8iw6p1/configs$ rm qc/ -rf wenyuanbo@cm-System-Product-Name:/home/wwt/lunch_cb5801_r58/lichee/tools/pack/chips/sun8iw6p1/configs$ ll 总用量 16 drwxrwxr-x 4 wenyuanbo wenyuanbo 4096 9月 7 09:06 ./ drwxrwxr-x 6 wenyuanbo wenyuanbo 4096 8月 22 14:13 ../ drwxrwxr-x 2 wenyuanbo wenyuanbo 4096 9月 7 09:06 cb5801/ drwxrwxr-x 2 wenyuanbo wenyuanbo 4096 8月 22 14:13 default/ wenyuanbo@cm-System-Product-Name:/home/wwt/lunch_cb5801_r58/lichee/tools/pack/chips/sun8iw6p1/configs$ wenyuanbo@cm-System-Product-Name:/home/wwt/lunch_cb5801_r58/lichee/tools/pack/chips/sun8iw6p1/configs$ Z:\home\wwt\lunch_cb5801_r58\lichee\tools\pack\chips\sun8iw6p1\configs\cb5801 打包之后出错: wenyuanbo@cm-System-Product-Name:/home/wwt/lunch_cb5801_r58/lichee/tools/pack/chips/sun8iw6p1/configs$ cd ../../../../../ wenyuanbo@cm-System-Product-Name:/home/wwt/lunch_cb5801_r58/lichee$ cd ../android/ wenyuanbo@cm-System-Product-Name:/home/wwt/lunch_cb5801_r58/android$ wenyuanbo@cm-System-Product-Name:/home/wwt/lunch_cb5801_r58/android$ wenyuanbo@cm-System-Product-Name:/home/wwt/lunch_cb5801_r58/android$ pack ERROR: board dir or path do not exist. All avaiable chips, platforms and boards: Chip Board sun8iw6p1 cb5801 default sun8iw9p1 default evb qc fpga sun8iw8p1 ipc v3s-perf v3-perf default CDR fpga sun8iw5p1 y3 y2 default h7 evb qc fpga yh sun8iw7p1 perf dolphin default fpga sun50iw1p1 default fpga sun8iw1p1 aw_w02 default evb qc aw_w01 sun8iw3p1 default w01 evb w02 sun9iw1p1 optimus p1 perf g200 wt097 mb976a9 default perf-lpddr3 p2 perf5 For Usage: pack -h wenyuanbo@cm-System-Product-Name:/home/wwt/lunch_cb5801_r58/android$ ;A83 PAD application ;--------------------------------------------------------------------------------------------------------- ; 说明: 脚本中的字符串区分大小写,用户可以修改"="后面的数值,但是不要修改前面的字符串 ; 描述gpio的形式:Port:端口+组内序号<功能分配><内部电阻状态><驱动能力><输出电平状态> ;--------------------------------------------------------------------------------------------------------- [product] version = "100" machine = "cb5801" Z:\home\wwt\lunch_cb5801_r58\android\device\softwinner\octopus-cb5801\package.sh #!/bin/bash cd $PACKAGE chip=sun8iw6p1 platform=android board=perf3_v1_0 这里没有修改。 修改之后正常了: wenyuanbo@cm-System-Product-Name:/home/wwt/lunch_cb5801_r58/android$ pack copying tools file copying configs file ./out/aultls32.fex ./out/aultools.fex ./out/cardscript.fex ./out/cardtool.fex ./out/diskfs.fex ./out/env_burn.cfg ./out/env.cfg ./out/image.cfg ./out/image_linux.cfg ./out/split_xxxx.fex ./out/sys_config.fex ./out/sys_partition_dragonboard.fex ./out/sys_partition_dump.fex ./out/sys_partition.fex ./out/sys_partition_linux.fex ./out/sys_partition_private.fex ./out/test_config.fex ./out/toc0.fex ./out/toc1.fex ./out/usbtool.fex ./out/usbtool_test.fex copying boot resource copying boot file packing for android normal /home/wwt/lunch_cb5801_r58/lichee/tools/pack/pctools/linux/eDragonEx/ /home/wwt/lunch_cb5801_r58/lichee/tools/pack/out Begin Parse sys_partion.fex Add partion boot-resource.fex BOOT-RESOURCE_FEX Add partion very boot-resource.fex BOOT-RESOURCE_FEX FilePath: boot-resource.fex FileLength=4fbc00Add partion env.fex ENV_FEX000000000 Add partion very env.fex ENV_FEX000000000 FilePath: env.fex FileLength=20000Add partion boot.fex BOOT_FEX00000000 Add partion very boot.fex BOOT_FEX00000000 FilePath: boot.fex FileLength=afe000Add partion system.fex SYSTEM_FEX000000 Add partion very system.fex SYSTEM_FEX000000 FilePath: system.fex FileLength=24f6eb58Add partion recovery.fex RECOVERY_FEX0000 Add partion very recovery.fex RECOVERY_FEX0000 FilePath: recovery.fex FileLength=d5b800sys_config.fex Len: 0x110aa config.fex Len: 0xcc34 split_xxxx.fex Len: 0x200 sys_partition.fex Len: 0xe45 boot0_nand.fex Len: 0x8000 boot0_sdcard.fex Len: 0x8000 u-boot.fex Len: 0xd4000 toc1.fex Len: 0x8 toc0.fex Len: 0x8 fes1.fex Len: 0x3080 usbtool.fex Len: 0x23000 aultools.fex Len: 0x26ead aultls32.fex Len: 0x238dd cardtool.fex Len: 0x14000 cardscript.fex Len: 0x6ea sunxi_mbr.fex Len: 0x10000 dlinfo.fex Len: 0x4000 arisc.fex Len: 0x367a9 boot-resource.fex Len: 0x4fbc00 Vboot-resource.fex Len: 0x4 env.fex Len: 0x20000 Venv.fex Len: 0x4 boot.fex Len: 0xafe000 Vboot.fex Len: 0x4 system.fex Len: 0x24f6eb58 Vsystem.fex Len: 0x4 recovery.fex Len: 0xd5b800 Vrecovery.fex Len: 0x4 BuildImg 0 Dragon execute image.cfg SUCCESS ! ----------image is at---------- /home/wwt/lunch_cb5801_r58/lichee/tools/pack/sun8iw6p1_android_cb5801_uart0.img pack finish wenyuanbo@cm-System-Product-Name:/home/wwt/lunch_cb5801_r58/android$

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值