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