• Home
  • Raw
  • Download

Lines Matching +full:early +full:- +full:boot

2 ---------------------
7 All of these are line-oriented, consisting of tokens separated by
8 whitespace. The c-style backslash escapes may be used to insert
11 when it is the last character on a line, may be used for line-folding.
29 --------------
81 -------------------------------
96 For an APEX module with the following files in /apex/sample-module/apex/etc/:
118 -------
122 the tail of a to-be-executed queue (unless it is already on the
143 on boot
147 on boot && property:true=true
151 on boot
155 Then when the `boot` trigger occurs and assuming the property `true`
165 If the property `true` wasn't `true` when the `boot` was triggered, then the
173 If the property `true` becomes `true` *AFTER* `boot` was triggered, nothing will
174 be executed. The condition `boot && property:true=true` will be evaluated to
175 false because the `boot` trigger is a past event.
178 defined ordering between persistent setprops and non-persistent setprops. For
181 on boot
189 --------
200 -------
207 http://man7.org/linux/man-pages/man7/capabilities.7.html for a list of Linux
221 boot animation and shutdown animation. As these services can be
222 launched very early during bootup and can run until the last stage
237 > This is a device-critical service. If it exits more than four times in
238 _fatal crash window mins_ minutes or before boot completes, the device
243 `init.svc_debug.no_fatal.<service-name>` to `true` for specified critical service.
270 name must be a fully-qualified name and not a value name. For instance, this is used to allow
276 shell dumpsys -l`.
280 _class_ must be one of "rt", "be", or "idle". _priority_ must be an integer in the range 0 - 7.
292 > For example, `keycodes ${some.property.name:-none}` where some.property.name expands
293 to "123,124,125". Since keycodes are handled very early in init,
326 which must range from -1000 to 1000.
338 -20 to 19. Default priority is 0. Priority is set via setpriority().
344 intended to be used with the `exec_start` builtin for any must-have checks during boot.
347 > If a non-oneshot service exits, it will be restarted at its previous start time plus this period.
365 Services on the system partition can instead use policy-defined transitions
375 during early second\_stage. This fd retains address visibility even after the
407 Android logging during early boot and whose logs messages we want to capture. This is only enabled
425 the boot sequence by APEXes. When a service with updatable option is started
449 system property 'ro.cpuset.default' is set to a non-empty cpuset name (e.g.
456 --------
467 the name of a boot stage like `early-init` or `boot`. This trigger
478 * All property triggers get checked at least once when the `boot`
479 event is finished (i.e. when the last command under `on boot ...` is
482 * After the one-time check, `property:a=b` is checked when property `a`
488 property `c` gets a new value (and of course when the one-time check
491 * Before the one-time check, `property:a=b` without an event trigger
493 taken since this is a non-intuitive behavior, which unfortunately
500 1. during the one-time check if property `a` is `b` at the moment.
501 2. if property `a` is set to or changed to `b` after the one-time
506 1. during the one-time check if property `a` is `b` and property `c`
508 2. (after the one-time check) property `a` becomes `b` while property
510 3. (after the one-time check) property `c` becomes `d` while property
513 `on property:a=b && post-fs` is executed in one case only:
515 1. `post-fs` is triggered while property `a` already equals to `b`.
516 This is NOT executed when property `a` becomes `b` AFTER `post-fs`.
519 ----------------
521 Init uses the following sequence of triggers during early boot. These are the
522 built-in triggers defined in init.cpp.
524 1. `early-init` - The first in the sequence, triggered after cgroups has been configured
526 2. `init` - Triggered after coldboot is complete.
527 3. `charger` - Triggered if `ro.bootmode == "charger"`.
528 4. `late-init` - Triggered if `ro.bootmode != "charger"`, or via healthd triggering a boot
531 Remaining triggers are configured in `init.rc` and are not built-in. The default sequence for
532 these is specified under the "on late-init" event in `init.rc`. Actions internal to `init.rc`
535 1. `early-fs` - Start vold.
536 2. `fs` - Vold is up. Mount partitions not marked as first-stage or latemounted.
537 3. `post-fs` - Configure anything dependent on early mounts.
538 4. `late-fs` - Mount partitions marked as latemounted.
539 5. `post-fs-data` - Mount and configure `/data`; set up encryption. `/metadata` is
540 reformatted here if it couldn't mount in first-stage init.
541 6. `post-fs-data-checkpointed` - Triggered when vold has completed committing a checkpoint
543 7. `bpf-progs-loaded` - Starts things that want to start ASAP but need eBPF (incl. netd)
544 8. `zygote-start` - Start the zygote.
545 9. `early-boot` - After zygote has started.
546 10. `boot` - After `early-boot` actions have completed.
549 --------
554 otherwise bootchart start/stop are no-ops.
556 `chmod <octal-mode> <path>`
576 `class_restart [--only-enabled] <serviceclass>`
577 > Restarts all services of the specified class. If `--only-enabled` is
583 Regarding to the src file, copying from symbolic link file and world-writable
584 or group-writable files are not allowed.
603 on property:ro.boot.myfancyhardware=1
606 `exec [ <seclabel> [ <user> [ <group>\* ] ] ] -- <command> [ <argument>\* ]`
608 after "--" so that an optional security context, user, and supplementary
610 finishes. _seclabel_ can be a - to denote default. Properties are expanded
614 `exec_background [ <seclabel> [ <user> [ <group>\* ] ] ] -- <command> [ <argument>\* ]`
635 `insmod [-f] <path> [<options>]`
637 -f: force installation of the module even if the version of the running kernel
665 > (This action is deprecated and no-op.)
679 > (This action is deprecated and no-op.)
693 > * `Require`: encrypt directory, abort boot process if encryption fails
700 > * `per_boot_ref`: use the key freshly generated on each boot.
702 `mount_all [ <fstab> ] [--<option>]`
703 > Calls fs\_mgr\_mount\_all on the given fs\_mgr-format fstab with optional
704 options "early" and "late".
705 With "--early" set, the init executable will skip mounting entries with
706 "latemount" flag and triggering fs encryption state event. With "--late" set,
709 If the fstab parameter is not specified, fstab.${ro.boot.fstab_suffix},
719 `perform_apex_config [--bootstrap]`
724 Use --bootstrap when invoking in the bootstrap mount namespace.
726 `restart [--only-if-running] <service>`
728 restarting, otherwise, it just starts the service. If "--only-if-running" is
743 use "exec -- rm ..." instead (provided the system partition is
749 `readahead <file|dir> [--fully]`
751 Use option --fully to read the full file content.
759 the limit is set. It is intended to be set early in init and applied globally.
763 _cur_ and _max_ can be 'unlimited' or '-1' to indicate an infinite rlimit.
784 If the fstab parameter is not specified, fstab.${ro.boot.fstab_suffix},
793 > swapon_all continues to support setting up non-zram swap devices.
816 If the fstab parameter is not specified, fstab.${ro.boot.fstab_suffix},
821 > Internal implementation detail used to update dm-verity state and
822 set the partition._mount-point_.verified properties used by adb remount
845 -------
859 `ro.boot.init_rc` during initial boot.
889 Actions are executed in the order that they are parsed. For example the `post-fs-data` action(s)
890 in `/system/etc/init/hw/init.rc` are always the first `post-fs-data` action(s) to be executed in
891 order of how they appear in that file. Then the `post-fs-data` actions of the imports of
895 ----------
906 (e.g., dm-N or sdaN/mmcblk0pN to access `/sys/fs/ext4/${dev.mnt.dev.<mount_point>}/`)
947 Boot timing
948 -----------
949 Init records some boot timing information in system properties.
952 > Time after boot in ns (via the CLOCK\_BOOTTIME clock) at which the first
967 `ro.boottime.<service-name>`
968 > Time after boot in ns (via the CLOCK\_BOOTTIME clock) that the service was
973 ------------
976 <https://source.android.com/docs/core/perf/boot-times#bootchart>.
978 On the emulator, use the -bootchart _timeout_ option to boot with bootcharting
987 ------------------------
988 A handy script named compare-bootcharts.py can be used to compare the
989 start/end time of selected processes. The aforementioned grab-bootchart.sh
990 will leave a bootchart tarball named bootchart.tgz at /tmp/android-bootchart.
994 Usage: system/core/init/compare-bootcharts.py _base-bootchart-dir_ _exp-bootchart-dir_
996 process: baseline experiment (delta) - Unit is ms (a jiffy is 10 ms on the system)
997 ------------------------------------
998 /init: 50 40 (-10)
1003 system_server: 15350 15150 (-200)
1004 bootanimation ends at: 33790 31230 (-2560)
1008 --------
1010 used for obtaining performance analysis reports during boot
1015 $ANDROID_BUILD_TOP/external/chromium-trace/systrace.py \
1016 wm am --boot
1019 the boot sequence has finished, the trace report is obtained from the device
1031 --------------
1052 ps -e | grep logd
1054 gdbclient.py -p 4343
1066 ps -e | grep logd
1068 strace -p 4343
1071 kill -SIGCONT 4343
1076 -----------------------------
1094 Early Init Boot Sequence
1095 ------------------------
1096 The early init boot sequence is broken up into three stages: first stage init, SELinux setup, and
1100 system. Specifically this includes mounting /dev, /proc, mounting 'early mount' partitions (which
1106 require using a ramdisk to boot Android. The recovery ramdisk can be used to boot to Android instead
1110 1) For system-as-root devices, first stage init is part of /system/bin/init and a symlink at /init
1121 as 2). Note that the decision to boot normally into Android instead of booting
1130 argument. At this point the main phase of init runs and continues the boot process via the init.rc