image completeness: fp6-no-suspend + imsd boot enablement
Two device-critical pieces previously applied only by the dev restore script: masked sleep targets (idle-suspend resets the WCN combo firmware and kills wifi ~40min - a device defect, not personalization) and imsd enabled at boot, gated on /etc/imsd.env existing so unconfigured systems don't boot a failing unit. A stranger now needs exactly: flash, wifi via UI, write imsd.env, restart imsd. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
parent
283996b507
commit
05cd1084b7
5 changed files with 40 additions and 2 deletions
21
aports/device/fp6-no-suspend/APKBUILD
Normal file
21
aports/device/fp6-no-suspend/APKBUILD
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
# The FP6's wifi and BT share the WCN combo chip; systemd idle-suspend (and
|
||||
# BT-off) resets the shared firmware and kills wifi for ~40 minutes. Mask
|
||||
# the sleep targets declaratively - shipped as /dev/null symlinks, the same
|
||||
# state 'systemctl mask' produces.
|
||||
maintainer="Jorijn van der Graaf <jorijnvdgraaf@catcrafts.net>"
|
||||
pkgname=fp6-no-suspend
|
||||
pkgver=1
|
||||
pkgrel=0
|
||||
pkgdesc="Mask systemd sleep targets (suspend kills wifi on the FP6)"
|
||||
url="https://forgejo.catcrafts.net/Catcrafts/fp6-img"
|
||||
arch="noarch"
|
||||
license="MIT"
|
||||
options="!check"
|
||||
|
||||
package() {
|
||||
for t in sleep suspend hibernate hybrid-sleep; do
|
||||
mkdir -p "$pkgdir/etc/systemd/system"
|
||||
ln -s /dev/null "$pkgdir/etc/systemd/system/$t.target"
|
||||
done
|
||||
}
|
||||
sha512sums=""
|
||||
1
aports/modem/imsd/80-imsd.preset
Normal file
1
aports/modem/imsd/80-imsd.preset
Normal file
|
|
@ -0,0 +1 @@
|
|||
enable imsd.service
|
||||
|
|
@ -31,6 +31,7 @@ _commit="REPLACED_BY_CI"
|
|||
source="
|
||||
imsd-$_commit.tar.gz
|
||||
org.kde.modem.daemon.desktop
|
||||
80-imsd.preset
|
||||
"
|
||||
builddir="$srcdir/$pkgname"
|
||||
|
||||
|
|
@ -46,6 +47,18 @@ package() {
|
|||
make install DESTDIR="$pkgdir"
|
||||
install -Dm644 "$srcdir"/org.kde.modem.daemon.desktop \
|
||||
"$pkgdir"/etc/skel/.config/autostart/org.kde.modem.daemon.desktop
|
||||
# enabled by preset: the unit is a no-op until /etc/imsd.env exists, and
|
||||
# VoLTE surviving reboots must not depend on a manual systemctl enable
|
||||
install -Dm644 "$srcdir"/80-imsd.preset \
|
||||
"$pkgdir"/usr/lib/systemd/system-preset/80-imsd.preset
|
||||
mkdir -p "$pkgdir"/etc/systemd/system/multi-user.target.wants
|
||||
ln -s /usr/lib/systemd/system/imsd.service \
|
||||
"$pkgdir"/etc/systemd/system/multi-user.target.wants/imsd.service
|
||||
# ...but only actually start once the carrier config exists, so
|
||||
# unconfigured systems don't boot into a failing unit
|
||||
mkdir -p "$pkgdir"/usr/lib/systemd/system/imsd.service.d
|
||||
printf '[Unit]\nConditionPathExists=/etc/imsd.env\n' \
|
||||
> "$pkgdir"/usr/lib/systemd/system/imsd.service.d/10-require-config.conf
|
||||
}
|
||||
|
||||
systemd() {
|
||||
|
|
@ -57,4 +70,5 @@ systemd() {
|
|||
sha512sums="
|
||||
REPLACED_BY_CI imsd-REPLACED_BY_CI.tar.gz
|
||||
REPLACED_BY_CI org.kde.modem.daemon.desktop
|
||||
REPLACED_BY_CI 80-imsd.preset
|
||||
"
|
||||
|
|
|
|||
Loading…
Reference in a new issue