К основному контенту
Продвинутая настройка и установка дополнительного ПО 
на NAS Iomege Home Media Network Hard Drive Cloud Edition

Этот пост открывает серию статей по установке дополнительного ПО на NAS Iomege Home Media Network Hard Drive Cloud Edition (HMNHD CE).
Характеристики устройства можно посмотреть здесь
Там же можно посмотреть начальную разметку дисков и др. сведения необходимые для модификации ПО.

ВАЖНО!!! Все описанные действия могут привести к потере доступа к диску и придется восстанавливать доступ по инструкциям отсюда. Физически испортить устройство описанными действиями вы не сможете, т.к. в устройстве прошивка хранится не во флэш памяти, а непосредственно на самом жестком диске. 

Для начала нам понадобится доступ к устройству через ssh. Для его включения необходимо в строке адреса браузера набрать: https://[nas ip]/diagnostics.html и поставить галочку "Разрешить удаленный доступ для поддержки (SSH и SFTP)":















Подключится по ssh можно например с помощью putty (Win). Для OS X можно использовать встроенный терминал или iTerm 2 (нормально реагирует на мышь).
Логин для подключения: root
Пароль: soho<ваш пароль>

Сначала включим систему управления пакетами ipkg для установки ПО:

затем:
# ipkg update

и теперь можно ставить любой доступный пакет:

# ipkg install <package_name>

список всех пакетов:
# ipkg list

И поставим файловый менеджер МС для более удобного управления файлами:
# ipkg install mc

Все пакеты ipkg ставятся в раздел /mnt/system/opt (линк на него /opt в корне). Исполняемые файлы помещаются непосредственно в /opt/bin.
Пропишем пути к /opt/bin и opt/lib для того, чтобы установленные нами пакеты работали сразу и не требовали предварительных команд. Для этого запустим МС:
# /opt/bin/mc
И отредактируем переменную PATH в файле /etc/profile. Необходимо добавить в конце строки ":/mnt/system/opt/bin". 
Далее в файле /etc/ld.so.conf.d/libc.conf добавим строчку:
/mnt/system/opt/lib
И выполним команду переформирования связей для библиотек:
# ldconfig

Теперь пропишем автозапуск для пакетов устанавливаемых ipkg. Для этого скачиваем архив.
В нем три файла:
1. update-alternatives необходим optware. Если его нет, то ipkg пишет ошибки настройки. Его необходимо просто поместить в папку /opt/bin и поставить права на исполнение
2. optware.sh - это файл автозагрузки скриптов из папки /opt/etc/init.d.
Для установки копируем его в папку /etc/init.d, затем:
# update-rc.d optware.sh defaults 99 01
все, теперь у нас работает автозагрузка сервисов устанавливаемых через ipkg.


Первая проблема с которой мы столкнемся, это то, что мы не имеем прав на изменение данных в папке /mnt/apps. Есть два решения:
1. Примонтировать копию apps  в режиме записи. Это делается путем ввода следующих команд в терминале (каждый раз перед тем, как необходимо внести изменения):
# mknod -m0660 /dev/loop3 b 7 3
# chown root.disk /dev/loop3
# mkdir /tmp/apps
# mount -o loop /boot/images/apps /tmp/apps
Теперь у нас в папке /tmp/apps находится копия apps  в которой мы можем менять все что угодно. После изменения данных необходимо отмонтировать папку:
# umount /tmp/apps 

2. Заменить стандартный initrd на доработанным мной.
Для этого необходимо распаковать архив и полученный файл залить на NAS. Зайти на устройстве в данную папку и выполнить следующий код:
# dd if=initrd of=/dev/sda bs=512 seek=16674
перегружаемся:
# shutdown -r now
Все. Теперь у нас apps всегда доступна на запись.

О том как самому изменять initrd и собирать ядро смотрите в следующих постах





Комментарии

  1. Скачал putty, запускаю putty_portable.exe, ввожу имя сервера порт 22...в открывшемся окне ввожу логин, а пароль не вводиться, кароче не могу подсоедениться...что не так?

    ОтветитьУдалить
  2. Пароль вводиться с "затенением".
    Логин - root
    пароль - sohoтвойпарольадмина - но его не видно

    ОтветитьУдалить
  3. Комрад, спасибо за твою работу!
    Есть пару вопросов:
    1. Ты пишешь - И отредактируем переменную PATH в файле /etc/profile. Необходимо добавить в конце строки ":/mnt/system/opt/bin".
    Вопрос - в файле два раза определяется переменная PATH, я так понимаю добавлять нужно в первом случае, т.е.?
    2. Ты пишешь - Далее в файле /etc/ld.sk.conf.d/libc.conf добавим строчку:
    /mnt/system/opt/lib
    Вопрос - мне кажется ты ошибся в написании пути к файлу. Правильный путь /etc/ld.so.conf.d/libc.conf

    ОтветитьУдалить
  4. 1. Добавить можно в первую переменную PATH, вторая в обычном режиме не используется
    2. Опечатка. Исправил.

    ОтветитьУдалить
  5. Игорь, спасай!!!
    после этого

    2. Заменить стандартный initrd на доработанным мной.
    Для этого необходимо распаковать архив и полученный файл залить на NAS. Зайти на устройстве в данную папку и выполнить следующий код:
    # dd if=initrd of=/dev/sda bs=512 seek=16674
    перегружаемся:
    # shutdown -r now
    Все. Теперь у нас apps всегда доступна на запись.

    девайс перегрузился и больше не откликается, горит белая лампочка при попытке зайти через веб или терминал выдает timed out!!!!

    ОтветитьУдалить
  6. Можно попробовать восстановить по инстуркции без переформатирования. (см. соответствующий пост в данном блоге). Если не помогает, то значит была допущена ошибка в цифрах или записан не верный файл. В этом случае восстановление через подключение к компу. Если диск на 2ТБ можно скачать образ с моего сайта (https://sites.google.com/site/itmindco/zagruzki?pli=1) и залить командой с компа:
    cat dump.lzma | lzma -d | dd of=/dev/sdX bs=1M
    (где X-номер жесткого диска)
    Либо заново залить initrd через комп (dd if=initrd of=/dev/sdХ bs=512 seek=16674)
    Так же можно из прошивки скачанной с сайта iomega вытащить стандартный initrd и записать его.

    ОтветитьУдалить
  7. Игорь, привет!
    Цифры проверил все правильно, твой файл не модифицировал, в общем не важно в чем была проблема, ее нужно решить.
    можешь подробно описать вот это - залить командой с компа:
    cat dump.lzma | lzma -d | dd of=/dev/sdX bs=1M
    (где X-номер жесткого диска)
    что значит залить с компа? я не могу через терминал достучаться к устройству, нужно подключить диск к компу? через какой интерфейс? я пробовал подключить через внешний юсб карман, ни мак ни винда (дома два ноутбука) диск не видят и предлагают его отформатировать, что для меня не приемлемо.
    где, в каком приложении нужно выполнять эту команду - cat dump.lzma | lzma -d | dd of=/dev/sdX bs=1M?
    Заранее спасибо за ответы

    ОтветитьУдалить
  8. Владимир, в хранилище используется линуксовая фаловая ситема xfs. Для того что бы к ней получить доступ можно скачать любой дистрибутив лив CD и загрузиться с него. Например можно от сюда: http://www.ubuntu.com/download/ubuntu/download. Соответственно команду cat dump.lzma | lzma -d | dd of=/dev/sdX bs=1M запускать с компьютера под линухом в её терминале. Номер диска можно посмотреть в дисковой утилите(Команды не смогу подсказать).
    Удачи!

    ОтветитьУдалить
  9. Спасибо за помощь комрады,
    в итоге поставил убунту подмонтировал диск, забрал 44 гб фотографий, отформатировал винт, поставил его во внешний карман и все теперь работает как надо, более убогого продукта, как иомега я не имел никогда, это просто жесть какая-то, одно расстройство...

    ОтветитьУдалить
  10. Добрый день!
    Вы пишите:
    2. Заменить стандартный initrd на доработанным мной.
    Для этого необходимо распаковать архив и полученный файл залить на NAS. Зайти на устройстве в данную папку и выполнить следующий код:
    # dd if=initrd of=/dev/sda bs=512 seek=16674
    перегружаемся:
    # shutdown -r now
    Все. Теперь у нас apps всегда доступна на запись.

    Не пойму куда имеено скопировать, в какую папку и в какую папку зайти? Команду нужно выполнять в MC или в терминале?

    ОтветитьУдалить
  11. Этот комментарий был удален автором.

    ОтветитьУдалить
  12. Помогите, пожалуйста!
    Сделал все по инструкции, однако после перезагрузки Transmission автоматически не запускается. Сделал вывод через echo событий в файл - все файлы и optware и S99transmission обрабатываются. Если просто вручнуюзапустить S99Transmisiion, то торрент запускается и работает. Но после перезагрузки автоматом никак не стартует.
    Куда копать?

    ОтветитьУдалить
  13. Вот ошибка из лога var/log/boot - "/mnt/system/opt/bin/transmission-daemon: error while loading shared libraries: libevent-2.0.so.5: cannot open shared object file: No such file or directory"

    Откуда здесь взялась libevent-2.0.so.5?

    ОтветитьУдалить

Отправить комментарий

Популярные сообщения из этого блога

C++. Создание динамически подключаемой библиотеки so с помощью CMake

Мини инструкция, т.к. потратил пару часов на разрозненной информации. Библиотека. Обязательно пишем extern "C". Если не указать, то компилятор добавит символы к имени и функция dsym не найдет ничего. #ifdef WINDOWS #define EXPORT extern "C" __declspec(dllexport) #else #define EXPORT extern "C" //__attribute__((visibility ("default"))) #endif // WINDOWS EXPORT int Add(int a, int b) { return a + b; } Программа в которой загружаем библиотеку #ifdef WINDOWS #define IMPORT __declspec(dllimport) IMPORT int Add(int a, int b); #else     #define IMPORT     #include <dlfcn.h> #endif // WINDOWS #include "TestLinuxSharedLib.h" using namespace std; int main() { #ifndef WINDOWS     void* handle;     int (*cosine)(int,int);     //void* cosine;     char* error;     handle = dlopen("./libMySharedLib.so", RTLD_NOW);     if (!handle) {         cout << "not found libMySharedLib.so" &l
Стандартные способы восстановления ПО HMNHD CE, предусмотренные разработчиком.  Загрузка Linux происходит в несколько этапов. Сначала находится загрузчик, который загружает ядро Linux в память и инициализирует диск initrd. Далее вызывается скрипт linuxrc, в котором монтируются остальные файловые системы и происходит загрузка основной ОС. Разработчики встроили в скрипт linuxrc возможность восстановления с USB флешки. Если у вас не повреждены ядро и диск initrd (не перезаписаны неработающими версиями), то вы можете восстановитель ОС выполнив ряд простых действий. 1. Отформатировать USB флешку в файловую систему FAT. 2. Создать на флешке путь: /emctools/hmnhd_images Далее есть две опции, которые можно использовать как раздельно так и вместе 3.1. С распаковкой из архива. 3.1.1. Скачиваем архив  imager_3.1.14.995.tgz  (предоставленный пользователем  Mijzelf  в  теме  восстановления  устройства   )и записываем его в папку  /emctools/hmnhd_images 3.2. Без распаковки из а