rm the rest

This commit is contained in:
Adeeb Shihadeh
2026-05-02 14:25:00 -07:00
parent 2791e7f997
commit 85f25e902f
11 changed files with 129 additions and 26 deletions
@@ -1,5 +0,0 @@
KERNEL=="binder", MODE="0666"
KERNEL=="log_main", SUBSYSTEM=="misc", NAME="log/main", MODE="0644"
KERNEL=="log_radio", SUBSYSTEM=="misc", NAME="log/radio", MODE="0644"
KERNEL=="log_system", SUBSYSTEM=="misc", NAME="log/system", MODE="0644"
KERNEL=="log_events", SUBSYSTEM=="misc", NAME="log/events", MODE="0644"
@@ -1,2 +0,0 @@
ACTION=="add|change", KERNEL=="event[0-9]*", ENV{ID_SEAT}="seat0"
SUBSYSTEM=="input", MODE="666"
@@ -1,10 +0,0 @@
ACTION=="add", SUBSYSTEM=="backlight", KERNEL=="panel0-backlight", RUN+="/bin/chgrp video /sys/class/backlight/%k/brightness"
ACTION=="add", SUBSYSTEM=="backlight", KERNEL=="panel0-backlight", RUN+="/bin/chmod g+w /sys/class/backlight/%k/brightness"
ACTION=="add", SUBSYSTEM=="backlight", KERNEL=="panel0-backlight", RUN+="/bin/chgrp video /sys/class/backlight/%k/bl_power"
ACTION=="add", SUBSYSTEM=="backlight", KERNEL=="panel0-backlight", RUN+="/bin/chmod g+w /sys/class/backlight/%k/bl_power"
ACTION=="add", SUBSYSTEM=="platform", KERNEL=="soc:qcom,dsi-display@0", RUN+="/bin/chgrp video /sys/devices/platform/soc/%k/max_brightness_percent"
ACTION=="add", SUBSYSTEM=="platform", KERNEL=="soc:qcom,dsi-display@0", RUN+="/bin/chmod g+w /sys/devices/platform/soc/%k/max_brightness_percent"
ACTION=="add", SUBSYSTEM=="leds", KERNEL=="led:torch_2", RUN+="/bin/chgrp video /sys/class/leds/%k/brightness"
ACTION=="add", SUBSYSTEM=="leds", KERNEL=="led:torch_2", RUN+="/bin/chmod g+w /sys/class/leds/%k/brightness"
ACTION=="add", SUBSYSTEM=="leds", KERNEL=="led:switch_2", RUN+="/bin/chgrp video /sys/class/leds/%k/brightness"
ACTION=="add", SUBSYSTEM=="leds", KERNEL=="led:switch_2", RUN+="/bin/chmod g+w /sys/class/leds/%k/brightness"
@@ -1,3 +0,0 @@
KERNEL=="kgsl-3d0", GROUP="gpu", MODE="0660"
KERNEL=="ion", GROUP="gpu", MODE="0660"
SUBSYSTEM=="drm", GROUP="gpu", MODE="0660"
@@ -1 +0,0 @@
KERNEL=="i2c-[0-9]*", GROUP="gpio", MODE="0660"
@@ -1,4 +0,0 @@
SUBSYSTEM=="usb", ATTRS{idVendor}=="bbaa", ATTRS{idProduct}=="ddee", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="bbaa", ATTRS{idProduct}=="ddcc", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="0483", ATTRS{idProduct}=="df11", MODE="0666"
SUBSYSTEM=="spidev", MODE="0666"
@@ -5,7 +5,7 @@ DefaultDependencies=no
[Service]
Type=oneshot
ExecStart=/usr/comma/fs_setup.sh
ExecStart=/usr/comma/boot/fs_setup.sh
[Install]
WantedBy=multi-user.target
@@ -0,0 +1,11 @@
[Unit]
Description=Device permissions
After=fs_setup.service
Before=comma.service
[Service]
Type=oneshot
ExecStart=/usr/comma/boot/permissions.sh
[Install]
WantedBy=multi-user.target
+116
View File
@@ -0,0 +1,116 @@
#!/bin/bash
set -e
PATH=/usr/sbin:/usr/bin:/sbin:/bin
shopt -s nullglob
log() {
echo "permissions[$$]: $(cut -d' ' -f1 /proc/uptime) $*" > /dev/kmsg
}
set_mode() {
local mode="$1"
shift
for path in "$@"; do
if [[ -e "$path" ]]; then
chmod "$mode" "$path"
fi
done
}
set_group_mode() {
local group="$1"
local mode="$2"
shift 2
for path in "$@"; do
if [[ -e "$path" ]]; then
chgrp "$group" "$path"
chmod "$mode" "$path"
fi
done
}
set_group_writable() {
local group="$1"
shift
for path in "$@"; do
if [[ -e "$path" ]]; then
chgrp "$group" "$path"
chmod g+w "$path"
fi
done
}
set_usb_mode() {
local vendor="$1"
local product="$2"
local mode="$3"
local devdir devnode
for devdir in /sys/bus/usb/devices/*; do
[[ -f "$devdir/idVendor" && -f "$devdir/idProduct" ]] || continue
[[ "$(< "$devdir/idVendor")" == "$vendor" ]] || continue
[[ "$(< "$devdir/idProduct")" == "$product" ]] || continue
[[ -f "$devdir/busnum" && -f "$devdir/devnum" ]] || continue
printf -v devnode "/dev/bus/usb/%03d/%03d" "$(< "$devdir/busnum")" "$(< "$devdir/devnum")"
if [[ -e "$devnode" ]]; then
chmod "$mode" "$devnode"
else
log "missing $devnode for usb $vendor:$product"
fi
done
}
create_touch_input_link() {
local event name
mkdir -p /dev/input/by-path
for event in /sys/class/input/event*; do
[[ -f "$event/device/name" ]] || continue
name="$(< "$event/device/name")"
if [[ "$name" == "fts_ts" ]]; then
ln -sf "../$(basename "$event")" /dev/input/by-path/platform-894000.i2c-event
return 0
fi
done
log "missing fts_ts input event"
}
log "start"
# 50-log.rules
set_mode 666 /dev/binder
set_mode 644 /dev/log_main /dev/log_radio /dev/log_system /dev/log_events
# 93-input.rules plus the by-path link openpilot uses.
set_mode 666 /dev/input/event* /dev/input/mice /dev/input/mouse*
create_touch_input_link
# 94-backlight.rules
set_group_writable video \
/sys/class/backlight/panel0-backlight/brightness \
/sys/class/backlight/panel0-backlight/bl_power \
/sys/devices/platform/soc/soc:qcom,dsi-display@0/max_brightness_percent \
/sys/class/leds/led:torch_2/brightness \
/sys/class/leds/led:switch_2/brightness
# 95-gpu.rules
set_group_mode gpu 660 /dev/kgsl-3d0 /dev/ion /dev/dri/card* /dev/dri/controlD* /dev/dri/renderD*
# 96-i2c.rules
set_group_mode gpio 660 /dev/i2c-[0-9]*
# 98-panda.rules
set_usb_mode bbaa ddee 666
set_usb_mode bbaa ddcc 666
set_usb_mode 0483 df11 666
set_mode 666 /dev/spidev*
log "done"
+1
View File
@@ -2,6 +2,7 @@
# Enable our services
systemctl enable fs_setup.service
systemctl enable permissions.service
systemctl enable serial-hostname.service
systemctl enable comma.service
systemctl enable agnos-debug.service