Как запретить обновление ПО телевизора при наличии
рут-доступа (3 способа от smsbox):
Вариант 1Смысл действий. Папка etc в системе readonly, чтобы это обойти будем работать с копией, где все можно менять. В данном случае будем менять файл hosts, так как система опрашивает сервер на предмет обновления, мы подменим адрес, чтобы ответ никогда не пришел. Нет информации о наличии обновления – ТВ его не скачивает и не обновляет. Вообще это для страховки, чтобы root не потерять, в обновлении могут эту возможность закрыть и root отобрать.
Дополнительно в настройках ТВ отключить ipv6 (это делаем просто с пульта, через все настройки ).
Выполняем следующие шаги
1. Создаем папку, туда скопируем все из /etc/ (/etc/ -)
mkdir -p /media/cryptofs/root/etc
2. Копируем все не глядя, без лишних вопросов
cp -r /etc/* /media/cryptofs/root/etc
3. Делаем маппинг /etc на новую папку
mount -o bind /media/cryptofs/root/etc /etc
4 Правим файл hosts по новому месту в редакторе vi
vi /media/cryptofs/root/etc/hosts
Нажимаем a и вводим
127.0.0.1 snu.lge.com
127.0.0.1 fi.lgtvsdp.com
127.0.0.1 us.lgtvsdp.com
127.0.0.1 in.lgtvsdp.com
127.0.0.1 fr.lgtvsdp.com
Нажимаем ESC и вводим :wq
Если надо заблокировать ipv6, то добавить туда
::1 snu.lge.com su-dev.lge.com su.lge.com su-ssl.lge.com
Примерный вид файла hosts (# не работающие строки)
127.0.0.1 localhost.localdomain localhost
127.0.0.1 snu.lge.com
# 127.0.0.1 fi.lgtvsdp.com
# 127.0.0.1 us.lgtvsdp.com
# 127.0.0.1 in.lgtvsdp.com
# 127.0.0.1 fr.lgtvsdp.com
127.0.0.1 su-dev.lge.com su.lge.com su-ssl.lge.com
# The following lines are desirable for IPv6 capable hosts
::1 localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
::1 snu.lge.com su-dev.lge.com su.lge.com su-ssl.lge.com fi.lgtvsdp.com us.lgtvsdp.com in.lgtvsdp.com fr.lgtvsdp.com
5. Через редактор vi открываем файл start-devmode.sh
vi /media/cryptofs/apps/usr/palm/services/com.palmdts.devmode.service/start-devmode.sh
Перед строкой telnetd -l /bin/sh вводим mount -o bind /media/cryptofs/root/etc /etc (чтобы при старте всегда у нас монтировалось на новое место и новые настройки)
для этого нажимаем
a и вводим mount -o bind /media/cryptofs/root/etc /etc
Можно заодно вставить автообновление счетчика девмоде, чтобы не пришлось руками править каждый раз допишем ниже такой код
DEVMODE_SERVICE_DIR="/media/cryptofs/apps/usr/palm/services/com.palmdts.devmode.service"
echo '900:00:00' > ${DEVMODE_SERVICE_DIR}/devSessionTime;
chgrp 5000 ${DEVMODE_SERVICE_DIR}/devSessionTime;
chmod 664 ${DEVMODE_SERVICE_DIR}/devSessionTime;
Этим кодом счетчик все время будут устанавливаться на 900 часов.
Нажимаем ESC и :wq
должно получиться так (приведена часть кода, остальное неизменно)
#монтируем etc на новом месте, где мы все можем менять
mount -o bind /media/cryptofs/root/etc /etc
# Start root telnet server
telnetd -l /bin/sh
DEVMODE_SERVICE_DIR="/media/cryptofs/apps/usr/palm/services/com.palmdts.devmode.service"
echo '900:00:00' > ${DEVMODE_SERVICE_DIR}/devSessionTime;
chgrp 5000 ${DEVMODE_SERVICE_DIR}/devSessionTime;
chmod 664 ${DEVMODE_SERVICE_DIR}/devSessionTime;
Остальное не меняем!
Набираем reboot и ждем пока ТВ перезагрузиться.
Все обновления больше не будут приходить. При каждом старте, если отключен быстрый запуск счетчик устанавливается на 900 часов.
Вариант 2Смысл действий – вместо того, чтобы открывать всю папку etc для записи, если ничего другого там править не будем, можем в стартовый скрипты start-devmode.sh прописать точечную подмену только файла hosts и занести туда автоматически из скрипта нужное значение.
В стартовый скрипт start-devmode.sh (после открытия telnet либо в конец) вставляем
либо
#block updates
cp /etc/hosts /tmp/hosts
mount --bind /tmp/hosts /etc/hosts
echo '' >> /etc/hosts
echo '127.0.0.1 snu.lge.com su-dev.lge.com su.lge.com su-ssl.lge.com' >> /etc/hosts
echo '::1 snu.lge.com su-dev.lge.com su.lge.com su-ssl.lge.com' >> /etc/hosts
либо расширенный вариант 2 в таком виде
# Block software update servers
cp /etc/hosts /tmp/hosts
mount --bind /tmp/hosts /etc/hosts
echo '' >> /etc/hosts
echo '# This file is dynamically regenerated on boot by webosbrew startup script' >> /etc/hosts
echo '127.0.0.1 snu.lge.com su-dev.lge.com su.lge.com su-ssl.lge.com fi.lgtvsdp.com us.lgtvsdp.com in.lgtvsdp.com fr.lgtvsdp.com' >> /etc/hosts
echo '::1 snu.lge.com su-dev.lge.com su.lge.com su-ssl.lge.com fi.lgtvsdp.com us.lgtvsdp.com in.lgtvsdp.com fr.lgtvsdp.com' >> /etc/hosts
Третий способ блокировки обновлений прошивки на ТВ (рекомендую его!)В стартовый скрипт (после открытия telnet) вставляем
#killall /usr/sbin/update
mount --bind /bin/false /usr/sbin/update
pkill -9 -f /usr/sbin/update
Этой командой мы убиваем процессы, который ищут обновления прошивки, при этом блокировать сервера LG не требуется, так как нет демона поиска новых прошивок, а следовательно нет закачки и установки. Следует иметь ввиду, что на ТВ 2018-2021 года стартовый скрип, при включенном быстром запуске, не запускается при каждом включении ТВ, так как ТВ уходи в спящий режим , я не проверял как себя ведет процесс update, но в принципе все должно быть правильно и обновления не будут приходить. Внимание – обнаружилось, что через какое-то время этот процесс появляется в памяти. Работает 100% если отключен быстрый запуск, иначе запросите полную инструкцию у автоответчика по почте (любое письмо на
smsbox3@bk.ru и в ответ пакет инструкций) , там надо найти инструкцию получения root для тв 2018-2022 года и в ней инструкцию по блокировке обновлений, там решена проблема быстрого запуска! Так же там есть про блокировку обновлений виджетов (если требуется).