xref: /aosp_15_r20/art/build/apex/art.rc (revision 795d594fd825385562da6b089ea9b2033f3abf5a)
1*795d594fSAndroid Build Coastguard Worker# Copyright (C) 2023 The Android Open Source Project
2*795d594fSAndroid Build Coastguard Worker#
3*795d594fSAndroid Build Coastguard Worker# Licensed under the Apache License, Version 2.0 (the "License");
4*795d594fSAndroid Build Coastguard Worker# you may not use this file except in compliance with the License.
5*795d594fSAndroid Build Coastguard Worker# You may obtain a copy of the License at
6*795d594fSAndroid Build Coastguard Worker#
7*795d594fSAndroid Build Coastguard Worker#      http://www.apache.org/licenses/LICENSE-2.0
8*795d594fSAndroid Build Coastguard Worker#
9*795d594fSAndroid Build Coastguard Worker# Unless required by applicable law or agreed to in writing, software
10*795d594fSAndroid Build Coastguard Worker# distributed under the License is distributed on an "AS IS" BASIS,
11*795d594fSAndroid Build Coastguard Worker# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12*795d594fSAndroid Build Coastguard Worker# See the License for the specific language governing permissions and
13*795d594fSAndroid Build Coastguard Worker# limitations under the License.
14*795d594fSAndroid Build Coastguard Worker
15*795d594fSAndroid Build Coastguard Worker# A service that handles dexopt. See art/artd/README.md. It's a lazy service
16*795d594fSAndroid Build Coastguard Worker# that is started and stopped dynamically as needed.
17*795d594fSAndroid Build Coastguard Workerservice artd /apex/com.android.art/bin/artd
18*795d594fSAndroid Build Coastguard Worker    interface aidl artd
19*795d594fSAndroid Build Coastguard Worker    disabled  # Prevents the service from automatically starting at boot.
20*795d594fSAndroid Build Coastguard Worker    oneshot  # Prevents the service from automatically restarting each time it is stopped.
21*795d594fSAndroid Build Coastguard Worker    class core
22*795d594fSAndroid Build Coastguard Worker    user artd
23*795d594fSAndroid Build Coastguard Worker    group artd
24*795d594fSAndroid Build Coastguard Worker    capabilities DAC_OVERRIDE DAC_READ_SEARCH FOWNER CHOWN
25*795d594fSAndroid Build Coastguard Worker
26*795d594fSAndroid Build Coastguard Worker# Same as above, but for Pre-reboot Dexopt. It runs in a chroot environment that
27*795d594fSAndroid Build Coastguard Worker# is set up by dexopt_chroot_setup. It's a lazy service that is started and
28*795d594fSAndroid Build Coastguard Worker# stopped dynamically as needed.
29*795d594fSAndroid Build Coastguard Worker# The path to the artd binary may be overridden by art_exec.
30*795d594fSAndroid Build Coastguard Workerservice artd_pre_reboot /apex/com.android.art/bin/art_exec \
31*795d594fSAndroid Build Coastguard Worker        --chroot=/mnt/pre_reboot_dexopt/chroot \
32*795d594fSAndroid Build Coastguard Worker        --process-name-suffix="Pre-reboot Dexopt chroot" \
33*795d594fSAndroid Build Coastguard Worker        -- \
34*795d594fSAndroid Build Coastguard Worker        /apex/com.android.art/bin/artd \
35*795d594fSAndroid Build Coastguard Worker        --pre-reboot
36*795d594fSAndroid Build Coastguard Worker    interface aidl artd_pre_reboot
37*795d594fSAndroid Build Coastguard Worker    disabled  # Prevents the service from automatically starting at boot.
38*795d594fSAndroid Build Coastguard Worker    oneshot  # Prevents the service from automatically restarting each time it is stopped.
39*795d594fSAndroid Build Coastguard Worker    class core
40*795d594fSAndroid Build Coastguard Worker    user artd
41*795d594fSAndroid Build Coastguard Worker    group artd
42*795d594fSAndroid Build Coastguard Worker    capabilities DAC_OVERRIDE DAC_READ_SEARCH FOWNER CHOWN SYS_CHROOT SYS_ADMIN
43*795d594fSAndroid Build Coastguard Worker
44*795d594fSAndroid Build Coastguard Worker# A service that sets up the chroot environment for Pre-reboot Dexopt. See
45*795d594fSAndroid Build Coastguard Worker# art/dexopt_chroot_setup/README.md. It's a lazy service that is started and
46*795d594fSAndroid Build Coastguard Worker# stopped dynamically as needed.
47*795d594fSAndroid Build Coastguard Workerservice dexopt_chroot_setup /apex/com.android.art/bin/dexopt_chroot_setup
48*795d594fSAndroid Build Coastguard Worker    interface aidl dexopt_chroot_setup
49*795d594fSAndroid Build Coastguard Worker    disabled  # Prevents the service from automatically starting at boot.
50*795d594fSAndroid Build Coastguard Worker    oneshot  # Prevents the service from automatically restarting each time it is stopped.
51*795d594fSAndroid Build Coastguard Worker    class core
52*795d594fSAndroid Build Coastguard Worker    user artd
53*795d594fSAndroid Build Coastguard Worker    group artd
54*795d594fSAndroid Build Coastguard Worker    capabilities DAC_OVERRIDE DAC_READ_SEARCH SYS_CHROOT SYS_ADMIN
55*795d594fSAndroid Build Coastguard Worker
56*795d594fSAndroid Build Coastguard Worker# Run at boot in Android U and later.
57*795d594fSAndroid Build Coastguard Workerservice art_boot /apex/com.android.art/bin/art_boot
58*795d594fSAndroid Build Coastguard Worker    disabled  # Started explicitly from system/core/rootdir/init.rc
59*795d594fSAndroid Build Coastguard Worker    oneshot
60*795d594fSAndroid Build Coastguard Worker    class core
61*795d594fSAndroid Build Coastguard Worker    user root
62