diff --git a/device.mk b/device.mk index c555d6a963cf27b4b6219ad6a52f95fbe8259497..e8482a36e2f5fa629f51f3deea0f85f7f9c140b1 100644 --- a/device.mk +++ b/device.mk @@ -57,6 +57,9 @@ PRODUCT_COPY_FILES += \ $(LOCAL_PATH)/idc/uinput-fpc.idc:$(TARGET_COPY_OUT_VENDOR)/usr/idc/uinput-fpc.idc # Init +PRODUCT_COPY_FILES += \ + $(LOCAL_PATH)/rootdir/etc/init.sys.beckham.rc:$(TARGET_COPY_OUT_SYSTEM)/etc/init/init.sys.beckham.rc + PRODUCT_PACKAGES += \ init.beckham.rc \ init.gbmods.sh diff --git a/rootdir/etc/init.sys.beckham.rc b/rootdir/etc/init.sys.beckham.rc new file mode 100644 index 0000000000000000000000000000000000000000..e8f32ba14e565cffd285bb6a2203d1465a6bded7 --- /dev/null +++ b/rootdir/etc/init.sys.beckham.rc @@ -0,0 +1,3 @@ +on post-fs-data + # Greybus firmware directory + mkdir /data/gbfirmware 0770 oem_5020 oem_5020 diff --git a/sepolicy-mods/private/file_contexts b/sepolicy-mods/private/file_contexts new file mode 100644 index 0000000000000000000000000000000000000000..58c36da319b9ac2caf060f68b58ebb6caeef1537 --- /dev/null +++ b/sepolicy-mods/private/file_contexts @@ -0,0 +1,2 @@ +# Greybus firmware +/data/gbfirmware(/.*)? u:object_r:greybus_fw_data_file:s0 diff --git a/sepolicy-mods/public/file.te b/sepolicy-mods/public/file.te new file mode 100644 index 0000000000000000000000000000000000000000..39de06d58eee4da2fd57a49ecfc0d7acbb4cec95 --- /dev/null +++ b/sepolicy-mods/public/file.te @@ -0,0 +1,2 @@ +# Greybus firmware +type greybus_fw_data_file, file_type, core_data_file_type, data_file_type, mlstrustedobject; diff --git a/sepolicy-mods/vendor/file.te b/sepolicy-mods/vendor/file.te index c462dbdc47f10da567ff6fb707b3f7a44569316e..199f6fa0bd9b0fb14164c73933a5d5962b5cc954 100644 --- a/sepolicy-mods/vendor/file.te +++ b/sepolicy-mods/vendor/file.te @@ -1,4 +1,3 @@ # Greybus type sysfs_greybus, fs_type, sysfs_type, mlstrustedobject; -type gbfirmware_file, file_type, core_data_file_type, data_file_type, mlstrustedobject; type sysfs_mods_camd, fs_type, sysfs_type, mlstrustedobject; diff --git a/sepolicy-mods/vendor/file_contexts b/sepolicy-mods/vendor/file_contexts index d615a59f9c0a7276ba023d2ed85513471c4b0fa4..a28629127f03ee3dad2cbaae452d63b397d3eb47 100644 --- a/sepolicy-mods/vendor/file_contexts +++ b/sepolicy-mods/vendor/file_contexts @@ -3,7 +3,6 @@ /(vendor|system/vendor)/lib(64)?/libmodmanager\.so u:object_r:same_process_hal_file:s0 # Greybus (Mods) -/data/gbfirmware(/.*)? u:object_r:gbfirmware_file:s0 /dev/gbraw[0-9]* u:object_r:greybus_raw_device:s0 /sys/bus/greybus(/.*)? u:object_r:sysfs_greybus:s0 /sys/class/i2c-adapter/i2c-7/7-002d/enable u:object_r:sysfs_greybus:s0 diff --git a/sepolicy-mods/vendor/mods_app.te b/sepolicy-mods/vendor/mods_app.te index 44672ea508101e062895fe99e91a8c60083d8145..fe83f6ad3d159f58ca0d0a1db97e4134b6d888ea 100644 --- a/sepolicy-mods/vendor/mods_app.te +++ b/sepolicy-mods/vendor/mods_app.te @@ -1,8 +1,8 @@ allow mods_app ion_device:chr_file { open read }; allow mods_app self:netlink_kobject_uevent_socket { bind create read setopt }; -allow mods_app gbfirmware_file:dir create_dir_perms; -allow mods_app gbfirmware_file:file create_file_perms; +allow mods_app greybus_fw_data_file:dir create_dir_perms; +allow mods_app greybus_fw_data_file:file create_file_perms; allow mods_app greybus_raw_device:chr_file open; allow mods_app audioserver_service:service_manager find; diff --git a/sepolicy-mods/vendor/platform_app.te b/sepolicy-mods/vendor/platform_app.te index 14b1ccd3f1dc2fa6e74bb40c906082f57da681d6..d5f3d7204c1c888832729a36b5f801cf15eabccb 100644 --- a/sepolicy-mods/vendor/platform_app.te +++ b/sepolicy-mods/vendor/platform_app.te @@ -16,6 +16,6 @@ allow platform_app sysfs_greybus:file rw_file_perms; allow platform_app sysfs_greybus:lnk_file r_file_perms; allow platform_app sysfs_mods_camd:file rw_file_perms; allow platform_app sysfs_mods_camd:dir r_dir_perms; -allow platform_app gbfirmware_file:dir create_dir_perms; -allow platform_app gbfirmware_file:file create_file_perms; +allow platform_app greybus_fw_data_file:dir create_dir_perms; +allow platform_app greybus_fw_data_file:file create_file_perms; diff --git a/sepolicy-mods/vendor/ueventd.te b/sepolicy-mods/vendor/ueventd.te new file mode 100644 index 0000000000000000000000000000000000000000..9c9d488e818a34d68b983d8c98801585eae5f88e --- /dev/null +++ b/sepolicy-mods/vendor/ueventd.te @@ -0,0 +1,3 @@ +# Greybus firmware +allow ueventd greybus_fw_data_file:dir search; +allow ueventd greybus_fw_data_file:file r_file_perms;