summaryrefslogtreecommitdiff
path: root/extra
diff options
context:
space:
mode:
authorDavid Schneider <dnschneid@chromium.org>2020-04-03 18:22:50 -0700
committerCommit Bot <commit-bot@chromium.org>2020-04-07 21:50:37 +0000
commit09ee5b7820a78ccbdcd7f40a31ab72d91369214c (patch)
treef1d82f36a6cdeba010908cc215af7b9b297633b9 /extra
parent56117231b31c8b88433ce8ffc020c9d797f46a0f (diff)
downloadchrome-ec-09ee5b7820a78ccbdcd7f40a31ab72d91369214c.tar.gz
i2c-pseudo: Add udev rule
This removes the need for servod and iteflash to run as root when run from outside the chroot. BRANCH=none BUG=b:153196340 TEST=ran script outside chroot and confirmed permissions Change-Id: I4bb9230eb4f581ddb3a095fc5fec0f56c7c573eb Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2136338 Reviewed-by: Matthew Blecker <matthewb@chromium.org> Reviewed-by: Mike Frysinger <vapier@chromium.org> Commit-Queue: David Schneider <dnschneid@chromium.org> Tested-by: David Schneider <dnschneid@chromium.org>
Diffstat (limited to 'extra')
-rw-r--r--extra/i2c_pseudo/50-i2c-pseudo.rules1
-rwxr-xr-xextra/i2c_pseudo/install8
2 files changed, 9 insertions, 0 deletions
diff --git a/extra/i2c_pseudo/50-i2c-pseudo.rules b/extra/i2c_pseudo/50-i2c-pseudo.rules
new file mode 100644
index 0000000000..22a4c8daf0
--- /dev/null
+++ b/extra/i2c_pseudo/50-i2c-pseudo.rules
@@ -0,0 +1 @@
+DEVPATH=="/devices/virtual/i2c-pseudo/*", GROUP="plugdev", MODE="0660"
diff --git a/extra/i2c_pseudo/install b/extra/i2c_pseudo/install
index f4fbecedc9..e66dcbd719 100755
--- a/extra/i2c_pseudo/install
+++ b/extra/i2c_pseudo/install
@@ -1,14 +1,22 @@
#!/bin/sh
#
# This attempts to build and install the i2c-pseudo Linux kernel module.
+# Installs a udev rule making i2c-pseudo devices read-write by users in plugdev.
set -e
+cd "$(dirname "$0")"
make clean
make
ret=0
sudo make modules_install || ret="$?"
+# Only install udev rule if plugdev group exists.
+if getent group plugdev > /dev/null; then
+ sudo cp -iv 50-i2c-pseudo.rules /etc/udev/rules.d/ \
+ || echo 1>&2 "NOTICE: Failed to copy udev rules file."
+fi
+
if [ "$ret" -eq 0 ]; then
make clean
sudo depmod -a