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. 13import("//base/startup/init/begetd.gni") 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("//build/config/components/init/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 if (init_extra_static_modules != "") { 108 install_enable = false 109 } 110 part_name = "init" 111 subsystem_name = "startup" 112 } 113 114 ohos_prebuilt_etc("group") { 115 source = "//base/startup/init/services/etc/group" 116 install_images = [ 117 "system", 118 "updater", 119 ] 120 if (init_extra_static_modules != "") { 121 install_enable = false 122 } 123 part_name = "init" 124 subsystem_name = "startup" 125 } 126 127 ohos_prebuilt_etc("init.usb.cfg") { 128 source = "//base/startup/init/services/etc/init.usb.cfg" 129 part_name = "init" 130 subsystem_name = "startup" 131 } 132 133 ohos_prebuilt_para("ohos.para") { 134 source = "//base/startup/init/services/etc/param/ohos.para" 135 install_images = [ 136 "system", 137 "updater", 138 ] 139 part_name = "init" 140 subsystem_name = "startup" 141 extra_paras = [] 142 if (target_cpu == "arm64") { 143 extra_paras += [ "const.product.cpu.abilist=arm64-v8a" ] 144 } 145 if (target_cpu == "x86_64") { 146 extra_paras += [ "const.product.cpu.abilist=x86_64" ] 147 } 148 if (target_cpu == "riscv64") { 149 extra_paras += [ "const.product.cpu.abilist=riscv64" ] 150 } 151 if (build_variant == "user") { 152 extra_paras += [ 153 "const.secure=1", 154 "const.debuggable=0", 155 ] 156 } else if (build_variant == "root") { 157 extra_paras += [ 158 "const.secure=0", 159 "const.debuggable=1", 160 ] 161 } 162 if (device_type != "default") { 163 extra_paras += [ 164 "const.product.devicetype=${device_type}", 165 "const.build.characteristics=${device_type}", 166 ] 167 } 168 module_install_dir = "etc/param" 169 } 170 171 ohos_prebuilt_para("ohos.startup.para") { 172 source = "//base/startup/init/services/etc/param/ohos.startup.para" 173 install_images = [ 174 "system", 175 "updater", 176 ] 177 part_name = "init" 178 subsystem_name = "startup" 179 module_install_dir = "etc/param" 180 } 181 182 ohos_prebuilt_para("ohos.para.dac") { 183 source = "//base/startup/init/services/etc/param/ohos.para.dac" 184 install_images = [ 185 "system", 186 "updater", 187 ] 188 part_name = "init" 189 subsystem_name = "startup" 190 module_install_dir = "etc/param" 191 } 192 193 ohos_prebuilt_para("ohos_const.para") { 194 source = "//base/startup/init/services/etc/param/ohos_const/ohos.para" 195 part_name = "init" 196 subsystem_name = "startup" 197 module_install_dir = "etc/param/ohos_const" 198 } 199 200 ohos_prebuilt_para("ohos.para.size") { 201 source = "//base/startup/init/services/etc/param/ohos.para.size" 202 install_images = [ 203 "system", 204 "updater", 205 ] 206 part_name = "init" 207 subsystem_name = "startup" 208 module_install_dir = "etc/param" 209 } 210 211 ohos_prebuilt_etc("boot.group") { 212 source = "//base/startup/init/services/etc/device.boot.group.cfg" 213 part_name = "init" 214 subsystem_name = "startup" 215 } 216 217 ohos_prebuilt_etc("syscap.para") { 218 source = "${preloader_output_dir}/system/etc/param/syscap.para" 219 module_install_dir = "etc/param/" 220 part_name = "init" 221 subsystem_name = "startup" 222 } 223 224 ohos_prebuilt_etc("syscap.json") { 225 source = "${preloader_output_dir}/system/etc/syscap.json" 226 part_name = "init" 227 subsystem_name = "startup" 228 } 229 230 ohos_prebuilt_etc("systemcapability.json") { 231 source = "${preloader_output_dir}/system/etc/SystemCapability.json" 232 part_name = "init" 233 subsystem_name = "startup" 234 } 235 236 ohos_prebuilt_etc("features.json") { 237 source = "${preloader_output_dir}/features.json" 238 part_name = "init" 239 subsystem_name = "startup" 240 } 241 242 ohos_prebuilt_etc("init.reboot") { 243 source = "//base/startup/init/services/etc/init.reboot.cfg" 244 part_name = "init" 245 subsystem_name = "startup" 246 module_install_dir = "etc/init" 247 } 248 249 group("etc_files") { 250 deps = [ 251 ":boot.group", 252 ":console.cfg", 253 ":features.json", 254 ":group", 255 ":init.cfg", 256 ":init.reboot", 257 ":init.usb.cfg", 258 ":ohos.para", 259 ":ohos.para.dac", 260 ":ohos.para.size", 261 ":ohos.startup.para", 262 ":ohos_const.para", 263 ":passwd", 264 ":syscap.json", 265 ":syscap.para", 266 ":systemcapability.json", 267 ] 268 } 269} 270