WD MyBook Live — расширение стандартной функциональности

Не секрет, что в данное время наличие дома нескольких компьютеров и прочих устройств, работающих с сетью в той или иной мере (телефоны, телевизоры, iptv-приставки, медиаплееры, etc) стало для многих нормой вещей. Обычно, в таком случае всё подобное железо соединено в сеть с общим выходом в интернет. Возникает вопрос о каком-то общем хранилище информации, в роли которого обычно выступает постоянно включенный компьютер, роутер с внешним диском или специализированное устройство. В общем, каким-либо образом организуется NAS, на котором уже «проживают» семейные и личные фото, любимая музыка, фильмы, и много чего другого. Каким именно образом организуется NAS — дело личного выбора каждого. Я, например, приобрёл WD My Book Live на 2ТБ, о котором и поведу дальнейший рассказ.

Прочитав несколько обзоров данного устройства, я выяснил, что «внутри» находится полноценный Debian Linux с возможностью доступа по ssh. Радости моей не было предела — мало того, что я получаю 2ТБ сетевого хранилища мод мои скромные нужды, так ещё есть возможность расширить заводскую функциональность, например, поставить туда web-сервер, поднять своё интернет-радио, ну и всё, что взбредёт в голову и реализовано в Linux. В крайнем случае — собрать или написать нужную программу самому.

Реальность, как это обычно бывает, разбила очередную пару розовых очков. Начну с того, что внутри всё-таки Linux. Debian 5 Lenny (который уже oldstable). Обновить его нельзя, так как может отвалиться поддержка железа SoC на котором, собственно и реализовано устройство. Доустановить нужные мне программы оказалось тоже довольно проблематично — некоторые из них в Debian 5 либо ещё отсутствуют, либо имеют настолько старые версии, что в них отсутствует нужна мне функциональность, либо, просто не установятся, так как пакетный менеджер не сможет поставить нужные им зависимости, не разрушив при этом работающую систему.

Результат «вскрытия» оказался печален, конечно, но не смертелен — это же Linux, в нём можно решить одну и ту же задачу разными способами. Следующим моим шагом стало создание резервной копии текущей прошивки, дабы мои эксперименты не привели к программной «смерти» устройства и походу в СЦ, которого в моём городе, кажется, и нет вовсе…

Помучив поисковики, наткнулся на инструкцию по снятию резервной копии, основную часть которой приведу:

1) Получить доступ по ssh
http://<IP-OF-YOUR-MYBOOK>/UI/ssh — url вводить руками, ссылки в интерфейсе на него нет

2) Заходим через PuTTY на устройство
пользователь=root
пароль=welc0me
(естественно, следует поменять пароль на свой, командой passwd)

3) Сохраняем MBR и информацию о свободном месте в начале диска устройства (сохранит быстро, размер архива — 440 байт):
dd if=/dev/sda bs=15728640 count=1 | bzip2 > /DataVolume/shares/Public/SDA_MBR_FREESPACE.bz2


4) Сохраняем разделы (их два, так как используется soft-raid) c текущей прошивкой, предупреждаю, процесс долгий:
dd if=/dev/sda1 | bzip2 > /DataVolume/shares/Public/SDA1_IMA.bz2
dd if=/dev/sda2 | bzip2 > /DataVolume/shares/Public/SDA2_IMA.bz2


Должно выдать что-то наподобии:
1 — SDA1_IMA.bz2 file:
3999744+0 records in
3999744+0 records out
2047868928 bytes (2.0 GB) copied, 2212.34 s, 926 kB/s
filesize = 595MB
2 — SDA2_IMA.bz2:
3999744+0 records in
3999744+0 records out
2047868928 bytes (2.0 GB) copied, 1914.37 s, 1.1 MB/s

5) Сливаем полученые архивы на свой компьютер или в другое надёжное место…

Итак, резервная копия сделана и сохранена на другом носителе, продолжим.

На сайте с инструкцией по бэкапу наткнулся на упоминание Optware, но mpd оттуда у меня работать в режиме вещания не захотел, хотя htop и mc установились и заработали корректно. Optware мне показалось явно недостаточно. Захотелось большего.

Инструкции по автоустановке различных feature-pack'ов мне, почему-то, откровенно не понравились. Наверное тем, что добавляли обилие различных web-конфигураторов, в которых я не видел необходимости. В этот момент в мою порядком уставшую голову пришла мысль, после которой мне стало дико стыдно за то, что я иногда причисляю себя к линуксоидам — chroot.

Chroot с полноценной системой внутри позволит мне запускать всё, что есть в репозитории выбранного дистрибутива! С горем пополам (почему-то репозитории Lenny работали нестабильно, а потом — вообще перестали отдавать список пакетов) я установил debootstrap, c помощью которого поставил в чруте нормальный Debian (testing – в погоне за «свежими» версиями), написал скрипты, которые монтировали мои шары внутрь чрута и запускали нужные мне сервисы.

Вроде бы всё хорошо и мне можно успокоиться, но тут я вспомнил, что обновление прошивки перетирает напрочь весь системный раздел и уничтожит все мои костыли и подпорки. Что ж, всё, что я сделал, было перенесено на раздел с данными и смонтировано в рабочую систему через mount --bind, написан ещё один скрипт, который возвращал все настройки на место, благо, обновление прошивки не убирало доступ по ssh.

Подумав, что у других хозяев подобных железок могут возникнуть такие же проблемы, я выложил своё творение на googlecode с возможностью лёгкой установки. Может, кому-то пригодится, хотя ещё сыровато, конечно.

Similar posts

AdBlock has stolen the banner, but banners are not teeth — they will be back

More
Ads

Comments 25

    0
    А можно посмотреть на вывод cat /proc/cpuinfo /proc/meminfo и hdparm -tT /dev/sda?
      +1
      wd:~# cat /proc/cpuinfo
      processor: 0
      cpu: APM82181
      clock: 800.000008MHz
      revision: 28.129 (pvr 12c4 1c81)
      bogomips: 1600.00
      timebase: 800000008
      platform: PowerPC 44x Platform
      model: amcc,apollo3g
      Memory: 256 MB
      wd:~# /proc/meminfo
      -bash: /proc/meminfo: Permission denied
      wd:~# hdparm -tT /dev/sda

      /dev/sda:
      Timing cached reads:
      594 MB in 2.01 seconds = 296.14 MB/sec
      Timing buffered disk reads: 192 MB in 3.00 seconds = 63.94 MB/sec
        0
        594 MB in 2.01 seconds = 296.14 MB/sec
        Timing buffered disk reads: 192 MB in 3.00 seconds = 63.94 MB/sec

        Он у Вас на холостом ходу?
          0
          Да.
            0
            root@NAS:~# hdparm -tT /dev/sda
            
            /dev/sda:
             Timing cached reads:   580 MB in  2.00 seconds = 289.86 MB/sec
             Timing buffered disk reads: 176 MB in  3.02 seconds =  58.30 MB/sec
            

            Понятно тогда, почему у меня значения ниже.
              0
              Ну небольшая разница, возможно погрешность измерений
                0
                root@NAS:~# cat /proc/loadavg
                2.68 1.90 1.64 1/129 10168
                

                Покажите вывод «cat /proc/loadavg»
                  0
                  wd:~# cat /proc/loadavg
                  1.13 1.03 1.01 1/95 16644
                    0
                    Это не погрешность. У меня, действительно, нагрузка повыше.
        0
        root@NAS:~# cat /proc/meminfo
        MemTotal:         253632 kB
        MemFree:            3776 kB
        Buffers:          119296 kB
        Cached:            23872 kB
        SwapCached:        13952 kB
        Active:           103040 kB
        Inactive:         102528 kB
        Active(anon):      31616 kB
        Inactive(anon):    33088 kB
        Active(file):      71424 kB
        Inactive(file):    69440 kB
        Unevictable:           0 kB
        Mlocked:               0 kB
        SwapTotal:        500608 kB
        SwapFree:         410816 kB
        Dirty:                64 kB
        Writeback:             0 kB
        AnonPages:         54784 kB
        Mapped:            19776 kB
        Shmem:              2304 kB
        Slab:              19776 kB
        SReclaimable:       9792 kB
        SUnreclaim:         9984 kB
        KernelStack:        1048 kB
        PageTables:        11264 kB
        NFS_Unstable:          0 kB
        Bounce:                0 kB
        WritebackTmp:          0 kB
        CommitLimit:      627392 kB
        Committed_AS:     479424 kB
        VmallocTotal:     727040 kB
        VmallocUsed:       10688 kB
        VmallocChunk:     666112 kB

        0
        Вообще, хочу модифицировать файлы самой прошивки, дабы автообновление никак не мешало кастомизации. Думаю, как. Вариант, собственно, только один — модифицировать установочные скрипты, ибо модифицировать подписанное обновление прошивки я без нужного ключа не смогу.
          0
          Как можно поставить компилятор в него? Хочу собрать asterisk 1.6 из исходников. В репозитории есть только 1.2
            0
            в каком репозитории?
              0
              Я не менял, в стандартном
                0
                Я не менял, в стандартном

                Используйте chroot. В нём можно современный Debian (или любой другой дистр — но сложнее) развернуть. Как — можете посмотреть в моём примере. Да и использовать его полностью.
              0
              А то с моими костылями у меня такое:
              root@NAS:~# mychroot.sh aptitude search asterisk
              p   asterisk                                                                      - Open Source Private Branch Exchange (PBX)
              v   asterisk-1.8  
              
                0
                зачем компилятор в рабочей железяке? Соберите у себя под нужную архитектуру. Будет ощутимо быстрее и ощутимо комфортнее
              0
              являюсь обладателем подобной штукенции)

              компилятор ставится и даже собирает нормально
              добавил debian-backports + помоему репозиторий нестабильный, взял оттуда пару пакетов и чтото еще в системе из системных либ обновилось — работает

              тепреь у меня transmission 2.4x ветки, minidlna скомпиленный руками вместо twonky ну и встроенный itunes-сервер.

              сильно нагружать устройство не советую, оно не предназначено для этого так как нет охлаждения винта и он ощутимо греется даже в простое
                0
                У меня не сильно греется, вроде. Из нагрузок: mpd, transmission 2.50 c архивом fb2 флибусты, штатные сервисы (типа twonky)

                Собирать софт лучше на большом компе кросс-компиляцией.

                И, да, я решил изначально не модифицировать родную систему вообще никак, ибо при установке обновления всё это умрёт. Я довешиваю к оригинальной системе chroot с
                root@NAS:~# mychroot.sh cat /etc/debian_version
                wheezy/sid

                и Optware. Просто после перепрошивки я одной командой втыкаю всё на место. А теперь есть мысли, как вообще ничего не вводить руками.
                0
                Добрый день. Прошу прощения, что не совсем по теме, но никто не знает, как починить разделы в такой коробке?

                У меня WD My Book World Edition та которая с белым глазом сайлона на морде. Как-то раз обнаружил, что ни один раздел не маунтится, а тот что системный — маунтится только в r/o. Это сильно мешает работе самого девайся (собственно он вообще не работает по назначению в сложившейся ситуации).

                Вынув sata винт на 2tb я подключил к маку, потом к убунте под виртуалкой под маком. Т.к. я не знал как там отформатированы разделы, я пробовал использовать fsck и fsck.ext3. Ничего хорошего из этого не вышло – утилиты писали что-то про Magic number и его отсутствие.

                Из статьи я понял, что в железке используется soft raid. Как его чинить ну или хотябы проверить?
                0
                Сделал
                wget -O — mybooklive.googlecode.com/files/mybooklive.sh | sh
                все вроде скачалось, последнее вот что было
                added 51 changesets with 71 changes to 19 files
                updating to branch default
                10 files updated, 0 files merged, 0 files removed, 0 files unresolved

                но нет файла mychroot.sh

                wd:~/.bin# ls
                createReadonlyPublicShare.sh
                  +1
                  Странно…

                  Скажите в консоли:
                  # cp -v /DataVolume/custom/quo/extra/bin/mychroot.sh /root/.bin
                  0
                  А дробокс, случайно, туда никто не смог запихнуть?
                    0
                    Готовлю статью как туда запихнуть ownCloud

                  Only users with full accounts can post comments. Log in, please.