Diffstat (limited to 'config.sh')
| -rwxr-xr-x | config.sh | 50 |
1 files changed, 16 insertions, 34 deletions
@@ -436,13 +436,10 @@ fi # Surface Pro 12" customizations #-------------------------------------- -install -Dm644 /tmp/SayaAndy/surface-pro-12-inch-linux-fedora/etc/yum.repos.d/kernel-sp12in.repo \ - /etc/yum.repos.d/kernel-sp12in.repo - # Device tree. kernel-surface compiles the patched dts in-tree and installs the -# result twice: into its own module tree (dtb/qcom, from dtbs_install) and into -# /usr/lib/surface-dtb/<kver>/. The latter is the master copy -# 60-surface-dtb.install re-stages into a kernel that shipped without one, +# result twice: into its own module tree (dtb/qcom, from dtbs_install) and +# version-independently into /usr/lib/surface-dtb. The latter is the master copy +# 60-surface-dtb.install re-stages into each new kernel's module tree on update, # which is the only reason the image no longer carries a prebuilt blob of its # own -- the description installs kernel-surface by name and <ignore>s Fedora's # kernel packages, so the package is always there. @@ -456,12 +453,9 @@ install -Dm644 /tmp/SayaAndy/surface-pro-12-inch-linux-fedora/etc/yum.repos.d/ke # module-tree copy, anything keyed off /usr/lib/modules/$kver/dtb (including the # anaconda post-script) finds nothing and silently does nothing. dtb_name=x1p42100-microsoft-sp12in.dtb -# One directory per kernel version under /usr/lib/surface-dtb: kernel-surface is -# installonly, so nothing it owns can be version-unqualified. Only one release is -# ever installed at this point in the build, but glob anyway rather than assume. -dtb_src=$(ls -1 /usr/lib/surface-dtb/*/"$dtb_name" 2>/dev/null | sort -V | tail -n1) -if [[ -z "$dtb_src" ]]; then - printf 'Error: no %s under /usr/lib/surface-dtb/, so kernel-surface (built from ../kernel-surface) is not installed.\n' "$dtb_name" >&2 +dtb_src="/usr/lib/surface-dtb/$dtb_name" +if [[ ! -f "$dtb_src" ]]; then + printf 'Error: %s is missing, so kernel-surface (built from ../kernel-surface) is not installed.\n' "$dtb_src" >&2 exit 1 fi install -Dm644 "$dtb_src" "/usr/lib/modules/$kver/dtb/qcom/$dtb_name" @@ -644,22 +638,6 @@ install -Dm644 /tmp/SayaAndy/surface-pro-12-inch-linux-fedora/etc/systemd/system # hexagonrpc.service in through the drop-in above. systemctl enable hexagonrpc.service -# Fedora's SELinux policy has no qipcrtr_socket permissions for -# iiosensorproxy_t; the libssc backend needs them to probe the QRTR bus, and -# without them the daemon exits with "No sensors or missing kernel drivers". -# Compile and install the local module that grants them (see the .te for -# details). checkmodule/semodule_package come from checkpolicy; it stays -# installed because removing it takes policycoreutils-python-utils -# (semanage, audit2allow) with it. -dnf install -y checkpolicy -install -Dm644 /tmp/SayaAndy/surface-pro-12-inch-linux-fedora/usr/local/share/selinux/iio-qipcrtr.te \ - /usr/local/share/selinux/iio-qipcrtr.te -checkmodule -M -m -o /usr/local/share/selinux/iio-qipcrtr.mod \ - /usr/local/share/selinux/iio-qipcrtr.te -semodule_package -o /usr/local/share/selinux/iio-qipcrtr.pp \ - -m /usr/local/share/selinux/iio-qipcrtr.mod -semodule -i /usr/local/share/selinux/iio-qipcrtr.pp - # Cameras (msm/camss). Nothing has to be wired up at boot. libcamera's "simple" # pipeline handler claims qcom-camss and builds the media graph itself in # configure(), including flipping the csiphy -> msm_csid0 link between the rear @@ -709,19 +687,23 @@ install -Dm644 /tmp/SayaAndy/surface-pro-12-inch-linux-fedora/etc/systemd/system /etc/systemd/system/surface-video-firmware.service systemctl enable surface-video-firmware.service +# Suspend on Snapdragon is still very unstable. This is the reason why +# 'mem_sleep_default=s2idle' is set explicitly in the cmdline as 'deep' mode +# does not function at all. +# Even then, suspending via gnome settings daemon results in hard freeze. +# This is why: +# logind behavior is kept intact with suspend behavior. +# gnome default power button behavior was replaced with 'interactive'. install -Dm644 /tmp/SayaAndy/surface-pro-12-inch-linux-fedora/etc/systemd/logind.conf.d/60-surface-power-key.conf \ /etc/systemd/logind.conf.d/60-surface-power-key.conf - -# Ambient light sensor seems to go nuts after I fixed iio-sensor-proxy. Turning -# it off for now. -install -Dm644 /tmp/SayaAndy/surface-pro-12-inch-linux-fedora/etc/dconf/db/local.d/00-als \ - /etc/dconf/db/local.d/00-als +install -Dm644 /tmp/SayaAndy/surface-pro-12-inch-linux-fedora/etc/dconf/db/local.d/00-power-button \ + /etc/dconf/db/local.d/00-power-button install -Dm644 /tmp/SayaAndy/surface-pro-12-inch-linux-fedora/etc/dconf/profile/user \ /etc/dconf/profile/user dconf update -restorecon -Rv /usr /lib /etc/systemd /etc/dconf /etc/udev/rules.d /etc/yum.repos.d +restorecon -Rv /usr /lib /etc/systemd /etc/dconf /etc/udev/rules.d #====================================== # Set the WSL name for ELN |