2024-07-01 02:33:30 +07:00
|
|
|
#!/usr/bin/env ash
|
|
|
|
#
|
|
|
|
# Copyright (C) 2023 AuxXxilium <https://github.com/AuxXxilium>
|
|
|
|
#
|
|
|
|
# This is free software, licensed under the MIT License.
|
|
|
|
# See /LICENSE for more information.
|
|
|
|
#
|
|
|
|
|
|
|
|
if [ "${1}" = "late" ]; then
|
|
|
|
echo "Installing addon ledcontrol - ${1}"
|
|
|
|
mkdir -p "/tmpRoot/usr/arc/addons/"
|
|
|
|
cp -vf "${0}" "/tmpRoot/usr/arc/addons/"
|
|
|
|
|
|
|
|
cp -vf /usr/bin/ledcontrol.sh /tmpRoot/usr/bin/ledcontrol.sh
|
|
|
|
cp -vf /usr/bin/ugreen_leds_cli /tmpRoot/usr/bin/ugreen_leds_cli
|
2024-07-17 00:26:44 +07:00
|
|
|
cp -vf /usr/bin/led.conf /tmpRoot/usr/bin/led.conf
|
2024-07-17 23:50:09 +07:00
|
|
|
cp -vf /usr/bin/modules/i2c-algo-bit.ko /tmpRoot/usr/bin/modules/i2c-algo-bit.ko
|
2024-07-06 19:11:24 +07:00
|
|
|
cp -vf /usr/lib/modules/i2c-i801.ko /tmpRoot/usr/lib/modules/i2c-i801.ko
|
|
|
|
cp -vf /usr/lib/modules/i2c-smbus.ko /tmpRoot/usr/lib/modules/i2c-smbus.ko
|
2024-07-17 23:50:09 +07:00
|
|
|
modprobe i2c-algo-bit
|
|
|
|
modprobe i2c-i801
|
2024-07-21 16:26:36 +07:00
|
|
|
modprobe i2c-smbus
|
|
|
|
|
|
|
|
rm -f "/tmpRoot/usr/lib/systemd/system/multi-user.target.wants/ledcontrol.service"
|
|
|
|
rm -f "/tmpRoot/usr/lib/systemd/system/ledcontrol.service"
|
|
|
|
rm -f "/tmpRoot/usr/lib/systemd/system/multi-user.target.wants/ledcontrol_disk.service"
|
|
|
|
rm -f "/tmpRoot/usr/lib/systemd/system/ledcontrol_disk.service"
|
|
|
|
rm -f "/tmpRoot/usr/lib/systemd/system/multi-user.target.wants/ledcontrol_cpu.service"
|
|
|
|
rm -f "/tmpRoot/usr/lib/systemd/system/ledcontrol_cpu.service"
|
|
|
|
|
|
|
|
mkdir -p "/tmpRoot/usr/lib/systemd/system"
|
|
|
|
# All on
|
|
|
|
DEST="/tmpRoot/usr/lib/systemd/system/ledcontrol.service"
|
|
|
|
cat > ${DEST} <<'EOF'
|
|
|
|
[Unit]
|
2024-07-21 19:49:08 +07:00
|
|
|
Description=Ledcontrol for Ugreen
|
2024-07-21 16:26:36 +07:00
|
|
|
After=multi-user.target
|
|
|
|
|
|
|
|
[Service]
|
|
|
|
Type=oneshot
|
|
|
|
RemainAfterExit=yes
|
|
|
|
ExecStart=/usr/bin/ledcontrol.sh on
|
|
|
|
|
|
|
|
[Install]
|
|
|
|
WantedBy=multi-user.target
|
|
|
|
EOF
|
|
|
|
mkdir -vp /tmpRoot/usr/lib/systemd/system/multi-user.target.wants
|
|
|
|
ln -vsf /usr/lib/systemd/system/ledcontrol_disk.service /tmpRoot/usr/lib/systemd/system/multi-user.target.wants/ledcontrol_disk.service
|
2024-07-01 02:33:30 +07:00
|
|
|
|
2024-07-21 19:49:08 +07:00
|
|
|
elif [ "${1}" = "nothing" ]; then
|
2024-07-01 02:33:30 +07:00
|
|
|
mkdir -p "/tmpRoot/usr/lib/systemd/system"
|
2024-07-06 19:07:42 +07:00
|
|
|
# NIC
|
2024-07-01 02:33:30 +07:00
|
|
|
DEST="/tmpRoot/usr/lib/systemd/system/ledcontrol.service"
|
2024-07-17 02:23:11 +07:00
|
|
|
cat > ${DEST} <<'EOF'
|
2024-07-01 02:33:30 +07:00
|
|
|
[Unit]
|
2024-07-06 19:07:42 +07:00
|
|
|
Description=NIC Ledcontrol for Ugreen
|
2024-07-01 02:33:30 +07:00
|
|
|
DefaultDependencies=no
|
|
|
|
IgnoreOnIsolate=true
|
|
|
|
After=multi-user.target
|
|
|
|
|
|
|
|
[Service]
|
|
|
|
User=root
|
2024-07-17 02:23:11 +07:00
|
|
|
Type=simple
|
|
|
|
Restart=always
|
|
|
|
RestartSec=10s
|
2024-07-06 19:07:42 +07:00
|
|
|
ExecStart=/usr/bin/ledcontrol.sh nic
|
2024-07-01 02:33:30 +07:00
|
|
|
|
|
|
|
[Install]
|
|
|
|
WantedBy=multi-user.target
|
|
|
|
EOF
|
|
|
|
mkdir -vp /tmpRoot/usr/lib/systemd/system/multi-user.target.wants
|
2024-07-06 19:07:42 +07:00
|
|
|
ln -vsf /usr/lib/systemd/system/ledcontrol_disk.service /tmpRoot/usr/lib/systemd/system/multi-user.target.wants/ledcontrol_disk.service
|
|
|
|
# Disk
|
|
|
|
DEST="/tmpRoot/usr/lib/systemd/system/ledcontrol_disk.service"
|
2024-07-17 02:23:11 +07:00
|
|
|
cat > ${DEST} <<'EOF'
|
2024-07-06 19:07:42 +07:00
|
|
|
[Unit]
|
|
|
|
Description=Disk Ledcontrol for Ugreen
|
|
|
|
DefaultDependencies=no
|
|
|
|
IgnoreOnIsolate=true
|
|
|
|
After=multi-user.target
|
|
|
|
|
|
|
|
[Service]
|
|
|
|
User=root
|
2024-07-17 02:23:11 +07:00
|
|
|
Type=simple
|
|
|
|
Restart=always
|
|
|
|
RestartSec=5min
|
2024-07-06 19:07:42 +07:00
|
|
|
ExecStart=/usr/bin/ledcontrol.sh disk
|
|
|
|
|
|
|
|
[Install]
|
|
|
|
WantedBy=multi-user.target
|
|
|
|
EOF
|
|
|
|
mkdir -vp /tmpRoot/usr/lib/systemd/system/multi-user.target.wants
|
|
|
|
ln -vsf /usr/lib/systemd/system/ledcontrol_disk.service /tmpRoot/usr/lib/systemd/system/multi-user.target.wants/ledcontrol_disk.service
|
2024-07-17 02:23:11 +07:00
|
|
|
# CPU
|
2024-07-06 19:07:42 +07:00
|
|
|
DEST="/tmpRoot/usr/lib/systemd/system/ledcontrol_cpu.service"
|
2024-07-17 02:23:11 +07:00
|
|
|
cat > ${DEST} <<'EOF'
|
2024-07-06 19:07:42 +07:00
|
|
|
[Unit]
|
|
|
|
Description=CPU Ledcontrol for Ugreen
|
|
|
|
DefaultDependencies=no
|
|
|
|
IgnoreOnIsolate=true
|
|
|
|
After=multi-user.target
|
|
|
|
|
|
|
|
[Service]
|
|
|
|
User=root
|
2024-07-17 02:23:11 +07:00
|
|
|
Type=simple
|
|
|
|
Restart=always
|
|
|
|
RestartSec=200ms
|
2024-07-06 19:07:42 +07:00
|
|
|
ExecStart=/usr/bin/ledcontrol.sh cpu
|
|
|
|
|
|
|
|
[Install]
|
|
|
|
WantedBy=multi-user.target
|
|
|
|
EOF
|
|
|
|
mkdir -vp /tmpRoot/usr/lib/systemd/system/multi-user.target.wants
|
|
|
|
ln -vsf /usr/lib/systemd/system/ledcontrol_cpu.service /tmpRoot/usr/lib/systemd/system/multi-user.target.wants/ledcontrol_cpu.service
|
2024-07-01 02:33:30 +07:00
|
|
|
elif [ "${1}" = "uninstall" ]; then
|
|
|
|
echo "Installing addon ledcontrol - ${1}"
|
|
|
|
|
|
|
|
rm -f "/tmpRoot/usr/lib/systemd/system/multi-user.target.wants/ledcontrol.service"
|
|
|
|
rm -f "/tmpRoot/usr/lib/systemd/system/ledcontrol.service"
|
2024-07-06 19:07:42 +07:00
|
|
|
rm -f "/tmpRoot/usr/lib/systemd/system/multi-user.target.wants/ledcontrol_disk.service"
|
|
|
|
rm -f "/tmpRoot/usr/lib/systemd/system/ledcontrol_disk.service"
|
|
|
|
rm -f "/tmpRoot/usr/lib/systemd/system/multi-user.target.wants/ledcontrol_cpu.service"
|
|
|
|
rm -f "/tmpRoot/usr/lib/systemd/system/ledcontrol_cpu.service"
|
2024-07-01 02:33:30 +07:00
|
|
|
|
|
|
|
[ ! -f "/tmpRoot/usr/arc/revert.sh" ] && echo '#!/usr/bin/env bash' >/tmpRoot/usr/arc/revert.sh && chmod +x /tmpRoot/usr/arc/revert.sh
|
|
|
|
echo "/usr/bin/ledcontrol.sh" >>/tmpRoot/usr/arc/revert.sh
|
|
|
|
echo "rm -f /usr/bin/ledcontrol.sh" >>/tmpRoot/usr/arc/revert.sh
|
|
|
|
fi
|