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