• 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("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