• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright (c) Huawei Technologies Co., Ltd. 2020-2022. All rights reserved.
2# Must do steps below manually after getting the sources code
3# from official website:
4# 1. make defconfig or make menuconfig
5#   ==> To generate .config file.
6# 2. NOBUILD=1 scripts/make.sh
7#   ==> To generate neccesary files like heades in generated
8# direcotory.
9
10# To add a toy:
11# 1. Edit .config to enable the toy you want to add.
12# 2. Edit toybox'sources below if neccesary.
13# e. Add th toy to the symlinks.
14if (defined(ohos_lite)) {
15  executable("toybox") {
16    # from middleware file build.sh
17    sources = [
18      "lib/args.c",
19      "lib/commas.c",
20      "lib/deflate.c",
21      "lib/dirtree.c",
22      "lib/env.c",
23      "lib/help.c",
24      "lib/lib.c",
25      "lib/linestack.c",
26      "lib/llist.c",
27      "lib/net.c",
28      "lib/password.c",
29      "lib/portability.c",
30      "lib/tty.c",
31      "lib/xwrap.c",
32      "main.c",
33      "toys/lsb/dmesg.c",
34      "toys/lsb/gzip.c",
35      "toys/lsb/hostname.c",
36      "toys/lsb/killall.c",
37      "toys/lsb/md5sum.c",
38      "toys/lsb/mknod.c",
39      "toys/lsb/mktemp.c",
40      "toys/lsb/mount.c",
41      "toys/lsb/passwd.c",
42      "toys/lsb/pidof.c",
43      "toys/lsb/seq.c",
44      "toys/lsb/su.c",
45      "toys/lsb/sync.c",
46      "toys/lsb/umount.c",
47      "toys/net/ftpget.c",
48      "toys/net/ifconfig.c",
49      "toys/net/microcom.c",
50      "toys/net/netcat.c",
51      "toys/net/netstat.c",
52      "toys/net/ping.c",
53      "toys/net/rfkill.c",
54      "toys/net/sntp.c",
55      "toys/net/tunctl.c",
56      "toys/other/acpi.c",
57      "toys/other/ascii.c",
58      "toys/other/base64.c",
59      "toys/other/blkid.c",
60      "toys/other/blockdev.c",
61      "toys/other/bzcat.c",
62      "toys/other/chroot.c",
63      "toys/other/chrt.c",
64      "toys/other/chvt.c",
65      "toys/other/clear.c",
66      "toys/other/count.c",
67      "toys/other/devmem.c",
68      "toys/other/dos2unix.c",
69      "toys/other/eject.c",
70      "toys/other/factor.c",
71      "toys/other/fallocate.c",
72      "toys/other/flock.c",
73      "toys/other/fmt.c",
74      "toys/other/free.c",
75      "toys/other/freeramdisk.c",
76      "toys/other/fsfreeze.c",
77      "toys/other/fsync.c",
78      "toys/other/help.c",
79      "toys/other/hexedit.c",
80      "toys/other/hwclock.c",
81      "toys/other/i2ctools.c",
82      "toys/other/inotifyd.c",
83      "toys/other/insmod.c",
84      "toys/other/ionice.c",
85      "toys/other/login.c",
86      "toys/other/losetup.c",
87      "toys/other/lsattr.c",
88      "toys/other/lsmod.c",
89      "toys/other/lspci.c",
90      "toys/other/lsusb.c",
91      "toys/other/makedevs.c",
92      "toys/other/mcookie.c",
93      "toys/other/mix.c",
94      "toys/other/mkpasswd.c",
95      "toys/other/mkswap.c",
96      "toys/other/modinfo.c",
97      "toys/other/mountpoint.c",
98      "toys/other/nbd_client.c",
99      "toys/other/nsenter.c",
100      "toys/other/oneit.c",
101      "toys/other/partprobe.c",
102      "toys/other/pivot_root.c",
103      "toys/other/pmap.c",
104      "toys/other/printenv.c",
105      "toys/other/pwdx.c",
106      "toys/other/readahead.c",
107      "toys/other/readlink.c",
108      "toys/other/realpath.c",
109      "toys/other/reboot.c",
110      "toys/other/reset.c",
111      "toys/other/rev.c",
112      "toys/other/rmmod.c",
113      "toys/other/setfattr.c",
114      "toys/other/setsid.c",
115      "toys/other/shred.c",
116      "toys/other/stat.c",
117      "toys/other/swapoff.c",
118      "toys/other/swapon.c",
119      "toys/other/switch_root.c",
120      "toys/other/sysctl.c",
121      "toys/other/tac.c",
122      "toys/other/taskset.c",
123      "toys/other/timeout.c",
124      "toys/other/truncate.c",
125      "toys/other/uptime.c",
126      "toys/other/usleep.c",
127      "toys/other/uuidgen.c",
128      "toys/other/vconfig.c",
129      "toys/other/vmstat.c",
130      "toys/other/w.c",
131      "toys/other/watch.c",
132      "toys/other/which.c",
133      "toys/other/xxd.c",
134      "toys/other/yes.c",
135      "toys/pending/bootchartd.c",
136      "toys/pending/dd.c",
137      "toys/pending/diff.c",
138      "toys/pending/getty.c",
139      "toys/pending/mdev.c",
140      "toys/pending/more.c",
141      "toys/pending/route.c",
142      "toys/pending/telnetd.c",
143      "toys/posix/basename.c",
144      "toys/posix/cal.c",
145      "toys/posix/cat.c",
146      "toys/posix/chgrp.c",
147      "toys/posix/chmod.c",
148      "toys/posix/cksum.c",
149      "toys/posix/cmp.c",
150      "toys/posix/comm.c",
151      "toys/posix/cp.c",
152      "toys/posix/cpio.c",
153      "toys/posix/cut.c",
154      "toys/posix/date.c",
155      "toys/posix/df.c",
156      "toys/posix/dirname.c",
157      "toys/posix/du.c",
158      "toys/posix/echo.c",
159      "toys/posix/env.c",
160      "toys/posix/expand.c",
161      "toys/posix/false.c",
162      "toys/posix/file.c",
163      "toys/posix/find.c",
164      "toys/posix/getconf.c",
165      "toys/posix/grep.c",
166      "toys/posix/head.c",
167      "toys/posix/iconv.c",
168      "toys/posix/id.c",
169      "toys/posix/kill.c",
170      "toys/posix/link.c",
171      "toys/posix/ln.c",
172      "toys/posix/logger.c",
173      "toys/posix/ls.c",
174      "toys/posix/mkdir.c",
175      "toys/posix/mkfifo.c",
176      "toys/posix/nice.c",
177      "toys/posix/nl.c",
178      "toys/posix/nohup.c",
179      "toys/posix/od.c",
180      "toys/posix/paste.c",
181      "toys/posix/patch.c",
182      "toys/posix/printf.c",
183      "toys/posix/ps.c",
184      "toys/posix/pwd.c",
185      "toys/posix/renice.c",
186      "toys/posix/rm.c",
187      "toys/posix/rmdir.c",
188      "toys/posix/sed.c",
189      "toys/posix/sleep.c",
190      "toys/posix/sort.c",
191      "toys/posix/split.c",
192      "toys/posix/strings.c",
193      "toys/posix/tail.c",
194      "toys/posix/tar.c",
195      "toys/posix/tee.c",
196      "toys/posix/test.c",
197      "toys/posix/time.c",
198      "toys/posix/touch.c",
199      "toys/posix/true.c",
200      "toys/posix/tty.c",
201      "toys/posix/ulimit.c",
202      "toys/posix/uname.c",
203      "toys/posix/uniq.c",
204      "toys/posix/unlink.c",
205      "toys/posix/uudecode.c",
206      "toys/posix/uuencode.c",
207      "toys/posix/wc.c",
208      "toys/posix/who.c",
209      "toys/posix/xargs.c",
210    ]
211
212    include_dirs = [ "./" ]
213
214    defines = [ "_DEFAULT_SOURCE" ]
215
216    configs -= [ "//build/lite/config:language_c" ]
217    cflags_c = [
218      "-std=gnu11",
219      "-Wall",
220      "-Wundef",
221      "-Wno-char-subscripts",
222      "-Wno-implicit-function-declaration",
223      "-Wno-unused-variable",
224      "-Wno-unused-value",
225      "-Wno-incompatible-pointer-types",
226      "-Wno-int-conversion",
227      "-Wno-sign-compare",
228      "-Wno-format",
229      "-Wno-unused-result",
230      "-Os",
231      "-ffunction-sections",
232      "-fdata-sections",
233      "-fno-asynchronous-unwind-tables",
234      "-fPIE",
235      "-funsigned-char",
236    ]
237
238    ldflags = [
239      "-pie",
240      "-Wl,-z,relro",
241      "-Wl,-z,now",
242      "-Wl,-z,noexecstack",
243      "-lm",
244      "-lcrypt",
245    ]
246  }
247
248  cmd_long_path = [
249    "bin/chmod",
250    "bin/chown",
251    "bin/chroot",
252    "bin/chrt",
253    "bin/chvt",
254    "bin/cksum",
255    "bin/clear",
256    "bin/cmp",
257    "bin/comm",
258    "bin/count",
259    "bin/cp",
260    "bin/cpio",
261    "bin/crc32",
262    "bin/cut",
263    "bin/date",
264    "bin/devmem",
265    "bin/df",
266    "bin/diff",
267    "bin/dirname",
268    "bin/dmesg",
269    "bin/dnsdomainname",
270    "bin/dos2unix",
271    "bin/du",
272    "bin/echo",
273    "bin/egrep",
274    "bin/eject",
275    "bin/env",
276    "bin/expand",
277    "bin/factor",
278    "bin/fallocate",
279    "bin/false",
280    "bin/fgrep",
281    "bin/file",
282    "bin/find",
283    "bin/flock",
284    "bin/fmt",
285    "bin/free",
286    "bin/freeramdisk",
287    "bin/fsfreeze",
288    "bin/fstype",
289    "bin/fsync",
290    "bin/ftpget",
291    "bin/ftpput",
292    "bin/getconf",
293    "sbin/getty",
294    "bin/grep",
295    "bin/groups",
296    "bin/gunzip",
297    "bin/halt",
298    "bin/head",
299    "bin/help",
300    "bin/hexedit",
301    "bin/hostname",
302    "bin/hwclock",
303    "bin/i2cdetect",
304    "bin/i2cdump",
305    "bin/i2cget",
306    "bin/i2cset",
307    "bin/iconv",
308    "bin/id",
309    "bin/ifconfig",
310    "bin/inotifyd",
311    "bin/insmod",
312    "bin/install",
313    "bin/ionice",
314    "bin/iorenice",
315    "bin/iotop",
316    "bin/kill",
317    "bin/killall",
318    "bin/killall5",
319    "bin/link",
320    "bin/ln",
321    "bin/logger",
322    "bin/login",
323    "bin/logname",
324    "bin/losetup",
325    "bin/ls",
326    "bin/lsattr",
327    "bin/lsmod",
328    "bin/lspci",
329    "bin/lsusb",
330    "bin/makedevs",
331    "bin/mcookie",
332    "bin/md5sum",
333    "bin/microcom",
334    "bin/mix",
335    "bin/mkdir",
336    "bin/mkfifo",
337    "bin/mknod",
338    "bin/mkpasswd",
339    "bin/mkswap",
340    "bin/mktemp",
341    "bin/modinfo",
342    "bin/more",
343    "bin/mount",
344    "bin/mountpoint",
345    "bin/mv",
346    "bin/nbd-client",
347    "bin/nc",
348    "bin/netcat",
349    "bin/netstat",
350    "bin/nice",
351    "bin/nl",
352    "bin/nohup",
353    "bin/nproc",
354    "bin/nsenter",
355    "bin/od",
356    "bin/oneit",
357    "bin/partprobe",
358    "bin/passwd",
359    "bin/paste",
360    "bin/patch",
361    "bin/pgrep",
362    "bin/pidof",
363    "bin/ping",
364    "bin/ping6",
365    "bin/pivot_root",
366    "bin/pkill",
367    "bin/pmap",
368    "bin/poweroff",
369    "bin/printenv",
370    "bin/printf",
371    "bin/prlimit",
372    "bin/ps",
373    "bin/pwd",
374    "bin/pwdx",
375    "bin/readahead",
376    "bin/readlink",
377    "bin/realpath",
378    "bin/reboot",
379    "bin/renice",
380    "bin/reset",
381    "bin/rev",
382    "bin/rfkill",
383    "bin/rm",
384    "bin/rmdir",
385    "bin/rmmod",
386    "bin/sed",
387    "bin/seq",
388    "bin/setfattr",
389    "bin/setsid",
390    "bin/shalsum",
391    "bin/shred",
392    "bin/sleep",
393    "bin/sntp",
394    "bin/sort",
395    "bin/split",
396    "bin/stat",
397    "bin/strings",
398    "bin/su",
399    "bin/swapoff",
400    "bin/swapon",
401    "bin/switch_root",
402    "bin/sync",
403    "bin/sysctrl",
404    "bin/tac",
405    "bin/tail",
406    "bin/tar",
407    "bin/taskset",
408    "bin/tee",
409    "bin/test",
410    "bin/time",
411    "bin/timeout",
412    "bin/top",
413    "bin/touch",
414    "bin/true",
415    "bin/truncate",
416    "bin/tty",
417    "bin/tunctl",
418    "bin/ulimit",
419    "bin/umount",
420    "bin/uname",
421    "bin/uniq",
422    "bin/unix2dos",
423    "bin/unlink",
424    "bin/unshare",
425    "bin/uptime",
426    "bin/usleep",
427    "bin/uudecode",
428    "bin/uuencode",
429    "bin/uuidgen",
430    "bin/vconfig",
431    "bin/vmstat",
432    "bin/w",
433    "bin/watch",
434    "bin/wc",
435    "bin/which",
436    "bin/who",
437    "bin/whoami",
438    "bin/xargs",
439    "bin/xxd",
440    "bin/yes",
441    "bin/zcat",
442    "bin/mdev",
443    "bin/telnetd",
444    "bin/route",
445  ]
446
447  foreach(path, cmd_long_path) {
448    exec_script("install.py",
449                [
450                  "--long_path",
451                  path,
452                  "--out_dir",
453                  rebase_path("$root_out_dir"),
454                ])
455  }
456} else {
457  import("//build/ohos.gni")
458
459  ohos_executable("toybox") {
460    sources = [
461      "lib/args.c",
462      "lib/commas.c",
463      "lib/deflate.c",
464      "lib/dirtree.c",
465      "lib/env.c",
466      "lib/help.c",
467      "lib/lib.c",
468      "lib/linestack.c",
469      "lib/llist.c",
470      "lib/net.c",
471      "lib/password.c",
472      "lib/portability.c",
473      "lib/tty.c",
474      "lib/xwrap.c",
475      "main.c",
476      "toys/lsb/dmesg.c",
477      "toys/lsb/gzip.c",
478      "toys/lsb/hostname.c",
479      "toys/lsb/killall.c",
480      "toys/lsb/md5sum.c",
481      "toys/lsb/mknod.c",
482      "toys/lsb/mktemp.c",
483      "toys/lsb/mount.c",
484      "toys/lsb/passwd.c",
485      "toys/lsb/pidof.c",
486      "toys/lsb/seq.c",
487      "toys/lsb/su.c",
488      "toys/lsb/sync.c",
489      "toys/lsb/umount.c",
490      "toys/net/ftpget.c",
491      "toys/net/ifconfig.c",
492      "toys/net/microcom.c",
493      "toys/net/netcat.c",
494      "toys/net/netstat.c",
495      "toys/net/ping.c",
496      "toys/net/rfkill.c",
497      "toys/net/sntp.c",
498      "toys/net/tunctl.c",
499      "toys/other/acpi.c",
500      "toys/other/ascii.c",
501      "toys/other/base64.c",
502      "toys/other/blkid.c",
503      "toys/other/blockdev.c",
504      "toys/other/bzcat.c",
505      "toys/other/chroot.c",
506      "toys/other/chrt.c",
507      "toys/other/chvt.c",
508      "toys/other/clear.c",
509      "toys/other/count.c",
510      "toys/other/devmem.c",
511      "toys/other/dos2unix.c",
512      "toys/other/eject.c",
513      "toys/other/factor.c",
514      "toys/other/fallocate.c",
515      "toys/other/flock.c",
516      "toys/other/fmt.c",
517      "toys/other/free.c",
518      "toys/other/freeramdisk.c",
519      "toys/other/fsfreeze.c",
520      "toys/other/fsync.c",
521      "toys/other/help.c",
522      "toys/other/hexedit.c",
523      "toys/other/hwclock.c",
524      "toys/other/i2ctools.c",
525      "toys/other/inotifyd.c",
526      "toys/other/insmod.c",
527      "toys/other/ionice.c",
528      "toys/other/login.c",
529      "toys/other/losetup.c",
530      "toys/other/lsattr.c",
531      "toys/other/lsmod.c",
532      "toys/other/lspci.c",
533      "toys/other/lsusb.c",
534      "toys/other/makedevs.c",
535      "toys/other/mcookie.c",
536      "toys/other/mix.c",
537      "toys/other/mkpasswd.c",
538      "toys/other/mkswap.c",
539      "toys/other/modinfo.c",
540      "toys/other/mountpoint.c",
541      "toys/other/nbd_client.c",
542      "toys/other/nsenter.c",
543      "toys/other/oneit.c",
544      "toys/other/partprobe.c",
545      "toys/other/pivot_root.c",
546      "toys/other/pmap.c",
547      "toys/other/printenv.c",
548      "toys/other/pwdx.c",
549      "toys/other/readahead.c",
550      "toys/other/readlink.c",
551      "toys/other/realpath.c",
552      "toys/other/reboot.c",
553      "toys/other/reset.c",
554      "toys/other/rev.c",
555      "toys/other/rmmod.c",
556      "toys/other/setfattr.c",
557      "toys/other/setsid.c",
558      "toys/other/shred.c",
559      "toys/other/stat.c",
560      "toys/other/swapoff.c",
561      "toys/other/swapon.c",
562      "toys/other/switch_root.c",
563      "toys/other/sysctl.c",
564      "toys/other/tac.c",
565      "toys/other/taskset.c",
566      "toys/other/timeout.c",
567      "toys/other/truncate.c",
568      "toys/other/uptime.c",
569      "toys/other/usleep.c",
570      "toys/other/uuidgen.c",
571      "toys/other/vconfig.c",
572      "toys/other/vmstat.c",
573      "toys/other/w.c",
574      "toys/other/watch.c",
575      "toys/other/which.c",
576      "toys/other/xxd.c",
577      "toys/other/yes.c",
578      "toys/pending/bootchartd.c",
579      "toys/pending/dd.c",
580      "toys/pending/diff.c",
581      "toys/pending/getty.c",
582      "toys/pending/mdev.c",
583      "toys/pending/more.c",
584      "toys/pending/route.c",
585      "toys/pending/telnetd.c",
586      "toys/posix/basename.c",
587      "toys/posix/cal.c",
588      "toys/posix/cat.c",
589      "toys/posix/chgrp.c",
590      "toys/posix/chmod.c",
591      "toys/posix/cksum.c",
592      "toys/posix/cmp.c",
593      "toys/posix/comm.c",
594      "toys/posix/cp.c",
595      "toys/posix/cpio.c",
596      "toys/posix/cut.c",
597      "toys/posix/date.c",
598      "toys/posix/df.c",
599      "toys/posix/dirname.c",
600      "toys/posix/du.c",
601      "toys/posix/echo.c",
602      "toys/posix/env.c",
603      "toys/posix/expand.c",
604      "toys/posix/false.c",
605      "toys/posix/file.c",
606      "toys/posix/find.c",
607      "toys/posix/getconf.c",
608      "toys/posix/grep.c",
609      "toys/posix/head.c",
610      "toys/posix/iconv.c",
611      "toys/posix/id.c",
612      "toys/posix/kill.c",
613      "toys/posix/link.c",
614      "toys/posix/ln.c",
615      "toys/posix/logger.c",
616      "toys/posix/ls.c",
617      "toys/posix/mkdir.c",
618      "toys/posix/mkfifo.c",
619      "toys/posix/nice.c",
620      "toys/posix/nl.c",
621      "toys/posix/nohup.c",
622      "toys/posix/od.c",
623      "toys/posix/paste.c",
624      "toys/posix/patch.c",
625      "toys/posix/printf.c",
626      "toys/posix/ps.c",
627      "toys/posix/pwd.c",
628      "toys/posix/renice.c",
629      "toys/posix/rm.c",
630      "toys/posix/rmdir.c",
631      "toys/posix/sed.c",
632      "toys/posix/sleep.c",
633      "toys/posix/sort.c",
634      "toys/posix/split.c",
635      "toys/posix/strings.c",
636      "toys/posix/tail.c",
637      "toys/posix/tar.c",
638      "toys/posix/tee.c",
639      "toys/posix/test.c",
640      "toys/posix/time.c",
641      "toys/posix/touch.c",
642      "toys/posix/true.c",
643      "toys/posix/tty.c",
644      "toys/posix/ulimit.c",
645      "toys/posix/uname.c",
646      "toys/posix/uniq.c",
647      "toys/posix/unlink.c",
648      "toys/posix/uudecode.c",
649      "toys/posix/uuencode.c",
650      "toys/posix/wc.c",
651      "toys/posix/who.c",
652      "toys/posix/xargs.c",
653    ]
654
655    include_dirs = [ "./" ]
656
657    deps = []
658
659    if (build_selinux) {
660      sources += [ "toys/other/chcon.c" ]
661      include_dirs += [ "//third_party/selinux/libselinux/include" ]
662      deps += [ "//third_party/selinux:libselinux" ]
663    }
664
665    defines = [ "_DEFAULT_SOURCE" ]
666
667    cflags_c = [
668      "-std=gnu11",
669      "-Wall",
670      "-Wundef",
671      "-Wno-char-subscripts",
672      "-Wno-implicit-function-declaration",
673      "-Wno-unused-variable",
674      "-Wno-unused-value",
675      "-Wno-incompatible-pointer-types",
676      "-Wno-int-conversion",
677      "-Wno-sign-compare",
678      "-Wno-format",
679      "-Wno-unused-result",
680      "-Os",
681      "-ffunction-sections",
682      "-fdata-sections",
683      "-fno-asynchronous-unwind-tables",
684      "-fPIE",
685      "-funsigned-char",
686      "-Wno-string-plus-int",
687      "-Wno-tautological-constant-compare",
688      "-Wno-string-conversion",
689    ]
690
691    ldflags = [
692      "-pie",
693      "-Wl,-z,relro",
694      "-Wl,-z,now",
695      "-Wl,-z,noexecstack",
696      "-lm",
697      "-lcrypt",
698    ]
699
700    if (build_selinux) {
701      cflags_c += [
702        "-D_GUN_SOURCE",
703        "-DUSE_PCRE2",
704        "-w",
705        "-DWITH_SELINUX",
706        "-DCUSTOM_GET_CONTEXT",
707      ]
708    }
709
710    symlink_target_name = [
711      "base64",
712      "basename",
713      "blockdev",
714      "cal",
715      "cat",
716      "chgrp",
717      "chmod",
718      "chown",
719      "chroot",
720      "chrt",
721      "chvt",
722      "cksum",
723      "clear",
724      "cmp",
725      "comm",
726      "count",
727      "cp",
728      "cpio",
729      "crc32",
730      "cut",
731      "date",
732      "dd",
733      "devmem",
734      "df",
735      "diff",
736      "dirname",
737      "dmesg",
738      "dnsdomainname",
739      "dos2unix",
740      "du",
741      "echo",
742      "egrep",
743      "eject",
744      "env",
745      "expand",
746      "expr",
747      "factor",
748      "fallocate",
749      "false",
750      "fgrep",
751      "file",
752      "find",
753      "flock",
754      "fmt",
755      "free",
756      "freeramdisk",
757      "fsfreeze",
758      "fstype",
759      "fsync",
760      "ftpget",
761      "ftpput",
762      "getconf",
763      "grep",
764      "groups",
765      "gunzip",
766      "gzip",
767      "halt",
768      "head",
769      "help",
770      "hexedit",
771      "hostname",
772      "hwclock",
773      "i2cdetect",
774      "i2cdump",
775      "i2cget",
776      "i2cset",
777      "iconv",
778      "id",
779      "ifconfig",
780      "inotifyd",
781      "insmod",
782      "install",
783      "ionice",
784      "iorenice",
785      "iotop",
786      "kill",
787      "killall",
788      "killall5",
789      "link",
790      "ln",
791      "logger",
792      "login",
793      "logname",
794      "losetup",
795      "ls",
796      "lsattr",
797      "lsmod",
798      "lspci",
799      "lsusb",
800      "makedevs",
801      "mcookie",
802      "md5sum",
803      "mdev",
804      "microcom",
805      "mix",
806      "mkdir",
807      "mkfifo",
808      "mknod",
809      "mkpasswd",
810      "mkswap",
811      "mktemp",
812      "modinfo",
813      "more",
814      "mount",
815      "mountpoint",
816      "mv",
817      "nbd-client",
818      "netcat",
819      "netstat",
820      "nice",
821      "nl",
822      "nohup",
823      "nproc",
824      "nsenter",
825      "od",
826      "oneit",
827      "partprobe",
828      "passwd",
829      "paste",
830      "patch",
831      "pgrep",
832      "pidof",
833      "ping",
834      "ping6",
835      "pivot_root",
836      "pkill",
837      "pmap",
838      "poweroff",
839      "printenv",
840      "printf",
841      "prlimit",
842      "ps",
843      "pwd",
844      "pwdx",
845      "readahead",
846      "readlink",
847      "realpath",
848      "renice",
849      "reset",
850      "restorecon",
851      "rev",
852      "rfkill",
853      "rm",
854      "rmdir",
855      "rmmod",
856      "route",
857      "runcon",
858      "sed",
859      "sendevent",
860      "seq",
861      "setfattr",
862      "setsid",
863      "sha1sum",
864      "sha224sum",
865      "sha256sum",
866      "sha384sum",
867      "sha512sum",
868      "shalsum",
869      "shred",
870      "sleep",
871      "sntp",
872      "sort",
873      "split",
874      "stat",
875      "strings",
876      "su",
877      "swapoff",
878      "swapon",
879      "switch_root",
880      "sync",
881      "sysctl",
882      "sysctrl",
883      "tac",
884      "tail",
885      "tar",
886      "taskset",
887      "tee",
888      "test",
889      "time",
890      "timeout",
891      "top",
892      "touch",
893      "tr",
894      "true",
895      "truncate",
896      "tty",
897      "tunctl",
898      "ulimit",
899      "umount",
900      "uname",
901      "uniq",
902      "unix2dos",
903      "unlink",
904      "unshare",
905      "uptime",
906      "usleep",
907      "uudecode",
908      "uuencode",
909      "uuidgen",
910      "vconfig",
911      "vmstat",
912      "w",
913      "watch",
914      "wc",
915      "which",
916      "who",
917      "whoami",
918      "xargs",
919      "xxd",
920      "yes",
921      "zcat",
922    ]
923    if (build_selinux) {
924      symlink_target_name -= [ "restorecon" ]
925    }
926    part_name = "init"
927    install_images = [
928      "system",
929      "ramdisk",
930      "updater",
931    ]
932    install_enable = true
933  }
934}
935