#!/bin/bash

# Comprobamos que el equipo es del tipo al queremos darle una solución: PRD-"HP 280 G2 MT (Non-Legacy)"
PRODUCTO_PATRON="HP 280 G2"
PRODUCTO="$(dmidecode -s system-product-name)"
[[ "${PRODUCTO}" =~ ${PRODUCTO_PATRON} ]] && \
{
echo "#> Corregimos el Grub. El producto es: ${PRODUCTO}. Patrón: ${PRODUCTO_PATRON}" 
SOLUCIONAR="true"
} || \
{
echo "#> No corregimos el Grub. El producto es: ${PRODUCTO}. No es ${PRODUCTO_PATRON}" 
SOLUCIONAR="false"
}

# Configuramos el journal para evitar logs grandes:
FICH="/etc/systemd/journald.conf"
SECTION="Journal"
PARAM="SystemMaxUse"
VALOR="50M"
if [[ "$(crudini --get "${FICH}" "${SECTION}" "${PARAM}" 2> /dev/null)" != "${VALOR}" ]] ; then
    journalctl --rotate
    journalctl --vacuum-time=1days
    crudini --set "${FICH}" "${SECTION}" "${PARAM}" "${VALOR}"
fi

# Configuramos el Grub para evitar errores
FICH="/etc/default/grub"
PARAM="GRUB_CMDLINE_LINUX_DEFAULT"

"${SOLUCIONAR}" && \
[[ "$(crudini --get "${FICH}" "" "${PARAM}")" != '"quiet splash acpi_mask_gpe=0x6F"' ]] && \
crudini --set "${FICH}" "" "${PARAM}" '"quiet splash acpi_mask_gpe=0x6F"' && \
update-grub

! "${SOLUCIONAR}" && \
[[ "$(crudini --get "${FICH}" "" "${PARAM}")" != '"quiet splash"' ]] && \
crudini --set "${FICH}" "" "${PARAM}" '"quiet splash"' && \
update-grub