Commit graph

50 commits

Author SHA1 Message Date
Jiyong Park
2e24e8e2f0 Merge "Configure ld.config.txt for SP-HALs" into oc-dev am: 43b72b58f2
am: 7610066315

Change-Id: I59ede8903c6890b976ef3ca42c7ad1d220470a42
2017-04-15 02:07:02 +00:00
Jiyong Park
450cff4b68 Configure ld.config.txt for SP-HALs
Now, framework process (any process that is executing /system/bin/* or
/system/xbin/*) are started with three namespaces; default, sphal and
vndk.

default namespace is the namespace that is responsible for loading libs
from /system/lib. It can't load libs from other places such as
/vendor/lib. (However, we temporarily open the path since we haven't
finished the system partition cleanup, but will do eventually).

sphal namespace is the namespace where SP-HAL (Same-process HAL) is
loaded. SP-HAL are the only vendor libraries that are allowed to be
loaded inside framework processes. libEGL_<chipset>.so and
android.hardware.graphics.mapper@2.0-impl.so, etc are SP-HALs. When
framework needs to load those SP-HALs, it explicitly loads it from this
namespace using android_get_exported_namespace() and
android_dlopen_ext().

vndk namespace is the namespace for loading vndk-sp (Vendor-NDK for
Same-Process) libs, which is a small set of framework libraries that
SP-HALs can link against. These libraries are compiled for the same
version of Android that the vendor partition is compiled against.
SP-HALs can not use libraries other than vndk-sp and ndk libs.
Membership to vndk-sp and ndk are strictly closed.

Note that in a system, there are two copies of vndk-sp libs. One at
/system/lib and the other at /vendor/lib/vndk-sp. As a result, there can
be two instances of a same library in a process.

Also adds ld.config.legacy.txt which is used on non-Treble devices where
PRODUCT_FULL_TREBLE is not set to true.
Note, this split can be cleaned up further after b/37139976 is solved.

Bug: 34407260
Test: git diff HEAD:rootdir/etc/ld.config.legacy.txt
HEAD^:rootdir/etc/ld.config.txt => 0
Test: sailfish boots (because BOARD_VNDK_VERSION is not set to
'current')

Change-Id: I8331d94edc38f22c4f8abc66cdf2050af9d0605b
2017-04-14 16:39:36 +09:00
Andreas Gampe
df5496aa65 ASAN-Extract
Add init script and shell script to unzip a tar containing ASAN
libraries on boot.

Bug: 36458146
Test: m && m SANITIZE_TARGET=address
Test: manual (build steps for tar missing)
Change-Id: I1bcf332f86c5bf2e0333cbe3def684999c1002f8
2017-03-31 16:02:24 -07:00
Andreas Gampe
21bb2e0388 ASAN: Separate SANITIZE_LITE from asan.options
Add SANITIZE_LITE_SERVICES to drive usage of asan.options for a
large set of native services.

Test: m SANITIZE_TARGET=address SANITIZE_LITE=true
Test: m SANITIZE_TARGET=address SANITIZE_LITE=true SANITIZE_LITE_SERVICES=true
Change-Id: I84458dcc1b193b762daeb3004cf6c49e2fd8fae2
2017-03-10 10:48:00 -08:00
Ryan Campbell
0b36473272 Add global GCOV_PREFIX option.
When native coverage is enabled, add a global GCOV_PREFIX
environment variable specifying that gcda files be output
with path prefix /data/local/tmp.

Bug: 35635587
Test: make NATIVE_COVERAGE=true; check init.environ.rc
Change-Id: I40972aea3ca3168d0687bdc93e9d4b7b3a1071b9
2017-02-27 15:00:18 -08:00
Nick Kralevich
5fae86b5fa Merge "change /data/bugreports to /bugreports"
am: 1b2e6abf3b

Change-Id: I7de15de91a688f8fe4a203a84b54e7dcfa106782
2016-11-23 00:11:13 +00:00
Nick Kralevich
c4084c6694 change /data/bugreports to /bugreports
It's 5 characters shorter, has no runtime costs, can be stored on a
read-only partition, and avoids problems like b/27262109 and b/27204904.
It allows makes some security hardening easier.

Bug: 27262109
Bug: 27204904
Bug: 32799236
Test: verified new symlink created and old one not present
Change-Id: Ief362e13569ad9c868a7f0f9c4dbd6a328c96c6b
2016-11-22 08:57:25 -08:00
Dan Willemsen
d377004c98 Merge \\\"Use BOARD_USES_VENDORIMAGE to detect vendor image presence\\\" am: 5d420e791b am: bdd01e86a5
am: a5b9b8f452

Change-Id: Iceb0c03fa05a7f6126428128c8e5dced5e7e6cef
2016-07-09 06:08:40 +00:00
Dan Willemsen
0790431f75 Use BOARD_USES_VENDORIMAGE to detect vendor image presence
When building without vendor/... in the tree, we won't be creating a
vendorimage, so BOARD_VENDORIMAGE_FILE_SYSTEM_TYPE won't be defined. But
we still need to use the vendor image that will be present.

Bug: 30040825
Change-Id: I756adc615aea11da60da4d3a4568caca9fed93ab
2016-07-08 18:17:48 -07:00
Andreas Gampe
8ccc1ad0f7 Rootdir: Add more asan.options support
Extend the asan.options file to read binary-specific configuration
from files out of /system. For early services, the system image
location is important as /data may not be available when they are
started.

Add a template that turns most sanitization off. At this point in
time, it is, however, impossible to get to a zero overhead state
after the fact. The template is meant to adapt a build after the
fact, and work around issues with LOCAL_SANITIZE := never.

Add a Make variable and rule copying the template to the path and
name expected by ASAN. Add SANITIZE_LITE to automatically add a
large set of options files.

Bug: 29498013
Change-Id: I8e9e6929a55cee3f3fa0acb377a886bfa7006c91
2016-06-23 14:45:35 -07:00
Patrick Tjin
c6535a343f Create symlink in the case where device has no cache partition
Create symlink from /cache to /data/cache for devices
which have no cache partition.

Bug: 28747374
Change-Id: Ifb0c3250f1be345ce46fcdb78533e36c2250bb85
2016-05-13 15:25:04 -07:00
Alex Deymo
e120b471ac Add /postinstall partition when using the A/B updater.
The new top level directory /postinstall is used by the A/B updater to
mount the new partition and run a post-install program before rebooting
into that new system.

init.rc was extended to label this new directory since the initrd has
no extended attributes.

Bug: 27177071
TEST=`ls -laZ /` shows the /postinstall directory on edison-eng

(cherry picked from commit bb968fb04d)

Change-Id: Iff993135c7ce3a1a0f6450892ef7382da408fd5e
2016-03-04 15:45:52 -08:00
Alex Deymo
bb968fb04d Add /postinstall partition when using the A/B updater.
The new top level directory /postinstall is used by the A/B updater to
mount the new partition and run a post-install program before rebooting
into that new system.

init.rc was extended to label this new directory since the initrd has
no extended attributes.

Bug: 27177071
TEST=`ls -laZ /` shows the /postinstall directory on edison-eng

Change-Id: I6cdee7eb1d61ac7d447528962a4fad1a7bbf138d
2016-03-02 14:17:42 -08:00
Mark Salyzyn
7864e36751 init-debug.rc: add runtime mmc max speed property actors
persist.mmc.max_read_speed  - KB/s speed cap
persist.mmc.max_write_speed - KB/s speed cap
persist.mmc.cache_size      - MB of high-speed on-device write cache

device default directly to associated /sys/block/mmcblk0/ attributes,
not delivered on "user" builds.

Bug: 26976972
Change-Id: Ic82b9614489b6406ce830d127c85affc9095e256
2016-02-04 13:10:19 -08:00
Junichi Uekawa
07b69961f2 Fix non-vendor.img configuration.
If / is not write-able and system.img contains system/vendor, symlink
for `/vendor/ -> /system/vendor/` that is otherwise done in init.rc
should be done at build time.

BUG=b:25512724

Change-Id: Iaa63d6440373a4fd754a933c9f1960b3787a6d98
2015-11-17 11:20:21 +09:00
Daniel Rosenberg
52b5915945 rootdir: Allow board specific folders and symlinks in root directory
Building without ramdisk requires a way to specify board specific
directoryies and symlinks in the root directory at build time.

Change-Id: I11301e98228bc4761f3aee177a546146651b9f25
(cherry picked from commit d7549c9a65cad886f672af41f5fca6f0bd0c12fa)
2015-11-02 12:47:46 -08:00
Ivan Krasin
5039d8cd21 asan: update condition to work with multiple SANITIZE_TARGET values.
The goal is to enable SANITIZE_TARGET='address coverage', which
will be used by LLVMFuzzer.

Bug: 22850550
Change-Id: Iea756eaaedaa56aee4daf714510269efe3aaa553
2015-09-18 11:59:46 -07:00
Tom Cherry
0ea4ffdc06 remove TARGET_PROVIDES_INIT_RC
Change-Id: I15105a8dc11e218d95d4f5a4cee5b2a166d3d639
2015-08-24 13:56:43 -07:00
Evgenii Stepanov
0d2dde57fe Read global ASAN_OPTIONS from a file.
Instead of setting global ASAN_OPTIONS in immutable init.environ.rc,
load them from a file that can be changed later. The file has to be
on the /system partition to both be editable and available at the
early stages of boot.

Also add allocator_may_return_null=1 as that is closer to the
non-ASan allocator behavior.

Bug: 22846541
Change-Id: Ib0f41393c528f2e7cb398470e41f50abf5f4f455
2015-08-10 11:30:54 -07:00
Daniel Rosenberg
595003a3d0 rootdir: Create symlinks in Android.mk
system.img may contain the root directory as well. In that case, we
need to create some symlinks init.rc would during the build.

Change-Id: I4e7726f38c0f9cd9846c761fad1446738edb52c0
2015-08-04 00:51:19 +00:00
Daniel Rosenberg
86b151cbe8 rootdir: Create cache folder in Android.mk
system.img may contain the root directory as well. In that case, we
need to create some folders init.rc would during the build.

Change-Id: I312104ff926fb08d98ac8256b76d01b0a90ea5e5
2015-07-14 17:18:52 -07:00
Daniel Rosenberg
58458b66d4 rootdir: Create folders in Android.mk
system.img may contain the root directory as well. In that case, we
need to create some folders init.rc would during the build.

Change-Id: I157ccbebf36bee9916f3f584551704ec481ae1d1
2015-07-08 16:37:13 -07:00
Evgenii Stepanov
1cbe3d944a SANITIZE_TARGET: set global ASAN_OPTIONS
allow_user_segv_handler=1 is required to run ART under ASan
detect_odr_violation=0 and alloc_dealloc_mismatch=0 suppress some of
the existing bug reports during boot.

Bug: 21951850, 21785137
Change-Id: I4d36967c6d8d936dacbfdf1b94b87fa94766bd3e
2015-06-19 11:15:51 -07:00
Nick Kralevich
f3b554fc61 rootdir: make sure the /oem mountpoint is always available
The /oem mount point is used to mount semi-trusted data, and
many Android One devices depend on it. Make sure it's guaranteed
to always be available.

Bug: 20816563
Change-Id: Ib5272f025d14d4da6125d753879054b3faeae696
2015-05-05 17:19:14 -07:00
Narayan Kamath
1fabc35cb5 Export the new system_server classpath.
bug: 16555230

Change-Id: I99d2d219b5bd6dc4807cb53e44dc5715cc0815b3
2014-08-07 15:32:07 +01:00
Ying Wang
7011a85606 Regenerate init.environ.rc if PRODUCT_BOOTCLASSPATH changed.
Change-Id: I4686c1239aa5ed361c918ce4e7a5abf9a1552ab4
2014-06-14 09:11:58 -07:00
Ying Wang
5748ee972d Generate init.environ.rc by populating BOOTCLASSPATH
- BOOTCLASSPATH now is derived from PRODUCT_BOOT_JARS, which is a product
  configuration variable set up by the core build system.
- Moved files from the legacy ALL_PREBUILT to PRODUCT_COPY_FILES in
  build/target/product/embedded.mk.

Bug: 9990214
Change-Id: I98bac36c1ca8c779dda572a0a5e0a22b7e4c4a7a
2013-07-24 12:11:47 -07:00
Matthew Xie
7ee2e26eb9 Remove DBUS from make and header files
DBUS had been needed by bluetooth bluz stack. It is not needed after
we replaced bluez stack with bluedroid stack.
bug 6872904

Change-Id: I3fa41c1dd4ac80bc679d5950b3b20c7f6d12265f
2013-04-23 14:02:16 -07:00
Keun young Park
f5eb803543 move goldfish stuffs to device/generic/goldfish
- each files will be pulled in emulator.mk as PRODUCT_COPY_FILES

Change-Id: I4772e2fd863e6d2663f477c3acd8a90cb95b498a
2013-03-05 11:16:36 -08:00
Keun-young Park
c4c731e78c Merge "[MIPS] Enable SD-card functionality to work" 2012-08-14 17:30:07 -07:00
Bhanu Chetlapalli
a7fbf8a673 [MIPS] Enable SD-card functionality to work
Change-Id: I711f533214b9b7bce2ff1000a55d6b8f310f2399
Signed-Off-By: Bhanu Chetlapalli <bhanu@mips.com>
2012-06-07 15:15:52 -07:00
Mike Lockwood
4f5d5176a3 init.rc: Add support for new USB accessory configurations
Also moved USB scripts to new file init.usb.rc

Change-Id: I98e099fbd8de3eb3e1e18c9ef69312608033a50c
Signed-off-by: Mike Lockwood <lockwood@google.com>
2012-04-11 12:35:49 -07:00
Jun Nakajima
0db0921b59 x86: Add vold.fstab to mount the SD card
Change-Id: Ie1f70a22dd4e27e8ea956d5e627877d1e2379b95
Signed-off-by: Jun Nakajima <jun.nakajima@intel.com>
2011-02-13 21:10:40 -08:00
The Android Open Source Project
544e1f866e merge from open-source master
Change-Id: I03f6a73a782706a7c77041db4e626c40dffa647a
2010-07-16 13:22:23 -07:00
Ravi K Yenduri
2ee12e7a34 Fix sdcard mount issue.
Push vold.fstab on to the emulator, which is now denoted by
TARGET_PRODUCT=full.

Change-Id: I502af9b06903808fa2448c1013ddd8904f6000ca
2010-07-15 09:25:54 -05:00
Colin Cross
44b65d047c init: Add ueventd.rc parsing to ueventd
Change-Id: Iea53050d6c10e8cabf563e5d80e84eaf78873695
2010-04-21 20:59:42 -07:00
Colin Cross
dc61c9cda5 Add a build dependency for ramdisk.img on system/core/rootdir/init.rc
Change-Id: Id9698a88720cc0c70e3d9c43c9bac9b74f4798b6
2010-04-13 20:06:03 -07:00
San Mehat
5184fc5c79 rootdir: Switch to vold.fstab
Signed-off-by: San Mehat <san@google.com>
2009-12-24 07:20:36 -08:00
David 'Digit' Turner
a0c98ef01a Ensure -user builds can run the dex preopt pass in the emulator.
This is done by ensuring that /init.goldfish.rc and /system/etc/init.goldfish.sh
are part of the system image, even if it lacks other emulator related bits.
2009-09-23 11:22:31 -07:00
David 'Digit' Turner
ca8177d814 Fix a bug that prevented the "generic" product builds from working in the emulator.
This also ensures that emulator-specific files /init.goldfish.rc and
/system/etc/init.goldfish.sh are never part of -user builds, which
correspond to production devices.
2009-09-08 16:03:49 -07:00
San Mehat
2dfe490f43 system: vold: Ensure a default vold.conf exists for generic target
Signed-off-by: San Mehat <san@google.com>
2009-08-31 08:05:49 -07:00
Chia-chi Yeh
1219448dc7 rootdir: Remove ip-up-vpn script, which is replaced by an executable. 2009-07-10 15:51:01 +08:00
Chia-chi Yeh
3860b6e67c rootdir: Obsolete ppp/peers/common and racoon/racoon.conf. 2009-06-27 07:38:50 +08:00
Chia-chi Yeh
abd54c1b78 rootdir: Remove gprs/pppd related scripts.
vpn related scripts will be updated in the next change.
2009-06-18 17:18:51 +08:00
Chung-yih Wang
0bd9a9f5bc Add the ipcp scripts for pppd and racoon configuration for ipsec-tools.
1. add ip-up/ip-down script
2. add /etc/ppp/peers/common
3. add /etc/racoon/racoon.conf
2009-06-12 22:35:42 +08:00
The Android Open Source Project
dd7bc3319d auto import from //depot/cupcake/@135843 2009-03-03 19:32:55 -08:00
The Android Open Source Project
e54eebbf1a auto import from //depot/cupcake/@135843 2009-03-03 18:29:04 -08:00
The Android Open Source Project
13f797da7f auto import from //branches/cupcake/...@130745 2009-02-10 15:44:07 -08:00
The Android Open Source Project
35237d1358 Code drop from //branches/cupcake/...@124589 2008-12-17 18:08:08 -08:00
The Android Open Source Project
4f6e8d7a00 Initial Contribution 2008-10-21 07:00:00 -07:00