编译cubieboard android 源码过程详解之(四):extract-bsp

时间:2021-12-01 15:22:35

extract-bsp这条命令在其它平台不一定有,在cubieboard平台中功能是将和bsp输出文件复制到编译安卓源码的输出目录。

extract-bsp

 1 function extract-bsp()
 2 {
 3     LICHEE_DIR=$ANDROID_BUILD_TOP/../lichee
 4     LINUXOUT_DIR=$LICHEE_DIR/out/android
 5     LINUXOUT_MODULE_DIR=$LICHEE_DIR/out/android/lib/modules/*/*
 6     CURDIR=$PWD
 7 
 8     cd $DEVICE #进入 device 输出目录,对于 cubieboard 来说就是 “android/device/softwinner/apollo-cubieboard”
 9 
10     #extract kernel
11     if [ -f kernel ]; then
12         rm kernel
13     fi
14     cp $LINUXOUT_DIR/bImage kernel
15     echo "$DEVICE/bImage copied!"
16 
17     #extract linux modules
18     if [ -d modules ]; then
19         rm -rf modules
20     fi
21     mkdir -p modules/modules
22     cp -rf $LINUXOUT_MODULE_DIR modules/modules
23     echo "$DEVICE/modules copied!"
24     chmod 0755 modules/modules/*

以上代码就是将bsp相关的文件复制到 “android/device/softwinner/apollo-cubieboard” 目录。

extract-bsp

 1 # create modules.mk
 2 (cat << EOF) > ./modules/modules.mk 
 3 # modules.mk generate by extract-files.sh , do not edit it !!!!
 4 PRODUCT_COPY_FILES += \\
 5     \$(call find-copy-subdir-files,*,\$(LOCAL_PATH)/modules,system/vendor/modules)
 6 
 7 EOF
 8 
 9     cd $CURDIR
10 }

将一段内容写入 “modules/modules.mk” 文件,其中 cat << EOF ... EOF 用法在bash中叫做“here docement”,有感兴趣的可以去看看bash的帮助文件。