[Из песочницы] Замена HDD на NetUP стримере и установка прошивки

4aba80944bc54b81ae5c4fdefcc16685.png
a26f6014142d4c0d8c66be9a8bbd73b3.jpg

Предыстория

На днях перестал вещать один из NetUP стримеров. «Завис», подумал я (есть у них такая «особенность»), и пошел перезагружать его. Т.к. у этих стримеров не предусмотрено кнопки включения-выключения питания, или кнопки Reset, перезагружаются они только выдергиванием шнура питания.

Через некоторое время, после того, как я вернул ему питание, стример вывел надпись на LCD панели: «Checking HDD filesystem…». Оставил его в таком состоянии с мыслью, что проверит диск и запустится. Однако ни через час, ни через два этого не произошло. На стримере продолжала показываться надпись о проверке HDD. Через консольный кабель подключиться не удалось. Так же не к чему не привели последующие перезагрузки. Решил достать жесткий диск и проверить его на bad block’и. Нашлось не малое количество секторов, для которых не удалось сделать Remap или Erase.

Вывод простой: нужно менять жесткий диск. С самой заменой проблем нет, не рабочий вытащил, рабочий поставил. Но теперь у нас на руках голая железка без ОС (прошивки).

О том, как установить прошивку «с нуля» и пойдет дальнейший рассказ.

Вырианты

Лично я вижу только 3-й вариант как это сделать:

  1. Обратиться в техподдержку NETUP
  2. Клонировать HDD с другого стримера
  3. Разобраться с прошивкой, что она из себя представляет, и как ее установить

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

Второй вариант вполне приемлем. Нужно только погасить один из рабочих стримеров, клонировать его диск какой-нибудь программой. Но мне не хотелось демонтировать из стойки другой стример, а во-вторых, не хотел останавливать вещание других каналов (абонентам это не нравится).

Третий вариант мне вполне подходил по всем выше перечислимым критериям. Плис, это просто интересно и познавательно.

Подготовка

Для привидения стримера к рабочему состоянию, нам потребуется:

  1. USB флешка
  2. Консольный кабель
  3. Роутер
  4. Образ прошивки
  5. Образ LiveFlash

Теперь по каждому пункту отдельно.

USB флешка подойдет любого размера, начиная от 128 Мб, т.к. образ LiveFlash, занимает около 100 Мб.

Консольный кабель для подключения к стримеру и изменения настроек BIOS. Видео выхода на стримере нет.

Стример нужно подключить к роутеру, чтобы после загрузки с флешки можно было подключиться к нему по SSH для дальнейшей работы.

Образ прошивки загружается с сайта netup.tv, раздел «Личный кабинет > Файлы > Стабильная версия». Я использовал версию firmware-streamer-standalone.1.11.117.

Образ LiveFlash так же с сайта. Раздел «Личный кабинет > Файлы > Общедоступные файлы». Там два образа, LiveFlash и LiveCD, но CD привода у стримера нет. В общем, я думаю подойдет любой дистрибутив Linux, который способен загрузиться с флешки. В образе от NetUP я не увидел ничего особенного, чего не было бы в других дистрибутивах. Но я пользовался им.

Начнем

Прошивка Как оказалось, образ прошивки — это tar.gz архив. Поэтому распаковываем архив. tar -xvf firmware-streamer-standalone.1.11.117 В архиве четыре файла: filesystem, info, initrd.img и vmlinuz.

filesystem — это, как можно догадаться из названия, образ файловой системы, упакованный в Squashfs.

info — тут содержится информация о прошивке: контрольные суммы, версия, ревизия, тип и дата создания.

initrd.img и vmlinuz — это RAM диск и ядро.

Все эти файлы нам потом понадобятся.

LiveFlash Тут все просто. Записываем скачанный образ на флешку. Я сделала это через dd: dd if=liveflash.img of=/dev/sdb bs=1M Загрузка Нужно подключить консольный кабель, патч-корд к роутеру, вставить флешку в стример и запустить его.

Теперь нужно сделать то, чего нет в документации. Нам нужно загрузиться с USB Flash, для это в BIOS нужно указать ее первой в очереди загрузки. Чтобы увидеть процесс загрузки и в нужный момент нажать клавишу «Del», подключаемся через консольный кабель к стримеру. Это можно сделать через HyperTerminal, putty и т.д. Лично я использовал minicom. В параметрах соединения помимо номера COM порта нужно указать скорость/четность/биты 115200 8N1, а также отключить аппаратное и программное управление потоком. В документации это нет, точнее есть подключение консольным кабелем на скорости 19200 8N1, но при таких настройках порта сообщений POST и самого BIOS мы не увидим. Так можно подключиться только к рабочему стримеру, например если у него нет сетевого соединения для доступа по SSH.

После того, как мы попали в BIOS и выставили загрузку с USB Flash, выходим из BIOS’а с сохранением параметров. F4, если не ошибаюсь, или через пункт меню «Save & Exit». Теперь стример будет загружаться с флешки. Но тут есть один нюанс: дело в том, что в меню загрузчика LiveFlash по умолчанию выбран пункт «Boot from local harddrive», что конечно нас не устраивает, т.к. диск у нас пока пустой. При скорости последовательного порта в 115200 меню загрузчика не видно. Поэтому сразу после того, как стример ушел в перезагрузку, меняем скорость на 19200 и видим загрузчик флешки. Выбираем самый верхний пункт «Boot LiveFlash» и нажимаем «Enter».

После того, как стример загрузился с LiveFlash, нужно зайти на WEB интерфейс роутера и посмотреть, какой IP-адрес он получил. Далее при помощи любого SSH клиента, подключаемся к стримеру с логином root и паролем netup123.

Диск Вот мы и подключены к нашему стримеру по SSH, а точнее — к Live системе, которая запущена на нашем стримере.

Первое, что нам нужно сделать, это разбить жесткий диск на разделы, отформатировать и смонтировать их в нужные каталоги.

Разбивать следующим образом: первый раздел 5 Гб., второй все остальное (если честно, то для меня осталось загадкой, для чего NetUP использует диски объемом в 1 Тб, если используется максимум 15 Гб дискового пространства). Разбить на разделы, можно при помощи утилиты fdisk, которая присутствует в системе.

fdisk /dev/sda Пользоваться fdisk’ом достаточно просто, тут я этого описывать не буду, т.к. это выходит за рамки статьи.

Поле того, как разделы созданы и новая таблица разделов записана на диск, их нужно отформатировать:

mkfs.ext3 /dev/sda1 mkfs.ext3 /dev/sda2 Теперь монтируем: mount /dev/sda1 /mnt/flash mount /dev/sda2 /mnt/hdd Все, мы готовы приступить к установки прошивки на эти диски.Загрузчик На стримерах используется GRUB. Устанавливать его необходимо с опцией --root-directory=/mnt/flash, т.к. необходимо, чтобы каталог /boot и конфигурационные файлы загрузчика были на sda1: grub-install --root-directory=/mnt/flash /dev/sda Загрузчик установлен, далее необходимо в директории /mnt/flash/boot/grub создать файл menu.lst в котором указываем опции загрузки ядра. Полное содержание файла:

menu.lst
default 0timeout 3

title NetUP IPTVroot (hd0,0)kernel /boot/vmlinuz root=/dev/ram0 selinux=0 init=/linuxrc vmalloc=256m ro netup_flash=sda1 netup_hdd=sda2initrd /boot/initrd.img

title Recoveryroot (hd0,0)kernel /boot/vmlinuz root=/dev/ram0 selinux=0 init=/recovery roinitrd /boot/initrd.img

Файлы прошивки Фалы filesystem и info, ранее извлеченные из прошивки, нужно загрузить на стример в директорию в директорию /mnt/flash. А файлы vmlinuz и initrd.img в /mnt/flash/boot. Для этого можно использовать scp например, лично я использовал SFTP в Midnight Commander.Полуфинал Собственно, на этом и все. Можно набрать «reboot» в консоли стримера, извлечь флешку и ждать, когда загрузится наш стример. Он распакует файловую систему, создаст себе файл подкачки и т.д. Это будет стандартная прошивка, со стандартными настройками. Если есть желание изменить настройки по умолчанию, то ниже я расскажу, как это сделать.Настройки Настроек не так много:

  1. IP адреса интерфейсов
  2. Маршрутизация
  3. Пароль
  4. Часовой пояс

В прошивке используется Aufs, поэтому чтобы заставить прошивку применять наши настройки достаточно создать соответствующие файлы конфигурации, которые будут «накладываться поверх» стандартных файлов настройки.

Создадим директорию, в которую поместим наши файлы конфигурации:

mkdir /mnt/hdd/netup/sysconfig IP адреса интерфейсов Файл network.cfg. Запись в нем имеет вид:

network.cfg

eth0 10.4.4.176 255.255.255.0 maineth3 172.16.0.9 255.255.255.0

Можно сразу прописать адреса которые используются на стримере, что бы потом не пришлось входить на стример под стандартными адресами.Маршрутизация Файл routes.cfg. Имеет вид:

Заголовок спойлера

route add -net »0.0.0.0» gw »172.16.0.1» netmask »0.0.0.0» dev «eth3»

Так же можно прописывать несколько маршрутов, по одному в каждой строчке.Пароль Файл password.cfg. Тут записывается пароль, который будет использоваться для доступа по WEB, SSH и FTP. Пароль записывается в открытом виде.Часовой пояс Файл timezone. Пример записи:

timezone

Asia/Krasnoyarsk

Итог

На этом все. Как видно, нет не чего сложного в том, чтобы установить прошивку на «голый» стример. Времени это занимает очень мало, и если делать это через службу техподдержки, то уйдет пол дня переговоров в hotline.

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

© Habrahabr.ru