Попался мне на днях медиаплеер от 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.
Делаю вывод сообщений системы с очисткой:
Подключаю флешку в USB-порт. Вывожу еще раз сообщения системы:
В выводе видно имя устройства — в моем случае это [sdb].
Автоматическое монтирование обнаруженных дисковых устройств в этой версии отключено, и это правильно — плохо когда за тебя думает машина
Тип файловой системы флешки я знаю, но чтобы убедиться можно набрать
У меня выводит в правой колонке для dev/sdb1 тип W95 FAT32
Можно спросить и другим образом
...
/dev/sdb1 ... TYPE="vfat"
Cоздаю каталог (точку монтирования), по которой будет доступно это «временное» хранилище:
Монтирую, указывая тип файловой системы «vfat», устройство и точку монтирования:
Подключаю через USB-slave кабель PopcornTV.
Жду некоторое время, секунд 20, так как это «устройство» цепляется не быстро. Затем снова
По выводу вижу, что диск, установленный в PopcornTV, WDC WD20 EARS подключился устройством [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 секторов:
После слива файла, проверю, что «не прогадал». Создаю точку монтирования:
Монтирую получившийся образ как файловую систему в loop-устройство в режиме только на чтение, указав тип файловой системы ext3, источник-файл, и созданную точку монтирования:
Ошибок при монтировании не дал. Папки на диске видны:
.cache/ .hdinfo lost+found/ syb8634/
Замечательно, теперь можно стирать все разделы с HDD /dev/sdc и переразмечать диск заново.
Так как я не сохранил сессию в файл, то приведу по памяти только нажатие кнопок-команд в fdisk.
-
Помним, что если в fdisk что-то пошло не так, то всегда есть Ctrl+C или q в командном режиме.
Удалю все разделы с таблицы разметки:
d
3
d
2
d
d
Далее создаем первый раздел -
p
1
(так как в RIPLinux свежий fdisk, то он сам предложит первый сектор 2048)
(не буду заморачиваться точным вычислением размера в секторах, можно выделить больше — это не меньше, хуже не будет. Исходя из того, что 514017/2/1024=250 с хвостиком мегабайт, дам 260 мегабайт)
Первый раздел создан
Второй — под swap был порядка 504 мегабайт, создам чуть больше (и не спрашивайте а зачем так много, что оперативки то всего 256M, а под Linux и вообще 87M. Скопировал как было, не думая )
p
2
(он сам предлагает стартовый сектор 534528, как свободный на HDD после первого раздела)
+512M
t
2
(меняю тип второго раздела для swap на 82)
Третий раздел — под данные:
p
3
(стартовый сектор 1583104 он сам предлагает)
(на запрос размера топаем кнопку Enter — он будет последний и до хвоста)
Вот теперь можно нажать p и убедиться что все красиво:
/dev/sdc2 534528-1583103 ... 82 Linux swap
/dev/sdc3 1583104-3907029167 ... 83 Linux
И самое ответственное, нажимаю «w», чтобы сохранить таблицу на HDD и вывалиться с fdisk!
Теперь восстанавливаем данные с файла на диск, указав размер блока равный размеру сектора и смещение для дискового устройства-приемника в 2048 секторов:
После завершения восстановления монтирую первый раздел в /mnt/p для проверки:
mount -t ext3 /dev/sdc1 /mnt/p
Смонтировалось без ошибок и папки видны:
.cache/ .hdinfo lost+found/ syb8634/
Отмонтировал, и убрал напоминалку о проверке раздела:
tune2fs -c 0 /dev/sdc1
Проверил раздел вручную:
Все нормально — ошибок нет.
И вот, осталось только разметить оставшийся раздел /dev/sdc3. Так как он будет использоваться под хранение видео и закачку торрентов, то это файловая система ext3, причем с явным указанием размера блока 4KB (mkfs.ext3 в RIPLinux 11.3 ставит по умолчанию блок в 1K), увеличенным inode, и выключением резерва под суперпользователя:
Уберу возможные домогательства проверки раздела:
Все!!!
Читали долго ? Страшно стало повторить? На самом деле все укладывается в шесть шагов к успеху: создать штатными стредствами раздел с приложениями, скопировать с него данные, стереть все разделы, выставить разделы корректно, восстановить данные, отформатировать большой раздел.
По рабочему времени рукоприкладства это заняло около часа, исключая разбивку HDD самим плеером. Но включая поиск RIPLinux, качание и прожиг болванки. Форматирование последнего раздела вручную, отняло от силы минут пять (а не час работы плеера).
Но, если рискнете пойти по этому пути впервые, то помните, что ядрена бомба тоже создавалась в мирных целях. То есть, не уверены в своих силах — доверьтесь специалисту. А решились сами, то выполняем аккуратно, внимательно и читаем все что софт на нажатия пишет.
А эту статью я задокументировал сюда только для себя, так как есть еще старое боевое поколение плееров, которые даже нынешние 2TB диски переживут. Вдруг еще занесут?
24 декабря 2010 г. в 13:48
> так как есть еще старое боевое поколение плееров, которые даже нынешние 2TB диски переживут.
Это точно Для не особо требовательных юзеров старые медиатанки до сих пор актуальны, особенно если накатить последнюю попкорновскую прошивку.
24 декабря 2010 г. в 15:25
Был удивлен, но плееры до сих пор есть в продаже «под заказ» по весьма скромной цене. Учитывая, что 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 руб.»
1 февраля 2011 г. в 16:11
Никто не пробовал провести таким образом первоначальную разметку диска на компе, а потом уже установить NMT приложения, без форматирования внутри тормозной железяки ?
6 февраля 2011 г. в 19:41
Для тех кто не сразу понял, что «рация на броневике», повторю — плеер включал к ноутбуку, а так как у меня не промышленный 100-килограммовый «ноутбук», то портами SATA там не пахнет.
Во-первых — если ставишь Приложения на NMT — то этот хард форматируется плеером целиком и полностью, начихав на ранее существовавшую разметку диска.
Во-вторых — если нет первоначальной установки Приложений на плеер с тормозным штатным форматированием, то нет возможности содрать раздел с этими самыми Приложениями. В Инете никто за’tar-енную копию dd с раздела не выкладывает — никому это не нужно.
Отсюда и вытекают вышеизложенные танцы с бубном.
Хотя если бы BBK смотрел на тренд, то прошивку от 2010 года мог бы наградить нарезкой с сектора 2048 — тогда и статьи бы не было.
13 марта 2011 г. в 22:59
добрый день
почему взят первый начальный сектор 2048?
в статье написано что поумолчанию это предложил fdisk?насколько критично данное значение?
вопросы возникли потому что у меня по всей видимости старый fdisk который по умолчанию предлагает первый сектор 63, причем при разбивке как указано в статье вся разметка «поплыла», поскольку второй – под swap стартовый сектор 534529( а не 534528)
14 марта 2011 г. в 14:19
2048 — по новому стандарту для дисков с 4к сектором (эдвансед формат)- первый раздел, и выровненные по 8к — все последующие.
при использовании 2048 для старых, 512 секторных, ничего страшного не будет., будет просто потерял 1Мб места и всё ((2048-63)*512=1М), но зато нет необходимости думать какой диск установлен — 512 или 4к
14 марта 2011 г. в 15:51
Спасибо, ситуация прояснилась, я использовал версию fdisk 2.17.1 а с RIPом идет версия 2.19, с ней разбивка прошла успешно , так как описано в статье