Commit Graph

2254 Commits

Author SHA1 Message Date
Neil Fuller cd29f37e39 Merge "Move the logic for creating APEX-related symlinks" 2019-03-14 08:54:33 +00:00
Neil Fuller 0ed52b789d Move the logic for creating APEX-related symlinks
The existing location of logic for creating symlinks to files that have
moved into APEX does not get executed for -user builds, only
-userdebug and -eng. The new location is equally arbitrary but appears
to be invoked for -user, -userdebug and -eng targets.

Tested with:
make cleaninstall && lunch taimen-[user|userdebug|eng] && make droid

Inspected:
ls -l out/target/product/taimen/system/usr/icu

Bug: 128249030
Bug: 122985829
Bug: 124106384
Test: see above
Change-Id: I92a52d0b5ef97e8cb4f780691f8594e40f2fa6b3
2019-03-13 18:14:56 +00:00
Neil Fuller 43ffdff20d Merge "Add an env variable for the tzdata module root" am: 822dbd8911 am: 8c8d8f5df9
am: 4f92416fa1

Change-Id: I60406b56c060a3e3775709aacf5cf38ad66db820
2019-03-13 02:03:17 -07:00
Neil Fuller 822dbd8911 Merge "Add an env variable for the tzdata module root" 2019-03-13 08:49:30 +00:00
Martijn Coenen 4fa4c2a6f9 Merge "Create /metadata/apex/[sessions]." am: 13b5c3bee7 am: 5cdb3a9af8
am: 3d62bd2e16

Change-Id: Ida561b285efae52985149ab90ad7bc6b96eb536b
2019-03-13 01:27:08 -07:00
Martijn Coenen 13b5c3bee7 Merge "Create /metadata/apex/[sessions]." 2019-03-13 07:46:32 +00:00
Martijn Coenen 4517e57ff5 Create /metadata/apex/[sessions].
For storing persistent apex session state.

Bug: 126740531
Test: builds
Change-Id: Ibf280764977768956b5512b2252d22ceaba31c1e
2019-03-12 22:05:20 +01:00
Neil Fuller 9358e0972f Add an env variable for the tzdata module root
The ANDROID_TZDATA_ROOT maps to the /apex/com.android.tzdata
location on device like ANDROID_RUNTIME_ROOT maps to the
/apex/com.android.runtime location.

Bug: 128422035
Test: build only
Change-Id: Id90006004ca652564e530f3694600ac4afd798ed
2019-03-12 16:52:36 +00:00
Gavin Corkery 8d73048209 Merge "Rename data/pkg_staging to data/app-staging." 2019-03-09 12:41:28 +00:00
Xiaoyong Zhou 27c13df54b Merge "Change mini-keyctl command format." am: 34e1b402a6 am: 3c6e86bc11
am: 4b0a6092cc

Change-Id: I6e4179f6a2b4dfece070d196d343e5b497f37385
2019-03-08 16:08:30 -08:00
Treehugger Robot 34e1b402a6 Merge "Change mini-keyctl command format." 2019-03-08 23:17:01 +00:00
Xiaoyong Zhou b29b27ec7f Change mini-keyctl command format.
This CL change the mini-keyctl tool to make it compitable with libkeyctl
tool to make it more useful.

Bug: 112038861
Test: mini-keyctl padd asymmetric 'desc' .fs-verity < /path/to/cert.der
Test: mini-keyctl unlink <key_id> <keyring_id>
Test: mini-keyctl restrict_keyring <keyring_id>

Change-Id: I950f07c7718f173823ce5a5cd08e0d1a0e23a007
2019-03-08 09:59:42 -08:00
Gavin Corkery ad0b2473dc Rename data/pkg_staging to data/app-staging.
Test: atest apex_e2e_tests
Bug: 126330086

Change-Id: Ic5729d60046e8825a2a94e3c3483ea8232a69ed2
2019-03-08 15:47:25 +00:00
Roland Levillain 2144c6703e Merge "Fix a typo in linker configuration comments." am: ecef987a35 am: 58e3b61d1e
am: fcd734a433

Change-Id: I5f5bd69b84688456615ea4027479ed8363e122de
2019-03-08 04:05:52 -08:00
Roland Levillain ecef987a35 Merge "Fix a typo in linker configuration comments." 2019-03-08 11:48:43 +00:00
Dongwon Kang 9778fdaec4 Merge "allow_all_shared_libs for media namespace in ld.config.legacy.txt" am: fc6e441a1a am: 6cec105df9
am: 3642244f9d

Change-Id: I6e12d0eecfce92436415c26e2210f76ef2fbb8ce
2019-03-07 21:11:05 -08:00
David Anderson ef35aa87de Merge "Create /metadata/password_slots during boot." am: 1c1850fad2 am: 7d5cf4e04c
am: c31a6f760c

Change-Id: I3922e7b616e159628b5381bebee0e19edfc15e3e
2019-03-07 12:19:57 -08:00
Roland Levillain e51c87634a Fix a typo in linker configuration comments.
Test: n/a
Change-Id: I3fa36094cf3eb45b0e1400712f22b8477a096b59
2019-03-07 19:06:57 +00:00
Dongwon Kang 787e09a1de allow_all_shared_libs for media namespace in ld.config.legacy.txt
This is a temporal fix. With this change, the extractor plug-ins uses
unstable libs under /system/lib[64]. The right resolution is being
discussed.

Test: applied the same change to ld.config.txt and checked
      the memory map of media.extractor on cuttlefish.
Bug: 127791685

Change-Id: Ifd5b79831f27ef4017bb8aa774671aa9b2c5264e
2019-03-07 10:14:02 -08:00
David Anderson 1c1850fad2 Merge "Create /metadata/password_slots during boot." 2019-03-07 16:20:01 +00:00
Jiyong Park 1a789db2e3 Don't defer zygote
Removing 'updatable' from zygote as zygote is started after apexd. All
APEXes are guaranteed to be activated at the moment.

Sequence of actions:
1) /data mounted. post-fs-data is triggered.
2) apexd starts. APEXes are activated. Init does not execute more
commands until the activation finishes.
3) all post-fs-data sections from other *.rc are executed.
4) zygote-start is triggered.

Bug: 123404717
Bug: 126555629
Bug: 125549215
Test: device boots
Test: no following message on the logcat log
Could not restart 'zygote': Cannot start an updatable service 'zygote' before configs from APEXes are all loaded. Queued for execution.

Merged-In: Ib4d0716ed5225b6ade3adaa247ff6140a9b2b9d5
Change-Id: Ib4d0716ed5225b6ade3adaa247ff6140a9b2b9d5
(cherry picked from commit 3bddd540dd)
2019-03-07 22:21:32 +09:00
Jiyong Park 3bddd540dd Don't defer zygote
Removing 'updatable' from zygote as zygote is started after apexd. All
APEXes are guaranteed to be activated at the moment.

Sequence of actions:
1) /data mounted. post-fs-data is triggered.
2) apexd starts. APEXes are activated. Init does not execute more
commands until the activation finishes.
3) all post-fs-data sections from other *.rc are executed.
4) zygote-start is triggered.

Bug: 123404717
Bug: 126555629
Bug: 125549215
Test: device boots
Test: no following message on the logcat log
Could not restart 'zygote': Cannot start an updatable service 'zygote' before configs from APEXes are all loaded. Queued for execution.

Change-Id: Ib4d0716ed5225b6ade3adaa247ff6140a9b2b9d5
2019-03-07 12:41:16 +09:00
David Anderson 0664f31dd0 Create /metadata/password_slots during boot.
This directory is used to store the Weaver/GateKeeper slot map so GSIs
do not overwrite host keys in secure storage.

Bug: 123716647
Test: /metadata/password_slots exists after boot
Change-Id: Ib0ca13edec38e68cba1fc2124465571feedc4be7
2019-03-05 22:18:14 -08:00
Jiyong Park b537934ab7 Merge changes from topic "apex_earlymount_base" am: c676cca4f6 am: a192ff7ad3
am: 7e933b1e07

Change-Id: I038cfec65219659dbd0ae6a886476be7aeb25d5b
2019-03-04 23:14:51 -08:00
Jiyong Park 27e93c1f11 mount /apex during first_stage init am: 4ba548d845 am: 854c5bc218
am: 5675349df0

Change-Id: Ic97ed52ae158225945542bc810a4ac5295c05f39
2019-03-04 23:14:03 -08:00
Jiyong Park 854c5bc218 mount /apex during first_stage init
am: 4ba548d845

Change-Id: I2f86489449b0a81c4173981a8ffe1bcb945df129
2019-03-04 23:02:24 -08:00
Treehugger Robot c676cca4f6 Merge changes from topic "apex_earlymount_base"
* changes:
  Activate system APEXes early
  mount /apex during first_stage init
2019-03-05 06:49:02 +00:00
Jiyong Park dcbaf9f41b Activate system APEXes early
Summary: Boot sequence around apexd is changed to make it possible for
pre-apexd processes to use libraries from APEXes. They no longer need to
wait for the apexd to finish activating APEXes, which again can be
done only after /data/ is mounted. This improves overall boot
performance.

Detail: This change fixes the problem that processes that are started
before apexd (so called pre-apexd processes) can't access libraries
that are provided only by the APEXes but are not found in the system
partition (e.g. libdexfile_external.so, etc.). Main idea is to activate
system APEXes (/system/apex/*.apex) before /data is mounted and then
activate the updated APEXes (/data/apex/*.apex) after the /data mount.

Detailed boot sequence is as follows.

1) init prepares the bootstrap and default mount namespaces. A tmpfs is
mounted on /apex and the propagation type of the mountpoint is set to
private.

2) before any other process is started, apexd is started in bootstrap
mode. When executed in the mode, apexd only activates APEXes under
/system/apex. Note that APEXes activated in this phase are mounted in
the bootstrap mount namespace only.

3) other pre-apexd processes are started. They are in the bootstrap
mount namespace and thus are provided with the libraries from the system
APEXes.

4) /data is mounted. init switches into the default mount namespace and
starts apexd as a daemon as usual.

5) apexd scans both /data/apex and /system/apex, and activate latest
APEXes from the directories. Note that APEXes activated in this phase
are mounted in the default namespaces only and thus are not visible to
the pre-apexd processes.

Bug: 125549215
Test: m; device boots
Change-Id: I21c60d0ebe188fa4f24d6e6861f85ca204843069
2019-03-05 09:47:49 +09:00
Felix 6f79379fbc Merge "ld.config: Permit legacy /system/vendor paths" am: 6521bf3c98 am: 7334915cf5
am: 7690f38b1b

Change-Id: I0d51064f17be05d2191f749c0df5a628c3d163e7
2019-03-04 05:16:21 -08:00
Jiyong Park 4ba548d845 mount /apex during first_stage init
/apex is not mounted via init.rc but directly by the first_stage init
before the mount namespaces are configured.

This allows us to change the propagation type for /apex mount point to
private to isolate APEX activatesions across post- and pre-apexd
processes.

Bug: 125549215
Test: m; device boots to the UI

Change-Id: I10e056cd30d64cb702b6c237acd8dab326162884
2019-03-04 16:22:41 +09:00
Felix 9e40e12cea ld.config: Permit legacy /system/vendor paths
Because /vendor is a symlink to /system/vendor on devices without a
dedicated /vendor partition, /system/vendor/lib/* needs to be added to
the permitted paths whereever /vendor/lib/* is permitted.

Reasoning:
Legacy devices are forced to use ld.config.legacy.txt, which is very
permissive. We can prolong support for them and enable them to use the
VNDK if we extend the search paths to include the resolved symlink dirs.

Change-Id: I6b3bb7b86ed82395345a16bdc857353b1b15c704
2019-03-03 14:31:37 +01:00
Christian Wailes eabbed9c31 Merge "Renamed blastula to unspecialized app process (usap)" 2019-03-02 01:38:11 +00:00
Rick Yiu 39e881576f Merge "Add blkio cgroup to libprocessgroup" am: d5345f58fd am: b6d02ff175
am: 85c9d7758d

Change-Id: I91308d425bdf1945822c82d9e692627b2fdb67ab
2019-02-27 05:24:34 -08:00
Rick Yiu 2b3bf84373 Add blkio cgroup to libprocessgroup
To differentiate IO priority for different groups.

Bug: 111422845
Bug: 117857342
Test: tasks are assigned to the group as expected
Change-Id: Ibb108d1b8e0f720f7ac4cab248b3c33d35e5483d
2019-02-27 11:23:14 +08:00
Nicolas Geoffray 5af7e33f5c Merge "Add a DEX2OAT_BOOTCLASSPATH variable." am: 1706eb08fe am: e25fa6da1b
am: f2472a1d72

Change-Id: I87229520c03855fac9d56fcd98f20a19ac5061e2
2019-02-26 13:19:14 -08:00
Nicolas Geoffray 0c49d1759c Add a DEX2OAT_BOOTCLASSPATH variable.
Bug: 119800099
Test: m
Change-Id: I8ae4ecea6da2ef541736a38822b100a620d72a8a
2019-02-26 12:57:17 +00:00
Neil Fuller f54ccb8dd1 Merge "Move tzdatacheck execution after apex is mounted" am: 61b2016881 am: 3305192d3a
am: 6916a8fc05

Change-Id: Ibe63dfc1aa23b6626e98688d5d1d334d79bb85c8
2019-02-25 23:13:00 -08:00
Martin Stjernholm 59b44c16cc Merge "Add compat symlink preferred-arch /system/bin/dalvikvm." am: ef3429dae6 am: 3c469804ed
am: 677552f14b

Change-Id: I981b49ded873bc2ab74421f408101388b6a0dba1
2019-02-25 21:28:29 -08:00
Dongwon Kang 6ac42d7363 Merge "Add permitted path in media namesapce for extractor process." am: ed7458e03e am: 0dfb54f747
am: 38259e37f4

Change-Id: Id81221bd564fe520e87c0fdf84ea96833ee1ff32
2019-02-25 19:27:05 -08:00
Treehugger Robot 61b2016881 Merge "Move tzdatacheck execution after apex is mounted" 2019-02-25 13:30:36 +00:00
Treehugger Robot ef3429dae6 Merge "Add compat symlink preferred-arch /system/bin/dalvikvm." 2019-02-25 00:19:36 +00:00
Martin Stjernholm 96949370ce Add compat symlink preferred-arch /system/bin/dalvikvm.
Test: Flash and boot
Test: adb shell ls -l /system/bin/dalvikvm
Bug: 124106384
Bug: 124924906
Change-Id: I1766af561e6b268a1c914808e872fce97a09631e
2019-02-22 20:14:15 +00:00
Chris Wailes 4a25816c22 Renamed blastula to unspecialized app process (usap)
Bug: 123017829
Test: make & boot & launch apps
Change-Id: Id780245f2d86e57cc4964abb2fd10ead9b64da1f
2019-02-22 11:35:08 -08:00
Neil Fuller ada7e4928a Move tzdatacheck execution after apex is mounted
tzdatacheck references files in the runtime apex so should
not be executed before the apex mounts are ready.

Test: Manual tests (see b/123270813); observed tzdatacheck running after
      apex files are mounted
Bug: 123270813
Bug: 116191025
Bug: 119293618
Bug: 113373927
Change-Id: I249d127c1d568bc5025d81b0bb4187c81363d897
2019-02-22 16:07:22 +00:00
Dongwon Kang 3408eaa914 Add permitted path in media namesapce for extractor process.
Test: build, boot, dumpsys media.extractor
Bug: 125134086
Change-Id: I5ed67d7d8d3ad7abf2cff7da8f33fdaab842acff
2019-02-22 01:16:54 -08:00
Yifan Hong 19cddf3a38 Move rootdir/*.json to libprocessgroup am: 98a61dd583 am: b9a1840e9b
am: ca11cdc4d9

Change-Id: I1b157a82638fc828a33abe393d7637ed1c78afa7
2019-02-20 15:17:46 -08:00
Tom Cherry c43f04e263 Merge "liblog: add stubs variant" am: 4e47753338 am: 66e34e6147
am: 26b3802435

Change-Id: I1b2971f0396305d8d992b149b32368b5be38242a
2019-02-20 15:08:43 -08:00
Jiyong Park 147253fe22 Merge "Add the 'unrestricted' config section for vndk_lite devices" am: 14efb903bb am: 914c7e9924
am: 3e8a07b27c

Change-Id: Ibf111128185ad8de01af7aaae830cdfbb4fe194d
2019-02-20 14:31:29 -08:00
Yifan Hong b9a1840e9b Move rootdir/*.json to libprocessgroup
am: 98a61dd583

Change-Id: I0c37fccffec8f17a519656c941d3b08ec40f1be9
2019-02-20 14:06:31 -08:00
Yifan Hong 4bb7b18fe1 Merge changes from topic "libprocessgroup_json"
* changes:
  Add schema for task profiles
  Move rootdir/*.json to libprocessgroup
2019-02-20 20:35:47 +00:00