NMT-200 ЧаВо

WD20EARS 4K на BBK PopcornTV NP101S

Статья WildFlexy от 24.12.2010
Редакция Poslanec от 25.07.2012

Попался мне на днях медиаплеер от BBK — PopcornTV BBK NP101S.
Для тех, кто не знает про эту железяку совсем ничего, скажу, что по аппаратному устройству это полный аналог PopcornHour NMT A-110 (чипсет Sigma 8635), ныне списанному Syabas на откуп производителям по лицензии. И по софту это тот же A-110 — даже лого NMT от Syabas светится при запуске плеера.
Сразу скажу, что вскрытия не делал — и без меня фотографий внутренностей данного девайса достаточно.

Вопрос обладателя был в том, каким же образом ставятся штатные приложения NMT, но я обнаружил более веселую проблемку, а именно работу данного клона A-110 с вполне современным HDD с размером сектора в 4K.

Так как диск был девственно чист, то установка Приложений NMT была доступна только как «Чистая» (с форматированием HDD). Дело то минутное — скопировал файл syb8634.nmt в корень USB-флешки (FAT32) и поставил… А точнее устал ждать пока поставится. Все форматирование и накат Приложений по времени заняло более часа. И скорость записи на HDD колышется в районе 5-7 мегабайт в секунду…

А в чем же проблема? В неоптимальности распила HDD штатным средствами! При установке Приложений NMT NP101S режет разделы в DOS-совместимом режиме с 63 сектора.
Посекторно это выглядит так: 63-514079 — раздел для приложений, 514080-1526174 — swap, 1526175 по хвост диска — раздел под данные.
То есть, все разделы размещено неправильно! И это приводит к существенному снижению скорости обмена с SATA HDD.

Переделаем?
Запросто!

Из инструментов мне потребовался мой боевой ноутбук с двумя портами USB на борту и DVD-приводом, флешка на 2GB (в FAT32), USB-A-B шнур (master-slave кабель из комплекта BBK NMT), а также Интернет.
Флешка потребовалась мне больше для страховки от случайного прибития данных на HDD ноутбука. В Linux шаловливые пальцы, с правами суперпользователя, могут это сделать легким движением. Будьте внимательнее и предохраняйтесь!

Качаю RIPLinux. Обожаю его за консольную немногословность, а также за наличие всех необходимых примочек для работы с дисками. В принципе подойдет практически любая версия и Live-сборка Linux. Беру свежую версию 11.3. Bootable ISO (RIPLinux-11.3-non-X.iso), 85 мегабайт, без иксов — не нужны мне GUI-шашечки. Образ iso прожигаю на CD-RW. Так проще, хотя можно и флешку загружаемую сделать. Но это актуально для тех, у кого USB-портов больше или привода в компьютере нет.

Итак, приступим. Приложения NMT, как мы помним, уже есть на HDD NMT.

На ноутбуке стартую RIPLinux — мой вариант консоль 32-битная:

RIPLinux 11.3
Boot Linux System! (32-bit kernel)
- Boot Linux System! (skip keymap prompt)
Boot Linux System! (64-bit kernel)

После того как система загрузится, на приглашение «RIPLinux login:» ввожу root.
Делаю вывод сообщений системы с очисткой:

dmesg -c

Подключаю флешку в USB-порт. Вывожу еще раз сообщения системы:

dmesg -c

В выводе видно имя устройства — в моем случае это [sdb].
Автоматическое монтирование обнаруженных дисковых устройств в этой версии отключено, и это правильно — плохо когда за тебя думает машина :)

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

fdisk -l /dev/sdb

У меня выводит в правой колонке для dev/sdb1 тип W95 FAT32
Можно спросить и другим образом

blkid
...
/dev/sdb1 ... TYPE="vfat"

Cоздаю каталог (точку монтирования), по которой будет доступно это «временное» хранилище:

mkdir /mnt/f

Монтирую, указывая тип файловой системы «vfat», устройство и точку монтирования:

mount -t vfat /dev/sdb1 /mnt/f

Подключаю через USB-slave кабель PopcornTV.
Жду некоторое время, секунд 20, так как это «устройство» цепляется не быстро. Затем снова

dmesg -c

По выводу вижу, что диск, установленный в PopcornTV, WDC WD20 EARS подключился устройством [sdc].
Смотрю его таблицу разделов в посекторном виде:

fdisk -lu /dev/sdc
/dev/sdc1 63-514079 ... 83 Linux
/dev/sdc2 514080-1526174  ... 82 Linux swap
/dev/sdc3 1526175-3907024064 ... 83 Linux

Нужно снять копию с раздела с Приложениями NMT (это первый /dev/sdc1). Количество секторов вычисляю калькулятором как 514079-63+1 = 514017. Снимаю копию в файл, где источник — HDD PopcornTV, приемник — файл на флешке, пропускаю 63 «ненужных» сектора, размер блока установлен на 512 байт (сектор), переписать нужно 514017 секторов:

dd if=/dev/sdc of=/mnt/f/syb.iso skip=63 bs=512 count=514017

После слива файла, проверю, что «не прогадал». Создаю точку монтирования:

mkdir /mnt/l

Монтирую получившийся образ как файловую систему в loop-устройство в режиме только на чтение, указав тип файловой системы ext3, источник-файл, и созданную точку монтирования:

mount -o loop,ro -t ext3 /mnt/f/syb.iso /mnt/l

Ошибок при монтировании не дал. Папки на диске видны:

ls /mnt/l
.cache/   .hdinfo   lost+found/   syb8634/

Замечательно, теперь можно стирать все разделы с HDD /dev/sdc и переразмечать диск заново.
Так как я не сохранил сессию в файл, то приведу по памяти только нажатие кнопок-команд в fdisk.

    Помним, что если в fdisk что-то пошло не так, то всегда есть Ctrl+C или q в командном режиме.

Удалю все разделы с таблицы разметки:

fdisk -u /dev/sdc
d
3
d
2
d
d

Далее создаем первый раздел -

n
p
1

(так как в RIPLinux свежий fdisk, то он сам предложит первый сектор 2048)

2048

(не буду заморачиваться точным вычислением размера в секторах, можно выделить больше — это не меньше, хуже не будет. Исходя из того, что 514017/2/1024=250 с хвостиком мегабайт, дам 260 мегабайт)

+260М

Первый раздел создан

Второй — под swap был порядка 504 мегабайт, создам чуть больше (и не спрашивайте а зачем так много, что оперативки то всего 256M, а под Linux и вообще 87M. Скопировал как было, не думая :) )

n
p
2

(он сам предлагает стартовый сектор 534528, как свободный на HDD после первого раздела)

534528
+512M
t
2

(меняю тип второго раздела для swap на 82)

82

Третий раздел — под данные:

n
p
3

(стартовый сектор 1583104 он сам предлагает)

1583104

(на запрос размера топаем кнопку Enter — он будет последний и до хвоста)

Enter

Вот теперь можно нажать p и убедиться что все красиво:

/dev/sdc1 2048-534527 ... 83 Linux
/dev/sdc2 534528-1583103  ... 82 Linux swap
/dev/sdc3 1583104-3907029167 ... 83 Linux

И самое ответственное, нажимаю «w», чтобы сохранить таблицу на HDD и вывалиться с fdisk!

Теперь восстанавливаем данные с файла на диск, указав размер блока равный размеру сектора и смещение для дискового устройства-приемника в 2048 секторов:

dd if=/mnt/f/syb.iso of=/dev/sdc bs=512 seek=2048

После завершения восстановления монтирую первый раздел в /mnt/p для проверки:

mkdir /mnt/p
mount -t ext3 /dev/sdc1 /mnt/p

Смонтировалось без ошибок и папки видны:

ls /mnt/p
.cache/   .hdinfo   lost+found/   syb8634/

Отмонтировал, и убрал напоминалку о проверке раздела:

umount /dev/sdc1
tune2fs -c 0 /dev/sdc1

Проверил раздел вручную:

fsck.ext3 -p /dev/sdc1

Все нормально — ошибок нет.

И вот, осталось только разметить оставшийся раздел /dev/sdc3. Так как он будет использоваться под хранение видео и закачку торрентов, то это файловая система ext3, причем с явным указанием размера блока 4KB (mkfs.ext3 в RIPLinux 11.3 ставит по умолчанию блок в 1K), увеличенным inode, и выключением резерва под суперпользователя:

mkfs.ext3 -b 4096 -i 262144 -m 0 /dev/sdc3

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

tune2fs -с 0 /dev/sdc3

Все!!!


Читали долго ? Страшно стало повторить? На самом деле все укладывается в шесть шагов к успеху: создать штатными стредствами раздел с приложениями, скопировать с него данные, стереть все разделы, выставить разделы корректно, восстановить данные, отформатировать большой раздел.

По рабочему времени рукоприкладства это заняло около часа, исключая разбивку HDD самим плеером. Но включая поиск RIPLinux, качание и прожиг болванки. Форматирование последнего раздела вручную, отняло от силы минут пять (а не час работы плеера).

Но, если рискнете пойти по этому пути впервые, то помните, что ядрена бомба тоже создавалась в мирных целях. То есть, не уверены в своих силах — доверьтесь специалисту. А решились сами, то выполняем аккуратно, внимательно и читаем все что софт на нажатия пишет.

А эту статью я задокументировал сюда только для себя, так как есть еще старое боевое поколение плееров, которые даже нынешние 2TB диски переживут. Вдруг еще занесут? :)

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

  • Roman_V_M

    > так как есть еще старое боевое поколение плееров, которые даже нынешние 2TB диски переживут.

    Это точно :) Для не особо требовательных юзеров старые медиатанки до сих пор актуальны, особенно если накатить последнюю попкорновскую прошивку.

  • pchuser

    Был удивлен, но плееры до сих пор есть в продаже «под заказ» по весьма скромной цене. Учитывая, что SET TOP BOX для IPTV у многих провайдеров ~ 5000 руб.
    А на этом агрегате IPTV на раз запускается. И перешивается он в A110 достаточно просто.
    «BBK NP101S v2 (без HDD) Full HD, HDMI 1.3, Sigma SMP8635, USB 2.0, LAN, UPnP AV-сервер, FTP-сервер, NAS-сервер, BitTorrent

    08 янв. 3 831 руб.»

  • Aure

    Никто не пробовал провести таким образом первоначальную разметку диска на компе, а потом уже установить NMT приложения, без форматирования внутри тормозной железяки ?

    • WildFlexy

      Для тех кто не сразу понял, что «рация на броневике», повторю — плеер включал к ноутбуку, а так как у меня не промышленный 100-килограммовый «ноутбук», то портами SATA там не пахнет.
      Во-первых — если ставишь Приложения на NMT — то этот хард форматируется плеером целиком и полностью, начихав на ранее существовавшую разметку диска.
      Во-вторых — если нет первоначальной установки Приложений на плеер с тормозным штатным форматированием, то нет возможности содрать раздел с этими самыми Приложениями. В Инете никто за’tar-енную копию dd с раздела не выкладывает — никому это не нужно.
      Отсюда и вытекают вышеизложенные танцы с бубном.
      Хотя если бы BBK смотрел на тренд, то прошивку от 2010 года мог бы наградить нарезкой с сектора 2048 — тогда и статьи бы не было.

  • westkot

    добрый день
    почему взят первый начальный сектор 2048?
    в статье написано что поумолчанию это предложил fdisk?насколько критично данное значение?
    вопросы возникли потому что у меня по всей видимости старый fdisk который по умолчанию предлагает первый сектор 63, причем при разбивке как указано в статье вся разметка «поплыла», поскольку второй – под swap стартовый сектор 534529( а не 534528)

    • Poslanec

      2048 — по новому стандарту для дисков с 4к сектором (эдвансед формат)- первый раздел, и выровненные по 8к — все последующие.
      при использовании 2048 для старых, 512 секторных, ничего страшного не будет., будет просто потерял 1Мб места и всё ((2048-63)*512=1М), но зато нет необходимости думать какой диск установлен — 512 или 4к ;)

      • westkot

        Спасибо, ситуация прояснилась, я использовал версию fdisk 2.17.1 а с RIPом идет версия 2.19, с ней разбивка прошла успешно , так как описано в статье :-)

2010–2017 © NMT-200 ЧаВо