Введение
Если вас интересуют интегрированные платформы на системе Linux, то сегодня существует множество устройств, с которыми можно поэкспериментировать. Это практически всё оборудование – от маршрутизаторов, до точек доступа и прочих сетевых устройств, которое можно найти в ближайшем компьютерном магазине. Мы потратили достаточно много времени, чтобы заставить Linksys NSLU2 делать то, для чего это сетевое хранилище никогда не предполагалось использовать. На этот раз, мы рассмотрим подобное устройство, тоже на базе Linux, – прекрасный шанс, чтобы его доработать.
Рис. 1. Kuro Box готовит завтрак. Шутка, конечно.
Kuro Box (KB) от компании Buffalo Technology (на самом деле от нового подразделения Revolution by Buffalo) является сетевым устройством хранения данных (NAS), причём со 100% открытым кодом. Таким образом, функции устройства легко и просто расширить. Kuro Box (“Kuro” в переводе с японского означает “эксперт” или “специалист”) является первым устройством в новой линейке продуктов, нацеленных на VAR, дистрибуторов и простых покупателей, которые любят дорабатывать своё оборудование. Для начала сравним NSLU2 и Kuro Box.
В отличие от NSLU2, использующего внешние жёсткие диски с интерфейсом USB, Kuro Box позволяет устанавливать 3,5-дюймовый диск внутрь. Поскольку устройство содержит диск, то его размеры больше, чем у NSLU2, при этом Kuro Box напоминает обычный тостер (Рис. 1). Конечно, по размеру NSLU2 и меньше, но использование внутреннего привода вносит свои коррективы.
Начнём с того, что скорость передачи данных при использовании внутреннего диска будет выше по сравнению с внешним, поскольку не придётся передавать данные через подсистему Hi-Speed USB 2.0. Далее, для большинства пользователей использование внутреннего жёсткого диска автоматически решает проблему, существующую у пользователей NSLU2 – управление питанием жёсткого диска. Если диск NSLU2 никогда не останавливается, то команда Linux hdparm позволяет установить время простоя, через которое диск перестанет вращаться.
Что касается цены, то NSLU2 обойдётся примерно в два раза дешевле, чем Kuro Box, но ведь стоимость NSLU2 не включает USB-оснастку. Таким образом, пользователям придётся либо покупать её самостоятельно и устанавливать внутрь жёсткий диск IDE, либо покупать готовый внешний жёсткий диск USB, причём оба варианта обойдутся дороже, чем обычный жёсткий диск IDE. Впрочем, цена USB-оснасток продолжает падать, начинаясь уже с отметки $35, так что стоимость NSLU2 оказывается всё равно более привлекательной, чем $160 Kuro Box. Как мы думаем, BuffaloTech следует снизить цену своего устройства.
Buffalo и Linksys, кроме всего прочего, используют разные подходы для поддержки разработчиков. Linksys выбрала подход с наименьшими инвестициями, а Buffalo всячески поддерживает и способствует сообществу разработчиков-энтузиастов и открыто допускает возможность доработки своего устройства. Сообщество разработчиков Buffalo имеет специальный сайт с тематическими форумами, дискуссиями, инструментами и исходными кодами, причём в форумах активно участвуют сотрудники Buffalo Tech.
Давайте закончим со сравнением и перейдём непосредственно к Kuro Box.
Функциональность и настройка
KB является, по сути, модифицированным образцом потребительской версии NAS Buffalo Linkstation, предназначенным для разработчиков. Основное аппаратное различие между Linkstation и Kuro Box заключается в том, что продукт Buffalo поставляется без жёсткого диска. Таким образом, покупателям KB можно выбрать жёсткий диск IDE на свой вкус.
Если заглянуть внутрь, то можно заметить 200-МГц процессор PowerPC, 64 Мбайт ОЗУ и 4 Мбайт флэш-памяти, и всё это хозяйство работает под управлением Linux с ядром 2.4.17. Кроме того, KB оборудован одним портом Hi-Speed USB 2.0 и одним 10/100 Ethernet. Любителям покопаться в ядре понравится то, что на плате есть внутренний разъём для последовательного порта, который будет удобен для отладки и отслеживания процесса загрузки. Для охлаждения системы используется миниатюрный вентилятор.
Настройка устройства немного отличается от потребительских моделей. Следуя инструкциям PDF, скачанным с сайта Kuro Box, для установки жёсткого диска устройство придётся практически полностью разобрать. Чтобы максимально уменьшить размер корпуса, диск сидит внутри очень плотно.
Рис. 2. Внутренности Kuro Box.
На Рис. 2 показан KB со снятой крышкой. Чтобы добраться до жёсткого диска, придётся поднять плату и убрать металлический кронштейн, как показано на Рис. 3. Жёсткий диск (который, к сожалению чёрный, а поэтому плохо виден) установлен под кронштейном.
Рис. 3. Внутреннее устройство.
Так что для сборки следует основательно поработать руками. Но, думаем, для энтузиастов это не проблема. Как только вы установили диск, устройство можно подключать к LAN – оно готово.
Настройка
В отличие от многих устройств, позволяющих осуществлять начальную настройку через web-интерфейс, Kuro Box реализует другой подход. Любопытно, что начальная настройка выполняется при помощи приложения Windows, которое, как нам кажется, лучше всего работает под Windows 98 и более ранними версиями! К счастью, у нас в сети была старая машина с Windows, но другие пользователи Kuro Box, судя по форуму, достаточно противоречиво отзываются об установке.
К счастью, один из энтузиастов-разработчиков описал процесс установки через Telnet, то есть через интерфейс командной строки. Если вы заинтересовались, то весь процесс описан в форумах на сайте Kuro Box. Как только инициализация будет выполнена, устройство загружается в конфигурации по умолчанию, в которой используется файловый сервер для Windows на основе Samba, файловый сервер для сетей AppleTalk, сервер Telnet, сервер FTP, и другие!
Изначально Kuro Box появился в Японии, сейчас он начал продаваться в США, а вскоре мы можем ожидать его появление и в Европе. Но американский комплект поставки показался нам несколько сыроватым. Документация скудна, а web-интерфейс представлен на японском. К счастью, те, кто не знаком с японским, могут скачать с сайта Kuro Box каталог для преобразования интерфейса в англоязычный.
Огорчает лишь то, что установка скачанных файлов проходит не совсем гладко. Перевод строки в каждом файле каталога cgi-bin выполнен в стиле MSDOS, поэтому запустить скрипты не получится. Придётся вручную менять переводы строк. Впрочем, как мы надеемся, эта проблема будет решена в будущем.
Помимо проблемы с cgi-bin существуют и другие. К примеру, неправильно подписанные кнопки, ссылка на установку клиента Network Time Protocol, но отсутствие ссылки на инсталляцию сервера NTP, отсутствие ручного выбора DNS-сервера и т.д. Впрочем, устройство предназначено для разработчиков-энтузиастов, которые, скорее всего, сами доработают или вообще уберут web-интерфейс. Так что представленный интерфейс можно считать базой для доработки.
Рис. 4. Настройка через web-интерфейс.
Настройка для собственных нужд
Для нашего обзора мы не вдавались в подробности web-интерфейса, выбрав ручную конфигурацию через командную строку. Сделать это проще, чем в NSLU2, поскольку все необходимые загрузочные файлы находятся на жёстком диске, а сервер Telnet запускается по умолчанию. Например, настройка сервера DNS оказалась крайне простой – нужно было лишь добавить запись в файл /etc/resolv.conf. Если вы уже знакомы с Linux, то настройка Kuro Box лишь немногим отличается от настольной системы, так что никаких трудностей вы не испытаете.
Чтобы помочь разработчикам, Buffalo предлагает скачать со своего сайта zip-архив, где находятся готовые неоткомпилированные пакеты, например perl, python, ssh, nfs и другие. Они существенно облегчают расширение функций устройства. Присутствие полной компиляции tool-chain тоже вносит свой вклад в облегчение установки новых функций. Это означает, что вы можете добавить многие пакеты с открытым исходным кодом без изменений! Например, нам удалось установить сервер Apache всего в три шага:
./configure
make
make install
Если вы не планируете создавать свои модули, то вполне можно обойтись готовыми решениями, причём не только от Buffalo. Сообщество Linux достаточно широко поддерживает архитектуру Linux/PPC, так что во многих случаях решение, скомпилированное для другой системы, будет работать и на Kuro Box. Например, мы скачали pre-built MySQL с mysql.com и без проблем смогли его запустить. Некоторые разработчики отметили совместимость двоичных программ, откомпилированных для Yellow Dog Linux и PPC-версии Debian Linux. Некоторые разработчики дошли до того, что полностью заменили систему Buffalo на PPC Debian Linux!
Модификация ядра выполняется немного сложнее, чем просто добавление приложений. В данном случае ядро записано во флэш-памяти, поэтому для создания нового ядра её придётся перепрошить. Процедура замены ядра описана на форуме, но мы её не проверяли.
К счастью, добавить драйверы новых устройств немного проще, чем заменить ядро. Поскольку устройство первоначально появилось в Японии, в Интернете можно найти множество японских сайтов, посвящённых Kuro Box. Немного поискав в Интернете, мы нашли сайт с дополнительными драйверами для ядра Kuro Box. Установив эти драйверы на нашу систему, мы смогли подключить несколько устройств к USB-порту Kuro Box, включая web-камеру, USB-адаптер Ethernet и USB-адаптер СОМ-порта. Одного порта USB может показаться недостаточно, но мы просто подключили все необходимые устройства через USB-концентратор – и все они смогли работать одновременно.
Заключение
Kuro Box является мощным и компактным домашним сервером, который легко дорабатывать, а производительности будет более чем достаточно для домашней сети. После нескольких дней экспериментов нам удалось настроить на нём Apache, MySQL и X10 (программу домашней автоматизации), web-камеру, сервер iTunes и т.д.
Если принять во внимание несколько месяцев, потраченных на доработку NSLU2, то преимущества продукта Buffalo станут вполне очевидными. Kuro Box очень дружественен к разработчикам-энтузиастам, а использование открытого исходного кода существенно облегчает процесс добавления новых функций. Конечно, есть и недостатки: отсутствие подробной документации и несколько неудачный web-интерфейс. Но вряд ли это остановит целевую аудиторию.
В то же время, сообщество энтузиастов-разработчиков NSLU2 сегодня существенно возросло, да и стоит устройство Linksys несколько дешевле. Так что решайте, что вам больше подходит. Подробнее ознакомиться с Linksys NSLU2 можно здесь.
Итоговая информация о продукте | |
Производитель | Buffalo |
Модель | Kuro Box |
Итог | Полностью настраиваемый сервер Linux/PPC. Привод IDE покупается отдельно |
Преимущества | – Открытая платформа с действующей поддержкой производителя – Можно использовать существующие пакеты Linux/PowerPC – Поддерживает 3,5″ IDE-винчестеры |
Недостатки | – Скудная инструкция и недоработанный web-интерфейс – Небольшое (но быстрорастущее) сообщество разработчиков – Поддерживает только один внутренний диск |
Розничная цена | $160 (США) |