Skip to content

Instantly share code, notes, and snippets.

@Canx
Last active March 30, 2023 09:52
Show Gist options
  • Save Canx/01b854da791b996f81177b52c49bab07 to your computer and use it in GitHub Desktop.
Save Canx/01b854da791b996f81177b52c49bab07 to your computer and use it in GitHub Desktop.
Optimización de arranque para Lliurex21 (probado en ORG2)
#!/bin/bash
# Script para acelerar el tiempo de arranque de Lliurex21.
# V4: Arreglamos fallo de sssd y desactivamos dnsmasq
# V3: Desactivamos networkd-dispatcher
# Tiempo original en un ORG2 con hdd: https://gist.githubusercontent.com/Canx/01b854da791b996f81177b52c49bab07/raw/4b8965186ec68bb52931aed376636e532fc91d75/lliurex21_original.svg
# Tiempo optimizado con V2: https://gist.githubusercontent.com/Canx/01b854da791b996f81177b52c49bab07/raw/4b8965186ec68bb52931aed376636e532fc91d75/lliurex21_optimized_v2.svg
# Arreglamos fallo de sssd
if [ ! -f /etc/sssd/sssd.conf ]; then
sudo cp /usr/lib/x86_64-linux-gnu/sssd/conf/sssd.conf /etc/sssd/
sudo chmod 600 /etc/sssd/sssd.conf
sudo systemctl enable sssd
sudo systemctl start sssd
else
echo "El archivo /etc/sssd/sssd.conf ya existe, no se realizaron cambios."
fi
# Desactivamos el servicio networkd-dispatcher (no se utiliza)
sudo systemctl disable networkd-dispatcher
# Desactivamos el servicio dnsmasq (ya está el systemd-resolve)
sudo systemctl disable dnsmasq
# TODO: No deshabilitar los servicios systemd y probar las siguientes propiedades:
# Nice=19, IOSchedulingPriority=7, CPUSchedulingPriority=1
# Ver https://www.freedesktop.org/software/systemd/man/systemd.exec.html
# Deshabilitamos el plymouthd
sudo sed -i 's/quiet splash/quiet/' /etc/default/grub.d/06-lliurex-cmdline.cfg
sudo update-grub
sudo systemctl disable plymouth
# Bajamos prioridad de rebost y lo ejecutamos 5 minutos después del arranque
sudo sed -i 's/.*Nice.*//' /lib/systemd/system/rebost.service
sudo sed -i 's/.*ExecStartPre.*//' /lib/systemd/system/rebost.service
sudo sed -i 's/.*TimeoutStartSec.*//' /lib/systemd/system/rebost.service
sudo sed -i 's/.*\[Service\].*/\[Service\]\nNice=19\nExecStartPre=\/bin\/sleep 300\nTimeoutStartSec=5m 20s/' /lib/systemd/system/rebost.service
sudo systemctl daemon-reload
# sudo systemctl disable rebost.service
# En /etc/systemd/journald.conf poner Storage=volatile
sudo sed -i 's/.*Storage.*/\Storage=volatile/' /etc/systemd/journald.conf
# Bajamos prioridad de lliurex-auto-upgrade y lo ejecutamos 6 minutos después del arranque
sudo sed -i 's/.*Nice.*//' /lib/systemd/system/lliurex-auto-upgrade.service
sudo sed -i 's/.*ExecStartPre.*//' /lib/systemd/system/lliurex-auto-upgrade.service
sudo sed -i 's/.*TimeoutStartSec.*//' /lib/systemd/system/lliurex-auto-upgrade.service
sudo sed -i 's/.*\[Service\].*/\[Service\]\nNice=19\nExecStartPre=\/bin\/sleep 360\nTimeoutStartSec=7m/' /lib/systemd/system/lliurex-auto-upgrade.service
sudo systemctl daemon-reload
# Desinstalamos lliurex-gdrive
sudo apt-get remove -y lliurex-gdrive*
sudo rm /etc/xdg/autostart/lliurexGdrive.desktop
# Desactivamos snapd
#sudo systemctl disable snapd.service
#sudo systemctl disable snapd.socket
#sudo systemctl disable snapd.seeded.service
#TODO: probar si ionice nos da mejoras
# Despriorizamos y desligamos de ksplashqml la ejecución de lliurex-user-certs
sudo sed -i 's/^Exec.*/Exec=\/usr\/bin\/nice -n 19 \/usr\/bin\/lliurex-user-certs \&/' /etc/xdg/autostart/lliurex-user-certs.desktop
# Despriorizamos y desligamos de ksplashqml la ejecución de lliurex-up-indicator (30.4s)
sudo sed -i 's/^Exec.*/Exec=\/usr\/bin\/nice -n 19 \/usr\/bin\/lliurex-up-indicator \&/' /etc/xdg/autostart/lliurex-up-indicator.desktop
# Despriorizamos y desligamos de ksplashqml la ejecución de lliurex-conky
sudo sed -i 's/^Exec.*/Exec=\/usr\/bin\/nice -n 19 \/usr\/share\/lliurex-conky\/lliurex-conky \&/' /etc/xdg/autostart/lliurex-conky.desktop
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment