NMT-200 ЧаВо

Linux Term Utils v0.4

Статья Padavan от 30.11.2010

Список изменений:

  • Исправлен баг терминала в GNU screen;
  • SSH dropbear устанавливается в rootfs для работы SSH после отключения диска с приложениями;
  • Добавлена работа терминала из под пользователя nmt;
  • Добавлены утилиты для проверки (fsck) файловых систем FAT, FAT32, NTFS, HFS, HFS+;
  • Добавлена настройка выбора пути для системного лога.
  • Добавлен скрипт «copy_to_roofs.sh» для временного копирования утилит в rootfs.
  • Исправлен конфликт с OSD меню попкорна: При попытке сделать чистую установку NMT приложений происходила ошибка «Ошибка форматирования, возможно неисправен жесткий диск».

Описание

  1. Введение
    Данный комплект включает в себя следующие утилиты:

    • busybox-1.17.3 (только дополнительные апплеты, которых нет в оригинальном busybox);
    • dropbear-0.52 (компактный ssh сервер);
    • mc-4.7.0.10 (мощный файловый менеджер Midnight Commander);
    • nano-2.2.5 (мощный текстовый редактор);
    • screen-4.0.3 (расширение терминала);
    • e2fsprogs-1.41.12 (утилиты для управления файловыми системами ext2/3);
    • util-linux-ng-2.17.2 (fdisk, blkid);
    • parted-2.3 (альтернативная утилита разметки дисков, с поддержкой GPT);
    • smartmontools-5.40 (контроль HDD по SMART’у);
    • hdparm-9.35 (управление параметрами HDD);
    • sdparm-1.05 (управление HDD дисками и CD/DVD/BD приводами);
    • usbutils-0.86 (апплет lsusb);
    • paragon ntfs/hfs tools (chkntfs, chkhfs).

    В пакете находится недостающий модуль PTY, который Syabas вырезала из ядра Linux для соблюдения лицензионных требований. Без PTY невозможна работа терминалов, таких как Telnet и SSH. Данный модуль был собран woj как загружаемый модуль ядра и позволяет запустить PTY без необходимости пересборки ядра.

    Пакет был собран с помощью кросс-компилятора Sourcery mips-linux-gnu v4.3-154 из под Ubuntu Linux 10.10
    с использованием параметров компилятора:
    -march=74kf2_1 -mtune=74kf2_1 -mdspr2
    Это соответствует максимальной оптимизации кода для Sigma SMP864X.

  2. Установка и обновление
    Данный пакет имеет формат NMT CSI и устанавливается с помощью установщика NMT CSI (www.nmtinstaller.com). Если установщик NMT CSI еще не установлен на компьютере, то его необходимо скачать и установить. Установщик NMT CSI подключается к плееру через FTP протокол, поэтому необходимо на медиаплеере запустить Приложение NMT FTP сервер. Далее нужно запустить установщик NMT CSI и в меню Экстра выбрать Настройки FTP. В поле Оборудование нужно выбрать модель медиаплеера. Если Приложения NMT были установлены на USB флешку, нужно выбрать модель с типом USB. В поле Сервер/IP адрес нужно указать IP-адрес медиаплеера, например 192.168.0.200, имя пользователя и пароль указать такие, которые заданы в плеере для Приложений NMT, по умолчанию имя nmt, пароль 1234.
    Для установки пакета Linux Term Utils, необходимо выбрать в меню NMT CSI Файл > Установить из файла и указать путь на zip-архив с пакетом. После нажатия «Далее», пакет будет установлен на диск с Приложениями NMT по стандартному пути /share/Apps в директорию /share/Apps/LinuxUtils.При обновлении пакета не затирается пользовательский скрипт user.script.sh, а также сохраняются настройки из configure. Если в дальнейшем Вы переустановите системные Приложения NMT (с сохранением данных), то все существовавшие CSI пакеты будут видны в списке установленных, но ни одно CSI приложение не будет запускаться автоматически при старте. Это из-за того что системные Приложения NMT восстанавливают стартовый скрипт по умолчанию. Чтобы это исправить, нужно снять, а затем поставить галочку Начать по загрузке на любом из пакетов, при этом действии CSI установщик добавит запуск CSI приложений в стартовый системный скрипт NMT.
  3. Настройка
    При желании можно отредактировать файл конфигурации /share/Apps/LinuxUtils/configure и отключить ненужные утилиты или задать требуемые параметры.
    Внимание! Файл конфигурации имеет Unix формат и редактировать его нужно в редакторах, которые понимают окончание строки Unix, например редактором из Far Manager.Если в конфигурации активен параметр START_LOGGER=1, или 2, то запускается логгер, который пишет все системные события и события ядра в файл messages в /tmp, или (при START_LOGGER=2) в /share/Apps/LinuxUtils/log/, доступ к которому можно получить через SAMBA (Win), перейдя в эту директорию. В пакет включен скрипт для автоматической реконфигурации встроенного в NMT приложения Web сервера Apache, который Syabas не посчитала нужным подстроить под ограничения ресурсов медиаплеера. По умолчанию Apache запускает 6 процессов и плюс еще 6 при старте NMT приложения Сервер myiHome и ожидает до 150+150 подключений.
    Скрипт ограничивает кол-во процессов до 2 и уменьшает число доступных соединений до 5, что позволяет сэкономить ОЗУ и ресурсы ЦПУ. Новая конфигурация Apache будет применена после перезагрузки плеера.
    Данная реконфигурация может служить альтернативой сомнительной установки стороннего Web сервера lighttpd (который предлагают установить через CSI-инсталлер) вместо Apache, для уменьшения потребления ресурсов.
    Скрипт управляется параметром TUNE_APACHE=1 в конфигурации.

    Для автоматического запуска при старте плеера пользовательских команд предусмотрен скрипт /share/Apps/LinuxUtils/user.script.sh. При его редактировании также не забываем про Unix-формат перевода строки.

    После изменения конфигурации необходимо перезапустить приложение LinuxUtils через CSI установщик.

  4. Подключение терминала
    После запуска пакета, если установлен параметр TERMINAL_SERVER=1 в /share/Apps/LinuxUtils/configure, то медиаплеер ожидает подключения Telnet-клиента на стандартном порту 23. Для Telnet доступны максимум 4 терминальных сессии одновременно.
    Если параметр установлен как TERMINAL_SERVER=2, то медиаплеер ожидает подключения SSH-клиента на стандартном порту 22.Для доступа через Telnet можно воспользоваться клиентом Microsoft Telnet, но лучше всего использовать программу PuTTY, предварительно настроив ее на кодировку UTF-8.
    PuTTY также имеет SSH-клиент. SSH клиент рекомендуется для подключения извне через интернет, так как использует защищенное соединение. Также замечено что в SSH быстрее работает Midnight Commander.
    Чтобы обеспечить лучшую защиту SSH соединения, нужно сгенерировать свои уникальные rsa и dss ключи для SSH сервера. Для этого в терминале необходимо набрать команду

    dropbearkeynew

    при этом новые ключи перезапишутся в директории /Apps/LinuxUtils/ssh/etc/dropbear. Они и будут использоваться после следующей загрузки плеера.
    После подключения будет запрошен логин, нужно ввести root. Пароль для root задается параметром PASSWD_ROOT= и обязательно должен быть задан при использовании сервера SSH. Если до этого использовался Lundman Shell, то его можно удалить, так как при наличии полноценного терминала он более не нужен.

  5. Ограничения
    ВНИМАНИЕ! Перед установкой пакета НАСТОЯТЕЛЬНО рекомендуется удалить через NMT CSI следующие пакеты (если они были установлены):

    • busybox (Ger Teunis);
    • Telnet (Vaidyasr);
    • utils (Vaidyasr)

    и после удаления перезагрузить плеер.

    Данный пакет тестировался с прошивками плеера:
    C-200 версии 02-04-101104-21-POP-408, 02-03-101006-21-POP-408 и 02-03-100821-21-POP-408;
    A-200/A-210 версии 02-04-101106-21-POP-411-000 и 02-03-100918-21-POP-411-000.
    Работа на более старых версиях прошивок не гарантируется.
    Пакет не записывает никаких изменений в NAND-Flash и после отключения или удаления и перезагрузки плеера не оставляет никаких следов в Linux root.

    ВНИМАНИЕ! Так как в пакете присутствует мощный файловый менеджер Midnight Commander, который позволяет получить визуальный доступ ко всей, в том числе и корневой файловой системе Linux медиаплеера, необходимо быть очень ВНИМАТЕЛЬНЫМ, чтобы случайно не удалить или не изменить важные системные файлы.
    Большинство файлов находятся в
    ramfs и их изменение будет актуально только до перезагрузки. Часть файлов доступны только для чтения. Однако в директории /opt присутствуют такие файлы, которые находятся под контролем pflash и если их изменить, они будут записаны во внутреннюю флеш память. Если вы не осознаете что делаете, не делайте этого!

    Если требуется произвести обслуживание раздела /share, на котором установлены LinuxUtils, такое как проверка раздела, форматирование, ручная разбивка диска, необходимо перед размонтированием раздела выполнить из терминала скрипт /share/Apps/LinuxUtils/copy_to_roofs.sh». При этом самые необходимые утилиты cкопируются в rootfs (в ОЗУ) и будут доступны после размонтирования раздела. После перезагрузки плейера содержимое rootfs всегда восстанавливается по умолчанию.

  6. История изменений
    v0.4 (30.11.2010):

    • Исправлен баг терминала в GNU screen;
    • SSH dropbear устанавливается в rootfs для работы SSH после отключения диска с приложениями;
    • Добавлена работа терминала из под пользователя nmt;
    • Добавлены утилиты для проверки (fsck) файловых систем FAT, FAT32, NTFS, HFS, HFS+;
    • Добавлена настройка выбора пути для системного лога.
    • Добавлен скрипт «copy_to_roofs.sh» для временного копирования утилит в rootfs.
    • Исправлен конфликт с OSD меню попкорна: При попытке сделать чистую установку NMT приложений происходила ошибка «Ошибка форматирования, возможно неисправен жесткий диск».

    v0.3 (18.11.2010):

    • Добавлен GNU screen v4.0.3;
    • Исправлен запуск скрипта dropbearkeynew из под telnet терминала;
    • Ускорена загрузка PTY модуля в 25 раз (ранее это занимало 8 секунд);
    • Пакет подготовлен по стандарту NMT CSI.

    v0.2 (12.11.2010):

    • Добавлен файловый менеджер Midnight Commander 4.7.0.10;
    • Добавлен логгер smartd из smartmontools;
    • Обновлен ssh сервер dropbear до v0.52, добавлен скрипт для обновления ключей;
    • Обновлен редактор nano до v2.2.5;
    • Пересобран lsusb без использования библиотеки libusb-0.1;
    • Доработан CSI скрипт запуска/остановки пакета;
    • Добавлен стартовый пользовательский скрипт user.script.sh.

    v0.1 (08.11.2010):

    • первый релиз.

Padavan

30.11.2010


Загрузить Linux Term Utils v0.4

10 комментариев к этой записи

  • greezz
    greezz

    разве в линухаз смена пароля поизводится не passwd user?
    и еще один вопросик! после ребута nmt производится смена пароля на 1234, это норм или может его надо и где нить в конфигах поправить?

    • Padavan

      Да, passwd. Но это встраиваемая система и большинство системных настроек не может быть сохранено, так как rootfs находится в ОЗУ. Читайте внимательно readme, там сказано как задать пароль и много еще чего полезного.

  • greezz
    greezz

    пароль я задал без проблем т.к. с линухом знаком вот только он восстанавливается на 1234 после перезагрузки.

    • Padavan

      Да поднимите же вы глаза чуть выше, ту же все написано. Открываете файл configure и там меняете. Не нужно руками через passwd менять пароль, оно не будет сохраняться после перезагрузки.

  • greezz
    greezz

    и кста большое пасиб за ssh и mc его очень не хватало !!!! ))))))

  • Roman_V_M

    Кстати, попкорновцы грозятся вернуть PTY в следующей прошивке: http://www.networkedmediatank.com/showthread.php?tid=47184

    • WildFlexy

      А что им остается делать, с такими-то упорными юзерами? :)

    • Padavan

      Проверим. Вообще PTY загружается легко как отдельный модуль, без каких либо проблем, причем этот модуль легко готовится из оригинального исходника с минимальными изменениями. Т.е. внешнююю загрузку PTY даже назвать хаком язык не поворачивается.
      Даже если PTY включат в ядро, все равно они SSH не положат на блюдечке. Наверняка и telnetd + login даже и не включат в busybox.

  • delic

    «CSI установщик добавит запуск CSI приложений в стартовый системный скрипт NMT» — объясните как он это делает? пишет на попик .html из которого дергается .cgi? А как тогда он запускает .html? Или по ftp есть возможность получить доступ ко всей файловой?

  • WildFlexy

    Padavan, а как-нибудь можно user.script.sh запускать с оттяжкой, например секунд на 30 (или вообще конфигурябельно)?
    Просто параметры бинда, прописанные в скрипте, как я заметил, из-за спонтанного маунтинга устройств, а также ввиду твоей ноне шустрой отработки старта утилит, не применяются на некоторые разделы — на момент запуска их еще не смонтировано :)

    Или мне не выпендриваться и прописать в начале sleep 30 ?

2010–2017 © NMT-200 ЧаВо