1d9f0492fSopenharmony_ci# Copyright (c) 2020-2022 Huawei Device Co., Ltd. 2d9f0492fSopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License"); 3d9f0492fSopenharmony_ci# you may not use this file except in compliance with the License. 4d9f0492fSopenharmony_ci# You may obtain a copy of the License at 5d9f0492fSopenharmony_ci# 6d9f0492fSopenharmony_ci# http://www.apache.org/licenses/LICENSE-2.0 7d9f0492fSopenharmony_ci# 8d9f0492fSopenharmony_ci# Unless required by applicable law or agreed to in writing, software 9d9f0492fSopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS, 10d9f0492fSopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11d9f0492fSopenharmony_ci# See the License for the specific language governing permissions and 12d9f0492fSopenharmony_ci# limitations under the License. 13d9f0492fSopenharmony_ciimport("//base/startup/init/begetd.gni") 14d9f0492fSopenharmony_ciimport("//base/startup/init/services/etc/passwd_appender/passwd_appender.gni") 15d9f0492fSopenharmony_ci 16d9f0492fSopenharmony_ciif (defined(ohos_lite)) { 17d9f0492fSopenharmony_ci copy("ohos.para") { 18d9f0492fSopenharmony_ci sources = [ "//base/startup/init/services/etc/param/ohos.para" ] 19d9f0492fSopenharmony_ci outputs = [ "$root_out_dir/system/etc/param/ohos.para" ] 20d9f0492fSopenharmony_ci } 21d9f0492fSopenharmony_ci 22d9f0492fSopenharmony_ci copy("ohos.para.dac") { 23d9f0492fSopenharmony_ci sources = [ "//base/startup/init/services/etc/param/ohos.para.dac" ] 24d9f0492fSopenharmony_ci outputs = [ "$root_out_dir/system/etc/param/ohos.para.dac" ] 25d9f0492fSopenharmony_ci } 26d9f0492fSopenharmony_ci copy("ohos.const") { 27d9f0492fSopenharmony_ci sources = 28d9f0492fSopenharmony_ci [ "//base/startup/init/services/etc_lite/param/ohos_const/ohos.para" ] 29d9f0492fSopenharmony_ci outputs = [ "$root_out_dir/system/etc/param/ohos_const/ohos.para" ] 30d9f0492fSopenharmony_ci } 31d9f0492fSopenharmony_ci 32d9f0492fSopenharmony_ci copy("ohos.passwd") { 33d9f0492fSopenharmony_ci sources = [ "//base/startup/init/services/etc_lite/passwd" ] 34d9f0492fSopenharmony_ci outputs = [ "$root_out_dir/etc/passwd" ] 35d9f0492fSopenharmony_ci } 36d9f0492fSopenharmony_ci copy("ohos.group") { 37d9f0492fSopenharmony_ci sources = [ "//base/startup/init/services/etc_lite/group" ] 38d9f0492fSopenharmony_ci outputs = [ "$root_out_dir/etc/group" ] 39d9f0492fSopenharmony_ci } 40d9f0492fSopenharmony_ci 41d9f0492fSopenharmony_ci group("etc_files") { 42d9f0492fSopenharmony_ci deps = [ 43d9f0492fSopenharmony_ci ":ohos.const", 44d9f0492fSopenharmony_ci ":ohos.para", 45d9f0492fSopenharmony_ci ":ohos.para.dac", 46d9f0492fSopenharmony_ci ] 47d9f0492fSopenharmony_ci if (ohos_kernel_type == "linux") { 48d9f0492fSopenharmony_ci deps += [ 49d9f0492fSopenharmony_ci ":ohos.group", 50d9f0492fSopenharmony_ci ":ohos.passwd", 51d9f0492fSopenharmony_ci ] 52d9f0492fSopenharmony_ci } 53d9f0492fSopenharmony_ci } 54d9f0492fSopenharmony_ci} else { 55d9f0492fSopenharmony_ci import("//build/config/components/init/param/param_fixer.gni") 56d9f0492fSopenharmony_ci import("//build/ohos.gni") 57d9f0492fSopenharmony_ci 58d9f0492fSopenharmony_ci # init etc files group 59d9f0492fSopenharmony_ci ohos_prebuilt_etc("init.cfg") { 60d9f0492fSopenharmony_ci if (!enable_ramdisk) { 61d9f0492fSopenharmony_ci source = "//base/startup/init/services/etc/init.without_two_stages.cfg" 62d9f0492fSopenharmony_ci } else { 63d9f0492fSopenharmony_ci source = "//base/startup/init/services/etc/init.cfg" 64d9f0492fSopenharmony_ci } 65d9f0492fSopenharmony_ci output = "init.cfg" 66d9f0492fSopenharmony_ci part_name = "init" 67d9f0492fSopenharmony_ci subsystem_name = "startup" 68d9f0492fSopenharmony_ci } 69d9f0492fSopenharmony_ci 70d9f0492fSopenharmony_ci ohos_prebuilt_etc("watchdog.cfg") { 71d9f0492fSopenharmony_ci source = "//base/startup/init/services/etc/watchdog.cfg" 72d9f0492fSopenharmony_ci relative_install_dir = "init" 73d9f0492fSopenharmony_ci part_name = "init" 74d9f0492fSopenharmony_ci subsystem_name = "startup" 75d9f0492fSopenharmony_ci } 76d9f0492fSopenharmony_ci 77d9f0492fSopenharmony_ci ohos_prebuilt_etc("console.cfg") { 78d9f0492fSopenharmony_ci image_name = [ "system" ] 79d9f0492fSopenharmony_ci if (build_variant == "user") { 80d9f0492fSopenharmony_ci source = "//base/startup/init/services/etc/console.user.cfg" 81d9f0492fSopenharmony_ci image_name += [ "eng_system" ] 82d9f0492fSopenharmony_ci } else if (build_variant == "root") { 83d9f0492fSopenharmony_ci source = "//base/startup/init/services/etc/console.cfg" 84d9f0492fSopenharmony_ci } 85d9f0492fSopenharmony_ci install_images = image_name 86d9f0492fSopenharmony_ci output = "console.cfg" 87d9f0492fSopenharmony_ci relative_install_dir = "init" 88d9f0492fSopenharmony_ci part_name = "init" 89d9f0492fSopenharmony_ci subsystem_name = "startup" 90d9f0492fSopenharmony_ci } 91d9f0492fSopenharmony_ci 92d9f0492fSopenharmony_ci ohos_prebuilt_etc("ueventd.cfg") { 93d9f0492fSopenharmony_ci source = "//base/startup/init/services/etc/ueventd.cfg" 94d9f0492fSopenharmony_ci relative_install_dir = "init" 95d9f0492fSopenharmony_ci part_name = "init" 96d9f0492fSopenharmony_ci subsystem_name = "startup" 97d9f0492fSopenharmony_ci } 98d9f0492fSopenharmony_ci 99d9f0492fSopenharmony_ci ohos_passwd_appender("passwd") { 100d9f0492fSopenharmony_ci sources = [ "//base/startup/init/services/etc/passwd" ] 101d9f0492fSopenharmony_ci ranges = [ "0-6999" ] 102d9f0492fSopenharmony_ci output = "//base/startup/init/services/etc/passwd" 103d9f0492fSopenharmony_ci install_images = [ 104d9f0492fSopenharmony_ci "system", 105d9f0492fSopenharmony_ci "updater", 106d9f0492fSopenharmony_ci ] 107d9f0492fSopenharmony_ci if (init_extra_static_modules != "") { 108d9f0492fSopenharmony_ci install_enable = false 109d9f0492fSopenharmony_ci } 110d9f0492fSopenharmony_ci part_name = "init" 111d9f0492fSopenharmony_ci subsystem_name = "startup" 112d9f0492fSopenharmony_ci } 113d9f0492fSopenharmony_ci 114d9f0492fSopenharmony_ci ohos_prebuilt_etc("group") { 115d9f0492fSopenharmony_ci source = "//base/startup/init/services/etc/group" 116d9f0492fSopenharmony_ci install_images = [ 117d9f0492fSopenharmony_ci "system", 118d9f0492fSopenharmony_ci "updater", 119d9f0492fSopenharmony_ci ] 120d9f0492fSopenharmony_ci if (init_extra_static_modules != "") { 121d9f0492fSopenharmony_ci install_enable = false 122d9f0492fSopenharmony_ci } 123d9f0492fSopenharmony_ci part_name = "init" 124d9f0492fSopenharmony_ci subsystem_name = "startup" 125d9f0492fSopenharmony_ci } 126d9f0492fSopenharmony_ci 127d9f0492fSopenharmony_ci ohos_prebuilt_etc("init.usb.cfg") { 128d9f0492fSopenharmony_ci source = "//base/startup/init/services/etc/init.usb.cfg" 129d9f0492fSopenharmony_ci part_name = "init" 130d9f0492fSopenharmony_ci subsystem_name = "startup" 131d9f0492fSopenharmony_ci } 132d9f0492fSopenharmony_ci 133d9f0492fSopenharmony_ci ohos_prebuilt_para("ohos.para") { 134d9f0492fSopenharmony_ci source = "//base/startup/init/services/etc/param/ohos.para" 135d9f0492fSopenharmony_ci install_images = [ 136d9f0492fSopenharmony_ci "system", 137d9f0492fSopenharmony_ci "updater", 138d9f0492fSopenharmony_ci ] 139d9f0492fSopenharmony_ci part_name = "init" 140d9f0492fSopenharmony_ci subsystem_name = "startup" 141d9f0492fSopenharmony_ci extra_paras = [] 142d9f0492fSopenharmony_ci if (target_cpu == "arm64") { 143d9f0492fSopenharmony_ci extra_paras += [ "const.product.cpu.abilist=arm64-v8a" ] 144d9f0492fSopenharmony_ci } 145d9f0492fSopenharmony_ci if (target_cpu == "x86_64") { 146d9f0492fSopenharmony_ci extra_paras += [ "const.product.cpu.abilist=x86_64" ] 147d9f0492fSopenharmony_ci } 148d9f0492fSopenharmony_ci if (target_cpu == "riscv64") { 149d9f0492fSopenharmony_ci extra_paras += [ "const.product.cpu.abilist=riscv64" ] 150d9f0492fSopenharmony_ci } 151d9f0492fSopenharmony_ci if (build_variant == "user") { 152d9f0492fSopenharmony_ci extra_paras += [ 153d9f0492fSopenharmony_ci "const.secure=1", 154d9f0492fSopenharmony_ci "const.debuggable=0", 155d9f0492fSopenharmony_ci ] 156d9f0492fSopenharmony_ci } else if (build_variant == "root") { 157d9f0492fSopenharmony_ci extra_paras += [ 158d9f0492fSopenharmony_ci "const.secure=0", 159d9f0492fSopenharmony_ci "const.debuggable=1", 160d9f0492fSopenharmony_ci ] 161d9f0492fSopenharmony_ci } 162d9f0492fSopenharmony_ci if (device_type != "default") { 163d9f0492fSopenharmony_ci extra_paras += [ 164d9f0492fSopenharmony_ci "const.product.devicetype=${device_type}", 165d9f0492fSopenharmony_ci "const.build.characteristics=${device_type}", 166d9f0492fSopenharmony_ci ] 167d9f0492fSopenharmony_ci } 168d9f0492fSopenharmony_ci module_install_dir = "etc/param" 169d9f0492fSopenharmony_ci } 170d9f0492fSopenharmony_ci 171d9f0492fSopenharmony_ci ohos_prebuilt_para("ohos.startup.para") { 172d9f0492fSopenharmony_ci source = "//base/startup/init/services/etc/param/ohos.startup.para" 173d9f0492fSopenharmony_ci install_images = [ 174d9f0492fSopenharmony_ci "system", 175d9f0492fSopenharmony_ci "updater", 176d9f0492fSopenharmony_ci ] 177d9f0492fSopenharmony_ci part_name = "init" 178d9f0492fSopenharmony_ci subsystem_name = "startup" 179d9f0492fSopenharmony_ci module_install_dir = "etc/param" 180d9f0492fSopenharmony_ci } 181d9f0492fSopenharmony_ci 182d9f0492fSopenharmony_ci ohos_prebuilt_para("ohos.para.dac") { 183d9f0492fSopenharmony_ci source = "//base/startup/init/services/etc/param/ohos.para.dac" 184d9f0492fSopenharmony_ci install_images = [ 185d9f0492fSopenharmony_ci "system", 186d9f0492fSopenharmony_ci "updater", 187d9f0492fSopenharmony_ci ] 188d9f0492fSopenharmony_ci part_name = "init" 189d9f0492fSopenharmony_ci subsystem_name = "startup" 190d9f0492fSopenharmony_ci module_install_dir = "etc/param" 191d9f0492fSopenharmony_ci } 192d9f0492fSopenharmony_ci 193d9f0492fSopenharmony_ci ohos_prebuilt_para("ohos_const.para") { 194d9f0492fSopenharmony_ci source = "//base/startup/init/services/etc/param/ohos_const/ohos.para" 195d9f0492fSopenharmony_ci part_name = "init" 196d9f0492fSopenharmony_ci subsystem_name = "startup" 197d9f0492fSopenharmony_ci module_install_dir = "etc/param/ohos_const" 198d9f0492fSopenharmony_ci } 199d9f0492fSopenharmony_ci 200d9f0492fSopenharmony_ci ohos_prebuilt_para("ohos.para.size") { 201d9f0492fSopenharmony_ci source = "//base/startup/init/services/etc/param/ohos.para.size" 202d9f0492fSopenharmony_ci install_images = [ 203d9f0492fSopenharmony_ci "system", 204d9f0492fSopenharmony_ci "updater", 205d9f0492fSopenharmony_ci ] 206d9f0492fSopenharmony_ci part_name = "init" 207d9f0492fSopenharmony_ci subsystem_name = "startup" 208d9f0492fSopenharmony_ci module_install_dir = "etc/param" 209d9f0492fSopenharmony_ci } 210d9f0492fSopenharmony_ci 211d9f0492fSopenharmony_ci ohos_prebuilt_etc("boot.group") { 212d9f0492fSopenharmony_ci source = "//base/startup/init/services/etc/device.boot.group.cfg" 213d9f0492fSopenharmony_ci part_name = "init" 214d9f0492fSopenharmony_ci subsystem_name = "startup" 215d9f0492fSopenharmony_ci } 216d9f0492fSopenharmony_ci 217d9f0492fSopenharmony_ci ohos_prebuilt_etc("syscap.para") { 218d9f0492fSopenharmony_ci source = "${preloader_output_dir}/system/etc/param/syscap.para" 219d9f0492fSopenharmony_ci module_install_dir = "etc/param/" 220d9f0492fSopenharmony_ci part_name = "init" 221d9f0492fSopenharmony_ci subsystem_name = "startup" 222d9f0492fSopenharmony_ci } 223d9f0492fSopenharmony_ci 224d9f0492fSopenharmony_ci ohos_prebuilt_etc("syscap.json") { 225d9f0492fSopenharmony_ci source = "${preloader_output_dir}/system/etc/syscap.json" 226d9f0492fSopenharmony_ci part_name = "init" 227d9f0492fSopenharmony_ci subsystem_name = "startup" 228d9f0492fSopenharmony_ci } 229d9f0492fSopenharmony_ci 230d9f0492fSopenharmony_ci ohos_prebuilt_etc("systemcapability.json") { 231d9f0492fSopenharmony_ci source = "${preloader_output_dir}/system/etc/SystemCapability.json" 232d9f0492fSopenharmony_ci part_name = "init" 233d9f0492fSopenharmony_ci subsystem_name = "startup" 234d9f0492fSopenharmony_ci } 235d9f0492fSopenharmony_ci 236d9f0492fSopenharmony_ci ohos_prebuilt_etc("features.json") { 237d9f0492fSopenharmony_ci source = "${preloader_output_dir}/features.json" 238d9f0492fSopenharmony_ci part_name = "init" 239d9f0492fSopenharmony_ci subsystem_name = "startup" 240d9f0492fSopenharmony_ci } 241d9f0492fSopenharmony_ci 242d9f0492fSopenharmony_ci ohos_prebuilt_etc("init.reboot") { 243d9f0492fSopenharmony_ci source = "//base/startup/init/services/etc/init.reboot.cfg" 244d9f0492fSopenharmony_ci part_name = "init" 245d9f0492fSopenharmony_ci subsystem_name = "startup" 246d9f0492fSopenharmony_ci module_install_dir = "etc/init" 247d9f0492fSopenharmony_ci } 248d9f0492fSopenharmony_ci 249d9f0492fSopenharmony_ci group("etc_files") { 250d9f0492fSopenharmony_ci deps = [ 251d9f0492fSopenharmony_ci ":boot.group", 252d9f0492fSopenharmony_ci ":console.cfg", 253d9f0492fSopenharmony_ci ":features.json", 254d9f0492fSopenharmony_ci ":group", 255d9f0492fSopenharmony_ci ":init.cfg", 256d9f0492fSopenharmony_ci ":init.reboot", 257d9f0492fSopenharmony_ci ":init.usb.cfg", 258d9f0492fSopenharmony_ci ":ohos.para", 259d9f0492fSopenharmony_ci ":ohos.para.dac", 260d9f0492fSopenharmony_ci ":ohos.para.size", 261d9f0492fSopenharmony_ci ":ohos.startup.para", 262d9f0492fSopenharmony_ci ":ohos_const.para", 263d9f0492fSopenharmony_ci ":passwd", 264d9f0492fSopenharmony_ci ":syscap.json", 265d9f0492fSopenharmony_ci ":syscap.para", 266d9f0492fSopenharmony_ci ":systemcapability.json", 267d9f0492fSopenharmony_ci ] 268d9f0492fSopenharmony_ci } 269d9f0492fSopenharmony_ci} 270