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