Microdroid has its own ueventd.rc
So far, Microdroid used ueventd.rc from Android. Although ueventd.rc for
Android has some device nodes that are not relevant to microdroid (e.g.
gpu, input, etc.) but that wasn't harmful. However, we will soon have
/dev/hvc* entries for the virtualized console which is exclusive for
Microdroid.
Forking the file in preparation for the change.
Bug: 200914564
Test: atest MicrodroidHostTestCases
Change-Id: I3d42203f4835b8058249ef0783d0509d693e81e0
diff --git a/microdroid/Android.bp b/microdroid/Android.bp
index 425657f..d0f3b66 100644
--- a/microdroid/Android.bp
+++ b/microdroid/Android.bp
@@ -51,9 +51,9 @@
"init_second_stage",
"microdroid_build_prop",
"microdroid_init_rc",
+ "microdroid_ueventd_rc",
"microdroid_launcher",
- "ueventd.rc",
"libbinder",
"libbinder_ndk",
"libstdc++",
@@ -136,6 +136,13 @@
installable: false, // avoid collision with system partition's init.rc
}
+prebuilt_etc {
+ name: "microdroid_ueventd_rc",
+ filename: "ueventd.rc",
+ src: "ueventd.rc",
+ installable: false, // avoid collision with system partition's ueventd.rc
+}
+
prebuilt_root {
name: "microdroid_build_prop",
filename: "build.prop",
diff --git a/microdroid/ueventd.rc b/microdroid/ueventd.rc
new file mode 100644
index 0000000..3101974
--- /dev/null
+++ b/microdroid/ueventd.rc
@@ -0,0 +1,82 @@
+import /vendor/etc/ueventd.rc
+import /odm/etc/ueventd.rc
+
+firmware_directories /etc/firmware/ /odm/firmware/ /vendor/firmware/ /firmware/image/
+uevent_socket_rcvbuf_size 16M
+
+subsystem graphics
+ devname uevent_devpath
+ dirname /dev/graphics
+
+subsystem drm
+ devname uevent_devpath
+ dirname /dev/dri
+
+subsystem input
+ devname uevent_devpath
+ dirname /dev/input
+
+subsystem sound
+ devname uevent_devpath
+ dirname /dev/snd
+
+subsystem dma_heap
+ devname uevent_devpath
+ dirname /dev/dma_heap
+# ueventd can only set permissions on device nodes and their associated
+# sysfs attributes, not on arbitrary paths.
+#
+# format for /dev rules: devname mode uid gid
+# format for /sys rules: nodename attr mode uid gid
+# shortcut: "mtd@NN" expands to "/dev/mtd/mtdNN"
+
+/dev/null 0666 root root
+/dev/zero 0666 root root
+/dev/full 0666 root root
+/dev/ptmx 0666 root root
+/dev/tty 0666 root root
+/dev/random 0666 root root
+/dev/urandom 0666 root root
+/dev/ashmem* 0666 root root
+/dev/binder 0666 root root
+/dev/hwbinder 0666 root root
+/dev/vndbinder 0666 root root
+
+/dev/pmsg0 0222 root log
+/dev/dma_heap/system 0444 system system
+/dev/dma_heap/system-uncached 0444 system system
+/dev/dma_heap/system-secure 0444 system system
+
+# kms driver for drm based gpu
+/dev/dri/* 0666 root graphics
+
+# these should not be world writable
+/dev/uhid 0660 uhid uhid
+/dev/uinput 0660 uhid uhid
+/dev/rtc0 0640 system system
+/dev/tty0 0660 root system
+/dev/graphics/* 0660 root graphics
+/dev/input/* 0660 root input
+/dev/v4l-touch* 0660 root input
+/dev/snd/* 0660 system audio
+/dev/bus/usb/* 0660 root usb
+/dev/mtp_usb 0660 root mtp
+/dev/usb_accessory 0660 root usb
+/dev/tun 0660 system vpn
+
+# CDMA radio interface MUX
+/dev/ppp 0660 radio vpn
+
+# Virtualization is managed by VirtualizationService.
+/dev/kvm 0600 virtualizationservice root
+/dev/vhost-vsock 0600 virtualizationservice root
+
+# sysfs properties
+/sys/devices/platform/trusty.* trusty_version 0440 root log
+/sys/devices/virtual/input/input* enable 0660 root input
+/sys/devices/virtual/input/input* poll_delay 0660 root input
+/sys/devices/virtual/usb_composite/* enable 0664 root system
+/sys/devices/system/cpu/cpu* cpufreq/scaling_max_freq 0664 system system
+/sys/devices/system/cpu/cpu* cpufreq/scaling_min_freq 0664 system system
+/sys/devices/virtual/misc/uhid/*/leds/* brightness 0664 system system
+/sys/devices/virtual/misc/uhid/*/leds/* multi_intensity 0664 system system