Add support for WiFi in emulator
am: 127395fc8f
Change-Id: I05bff54a221536812e757c09a156c8b3be8f3af4
This commit is contained in:
20
target/board/generic/sepolicy/execns.te
Normal file
20
target/board/generic/sepolicy/execns.te
Normal file
@@ -0,0 +1,20 @@
|
||||
# Network namespace transitions
|
||||
type execns, domain, domain_deprecated;
|
||||
type execns_exec, exec_type, file_type;
|
||||
|
||||
init_daemon_domain(execns)
|
||||
|
||||
allow execns varrun_file:dir search;
|
||||
allow execns self:capability sys_admin;
|
||||
|
||||
#Allow execns itself to be run by init in its own domain
|
||||
domain_auto_trans(init, execns_exec, execns);
|
||||
|
||||
# Allow hostapd to be run by execns in its own domain
|
||||
domain_auto_trans(execns, hostapd_exec, hostapd);
|
||||
allow hostapd execns:fd use;
|
||||
|
||||
# Allow dnsmasq to be run by execns in its own domain
|
||||
domain_auto_trans(execns, dnsmasq_exec, dnsmasq);
|
||||
allow dnsmasq execns:fd use;
|
||||
|
@@ -1 +1,3 @@
|
||||
type sysfs_writable, fs_type, sysfs_type, mlstrustedobject;
|
||||
type varrun_file, file_type, data_file_type, mlstrustedobject;
|
||||
type mediadrm_vendor_data_file, file_type, data_file_type;
|
||||
|
@@ -18,6 +18,8 @@
|
||||
/vendor/bin/init\.ranchu-core\.sh u:object_r:goldfish_setup_exec:s0
|
||||
/vendor/bin/init\.ranchu-net\.sh u:object_r:goldfish_setup_exec:s0
|
||||
/vendor/bin/qemu-props u:object_r:qemu_props_exec:s0
|
||||
/system/bin/execns u:object_r:execns_exec:s0
|
||||
/system/bin/ipv6proxy u:object_r:ipv6proxy_exec:s0
|
||||
|
||||
/vendor/bin/hw/android\.hardware\.drm@1\.0-service\.widevine u:object_r:hal_drm_widevine_exec:s0
|
||||
|
||||
@@ -36,4 +38,5 @@
|
||||
|
||||
# data
|
||||
/data/vendor/mediadrm(/.*)? u:object_r:mediadrm_vendor_data_file:s0
|
||||
/data/var/run(/.*)? u:object_r:varrun_file:s0
|
||||
|
||||
|
@@ -11,3 +11,15 @@ allow goldfish_setup vendor_toolbox_exec:file execute_no_trans;
|
||||
allowxperm goldfish_setup self:udp_socket ioctl priv_sock_ioctls;
|
||||
wakelock_use(goldfish_setup);
|
||||
allow goldfish_setup vendor_shell_exec:file { rx_file_perms };
|
||||
|
||||
# Set system properties to start services
|
||||
set_prop(goldfish_setup, ctl_default_prop);
|
||||
|
||||
# Set up WiFi
|
||||
allow goldfish_setup self:netlink_route_socket nlmsg_write;
|
||||
allow goldfish_setup self:netlink_socket create_socket_perms;
|
||||
allow goldfish_setup self:capability { sys_module sys_admin };
|
||||
allow goldfish_setup varrun_file:dir { mounton write add_name search remove_name };
|
||||
allow goldfish_setup varrun_file:file { mounton getattr create read write open unlink };
|
||||
allow goldfish_setup execns_exec:file rx_file_perms;
|
||||
allow goldfish_setup proc_net:file w_file_perms;
|
||||
|
15
target/board/generic/sepolicy/ipv6proxy.te
Normal file
15
target/board/generic/sepolicy/ipv6proxy.te
Normal file
@@ -0,0 +1,15 @@
|
||||
# IPv6 proxying
|
||||
type ipv6proxy, domain, domain_deprecated;
|
||||
type ipv6proxy_exec, exec_type, file_type;
|
||||
|
||||
init_daemon_domain(ipv6proxy)
|
||||
net_domain(ipv6proxy)
|
||||
|
||||
# Allow ipv6proxy to be run by execns in its own domain
|
||||
domain_auto_trans(execns, ipv6proxy_exec, ipv6proxy);
|
||||
allow ipv6proxy execns:fd use;
|
||||
|
||||
allow ipv6proxy self:capability { sys_admin sys_module net_admin net_raw };
|
||||
allow ipv6proxy self:packet_socket { bind create read };
|
||||
allow ipv6proxy self:netlink_route_socket nlmsg_write;
|
||||
allow ipv6proxy varrun_file:dir search;
|
@@ -67,3 +67,14 @@ BOARD_VNDK_VERSION := current
|
||||
# Enable A/B update
|
||||
TARGET_NO_RECOVERY := true
|
||||
BOARD_BUILD_SYSTEM_ROOT_IMAGE := true
|
||||
|
||||
# Wifi.
|
||||
BOARD_WLAN_DEVICE := wlan0
|
||||
BOARD_HOSTAPD_DRIVER := NL80211
|
||||
BOARD_WPA_SUPPLICANT_DRIVER := NL80211
|
||||
BOARD_HOSTAPD_PRIVATE_LIB := lib_driver_cmd_simulated
|
||||
BOARD_WPA_SUPPLICANT_PRIVATE_LIB := lib_driver_cmd_simulated
|
||||
WPA_SUPPLICANT_VERSION := VER_0_8_X
|
||||
WIFI_DRIVER_FW_PATH_PARAM := "/dev/null"
|
||||
WIFI_DRIVER_FW_PATH_STA := "/dev/null"
|
||||
WIFI_DRIVER_FW_PATH_AP := "/dev/null"
|
||||
|
@@ -116,9 +116,19 @@ PRODUCT_PACKAGES += \
|
||||
PRODUCT_PACKAGES += \
|
||||
vndk-sp
|
||||
|
||||
# WiFi
|
||||
PRODUCT_PACKAGES += \
|
||||
execns \
|
||||
hostapd \
|
||||
ip \
|
||||
ipv6proxy \
|
||||
iw \
|
||||
wpa_supplicant \
|
||||
|
||||
PRODUCT_COPY_FILES += \
|
||||
device/generic/goldfish/init.ranchu-core.sh:$(TARGET_COPY_OUT_VENDOR)/bin/init.ranchu-core.sh \
|
||||
device/generic/goldfish/init.ranchu-net.sh:$(TARGET_COPY_OUT_VENDOR)/bin/init.ranchu-net.sh \
|
||||
device/generic/goldfish/wifi/init.wifi.sh:$(TARGET_COPY_OUT_VENDOR)/bin/init.wifi.sh \
|
||||
device/generic/goldfish/init.ranchu.rc:root/init.ranchu.rc \
|
||||
device/generic/goldfish/fstab.ranchu:root/fstab.ranchu \
|
||||
device/generic/goldfish/fstab.ranchu.early:root/fstab.ranchu.early \
|
||||
@@ -127,6 +137,8 @@ PRODUCT_COPY_FILES += \
|
||||
device/generic/goldfish/manifest.xml:$(TARGET_COPY_OUT_VENDOR)/manifest.xml \
|
||||
device/generic/goldfish/data/etc/permissions/privapp-permissions-goldfish.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/privapp-permissions-goldfish.xml \
|
||||
device/generic/goldfish/data/etc/config.ini:config.ini \
|
||||
device/generic/goldfish/wifi/simulated_hostapd.conf:system/etc/simulated_hostapd.conf \
|
||||
device/generic/goldfish/wifi/wpa_supplicant.conf:data/misc/wifi/wpa_supplicant.conf \
|
||||
frameworks/native/data/etc/android.hardware.wifi.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.xml
|
||||
|
||||
PRODUCT_PACKAGE_OVERLAYS := device/generic/goldfish/overlay
|
||||
|
@@ -44,7 +44,7 @@ PRODUCT_PACKAGES := \
|
||||
SysuiDarkThemeOverlay \
|
||||
EasterEgg \
|
||||
WallpaperPicker \
|
||||
WidgetPreview
|
||||
WidgetPreview \
|
||||
|
||||
# Define the host tools and libs that are parts of the SDK.
|
||||
-include sdk/build/product_sdk.mk
|
||||
|
Reference in New Issue
Block a user