File mobile-helpers-start.sh of Package pocof1beryllium-helpers
#!/bin/sh
systemctl disable mobile-helpers-boot.service
plymouth display-message --text="Executing first boot script"
# Import mobile repos
echo "Importing repository keys"
rpm --import $(rpm --eval %{_datadir})/mobile-helpers/devel.repomd.xml.key
rpm --import $(rpm --eval %{_datadir})/mobile-helpers/sdm845.repomd.xml.key
echo "Add repositories"
zypper ar -cfp 99 https://download.opensuse.org/repositories/devel:/ARM:/Factory:/Contrib:/PinePhone/standard/ devel
zypper ar -cfp 99 https://download.opensuse.org/repositories/home:/alefnode:/sdm845/standard/ sdm845
# HACK: Remove Yast2 as is not adapted for small screens
zypper rm -u -y yast2
zypper al yast2
# HACK: Setup the greetd settings, if it is installed
if [[ -f /etc/greetd/config.toml ]]; then
echo "Installing autologin settings (greetd)"
install -m 0644 -D -t /etc/greetd/ $(rpm --eval %{_datadir})/mobile-helpers/config.toml
fi
if [[ -f /usr/bin/kdeconnect-cli ]]; then
echo "Allowing KDE Connect in the firewall"
firewall-cmd --zone=public --permanent --add-service=kdeconnect-kde
firewall-cmd --reload
fi
if [[ -f /usr/bin/phosh ]]; then
sudo -u gecko gsettings set sm.puri.phoc scale-to-fit true
mkdir -p /home/gecko/.config/gtk-3.0/
install -m 0644 -D -t /home/gecko/.config/gtk-3.0/ $(rpm --eval %{_datadir})/mobile-helpers/gtk.css
mkdir -p /home/gecko/.config/systemd/user/default.target.wants/
ln -s /usr/lib/systemd/user/gtherm.service /home/gecko/.config/systemd/user/default.target.wants/gtherm.service
fi
#HACK: Audio workaround when a call start
#sed -i "s/load-module module-suspend-on-idle/#load-module module-suspend-on-idle/g" /etc/pulse/default.pa
#HACK: Poweroff device when battery goes to critical percentage instead of suspend
sudo rm -rf /etc/UPower/UPower.conf && cp $(rpm --eval %{_datadir})/mobile-helpers/UPower.conf /etc/UPower/
#HACK: Our kernel does no support xz firmware files so we need to decompress it (need reboot)
#find /usr/lib/firmware -type f -name "*.xz" -exec xz -d {} \;
#HACK: Determine what panel are using and load modules in dracut (need reboot)
is_ebbg = $(cat /proc/cmdline | grep -i ebbg)
is_tianma = $(cat /proc/cmdline | grep -i tianma)
if [[ -n $is_ebgg ]]; then
echo "Add EBGG panel to dracut file"
echo 'add_drivers+="focaltech_fts"' > $(rpm --eval %{_sysconfdir})/dracut.conf.d/11-pocof1beryllium-dracut.conf
fi
if [[ -n $is_tianma ]]; then
echo "Add TIANMA panel to dracut file"
echo 'add_drivers+="nt36xxx"' > $(rpm --eval %{_sysconfdir})/dracut.conf.d/11-pocof1beryllium-dracut.conf
fi
#HACK: Enable Wifi, Modem and GPU
sudo systemctl enable qrtr-ns.service
#FIXME: A lot of errors shown with pd-mapper service
sudo systemctl enable pd-mapper.service
sudo systemctl enable tqftpserv.service
sudo systemctl enable q6voiced.service
sudo systemctl enable rmtfs.service
#sudo systemctl enable sdm845-setup.service
# HACK: Set clock at boot and shutdown
systemctl enable swclock-offset
# Resize2fs root partition
resize2fs $(cat /proc/mounts | grep "/ ext4" | awk '{print $1}')
# Extract all firmware files
sudo tar -xzvf /usr/share/qcom/sdm845/Xiaomi/beryllium/pocof1beryllium_sensors.tar.gz -C /
sudo chown -R root:root /usr/share/qcom/sdm845/Xiaomi/beryllium/
sudo groupadd fastrpc
sudo useradd -g fastrpc -s /usr/sbin/nologin fastrpc
systemctl enable hexagonrpcd-sdsp.service
plymouth hide-message --text="Executing first boot script"
reboot
exit 0