15f9996aaSopenharmony_ci# Copyright (c) 2021 Huawei Device Co., Ltd. 25f9996aaSopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License"); 35f9996aaSopenharmony_ci# you may not use this file except in compliance with the License. 45f9996aaSopenharmony_ci# You may obtain a copy of the License at 55f9996aaSopenharmony_ci# 65f9996aaSopenharmony_ci# http://www.apache.org/licenses/LICENSE-2.0 75f9996aaSopenharmony_ci# 85f9996aaSopenharmony_ci# Unless required by applicable law or agreed to in writing, software 95f9996aaSopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS, 105f9996aaSopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 115f9996aaSopenharmony_ci# See the License for the specific language governing permissions and 125f9996aaSopenharmony_ci# limitations under the License. 135f9996aaSopenharmony_ci 145f9996aaSopenharmony_ciimport("//build/config/python.gni") 155f9996aaSopenharmony_ciimport("//build/ohos.gni") 165f9996aaSopenharmony_ciimport("//build/ohos/build_var.gni") 175f9996aaSopenharmony_ci 185f9996aaSopenharmony_ci# import target_platform_list 195f9996aaSopenharmony_ciimport("${build_configs_path}/platforms_list.gni") 205f9996aaSopenharmony_cigroup("make_images") { 215f9996aaSopenharmony_ci deps = [] 225f9996aaSopenharmony_ci if (is_standard_system) { 235f9996aaSopenharmony_ci deps = [ 245f9996aaSopenharmony_ci "//third_party/e2fsprogs:e2fsprogs_host_toolchain", 255f9996aaSopenharmony_ci "//third_party/f2fs-tools:f2fs-tools_host_toolchain", 265f9996aaSopenharmony_ci ] 275f9996aaSopenharmony_ci foreach(_platform, target_platform_list) { 285f9996aaSopenharmony_ci deps += [ 295f9996aaSopenharmony_ci ":${_platform}_eng_chipset_image", 305f9996aaSopenharmony_ci ":${_platform}_eng_system_image", 315f9996aaSopenharmony_ci ":${_platform}_sys_prod_image", 325f9996aaSopenharmony_ci ":${_platform}_system_image", 335f9996aaSopenharmony_ci ":${_platform}_updater_ramdisk_image", 345f9996aaSopenharmony_ci ":${_platform}_userdata_image", 355f9996aaSopenharmony_ci ":${_platform}_vendor_image", 365f9996aaSopenharmony_ci ] 375f9996aaSopenharmony_ci if (enable_ramdisk) { 385f9996aaSopenharmony_ci deps += [ ":${_platform}_ramdisk_image" ] 395f9996aaSopenharmony_ci } 405f9996aaSopenharmony_ci } 415f9996aaSopenharmony_ci deps += [ ":chip_prod_image" ] 425f9996aaSopenharmony_ci if (is_standard_system && device_name == "rk3568") { 435f9996aaSopenharmony_ci deps += [ ":mk_chip_ckm_img" ] 445f9996aaSopenharmony_ci } 455f9996aaSopenharmony_ci } else { 465f9996aaSopenharmony_ci deps += [ "//build/ohos/packages:packer" ] 475f9996aaSopenharmony_ci } 485f9996aaSopenharmony_ci} 495f9996aaSopenharmony_ci 505f9996aaSopenharmony_cigroup("eng_system_image") { 515f9996aaSopenharmony_ci deps = [] 525f9996aaSopenharmony_ci if (is_standard_system) { 535f9996aaSopenharmony_ci deps += [ 545f9996aaSopenharmony_ci "//third_party/e2fsprogs:e2fsprogs_host_toolchain", 555f9996aaSopenharmony_ci "//third_party/f2fs-tools:f2fs-tools_host_toolchain", 565f9996aaSopenharmony_ci ] 575f9996aaSopenharmony_ci } 585f9996aaSopenharmony_ci foreach(_platform, target_platform_list) { 595f9996aaSopenharmony_ci deps += [ ":${_platform}_eng_system_image" ] 605f9996aaSopenharmony_ci } 615f9996aaSopenharmony_ci} 625f9996aaSopenharmony_ci 635f9996aaSopenharmony_cigroup("eng_chipset_image") { 645f9996aaSopenharmony_ci deps = [] 655f9996aaSopenharmony_ci if (is_standard_system) { 665f9996aaSopenharmony_ci deps += [ 675f9996aaSopenharmony_ci "//third_party/e2fsprogs:e2fsprogs_host_toolchain", 685f9996aaSopenharmony_ci "//third_party/f2fs-tools:f2fs-tools_host_toolchain", 695f9996aaSopenharmony_ci ] 705f9996aaSopenharmony_ci } 715f9996aaSopenharmony_ci foreach(_platform, target_platform_list) { 725f9996aaSopenharmony_ci deps += [ ":${_platform}_eng_chipset_image" ] 735f9996aaSopenharmony_ci } 745f9996aaSopenharmony_ci} 755f9996aaSopenharmony_ci 765f9996aaSopenharmony_cigroup("chip_prod_image") { 775f9996aaSopenharmony_ci deps = [] 785f9996aaSopenharmony_ci if (is_standard_system) { 795f9996aaSopenharmony_ci deps += [ 805f9996aaSopenharmony_ci "//third_party/e2fsprogs:e2fsprogs_host_toolchain", 815f9996aaSopenharmony_ci "//third_party/f2fs-tools:f2fs-tools_host_toolchain", 825f9996aaSopenharmony_ci ] 835f9996aaSopenharmony_ci } 845f9996aaSopenharmony_ci foreach(_platform, target_platform_list) { 855f9996aaSopenharmony_ci if (chip_product_list == []) { 865f9996aaSopenharmony_ci deps += [ ":${_platform}_chip_prod_image" ] 875f9996aaSopenharmony_ci } else { 885f9996aaSopenharmony_ci foreach(_product, chip_product_list) { 895f9996aaSopenharmony_ci deps += [ ":${_platform}_${_product}_chip_prod_image" ] 905f9996aaSopenharmony_ci } 915f9996aaSopenharmony_ci } 925f9996aaSopenharmony_ci } 935f9996aaSopenharmony_ci} 945f9996aaSopenharmony_ci 955f9996aaSopenharmony_cigroup("sys_prod_image") { 965f9996aaSopenharmony_ci deps = [] 975f9996aaSopenharmony_ci if (is_standard_system) { 985f9996aaSopenharmony_ci deps += [ 995f9996aaSopenharmony_ci "//third_party/e2fsprogs:e2fsprogs_host_toolchain", 1005f9996aaSopenharmony_ci "//third_party/f2fs-tools:f2fs-tools_host_toolchain", 1015f9996aaSopenharmony_ci ] 1025f9996aaSopenharmony_ci } 1035f9996aaSopenharmony_ci foreach(_platform, target_platform_list) { 1045f9996aaSopenharmony_ci deps += [ ":${_platform}_sys_prod_image" ] 1055f9996aaSopenharmony_ci } 1065f9996aaSopenharmony_ci} 1075f9996aaSopenharmony_ci 1085f9996aaSopenharmony_cigroup("system_image") { 1095f9996aaSopenharmony_ci deps = [] 1105f9996aaSopenharmony_ci if (is_standard_system) { 1115f9996aaSopenharmony_ci deps += [ 1125f9996aaSopenharmony_ci "//third_party/e2fsprogs:e2fsprogs_host_toolchain", 1135f9996aaSopenharmony_ci "//third_party/f2fs-tools:f2fs-tools_host_toolchain", 1145f9996aaSopenharmony_ci ] 1155f9996aaSopenharmony_ci } 1165f9996aaSopenharmony_ci foreach(_platform, target_platform_list) { 1175f9996aaSopenharmony_ci deps += [ ":${_platform}_system_image" ] 1185f9996aaSopenharmony_ci } 1195f9996aaSopenharmony_ci} 1205f9996aaSopenharmony_ci 1215f9996aaSopenharmony_cigroup("userdata_image") { 1225f9996aaSopenharmony_ci deps = [] 1235f9996aaSopenharmony_ci if (is_standard_system) { 1245f9996aaSopenharmony_ci deps += [ 1255f9996aaSopenharmony_ci "//third_party/e2fsprogs:e2fsprogs_host_toolchain", 1265f9996aaSopenharmony_ci "//third_party/f2fs-tools:f2fs-tools_host_toolchain", 1275f9996aaSopenharmony_ci ] 1285f9996aaSopenharmony_ci } 1295f9996aaSopenharmony_ci foreach(_platform, target_platform_list) { 1305f9996aaSopenharmony_ci deps += [ ":${_platform}_userdata_image" ] 1315f9996aaSopenharmony_ci } 1325f9996aaSopenharmony_ci} 1335f9996aaSopenharmony_ci 1345f9996aaSopenharmony_cigroup("vendor_image") { 1355f9996aaSopenharmony_ci deps = [] 1365f9996aaSopenharmony_ci if (is_standard_system) { 1375f9996aaSopenharmony_ci deps += [ 1385f9996aaSopenharmony_ci "//third_party/e2fsprogs:e2fsprogs_host_toolchain", 1395f9996aaSopenharmony_ci "//third_party/f2fs-tools:f2fs-tools_host_toolchain", 1405f9996aaSopenharmony_ci ] 1415f9996aaSopenharmony_ci } 1425f9996aaSopenharmony_ci foreach(_platform, target_platform_list) { 1435f9996aaSopenharmony_ci deps += [ ":${_platform}_vendor_image" ] 1445f9996aaSopenharmony_ci } 1455f9996aaSopenharmony_ci} 1465f9996aaSopenharmony_ci 1475f9996aaSopenharmony_cigroup("ramdisk_image") { 1485f9996aaSopenharmony_ci deps = [] 1495f9996aaSopenharmony_ci if (is_standard_system) { 1505f9996aaSopenharmony_ci deps += [ 1515f9996aaSopenharmony_ci "//third_party/e2fsprogs:e2fsprogs_host_toolchain", 1525f9996aaSopenharmony_ci "//third_party/f2fs-tools:f2fs-tools_host_toolchain", 1535f9996aaSopenharmony_ci ] 1545f9996aaSopenharmony_ci } 1555f9996aaSopenharmony_ci foreach(_platform, target_platform_list) { 1565f9996aaSopenharmony_ci if (enable_ramdisk) { 1575f9996aaSopenharmony_ci deps += [ ":${_platform}_ramdisk_image" ] 1585f9996aaSopenharmony_ci } 1595f9996aaSopenharmony_ci } 1605f9996aaSopenharmony_ci} 1615f9996aaSopenharmony_ci 1625f9996aaSopenharmony_cigroup("updater_ramdisk_image") { 1635f9996aaSopenharmony_ci deps = [] 1645f9996aaSopenharmony_ci if (is_standard_system) { 1655f9996aaSopenharmony_ci deps += [ 1665f9996aaSopenharmony_ci "//third_party/e2fsprogs:e2fsprogs_host_toolchain", 1675f9996aaSopenharmony_ci "//third_party/f2fs-tools:f2fs-tools_host_toolchain", 1685f9996aaSopenharmony_ci ] 1695f9996aaSopenharmony_ci } 1705f9996aaSopenharmony_ci foreach(_platform, target_platform_list) { 1715f9996aaSopenharmony_ci deps += [ ":${_platform}_updater_ramdisk_image" ] 1725f9996aaSopenharmony_ci } 1735f9996aaSopenharmony_ci} 1745f9996aaSopenharmony_ci 1755f9996aaSopenharmony_cigroup("updater_image") { 1765f9996aaSopenharmony_ci deps = [] 1775f9996aaSopenharmony_ci if (is_standard_system) { 1785f9996aaSopenharmony_ci deps += [ 1795f9996aaSopenharmony_ci "//third_party/e2fsprogs:e2fsprogs_host_toolchain", 1805f9996aaSopenharmony_ci "//third_party/f2fs-tools:f2fs-tools_host_toolchain", 1815f9996aaSopenharmony_ci ] 1825f9996aaSopenharmony_ci } 1835f9996aaSopenharmony_ci foreach(_platform, target_platform_list) { 1845f9996aaSopenharmony_ci deps += [ ":${_platform}_updater_ramdisk_image" ] 1855f9996aaSopenharmony_ci } 1865f9996aaSopenharmony_ci} 1875f9996aaSopenharmony_ci 1885f9996aaSopenharmony_cibuild_image_tools_path = [ 1895f9996aaSopenharmony_ci "//out/${device_name}/clang_x64/thirdparty/e2fsprogs", 1905f9996aaSopenharmony_ci "//out/${device_name}/clang_x64/thirdparty/f2fs-tools", 1915f9996aaSopenharmony_ci "//third_party/e2fsprogs/prebuilt/host/bin", 1925f9996aaSopenharmony_ci "//build/ohos/images/mkimage", 1935f9996aaSopenharmony_ci] 1945f9996aaSopenharmony_ci 1955f9996aaSopenharmony_cibase_dir = "//build/ohos/images/mkimage" 1965f9996aaSopenharmony_ci 1975f9996aaSopenharmony_ciforeach(_platform, target_platform_list) { 1985f9996aaSopenharmony_ci current_platform = _platform 1995f9996aaSopenharmony_ci current_platform_dir = "${product_output_dir}/$current_platform" 2005f9996aaSopenharmony_ci 2015f9996aaSopenharmony_ci system_module_info_list = "${current_platform_dir}/system_module_info.json" 2025f9996aaSopenharmony_ci system_modules_list = "${current_platform_dir}/system_modules_list.txt" 2035f9996aaSopenharmony_ci 2045f9996aaSopenharmony_ci image_list = [ 2055f9996aaSopenharmony_ci "system", 2065f9996aaSopenharmony_ci "vendor", 2075f9996aaSopenharmony_ci "userdata", 2085f9996aaSopenharmony_ci "sys_prod", 2095f9996aaSopenharmony_ci "chip_prod", 2105f9996aaSopenharmony_ci "updater_ramdisk", 2115f9996aaSopenharmony_ci "eng_system", 2125f9996aaSopenharmony_ci "eng_chipset", 2135f9996aaSopenharmony_ci ] 2145f9996aaSopenharmony_ci if (enable_ramdisk) { 2155f9996aaSopenharmony_ci image_list += [ "ramdisk" ] 2165f9996aaSopenharmony_ci } 2175f9996aaSopenharmony_ci if (enable_adlt) { 2185f9996aaSopenharmony_ci action("execute_adlt") { 2195f9996aaSopenharmony_ci if (target_cpu == "arm64" || target_cpu == "x86_64") { 2205f9996aaSopenharmony_ci module_type = "lib64" 2215f9996aaSopenharmony_ci } else if (target_cpu == "arm" || target_cpu == "x86") { 2225f9996aaSopenharmony_ci module_type = "lib" 2235f9996aaSopenharmony_ci } else { 2245f9996aaSopenharmony_ci assert(false, "Unsupported target_cpu: $target_cpu") 2255f9996aaSopenharmony_ci } 2265f9996aaSopenharmony_ci script = "//build/ohos/images/adlt_wrapper.py" 2275f9996aaSopenharmony_ci args = [ 2285f9996aaSopenharmony_ci "--allowed-lib-list", 2295f9996aaSopenharmony_ci rebase_path(allowed_lib_list), 2305f9996aaSopenharmony_ci "--output-file", 2315f9996aaSopenharmony_ci rebase_path( 2325f9996aaSopenharmony_ci "${current_platform_dir}/system/${module_type}/${adlt_lib_name}"), 2335f9996aaSopenharmony_ci "--adlt-exe", 2345f9996aaSopenharmony_ci rebase_path(adlt_exe), 2355f9996aaSopenharmony_ci "--adlt-root-dir", 2365f9996aaSopenharmony_ci rebase_path("${current_platform_dir}"), 2375f9996aaSopenharmony_ci ] 2385f9996aaSopenharmony_ci deps = [ "//build/ohos/packages:${_platform}_install_modules" ] 2395f9996aaSopenharmony_ci inputs = [ 2405f9996aaSopenharmony_ci allowed_lib_list, 2415f9996aaSopenharmony_ci adlt_exe, 2425f9996aaSopenharmony_ci ] 2435f9996aaSopenharmony_ci outputs = 2445f9996aaSopenharmony_ci [ "${current_platform_dir}/system/${module_type}/${adlt_lib_name}" ] 2455f9996aaSopenharmony_ci } 2465f9996aaSopenharmony_ci } 2475f9996aaSopenharmony_ci 2485f9996aaSopenharmony_ci foreach(_image_name, image_list) { 2495f9996aaSopenharmony_ci action_with_pydeps("${_platform}_${_image_name}_image") { 2505f9996aaSopenharmony_ci script = "//build/ohos/images/build_image.py" 2515f9996aaSopenharmony_ci depfile = "$target_gen_dir/$target_name.d" 2525f9996aaSopenharmony_ci deps = [ "//build/ohos/packages:${_platform}_install_modules" ] 2535f9996aaSopenharmony_ci if (enable_adlt && _image_name == "system") { 2545f9996aaSopenharmony_ci deps += [ ":execute_adlt" ] 2555f9996aaSopenharmony_ci } 2565f9996aaSopenharmony_ci if (!asan_detector) { 2575f9996aaSopenharmony_ci deps += [ "//build/ohos/packages:process_field_validate" ] 2585f9996aaSopenharmony_ci if (build_seccomp) { 2595f9996aaSopenharmony_ci deps += [ "//build/ohos/packages:check_seccomp_filter_name" ] 2605f9996aaSopenharmony_ci } 2615f9996aaSopenharmony_ci } 2625f9996aaSopenharmony_ci 2635f9996aaSopenharmony_ci base_path = base_dir 2645f9996aaSopenharmony_ci if (is_debug) { 2655f9996aaSopenharmony_ci base_path = "${base_dir}/debug" 2665f9996aaSopenharmony_ci } 2675f9996aaSopenharmony_ci image_config_file = "${base_path}/${_image_name}_image_conf.txt" 2685f9996aaSopenharmony_ci if (asan_detector) { 2695f9996aaSopenharmony_ci image_config_file_asan = 2705f9996aaSopenharmony_ci "${base_path}/asan/${_image_name}_image_conf.txt" 2715f9996aaSopenharmony_ci 2725f9996aaSopenharmony_ci # Check if asan image file exists 2735f9996aaSopenharmony_ci _file_exists_script = "//build/ohos/file_exists.py" 2745f9996aaSopenharmony_ci _process_args = [ 2755f9996aaSopenharmony_ci "--filename", 2765f9996aaSopenharmony_ci rebase_path(image_config_file_asan, root_build_dir), 2775f9996aaSopenharmony_ci ] 2785f9996aaSopenharmony_ci _result = exec_script(_file_exists_script, _process_args, "string") 2795f9996aaSopenharmony_ci if (_result == "True") { 2805f9996aaSopenharmony_ci image_config_file = image_config_file_asan 2815f9996aaSopenharmony_ci } 2825f9996aaSopenharmony_ci } 2835f9996aaSopenharmony_ci device_image_config_file = 2845f9996aaSopenharmony_ci "${product_output_dir}/imagesconf/${_image_name}_image_conf.txt" 2855f9996aaSopenharmony_ci if (_image_name == "ramdisk" || _image_name == "updater_ramdisk") { 2865f9996aaSopenharmony_ci output_image_file = "$root_build_dir/${_image_name}.img" 2875f9996aaSopenharmony_ci } else { 2885f9996aaSopenharmony_ci output_image_file = "$current_platform_dir/images/${_image_name}.img" 2895f9996aaSopenharmony_ci } 2905f9996aaSopenharmony_ci if (_image_name == "updater_ramdisk") { 2915f9996aaSopenharmony_ci image_input_path = "$current_platform_dir/updater" 2925f9996aaSopenharmony_ci } else { 2935f9996aaSopenharmony_ci image_input_path = "$current_platform_dir/${_image_name}" 2945f9996aaSopenharmony_ci } 2955f9996aaSopenharmony_ci if (_image_name == "userdata") { 2965f9996aaSopenharmony_ci image_input_path = "$current_platform_dir/data" 2975f9996aaSopenharmony_ci } 2985f9996aaSopenharmony_ci 2995f9996aaSopenharmony_ci sources = [ 3005f9996aaSopenharmony_ci image_config_file, 3015f9996aaSopenharmony_ci system_module_info_list, 3025f9996aaSopenharmony_ci system_modules_list, 3035f9996aaSopenharmony_ci ] 3045f9996aaSopenharmony_ci outputs = [ output_image_file ] 3055f9996aaSopenharmony_ci args = [ 3065f9996aaSopenharmony_ci "--depfile", 3075f9996aaSopenharmony_ci rebase_path(depfile, root_build_dir), 3085f9996aaSopenharmony_ci "--image-name", 3095f9996aaSopenharmony_ci _image_name, 3105f9996aaSopenharmony_ci "--input-path", 3115f9996aaSopenharmony_ci rebase_path(image_input_path, root_build_dir), 3125f9996aaSopenharmony_ci "--image-config-file", 3135f9996aaSopenharmony_ci rebase_path(image_config_file, root_build_dir), 3145f9996aaSopenharmony_ci "--device-image-config-file", 3155f9996aaSopenharmony_ci rebase_path(device_image_config_file, root_build_dir), 3165f9996aaSopenharmony_ci "--output-image", 3175f9996aaSopenharmony_ci rebase_path(output_image_file, root_build_dir), 3185f9996aaSopenharmony_ci "--target-cpu", 3195f9996aaSopenharmony_ci target_cpu, 3205f9996aaSopenharmony_ci "--build-variant", 3215f9996aaSopenharmony_ci build_variant, 3225f9996aaSopenharmony_ci "--build-image-tools-path", 3235f9996aaSopenharmony_ci ] 3245f9996aaSopenharmony_ci args += rebase_path(build_image_tools_path, root_build_dir) 3255f9996aaSopenharmony_ci if (sparse_image) { 3265f9996aaSopenharmony_ci args += [ "--sparse-image" ] 3275f9996aaSopenharmony_ci } 3285f9996aaSopenharmony_ci } 3295f9996aaSopenharmony_ci } 3305f9996aaSopenharmony_ci 3315f9996aaSopenharmony_ci # Used to generate chip_prod images of different products 3325f9996aaSopenharmony_ci foreach(_product, chip_product_list) { 3335f9996aaSopenharmony_ci _image_name = "chip_prod" 3345f9996aaSopenharmony_ci action_with_pydeps("${_platform}_${_product}_chip_prod_image") { 3355f9996aaSopenharmony_ci script = "//build/ohos/images/build_image.py" 3365f9996aaSopenharmony_ci depfile = "$target_gen_dir/$target_name.d" 3375f9996aaSopenharmony_ci deps = [ "//build/ohos/packages:${_platform}_install_modules" ] 3385f9996aaSopenharmony_ci 3395f9996aaSopenharmony_ci image_config_file = "${base_dir}/${_image_name}_image_conf.txt" 3405f9996aaSopenharmony_ci device_image_config_file = 3415f9996aaSopenharmony_ci "${product_output_dir}/imagesconf/${_image_name}_image_conf.txt" 3425f9996aaSopenharmony_ci image_input_path = "${current_platform_dir}/${_image_name}/${_product}" 3435f9996aaSopenharmony_ci output_image_file = 3445f9996aaSopenharmony_ci "${current_platform_dir}/images/${_product}/${_image_name}.img" 3455f9996aaSopenharmony_ci 3465f9996aaSopenharmony_ci sources = [ 3475f9996aaSopenharmony_ci image_config_file, 3485f9996aaSopenharmony_ci system_module_info_list, 3495f9996aaSopenharmony_ci system_modules_list, 3505f9996aaSopenharmony_ci ] 3515f9996aaSopenharmony_ci outputs = [ output_image_file ] 3525f9996aaSopenharmony_ci 3535f9996aaSopenharmony_ci args = [ 3545f9996aaSopenharmony_ci "--depfile", 3555f9996aaSopenharmony_ci rebase_path(depfile, root_build_dir), 3565f9996aaSopenharmony_ci "--image-name", 3575f9996aaSopenharmony_ci _image_name, 3585f9996aaSopenharmony_ci "--input-path", 3595f9996aaSopenharmony_ci rebase_path(image_input_path, root_build_dir), 3605f9996aaSopenharmony_ci "--image-config-file", 3615f9996aaSopenharmony_ci rebase_path(image_config_file, root_build_dir), 3625f9996aaSopenharmony_ci "--device-image-config-file", 3635f9996aaSopenharmony_ci rebase_path(device_image_config_file, root_build_dir), 3645f9996aaSopenharmony_ci "--output-image", 3655f9996aaSopenharmony_ci rebase_path(output_image_file, root_build_dir), 3665f9996aaSopenharmony_ci "--target-cpu", 3675f9996aaSopenharmony_ci target_cpu, 3685f9996aaSopenharmony_ci "--build-image-tools-path", 3695f9996aaSopenharmony_ci ] 3705f9996aaSopenharmony_ci args += rebase_path(build_image_tools_path, root_build_dir) 3715f9996aaSopenharmony_ci if (sparse_image) { 3725f9996aaSopenharmony_ci args += [ "--sparse-image" ] 3735f9996aaSopenharmony_ci } 3745f9996aaSopenharmony_ci } 3755f9996aaSopenharmony_ci } 3765f9996aaSopenharmony_ci 3775f9996aaSopenharmony_ci action("mk_chip_ckm_img") { 3785f9996aaSopenharmony_ci script = "//build/ohos/images/mkimage/mkchip_ckm.py" 3795f9996aaSopenharmony_ci device_name = "packages/phone/images/chip_ckm.img" 3805f9996aaSopenharmony_ci build_image_tool_path = [ 3815f9996aaSopenharmony_ci "$root_build_dir/clang_x64/thirdparty/f2fs-tools", 3825f9996aaSopenharmony_ci "$root_build_dir/clang_x64/thirdparty/e2fsprogs", 3835f9996aaSopenharmony_ci "//third_party/e2fsprogs/prebuilt/host/bin", 3845f9996aaSopenharmony_ci ] 3855f9996aaSopenharmony_ci config_file_path = "//build/ohos/images/mkimage/chip_ckm.txt" 3865f9996aaSopenharmony_ci mkextimage_tools_path = "//build/ohos/images/mkimage/mkextimage.py" 3875f9996aaSopenharmony_ci 3885f9996aaSopenharmony_ci src_dir = "packages/phone/chip_ckm" 3895f9996aaSopenharmony_ci args = [ 3905f9996aaSopenharmony_ci "--src-dir", 3915f9996aaSopenharmony_ci src_dir, 3925f9996aaSopenharmony_ci "--device-name", 3935f9996aaSopenharmony_ci device_name, 3945f9996aaSopenharmony_ci "--config-file-path", 3955f9996aaSopenharmony_ci rebase_path(config_file_path, root_build_dir), 3965f9996aaSopenharmony_ci "--mkextimage-tools-path", 3975f9996aaSopenharmony_ci rebase_path(mkextimage_tools_path, root_build_dir), 3985f9996aaSopenharmony_ci "--build-image-tools-path", 3995f9996aaSopenharmony_ci ] 4005f9996aaSopenharmony_ci args += rebase_path(build_image_tool_path, root_build_dir) 4015f9996aaSopenharmony_ci if (is_standard_system) { 4025f9996aaSopenharmony_ci deps = [ 4035f9996aaSopenharmony_ci "//base/security/selinux_adapter:build_contexts", 4045f9996aaSopenharmony_ci "//kernel/linux/common_modules:ko_build", 4055f9996aaSopenharmony_ci "//third_party/e2fsprogs:e2fsprogs_host_toolchain", 4065f9996aaSopenharmony_ci "//third_party/f2fs-tools:f2fs-tools_host_toolchain", 4075f9996aaSopenharmony_ci ] 4085f9996aaSopenharmony_ci } 4095f9996aaSopenharmony_ci outputs = [ "$root_out_dir/packages/phone/images/chip_ckm.img" ] 4105f9996aaSopenharmony_ci } 4115f9996aaSopenharmony_ci} 412