Введение
Последнее время мы уделяем достаточно много внимания сетевым устройствам хранения данных (NAS), интерес к которым постоянно растёт. Нам пришла в голову идея создать миниатюрный файл-сервер с клиентом BitTorrent, который потреблял бы немного электричества и который можно было бы спрятать в шкафу для лучшей шумоизоляции. С этими задачами прекрасно справляется, например, BuffaloTech Kurobox , но его цена слишком высока, кроме того, купить это устройство в России и странах СНГ большая проблема.
С перечисленными задачами может прекрасно справиться и Мас mini, но, опять же, решение будет чересчур дорогим, и в этом случае придётся ограничиться 2,5″ жёсткими дисками. Удачным выбором может показаться Linksys NSLU2, который, хотя и имеет приемлемую цену (около $110), но сильно ограничен в ресурсах памяти и мощности процессора. Кстати, вы можете ознакомиться с творческой доработкой Linksys NSLU2 в цикле наших статей.
Всё это заставило нас пойти на поиски нового решения. Мы обратились к приставке Microsoft Xbox, которая выполнена на платформе ПК с 64 Мбайт ОЗУ, процессором Celeron 733 МГц, сетевым адаптером 100 Мбит/с Ethernet, жёстким диском ёмкостью 10 Гбайт и приводом DVD. К сожалению, в Россию и страны СНГ эта приставка официально не поставляется, поэтому на прилавках можно найти только “серый импорт”. В тех же странах, где приставка легально продаётся, её можно купить совсем задёшево (меньше $90), да и вариант б/у тоже не плох. Как мы думаем, с распространением Xbox 360 многие владельцы будут не против избавиться от старой Xbox. Немаловажен и тот факт, что сегодня активно ведётся разработка Xbox-Linux, так что проблем с установкой и настройкой возникнуть не должно, как и с другими устройствами на базе Linux.
Мы решили превратить Xbox в файловый сервер/NAS, заменив DVD-привод на жёсткий диск, установив Linux и настроив Samba и BitTorrent. Конечно, вы не сможете после этого играть на ней, зато получите полноценное и относительно недорогое устройство NAS.
Предупреждение.
- Для того, чтобы сделать описанное, вам придётся разбирать Xbox. Отметим, что блок питания Xbox не закрыт как на ПК, поэтому будьте аккуратны.
- Естественно, выполнив описанные действия, вы лишитесь гарантии.
- THG.ru не несёт ответственности за возможные повреждения оборудования, которые могут возникнуть при выполнении описанных работ.
Добавляем мод-чип BIOS
Мы начали с того, что купили нерабочую Xbox на eBay за $88 вместе с доставкой. В описании было указано, что приставка не загружается, однако, для нас это не было проблемой, поскольку мы всё равно собирались устанавливать Linux. Когда мы включили Xbox, то на экране увидели логотип, после чего появилось сообщение об ошибке Error Code 09 и светодиод на лицевой панели начал мигать красным и зелёным.
Xbox имеет собственный BIOS, как и у ПК, но он защищён от записи и изменения настроек. Таким образом, для загрузки Linux необходимо использовать специальную прошивку BIOS. Мы взяли Cromwell. Конечно, можно было взломать защиту от записи и переписать MS BIOS, решив эту проблему программным путём (софт-мод), однако мы решили купить мод-чип и подменить BIOS полностью.
Мы купили мод-чип Duox-2 modchip (Рис. 1) стоимостью около $18 по причине относительно невысокой цены и поддержки двух прошивок BIOS. То есть, если одна прошивка BIOS выйдет из строя, то для восстановления можно будет использовать другую.
Рис. 1. Мод-чип DuoX 2 Xbox.
Отметим, что мод-чип работает со всеми версиями Xbox (1.0, 1.1, 1.2, 1.3, 1.4 & 1.6, в нашем случае 1.1). Кстати, DuoX-2 Cromwell Edition поставляется с уже записанным Cromwell BIOS на один из чипов.
Когда мод-чип оказался у нас в руках, пришло время разбирать корпус Xbox. На этой странице можно найти подробное руководство по разборке Xbox.
После снятия крышки нужно вынуть материнскую плату, затем установить мод-чип, как указано в инструкции, которую можно найти здесь (убедитесь, что правильно указали вашу версию Хbox). Заметим, что нам показалось проще припаять кабель D0 к другому контакту на обратной стороне материнской платы. После установки чипа система выглядела следующим образом.
Рис. 2. Установка мод-чипа DuoX 2.
Следует убедиться, что переключатель на плате с чипом установлен в положение 0, чтобы загрузка происходила с Cromwell BIOS. Теперь, после подключения питания к Xbox, вы увидите следующий экран.
Рис. 3. Экран загрузки Cromwell.
Если Xbox пытается загрузиться прежним образом, по сценарию Microsoft, или индикатор не мигает, то следует проверить пайку кабеля.
Также следует обратить внимание и на следующее:
- между процессором и радиатором нужно заменить термопасту, так как оригинальная паста больше похожа на жвачку и просто ужасна;
- если вы планируете крепить Xbox к стене, то сейчас самое время просверлить несколько отверстий в нижней части корпуса.
Добавляем порты USB
Четыре порта геймепадов, расположенных на лицевой панели, являются ничем иным, как обычными портами USB 1.1, но с изменёнными разъёмами. Разъёмы USB нам понадобятся, так что придётся либо купить переходник, либо отрезать старые разъёмы и припаять правильные. Мы, естественно, выбрали второй способ.
Для этого взяли “косичку” с разъёмами USB от обычного ПК, которую можно приобрести практически в любом магазине. На этой странице Xbox Linux wiki есть подробное описание процедуры, так что, думаем, не стоит повторяться. Суть в том, что нужно припаять провода штекера, вставляющегося в материнскую плату, к контактам порта USB в соответствии с цветовой схемой. Отметим, что жёлтый кабель не используется. На Рис. 4 показан сделанный нами кабель.
Рис. 4. Кабель USB.
Кстати, если убрать пару игровых портов, то на освободившееся место можно поместить порты USB. Потребуется лишь немного подрезать разъёмы USB (или корпус Xbox). После этого, система будет выглядеть примерно так, как показано на следующей фотографии.
Рис. 5. Порты USB в лицевой панели Xbox.
Ниже показан вид разъёмов USB, подключённых к материнской плате изнутри корпуса Xbox.
Рис. 6. Порты USB – вид изнутри.
Прошивка BIOS
Последней версией Cromwell BIOS является 2.40, в нашем случае была записана версия 2.32. Таким образом, первым делом мы решили обновить версию, используя HTTP. Для этого мы подключили Xbox к локальной сети и к телевизору.
Затем скачали последнюю версию Cromwell BIOS с SourceForge. Мы получили две версии, 256 кбайт и 1024 кбайт. К сожалению, мод-чип DUOX-2 работает с банками по 512 кбайт, таким образом, версию на 256 кбайт следует адаптировать к объёму 512 кбайт.
Для этого мы скачали утилиту EVTool и последнюю 256-кбайт версию Cromwell BIOS. После чего, распаковали файл cromwell.bin из скачанного архива. Мы запустили EVTool и выбрали в утилите 512 кбайт, щёлкнули по кнопке “Size”, выбрали файл cromwell.bin и сохранили результат в файл cromwell512.bin.
Рис. 7. EVTool.
Для прошивки мод-чипа DuoX новой версией BIOS следует загрузиться с другой BIOS (FlashBios). Для этого надо выключить Xbox, установить переключатель в положение “1” и включить приставку. Если всё пройдёт нормально, вы увидите экран, подобный показанному ниже.
Рис. 8. Экран загрузки FlashBIOS.
Теперь, не выключая Xbox, нужно вернуть переключатель в положение “0”, выбрав тем самым Cromwell BIOS. Затем следует обратиться к меню. Гейм-пад, который оказался в комплекте с нашей приставкой, ничем не помог. К счастью, помогла USB-клавиатура, подключённая к только что сделанному разъёму USB.
Затем можно прошивать BIOS, следуя инструкциям. По завершении, если всё прошло гладко, выключите Xbox. Теперь снова включаем Xbox (выбран банк “0”). Если всё прошло гладко, то вы увидите экран Cromwell BIOS с новым номером версии.
Замена жёсткого диска
На Xbox устанавливается жёсткий диск ёмкостью 8 или 10 Гбайт. Конечно, можно использовать и этот накопитель, но мы решили заменить его 2,5″ 6-Гбайт мобильным жёстким диском. Отметим, что при желании можно воспользоваться ёмкой картой памяти Compact Flash.
Замена диска проходит так же, как на обычном ПК. Для подключения 2,5″ диска нужен адаптер и крепление. На снимке показан металлический кронштейн, который мы использовали для закрепления 2,5″ диска в стандартном отсеке для 3,5″ винчестера, а также адаптер, который позволяет подключать 2,5″ накопитель к стандартному шлейфу IDE.
Рис. 9. Устанавливаем 2,5″ накопитель.
Устанавливаем Linux
После того, как мы подготовили платформу, можно переходить к установке Linux. На сайте Xbox-linux.org весьма подробно описана установка Linux на Xbox, так что мы рекомендуем ознакомиться с указанной информацией, прежде чем переходить к следующему шагу. Мы решили установить Debian, вернее специальную версию для Xbox: Xebian.
Почитав об установке здесь, мы познакомились с процедурой. Ей и будем следовать, лишь с некоторыми исключениями. Кстати, предполагается, что для создания диска вы используете ПК с Windows.
Шаг 1: Подготовка к установке Xebian
Во-первых, нужно скачать архив, распаковать его, и записать образ на диск CD-R, CD-RW или DVD-R. Xbox может покапризничать по поводу используемого диска, однако, в нашем случае привод DVD успешно читал CD-R, CD-RW и DVD-R.
Шаг 2: Установка
Нужно следовать инструкциям Xbox-Linux instructions (Шаг 2) со следующими оговорками.
- В версии 1.1.4 используется пароль “xebian”.
- В пункте 4 надо выбрать установку в “родном” режиме (native), для чего нужно использовать весь диск (не устанавливайте на E: или F:).
- В пункте 6 выберите максимально большой раздел root. После этого винчестер будет отформатирован. Индикатора процесса не предусмотрено, поэтому может ошибочно показаться, что система зависла. Дождитесь завершения форматирования.
- Пункты 9 и 10 можно пропустить, поскольку мы выбрали “родной” режим установки.
- После того, как вы завершили пункт 10, и если проблем не возникло, то установка Linux прошла корректно. Можно извлечь диск из привода, перезагрузить систему, в результате чего должен загрузиться свежеустановленный Linux.
- Для входа в систему следует использовать учётную запись “root” с паролем “xebian”.
Шаг 3: Настройка Xebian
Продолжайте следовать инструкциям Xbox-Linux (Шаг 3).
- Создайте пользователя с помощью команды useradd -u myname.
- Смените адрес со статического на динамический, если в вашей сети есть сервер DHCP. Для просмотра нового адреса можно воспользоваться командой “ifconfig”.
- Все дальнейшие инструкции (3.3 и далее) можно пропустить.
Теперь садимся за ПК, запускаем PuTTY и подключаемся к Xbox по её IP-адресу, который отобразился после выполнения команды “ifconfig” на приставке. Заходим под именем пользователя “root” и с соответствующим паролем. Если всё работает, значит, установка прошла успешно! Если нет – повторяем заново.
Устанавливаем второй жёсткий диск
Итак, теперь у нас есть рабочая система под управлением Linux, настало время убрать DVD-привод и установить вместо него ёмкий жёсткий диск, который будет использоваться для предоставления файлов в общий доступ.
Вытаскиваем сам привод DVD (и жёлтый кабель, которым он подключён к материнской плате) и убираем его в надёжное место, всякое может случиться, так что для загрузки в экстренном случае он может пригодиться. Если нужны подробности о том, как это сделать, читайте здесь.
Предупреждение. Новый винчестер мы отформатируем в файловой системе Linux (ext3), так что все данные на нём будут утеряны!
Из блока питания выходит всего одна вилка питания Molex, поэтому придётся купить Y-разветвитель для подключения к нему двух винчестеров.
К сожалению, привод DVD использует 5,25″ отсек, а винчестер имеет размер 3,5″, так что установить его внутрь будет не так то просто. Нам пришлось просверлить пару отверстий в рамке оптического привода. Как видно на Рис. 10, с первой попытки мы не угадали.
Рис. 10. Дорабатываем отсек DVD.
Теперь можно установить диск в отсек (Рис. 11). Убедитесь, что перемычки выставлены в положение slave.
Рис. 11. Устанавливаем 3,5″ диск в отсек привода DVD.
Далее установите диск в корпус Xbox, подключите кабель IDE и разъём питания Molex. Скорее всего, ваша Xbox теперь выглядит так.
Рис. 12. Винчестеры на месте, всё готово к запуску.
На этом первая часть статьи заканчивается. Во второй части мы продолжим доработку Xbox в полноценный файловый сервер NAS.
Перейти ко второй части статьи.