• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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