Commit Graph

370 Commits

Author SHA1 Message Date
Ying Wang 87538e4f8b Support x86+arm multilib build.
Support TARGET_2ND_ARCH as the binary translation arch.
See target/board/generic_x86_arm/BoardConfig.mk and
target/product/aosp_x86_arm.mk as example for the setup.

In BoardConfig, use the TARGET_2ND_ARCH/etc. variables to set up the
binary translation arch;
Set "TARGET_TRANSLATE_2ND_ARCH := true" to tell the build system it's
not a typical 64-bit multilib configuration.
In product makefile, use "PRODUCT_PACKAGES += libfoo_<2nd_arch>" to
install the TARGET_2ND_ARCH libraries. This also pulls in any dependency
libraries.
By default we don't install any TARGET_2ND_ARCH modules, unless it's
pulled in by PRODUCT_PACKAGES.

Bug: 27526885
Change-Id: I0578e9c80da0532d2fa886a8fcdb140bbc703009
(cherry-pick from commit 277e75a488)
2016-03-25 13:29:53 -07:00
Chih-Hung Hsieh 6dc7147fb0 Remove USE_CLANG_PLATFORM_BUILD in BoardConfig.mk
Use global default USE_CLANG_PLATFORM_BUILD set in core/envsetup.mk,
or user provided environment variable USE_CLANG_PLATFORM_BUILD.

BUG: 26102335
Change-Id: I7e12219a60f36bb44797bb028b4a5873a67c9210
2016-02-04 10:55:56 -08:00
Tom Cherry 69035cd4aa Remove special case handling of "ro." properties
Currently, properties that begin with "ro." are special cased to skip
over the "ro." part of the prefix before matching with entries in
property_contexts.  A change to init is removing this special case and
therefore, the "ro." prefixes must be explicitly added to
property_contexts.

Bug 26425619

Change-Id: I735eb9fc208eeec284cda8d778db946eeec24192
2016-01-11 13:16:45 -08:00
Josh Gao b1171e4a31 Kill BOARD_MALLOC_ALIGNMENT.
Bug: http://b/26403338
Change-Id: I55d2c417d972f78caddc5fb28a065807feb86b0a
2016-01-06 14:15:46 -08:00
Miroslav Tisma 36a76ec098 sepolicy: Fix 'avc denied' issues for the emulators
This commit fixes the avc denied issues in the emulators:
- goldfish_setup is granted for network access
- netd dontaudit for sys_module
- qemu_prop is granted domain for get_prop

Critical issue was that SELinux denied reading the lcd_density property
by SurfaceFlinger via qemu_prop and this commit fixes it.

Change-Id: I633d96f4d2ee6659f18482a53e21f816abde2a5f
Signed-off-by: Miroslav Tisma <miroslav.tisma@imgtec.com>
2015-12-11 16:21:00 +01:00
Mike Frysinger db4883ca93 sepolicy: drop -- marker
It's not needed and is a bit confusing.

BUG=26018537

Change-Id: Ibb1c3995de97a442c95d5eea823523b5f0f26393
2015-12-10 18:18:27 +00:00
Chih-hung Hsieh b0d9108795 Merge "Move mips64 target to clang by default." 2015-11-24 21:13:38 +00:00
Chih-Hung Hsieh 4dcd769f2c Move mips64 target to clang by default.
Bug: 23163853
Change-Id: Ia3d449f908b09ce95b3de246c8c699d171dcbaa3
2015-11-20 13:35:44 -08:00
Chih-Hung Hsieh 990407e0a5 Move mips target to clang by default.
Bug: 23163853
Change-Id: I408ffd90ff2ff075e03962fffd1681fccf0319d3
2015-11-20 13:32:22 -08:00
Griff Hazen 0517540e8d Let qemu_props service set system properties in ro.emu and ro.emulator
These boot properties are used by android wear emulator to configure
round and chin shaped devices.

Bug: 23324757
Change-Id: I812da02d771bba0ffc63b14459c7de7cbdeed142
2015-11-07 16:53:59 -08:00
Jeff Vander Stoep 7890fc4d2e selinux: Grant all processes the domain_deprecated attribute
Bug: 25433265
Change-Id: Iafad5abd6e75c5a46f844ef3e744adf1c904b362
2015-11-04 08:49:07 -08:00
Chih-hung Hsieh befb82f204 Merge "Move arm64 target to clang by default." 2015-10-27 23:02:26 +00:00
Chih-Hung Hsieh cf67f13792 Move arm64 target to clang by default.
Bug: 23163853
Change-Id: I59c311f552ca060bc7bd034fa4f1c03eb24802d5
2015-10-27 13:44:53 -07:00
Chih-Hung Hsieh 557fa2f3cd Move arm target to clang by default.
Bug: 23163853
Change-Id: I4cb95ed652ca697461e2fb22811779aa2df8d262
2015-10-27 13:42:34 -07:00
Chih-hung Hsieh 373a1e36a9 Merge "Move x86_64 target to clang by default." 2015-10-23 00:26:20 +00:00
Chih-Hung Hsieh b9774f34e1 Move x86_64 target to clang by default.
Bug: 23163853
Change-Id: I0587ec75c0000ac99562233de33147ec8e120e65
2015-10-22 16:29:59 -07:00
Nick Kralevich ce1062629f allow qemu_props to set opengles.version
Addresses the following denial:

  init: avc:  denied  { set } for property=opengles.version scontext=u:r:qemu_props:s0 tcontext=u:object_r:default_prop:s0 tclass=property_service

Bug: 25148690
Change-Id: I4b197eeabfe37e794104e4e686e9e388b5bc3e0c
2015-10-21 10:55:21 -07:00
Chih-Hung Hsieh f0ba2e9da6 Move x86 target to clang by default.
Bug: 23163853
Change-Id: Ib5e9beddbeca8968d6e4365abeb44ae97cbe9981
2015-10-20 12:16:57 -07:00
Nick Kralevich 7da1b68236 generic_x86: delete system_server execmem
https://android-review.googlesource.com/175922 removed all uses
of system_server execmem and neverallowed it. The x86 emulator policy
inappropriately includes this rule. Delete it.

Fixes the following build breakage:

  libsepol.report_failure: neverallow on line 473 of external/sepolicy/system_server.te (or line 12452 of policy.conf) violated by allow system_server system_server:process { execmem };
  libsepol.check_assertions: 1 neverallow failures occurred
  Error while expanding policy

Change-Id: I7fbfaa0a09e8f4e8a372d2f1a64bbe58d5302204
2015-10-15 02:37:40 -07:00
Nick Kralevich 64e4d8a211 am 35a075db: am 36d91b53: Merge "Only allow toolbox exec where /system exec was already allowed."
* commit '35a075db60bc5553b57ef3311b9643d3b04ea7da':
  Only allow toolbox exec where /system exec was already allowed.
2015-08-25 22:53:03 +00:00
Stephen Smalley 75770de701 Only allow toolbox exec where /system exec was already allowed.
When the toolbox domain was introduced, we allowed all domains to exec it
to avoid breakage.  However, only domains that were previously allowed the
ability to exec /system files would have been able to do this prior to the
introduction of the toolbox domain.  Remove the rule from domain.te and add
rules to all domains that are already allowed execute_no_trans to system_file.
Requires coordination with device-specific policy changes with the same Change-Id.

Change-Id: Ie46209f0412f9914857dc3d7c6b0917b7031aae5
Signed-off-by: Stephen Smalley <sds@tycho.nsa.gov>
2015-08-25 11:46:12 -04:00
Konstantinos Menychtas 8694cf75b6 am 956e4693: Increasing MIPS emulator system image size and user-data image size
* commit '956e469327b1da4b635f20795ed48f6c36ba10d6':
  Increasing MIPS emulator system image size and user-data image size
2015-08-19 01:40:09 +00:00
Konstantinos Menychtas 956e469327 Increasing MIPS emulator system image size and user-data image size
Size increase taken as a precaution against recent built breakage
due to lack of space on a number of targets (e.g. x86, ARM64).
System and user-data image sizes set to match currently most common
setup for the emulator: system image: 1.25gb, user-data image 700mb.

Change-Id: I7118eb26dd78f5fa9e4f0006e15c8d47dee8e28c
2015-08-18 17:34:09 +00:00
Ian Pedowitz c3bc0b112c resolved conflicts for merge of e5a63158 to mnc-dev-plus-aosp
Change-Id: Ifcbf55d0f4a158602867c01546f4c0f7e668697f
2015-08-11 15:06:29 -07:00
Ian Pedowitz 4e0d34c7c7 Increasing arm(64)? emulator partition sizes to 1.5GB
Bug: 23093319
Change-Id: I5e493ef4715cee96ae6ab40d6415f5330075fad6
2015-08-11 12:53:39 -07:00
Ian Pedowitz c08c3507be am 073f74d9: Merge "Increasing x86 emulator system partition size" into mnc-dev
* commit '073f74d90853b39de32308fa3eeab9aa8998bd69':
  Increasing x86 emulator system partition size
2015-08-11 19:18:43 +00:00
Ian Pedowitz 5394e8bd12 Increasing x86 emulator system partition size
Seems sdk_google_phone_x86 is building larger than 750MB

Bug: 23093319
Change-Id: Ib3ddbbb96a9dcea02eb6da7362ac0142bdfae4de
2015-08-11 03:39:34 +00:00
Ying Wang 9e7d6d152b am 86162e64: am b1c0a86f: Merge "Bump generic_arm64 system partition size to 1200 MB."
* commit '86162e6439e8035494b187efbf138d9cabae92fb':
  Bump generic_arm64 system partition size to 1200 MB.
2015-07-27 19:17:51 +00:00
Ying Wang 97ba885a7b Bump generic_arm64 system partition size to 1200 MB.
Change-Id: I31740673829e578d7fc0edd895868bf1f21cfe15
2015-07-27 11:01:50 -07:00
Nick Kralevich 385457dc31 am 4a5f5a7b: am a972891f: Merge "file_contexts: Label /dev/ttyS2 as console_device"
* commit '4a5f5a7b15e27ed159e2398c77de1de7f9fd4da9':
  file_contexts: Label /dev/ttyS2 as console_device
2015-07-16 19:19:20 +00:00
Miodrag Dinic df2620ada4 file_contexts: Label /dev/ttyS2 as console_device
This fixes the issue with the emulator "-shell" option.
Init tries to open the console which is passed through
the kernel androidboot.console property, but fails to
open it because "avc" denies it. Init only has permissions
to open console_device in rw mode. This ensures that
/dev/ttyS2 is properly labeled as console_device.

Replaced tabs with spaces.

Change-Id: I9ef94576799bb724fc22f6be54f12de10ed56768
2015-07-16 20:36:07 +02:00
dcashman e7733e55f6 am 2a3a2dc3: Merge "Allow init to create /mnt/sdcard symlink." into mnc-dev
* commit '2a3a2dc33c7e5cbd9da95ece2eec0c100e9fbc14':
  Allow init to create /mnt/sdcard symlink.
2015-07-06 16:06:06 +00:00
dcashman 19eeccdaf2 Allow init to create /mnt/sdcard symlink.
Addresses the following denial:
avc:  denied  { create } for  pid=1 comm="init" name="sdcard" scontext=u:r:init:s0 tcontext=u:object_r:tmpfs:s0 tclass=lnk_file permissive=0

Bug: 22084499
Change-Id: Icffef8330d07b00f36fda11374e39e0df7181ca3
2015-07-01 09:14:18 -07:00
Mark Salyzyn 31f116de07 am 70749857: am 9ec84792: Merge "goldfish: rename goldfish_logcat.te to logd.te"
* commit '70749857595a100bf9e8f009767030812101d365':
  goldfish: rename goldfish_logcat.te to logd.te
2015-06-03 18:36:22 +00:00
Mark Salyzyn 9f8e1e1c7d goldfish: rename goldfish_logcat.te to logd.te
(cherrypicked from commit fd8c30177c)

Bug: 19608716
Change-Id: I5c76648a4bcbbb15a033465e8af66b12af6e0a18
2015-06-03 10:48:35 -07:00
Mark Salyzyn 94871b94ef goldfish: logcat -Q in logd domain
Deal with a build failure in conflict with cl/152105

(cherrypicked from commit 1cc7735ffa)

Bug: 19608716
Change-Id: I1078046db3b159c1baf0a22435c3e777424453a1
2015-06-03 10:47:34 -07:00
Mark Salyzyn 86997b8809 am defa1737: am b37ac46b: Merge "goldfish: logcat -Q in logd domain"
* commit 'defa1737973575e3be2dce415c68c6b13fb4fbd0':
  goldfish: logcat -Q in logd domain
2015-06-03 17:43:28 +00:00
Mark Salyzyn fd8c30177c goldfish: rename goldfish_logcat.te to logd.te
Bug: 19608716
Change-Id: I5c76648a4bcbbb15a033465e8af66b12af6e0a18
2015-06-03 09:00:14 -07:00
Mark Salyzyn 1cc7735ffa goldfish: logcat -Q in logd domain
Deal with a build failure in conflict with cl/152105

Bug: 19608716
Change-Id: I1078046db3b159c1baf0a22435c3e777424453a1
2015-06-03 07:52:21 -07:00
bohu 4abbca83a9 am a2eccba1: Bump x86_64 system image size to fix build
* commit 'a2eccba17f2d9f0c6df1885c6a96987f23f0a390':
  Bump x86_64 system image size to fix build
2015-05-26 18:11:40 +00:00
bohu a2eccba17f Bump x86_64 system image size to fix build
Bumped from 1G to 1.25G

Change-Id: I8d04166c43c792030f346cbe6ba9d6889b31359b
2015-05-26 10:40:36 -07:00
Yu Ning 0f54ada1cd Allow goldfish-setup to put the emulator in WiFi-only mode
The goldfish-setup service (essentially /system/etc/init.goldfish.sh)
executes the following commands when certain conditions are met:

 setprop ro.radio.noril yes
 stop ril-daemon

so as to stop the RIL daemon and emulate a WiFi-only device. Both would
fail, though, because goldfish-setup does not have the permissions to
set relevant properties.

This CL modifies the emulator's SELinux policy to grant the necessary
permissions. It is a step towards fixing the ril-daemon-keeps-getting-
killed-and-restarted problem with the new ("ranchu") emulator, which
does not support telephony emulation yet. (The other step is to have
init start goldfish-setup, which will be done in a seperate CL.)

(cherrypicked from commit 33dca8090f)

Change-Id: Ice7e7898804b7353ac4a8c49d871b1b2571d7a5f
Signed-off-by: Yu Ning <yu.ning@intel.com>
2015-05-18 19:46:18 -07:00
William Roberts c434f71bd8 Update device to use set_prop() macro
(cherrypicked from commit cccc901639)

Change-Id: I630ba0178439c935d08062892990d43a3cc1239e
Signed-off-by: William Roberts <william.c.roberts@linux.intel.com>
2015-05-18 19:20:03 -07:00
Nick Kralevich e4ed2db2f5 am 8da1acf8: am c3b58d4a: Merge "Allow goldfish-setup to put the emulator in WiFi-only mode"
* commit '8da1acf8b702665ce7891799cdbc86499533cc54':
  Allow goldfish-setup to put the emulator in WiFi-only mode
2015-05-19 00:50:05 +00:00
Yu Ning 33dca8090f Allow goldfish-setup to put the emulator in WiFi-only mode
The goldfish-setup service (essentially /system/etc/init.goldfish.sh)
executes the following commands when certain conditions are met:

 setprop ro.radio.noril yes
 stop ril-daemon

so as to stop the RIL daemon and emulate a WiFi-only device. Both would
fail, though, because goldfish-setup does not have the permissions to
set relevant properties.

This CL modifies the emulator's SELinux policy to grant the necessary
permissions. It is a step towards fixing the ril-daemon-keeps-getting-
killed-and-restarted problem with the new ("ranchu") emulator, which
does not support telephony emulation yet. (The other step is to have
init start goldfish-setup, which will be done in a seperate CL.)

Change-Id: Ice7e7898804b7353ac4a8c49d871b1b2571d7a5f
Signed-off-by: Yu Ning <yu.ning@intel.com>
2015-05-19 08:22:41 +08:00
Nick Kralevich ae7c835923 am 7b6e1ba2: am 94b4f9a5: Merge "Label /dev/ttyGF* as serial_device"
* commit '7b6e1ba2fa4edb757ff9e1c08deee9edf06fc1cc':
  Label /dev/ttyGF* as serial_device
2015-05-18 17:12:33 +00:00
Yu Ning e9ec053e99 Label /dev/ttyGF* as serial_device
In goldfish kernel 3.10, the goldfish_tty device instantiates virtual
serial ports as /dev/ttyGF* (e.g. /dev/ttyGF0), not as /dev/ttyS* as in
goldfish kernel 3.4. However, in the emulator's SELinux security policy,
there is no specific security context assigned to /dev/ttyGF*, and the
one inherited from /dev (u:object_r:device:s0) prevents services such as
qemud and goldfish-logcat from reading and writing ttyGF*. Consequently,
qemud terminates abnormally on the classic x86_64 emulator:

 init: Service 'qemud' (pid XXX) exited with status 1

Fix this issue by assigning /dev/ttyGF* the same security context as
/dev/ttyS*.

(cherrypicked from commit 4783467922)

Change-Id: Ia7394dc217bd82f566c4d1b7eda3cc8ce3ac612f
Signed-off-by: Yu Ning <yu.ning@intel.com>
2015-05-18 09:55:07 -07:00
Yu Ning 4783467922 Label /dev/ttyGF* as serial_device
In goldfish kernel 3.10, the goldfish_tty device instantiates virtual
serial ports as /dev/ttyGF* (e.g. /dev/ttyGF0), not as /dev/ttyS* as in
goldfish kernel 3.4. However, in the emulator's SELinux security policy,
there is no specific security context assigned to /dev/ttyGF*, and the
one inherited from /dev (u:object_r:device:s0) prevents services such as
qemud and goldfish-logcat from reading and writing ttyGF*. Consequently,
qemud terminates abnormally on the classic x86_64 emulator:

 init: Service 'qemud' (pid XXX) exited with status 1

Fix this issue by assigning /dev/ttyGF* the same security context as
/dev/ttyS*.

Change-Id: Ia7394dc217bd82f566c4d1b7eda3cc8ce3ac612f
Signed-off-by: Yu Ning <yu.ning@intel.com>
2015-05-18 17:19:08 +08:00
Nick Kralevich 05c3f7cee1 am 53df3d67: am e89b6f5d: Merge "Update device to use set_prop() macro"
* commit '53df3d67b22b70dff841b41603945d1ae4221246':
  Update device to use set_prop() macro
2015-05-15 19:46:52 +00:00
Nick Kralevich e89b6f5df1 Merge "Update device to use set_prop() macro" 2015-05-15 19:26:56 +00:00