В этой статье речь пойдет о расширении функционала сетевого хранилища 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:~#
Вот так вот :-(
Подскажите как понять в чем проблема, после
1. Форматирования usb-флешки в ext3
2. Распаковки архива на флешку
3. Назначения прав на исполнения файлу usb_key_func.sh
nsa220 не может получить ip-адрес?
И нужно ли переименовывать файл nsa220_check_file.fw220_and_older в nsa220_check_file, если у меня прошивка v3.22(AFE.1)
После нескольких минут ожидания, посмотрел структуру каталогов на флешке:
drwxr-xr-x 2 root root 4096 2010-09-19 13:50 bin
drwxr-xr-x 2 root root 4096 2010-09-19 13:50 boot
drwxr-xr-x 4 root root 12288 2010-09-19 13:50 dev
drwxr-xr-x 27 root root 4096 2010-09-19 13:50 etc
-rw-r—r— 1 root root 53 2009-12-20 19:53 nsa220_check_file
-rw-r—r— 1 root root 36 2009-12-29 13:32 usb_key_func.salted_md5sum
-rwxr-xr-x 1 root root 1750 2009-12-29 13:31 usb_key_func.sh
так и должно быть?
Несколько минут, это слишком мало, если мне не изменяет память первичный запуск с распаковкой всех файлов занимает порядка 10-15 минут.
Спасибо,
А нужно ли переименовывать файл nsa220_check_file.fw220_and_older в nsa220_check_file, если у меня прошивка v3.22(AFE.1)?
У меня прошивка 322AFE1D0, я не перименовывал файл.
Спасибо, переименовывать не нужно. Все заработало.
Ребят, из винды реально накатить эту прошивку?
Вполне реально.