В этой статье речь пойдет о расширении функционала сетевого хранилища Zyxel NSA 220 путем запуска Debian Lenny на данном девайсе. Установка будет происходить не во внутреннюю flash память, а на внешний USB stick, сделав его загрузочным для данного устройства с помощью специализированного скрипта, тем самым вы ничем не рискуете и всегда (отсоединив USB накопитель от устройства) можете вернуться к оригинальной прошивки.
Преимущества Debian перед оригинальной прошивкой: это конечно же гибкость настройки и установки ПО (все упирается в аппаратные ресурсы).
Недостатки оригинальной прошивки: лично мое мнение, да и не только мое, заводская прошивка с очень ограниченным функционалом по сравнению с аналогичными устройствами других производителей обновляется очень редко, добавляя где-то сомнительный функционал, не забыв добавить дополнительные «глюки»(встроенный торрент-клиент - «отдельная история и песня»). Хотя я не исключаю и того, что для кого-то встроенный функционал будет более чем достаточен, как в свое время был достаточен для меня.
Сразу предупрежу, что все нижеследующие операции вы выполняете под своей ответственностью и за потерянные данные я ответственности не несу, у меня все заработало, но это не значит, что все заработает у вас!
Переходим к процессу установки:
Сам процесс установки достаточно хорошо описан автором «сборки» debian под NSA 220 на форуме . Материал изложен на английском, поэтому здесь я опишу процесс на «великом и могучем», дополнив что-то от себя.
Для начала скачиваем сам архив сборки по следующему адресу:
Пример:
# umount /dev/sdb1 # mkfs -t ext3 /dev/sdb1
или
# mkfs.ext3 /dev/sdb1Следующим шагом нужно распаковать содержимое скаченного архива в корень flash накопителя уже отформатированного в ext3. Структура каталогов и файлов в корне flash накопителя должна быть следующей:
-
nsa220_check_file
usb_key_func.sh
usb_key_func.salted_md5sum
extract_me.tgz
Файл usb_key_func.sh должен иметь права на исполнение, в консоли linux это можно сделать следующим образом:
# chmod +x /путь до скрипта/usb_key_func.shНастраиваем сеть:
Теперь, что касается настройки сети. По умолчанию сетевой интерфейс будет иметь MAC адрес 12:34:56:78:9a:bc, а все настройки сети получать от dhcp сервера, тем самым подключив устройство NSA220 к сети с нашей кастомной сборкой «на борту», сеть «подхватится» от dhcp сервера, а чтобы подключиться к консоли устройства IP адрес можно посмотреть в логах самого dhcp сервера сориентировавшись на MAC NSA220.
Теперь подключаем USB stick к NSA220 и включаем устройство, как только в логах dhcp сервера обозначится информация о присвоении IP адреса устройству с MAC адресом 12:34:56:78:9a:bc, запускаем telnet клиент, вводим IP нашего NSA и переходим к интерактивному приглашению аутентификации пользователя на сервере. По умолчанию у нас супер пользователь root с аналогичным паролем, вводим эти данные. Чтобы не забыть в последствии сразу меняем пароль для root(советую воспользоваться каким-нибудь генератором паролей и с генерировать случайный пароль из 12 символов)
# passwd rootМеняем конфигурацию сети на статическую:
# nano /etc/network/interfacesВ исправленном виде конфигурационный файл должен примерно принять такой вид:
# Used by ifup(8) and ifdown(8). See the interfaces(5) manpage or # /usr/share/doc/ifupdown/examples for more information. auto lo egiga0 iface lo inet loopback #iface egiga0 inet dhcp # hwaddress ether 12:34:56:78:9a:bc iface egiga0 inet static hwaddress ether 12:34:56:78:9a:bc address 192.168.1.2 netmask 255.255.255.0 broadcast 192.168.1.255 network 192.168.1.0 gateway 192.168.1.1
Параметры разумеется выставляете свои на основе вашей конфигурации сети. Сохраняем изменения: Ctrl+o, Enter, Ctrl+x, Enter.
Последние штрихи в установке Debian на Zyxel NSA220:
Обновим базу данных доступных пакетов:
# apt-get updateОбновляем установленные пакеты:
# apt-get upgradeУстанавливаем пакет для взаимодействия с устройствами softraid:
# apt-get install mdadmВ процессе настройки я выбрал параметр “All” для объединения 2 жестких дисков.
Удаляем не безопасный telenetd:
# apt-get remove telenetdДля администрирования сервера устанавливаем openssh-server:
# apt-get install openssh-serverДля исправления индикации sys на передней панели NSA220(вы наверное уже успели заметить постоянно мигающий индикатор sys) отредактируем скрипт /etc/init.d/nsa220.sh.
# nano /etc/init.d/nsa220.shВо первых ставим комментарий на строку:
# [ -x "$DAEMON" ] || exit 0
Во вторых в функцию do_start() после строки
if ps -A | grep fanctrld | grep -v grep ; then return 1 fi
Вносим следующий код:
DECOMPRESS_PATH=/usr/AllPack
if [ -f /mnt/firmware/AllPack.lzma ]; then
if [ ! -d ${DECOMPRESS_PATH} ]; then
mkdir ${DECOMPRESS_PATH}
cd ${DECOMPRESS_PATH}
lzma -d /mnt/firmware/AllPack.lzma -c | tar x -C ${DECOMPRESS_PATH}
rm AllPack.tarСтраниц: 1 2
При установке у меня возникла проблема с apt-get.
на этапе Обновляем установленные пакеты:
root@NSA-220:~# apt-get upgrade
Reading package lists… Error!
E: Unable to parse package file /var/lib/dpkg/status (1)
E: The package lists or status file could not be parsed or opened.
Перечитал кучу всего. Увеличивал кэш в настройках. Менял список репозиториев в sources.list. Ничего не помогает.
Помогите пожалуйста.
Вообще, все очень странно, я проделывал эту настройку на NSA220 уже не единожды. Как мне кажется проблема может быть с правами или файловой системой, пробовали другой накопитель? aptitude update; aptitude upgrade ? Как форматировали накопитель?
Добрый день! Спасмбо за помощь.
NSA220 c прошивкой V3.22(AFE.1). Другого накопителя нет.
Поставил под Sun VirtualBox Mandriva2010.
Отформатировал флэшку (Transcend JF V10 – 8Gb): mkfs -t ext3 /dev/sdb1
Залил на нее файло из архива MC. Прописал права на запуск: chmod +x /путь до скрипта/usb_key_func.sh.
Вставил флэшку. Включил – все заработало. Дошел до apt-get upgrade – финиш.
Самому странно.
Debian GNU/Linux 5.0
NSA-220 login: root
Password:
Last login: Sun Jul 11 07:29:06 UTC 2010 from 192.168.1.11 on pts/0
Linux NSA-220 2.6.18.6-cs #27 Fri Dec 11 20:02:58 CET 2009 armv5tejl
The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
root@NSA-220:~# aptitude update
Segmentation fault
root@NSA-220:~# aptitude upgrade
Segmentation fault
root@NSA-220:~#
Вот так вот :-(