Diffstat (limited to 'root/tmp')
| -rw-r--r-- | root/tmp/SayaAndy/surface-pro-12-inch-linux-fedora/etc/dconf/db/local.d/00-als (renamed from root/tmp/SayaAndy/surface-pro-12-inch-linux-fedora/etc/dconf/db/local.d/00-power-button) | 2 | ||||
| -rw-r--r-- | root/tmp/SayaAndy/surface-pro-12-inch-linux-fedora/etc/systemd/system/hexagonrpc.service | 2 | ||||
| -rw-r--r-- | root/tmp/SayaAndy/surface-pro-12-inch-linux-fedora/etc/udev/rules.d/61-sensors-surface-pro-12-inch.rules | 3 | ||||
| -rw-r--r-- | root/tmp/SayaAndy/surface-pro-12-inch-linux-fedora/etc/yum.repos.d/kernel-sp12in.repo | 7 | ||||
| -rw-r--r-- | root/tmp/SayaAndy/surface-pro-12-inch-linux-fedora/usr/lib/kernel/install.d/60-surface-dtb.install | 31 | ||||
| -rw-r--r-- | root/tmp/SayaAndy/surface-pro-12-inch-linux-fedora/usr/lib/kernel/install.d/95-surface-dtb-patch.install | 5 | ||||
| -rw-r--r-- | root/tmp/SayaAndy/surface-pro-12-inch-linux-fedora/usr/local/share/selinux/iio-qipcrtr.te | 19 |
7 files changed, 52 insertions, 17 deletions
diff --git a/root/tmp/SayaAndy/surface-pro-12-inch-linux-fedora/etc/dconf/db/local.d/00-power-button b/root/tmp/SayaAndy/surface-pro-12-inch-linux-fedora/etc/dconf/db/local.d/00-als index 1b69eab..ae14928 100644 --- a/root/tmp/SayaAndy/surface-pro-12-inch-linux-fedora/etc/dconf/db/local.d/00-power-button +++ b/root/tmp/SayaAndy/surface-pro-12-inch-linux-fedora/etc/dconf/db/local.d/00-als @@ -1,2 +1,2 @@ [org/gnome/settings-daemon/plugins/power] -power-button-action='interactive' +ambient-enabled=false diff --git a/root/tmp/SayaAndy/surface-pro-12-inch-linux-fedora/etc/systemd/system/hexagonrpc.service b/root/tmp/SayaAndy/surface-pro-12-inch-linux-fedora/etc/systemd/system/hexagonrpc.service index 2e3cf82..221c28b 100644 --- a/root/tmp/SayaAndy/surface-pro-12-inch-linux-fedora/etc/systemd/system/hexagonrpc.service +++ b/root/tmp/SayaAndy/surface-pro-12-inch-linux-fedora/etc/systemd/system/hexagonrpc.service @@ -2,7 +2,7 @@ Description=HexagonRPC Service [Service] -ExecStart=/usr/local/bin/hexagonrpcd -f /dev/fastrpc-adsp-secure -s +ExecStart=/usr/local/bin/hexagonrpcd -f /dev/fastrpc-adsp -d adsp -s Restart=on-failure [Install] diff --git a/root/tmp/SayaAndy/surface-pro-12-inch-linux-fedora/etc/udev/rules.d/61-sensors-surface-pro-12-inch.rules b/root/tmp/SayaAndy/surface-pro-12-inch-linux-fedora/etc/udev/rules.d/61-sensors-surface-pro-12-inch.rules index e6ddb1f..064ff05 100644 --- a/root/tmp/SayaAndy/surface-pro-12-inch-linux-fedora/etc/udev/rules.d/61-sensors-surface-pro-12-inch.rules +++ b/root/tmp/SayaAndy/surface-pro-12-inch-linux-fedora/etc/udev/rules.d/61-sensors-surface-pro-12-inch.rules @@ -1 +1,2 @@ -ACTION=="add|change", SUBSYSTEM=="misc", KERNEL=="fastrpc-adsp-secure", ENV{ACCEL_MOUNT_MATRIX}="-1, 0, 0; 0, -1, 0; 0, 0, 1" +ACTION=="add|change", SUBSYSTEM=="misc", KERNEL=="fastrpc-adsp*", ENV{ACCEL_MOUNT_MATRIX}="-1, 0, 0; 0, -1, 0; 0, 0, 1" +SUBSYSTEM=="misc", KERNEL=="fastrpc-adsp*", ENV{IIO_SENSOR_PROXY_TYPE}+="ssc-accel" diff --git a/root/tmp/SayaAndy/surface-pro-12-inch-linux-fedora/etc/yum.repos.d/kernel-sp12in.repo b/root/tmp/SayaAndy/surface-pro-12-inch-linux-fedora/etc/yum.repos.d/kernel-sp12in.repo new file mode 100644 index 0000000..24fe9f3 --- /dev/null +++ b/root/tmp/SayaAndy/surface-pro-12-inch-linux-fedora/etc/yum.repos.d/kernel-sp12in.repo @@ -0,0 +1,7 @@ +[kernel-sp12in] +name=kernel-sp12in for Fedora $releasever - $basearch +baseurl=https://rpm.sayag.it/kernel-sp12in/fedora/$releasever/$basearch/ +enabled=1 +priority=1 +gpgcheck=0 +metadata_expire=6h diff --git a/root/tmp/SayaAndy/surface-pro-12-inch-linux-fedora/usr/lib/kernel/install.d/60-surface-dtb.install b/root/tmp/SayaAndy/surface-pro-12-inch-linux-fedora/usr/lib/kernel/install.d/60-surface-dtb.install index 2dadac5..7622406 100644 --- a/root/tmp/SayaAndy/surface-pro-12-inch-linux-fedora/usr/lib/kernel/install.d/60-surface-dtb.install +++ b/root/tmp/SayaAndy/surface-pro-12-inch-linux-fedora/usr/lib/kernel/install.d/60-surface-dtb.install @@ -8,23 +8,30 @@ KVER="$2" DTB_NAME=x1p42100-microsoft-sp12in.dtb DEST="/usr/lib/modules/${KVER}/dtb/qcom/${DTB_NAME}" -# The master copy comes from kernel-surface: it builds the dtb in-tree from the +# The master copies come from kernel-surface: it builds the dtb in-tree from the # patched dts and installs it under /usr/lib/surface-dtb, deliberately outside -# any /usr/lib/modules/<kver>, so it can be re-staged into any kernel installed -# alongside it. -SRC="/usr/lib/surface-dtb/${DTB_NAME}" -[ -f "${SRC}" ] || SRC="" +# any /usr/lib/modules/<kver>, so it can be re-staged into a kernel that ships +# no device tree of its own -- a stock Fedora one. +# +# One directory per kernel version, because kernel-surface is installonly and +# rpm will not let two installed releases own one unqualified path once the file +# differs. They are all the same board, so the highest version is as good a +# choice as any, and is the one most likely to carry recent fixes. +SRC=$(ls -1 /usr/lib/surface-dtb/*/"${DTB_NAME}" 2>/dev/null | sort -V | tail -n1) case "${COMMAND}" in add) - # No master and no dtb already in this kernel's tree means there is - # nothing this board can boot with, so say so rather than failing - # silently three steps later in the boot loader. + # kernel-surface ships its own dtb through dtbs_install, and that + # one is the release-matched copy. Leave it alone; the master is + # only for kernels that arrived without one. + if [ -f "${DEST}" ]; then + exit 0 + fi + # Neither means there is nothing this board can boot with, so say + # so rather than failing silently three steps later in the boot + # loader. if [ -z "${SRC}" ]; then - if [ -f "${DEST}" ]; then - exit 0 - fi - echo "60-surface-dtb: no ${DTB_NAME} in /usr/lib/surface-dtb" >&2 + echo "60-surface-dtb: no ${DTB_NAME} under /usr/lib/surface-dtb" >&2 exit 1 fi mkdir -p "$(dirname ${DEST})" diff --git a/root/tmp/SayaAndy/surface-pro-12-inch-linux-fedora/usr/lib/kernel/install.d/95-surface-dtb-patch.install b/root/tmp/SayaAndy/surface-pro-12-inch-linux-fedora/usr/lib/kernel/install.d/95-surface-dtb-patch.install index f0314b0..65b8745 100644 --- a/root/tmp/SayaAndy/surface-pro-12-inch-linux-fedora/usr/lib/kernel/install.d/95-surface-dtb-patch.install +++ b/root/tmp/SayaAndy/surface-pro-12-inch-linux-fedora/usr/lib/kernel/install.d/95-surface-dtb-patch.install @@ -38,9 +38,10 @@ BOOT_ROOT="${KERNEL_INSTALL_BOOT_ROOT:-/boot}" # (or was removed). DTB_SRC="/usr/lib/modules/${KVER}/dtb/${DTB_REL}" if [ ! -f "$DTB_SRC" ]; then - DTB_SRC="/usr/lib/surface-dtb/$DTB_NAME" + # One directory per kernel version under here; see 60-surface-dtb.install. + DTB_SRC=$(ls -1 /usr/lib/surface-dtb/*/"$DTB_NAME" 2>/dev/null | sort -V | tail -n1) fi -[ -f "$DTB_SRC" ] || exit 0 +[ -n "$DTB_SRC" ] && [ -f "$DTB_SRC" ] || exit 0 # The boot loader reads the dtb from the boot filesystem, not the module tree install -Dm644 "$DTB_SRC" "${BOOT_ROOT}/dtb-${KVER}/${DTB_REL}" diff --git a/root/tmp/SayaAndy/surface-pro-12-inch-linux-fedora/usr/local/share/selinux/iio-qipcrtr.te b/root/tmp/SayaAndy/surface-pro-12-inch-linux-fedora/usr/local/share/selinux/iio-qipcrtr.te new file mode 100644 index 0000000..b3be8fb --- /dev/null +++ b/root/tmp/SayaAndy/surface-pro-12-inch-linux-fedora/usr/local/share/selinux/iio-qipcrtr.te @@ -0,0 +1,19 @@ +module iio-qipcrtr 1.0; + +# Fedora's policy grants iiosensorproxy_t no qipcrtr_socket permissions at +# all: the class exists but nothing allows it, because upstream +# iio-sensor-proxy talks to sensors over IIO and never needed QRTR. The SSC +# backend libssc brings in here reaches the Qualcomm Sensor Core over the +# QRTR bus (libssc probes AF_QIPCRTR first; the fastrpc/hexagonrpcd path is +# what actually serves this board, but the probe alone gets the daemon +# killed by "QRTR bus unavailable" + "No sensors" without these perms). +# +# Hand-written rather than audit2allow'd per-incident: create/bind/... is +# the full client lifecycle, so a policy reload or libssc update cannot +# surface a new denied perm one at a time. +require { + type iiosensorproxy_t; + class qipcrtr_socket { create bind connect read write getattr setattr getopt setopt shutdown }; +} + +allow iiosensorproxy_t self:qipcrtr_socket { create bind connect read write getattr setattr getopt setopt shutdown }; |