Замена диска в накопителе Iomega HMND
(и кое-что ещё!)

Есть такое сетевое хранилище - Iomega hmnd2. В своё время это был очень дешёвый прибор с приличным набором функций. Но к сожалению, у меня в нём вышел из строя жёсткий диск и долгое время это устройство лежало без работы, т.к. фирма Iomega сначала была поглощена Lenovo и, как обычно, это ничем хорошим не закончилось. Так что скачать прошивку для накопителя стало невозможным и в интернете ничего не нашлось.

Но вот буквально вчера я наткнулся на архив с файлами прошивки и теперь можно вернуть аппарат к жизни.

Итак, приступим. Для начала подключаем новый жёсткий диск к компьютеру и смотрим, кто он у нас в системе:

fdisk -l

В моём случае это /dev/sda

Обратите внимание - это в МОЁМ случае! Всегда внимательно проверяйте, с каким именно диском работаете! На большинстве ПК /dev/sda - это первый диск компьютера и именно на нём хранятся все данные и операционная система.

Мой диск хоть и далеко не новый, но в эксплуатации он не был и не содержит разделов. У вас это может быть не так, значит его для работы нужно приготовить и удалить все разделы

fdisk -u /dev/sda

для удаления разделов подаём команду

d

и сохраняем информацию о таблице разделов

w

Скачиваем файл Iomega-HMNHD-CE-1st-32M.img.gz 

wget http://r9ocn.ru/files/Iomega-HMNHD-CE-1st-32M.img.gz

и записываем его содержимое на диск

zcat Iomega-HMNHD-CE-1st-32M.img.gz |dd of=/dev/sda bs=1

ВНИМАНИЕ! Проверяйте, с каким диском работаете!!!

 

Готовим флешку.

Подключаем её, выясняем, как она определилась в системе

fdisk-l

у меня она /dev/sdd

Монтируем флешку

mkdir /mnt/flash

mount /dev/sdd1 /mnt/flash

скачиваем архив с прошивкой и копируем его на флешку

wget http://r9ocn.ru/files/iomega/recovery-3.1.14.995.zip

unzip -o recovery-3.1.14.995.zip -d /mnt/flash

отмонтируем флешку

umount /mnt/flash

Теперь собираем накопитель, втыкаем флешку в разъём, зажимаем кнопку reset и подаём питание. Держим секунд 15. Если на флешке есть лампочка - то до тех пор, пока она не замигает, показывая ,что происходит операция чтения.
Если не горит никаких красных лампочек, а накопитель долго мигает двумя белыми - всё прошло отлично! По прошествии около 10 минут устройство будет готово к работе.

 

Получение доступа по SSH

На этом устройстве находится linux, так что его функционал можно легко расширить.
Для того, чтобы включить доступ по SSH, нужно перейти на страницу http://ip_накопителя/diagnostics.html и установить галочку

После включения на накопитель можно зайти по SSH с пользователем root и паролем sohoпарольпользователя. Т.е. если пароль администратора накопителя 12345, то пароль рута будет soho12345

Также должно быть очевидно, что с этого момента мы можем использовать накопитель не только по протоколу smb, но по sftp, т.е. открыв его в менеджере файлов своего компьютера по адресу
sftp://root@ip_накопителя/
Чтобы не ходить на устройство под рутом, можно создать пользователя и дать ему ограниченный доступ. По умолчанию права пользователя ограничиваются его домашним каталогом.

 

Расширение возможностей накопителя

Возможно добавить множество функций в наш накопитель, если установить в него дополнительные программы - на нём можно развернуть веб-сервер или установить загрузчик торрентов или почтовый сервер. В заводском исполнении ПО не позволяет ничего подобного, однако мы легко можем обойти данные ограничения.
Ничего страшного в результате наших действий произойти не должно, но на всякий случай рекомендую сохранить все свои данные где-нибудь в другом месте прежде, чем начать.

Заходим на накопитель по ssh
Т.к. сейчас мы находимся в корневой директории, то перейдём во временную папку, чтобы не наводить бардака. Вдобавок, директория с именем initrd у нас уже есть, что создаст проблемы для неподготовленного пользователя (на следующем этапе wget переименует целевой файл в initrd.1)

cd /tmp


Скачиваем файл

wget http://r9ocn.ru/files/iomega/initrd

и записываем его содержимое в самое начало жёсткого диска.

dd if=initrd of=/dev/sda bs=512 seek=16674

После чего перезагружаемся

shutdown -r now

Перезагрузка накопителя длится долго, наберитесь терпения и дождитесь, пока индикатор перестанет мигать и загорится ровным светом. У меня на это уходит минут по 10! Надо бы посмотреть в логи, какая причина такого поведения, но пока руки не дошли.

После перезагрузки снова заходим на накопитель по ssh
Нам нужно настроить источник программ. Для этого в файл /etc/ipkg.conf нужно вписать адрес репозитория. Сам файл не существует, он будет создан автоматически в результате выполнения следующих команд.
Здесь есть два варианта. Дело в том, что я не был уверен в том, сколько ещё просуществует репозиторий с программами (он давно не обновляется и выглядит очень заброшенным) и сделал его зеркало на всякий случай. Так что вы можете выбрать любой из вариантов - воспользоваться оригинальным репозиторием или моей копией.
Для добавления оригинального выполните следующие команды:

echo "src cross http://ipkg.nslu2-linux.org/feeds/optware/cs08q1armel/cross/stable" >> /etc/ipkg.conf

echo "src native http://ipkg.nslu2-linux.org/feeds/optware/cs08q1armel/native/unstable" >> /etc/ipkg.conf

А для использования моей копии - эти:

echo "src cross http://repo.r9ocn.ru/cross/stable" >> /etc/ipkg.conf

echo "src native http://repo.r9ocn.ru/native/unstable" >> /etc/ipkg.conf

Теперь можно обновить информацию о репозитории

ipkg update

Пробуем установить что-нибудь. Начать можно с файлового менеджера

ipkg install mc

Однако, просто запустить его не выйдет, т.к. пока система не знает, по какому пути искать исполняемые файлы программ. Поможем ей. Запустим MC напрямую:

/opt/bin/mc

перейдём в каталог etc и откроем на редактирование файл profile, нажав на нём клавишу F4. Запустится стандартный текстовый редактор MC.
добавим к переменной PATH путь к нашим исполняемым файлам, приведя её к такому виду:

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/mnt/system/opt/bin"

Сохраним (F2) и выйдем из редактора (F10). В системах с графическим интерфейсом эта клавиша привязана к вызову меню окна "файл", так что если у вас вместо закрытия редактора вылазит меню, то на выход можно нажать и мышкой.

Теперь запускать установленные программы можно как обычно, без указания полного пути к ним.

Ещё следует добавить путь к библиотекам из каталога opt в файл конфигурации /etc/ld.so.conf.d/libc.conf
В него нужно дописать строчку
/mnt/system/opt/lib
приведя к такому виду:

Для успешной установки многих программ нам понадобится ещё скрипт update-alternatives. Скачаем его

wget http://r9ocn.ru/files/iomega/update-alternatives -P /opt/bin

и дадим права на исполнение

chmod +x /opt/bin/update-alternatives

Существует скрипт optware, который служит для простой установки программ. Я сам им не пользовался ни разу, но на всякий случай добавим его в систему, лишним не будет.
Скачиваем:

wget http://r9ocn.ru/files/iomega/optware.sh -P /etc/init.d

делаем его исполняемым

chmod +x /etc/init.d/optware.sh

добавим скрипт в автозапуск

update-rc.d optware.sh defaults 99 01

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

ipkg install nano