Заміна HDD на NetUP стримере і установка прошивки




Передісторія

Днями перестав говорити один з 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.lstdefault 0
timeout 3

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

title Recovery
root (hd0,0)
kernel /boot/vmlinuz root=/dev/ram0 selinux=0 init=/recovery ro
initrd /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.cfgeth0 10.4.4.176 255.255.255.0 main
eth3 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. Приклад запису:

timezoneAsia/Krasnoyarsk

Підсумок

На цьому все. Як видно, немає не чого складного в тому, щоб встановити прошивку на «голий» стример. Часу це займає дуже мало, і якщо робити це через службу техпідтримки, то піде пів дня переговорів у hotline.

Так що, зробити це самому цікаво, швидко і, що не мало важливо, безкоштовно.

Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.