THG.RU | Поиск Поиск Поиск | Новости | Видеокарты | Процессоры | Материнские платы | Мониторы | Аудио/видео | HDD и CD/DVD | Собери сам | Игры | Софт | Домашний ПК

РЕКЛАМА
ПОИСК И ЦЕНЫ
Поиск по сайту THG.ru


Поиск по ценам в Price.ru




ИНФОРМАЦИЯ
ДРУЗЬЯ THG

Exler : авторский проект
iXBT.com : коллеги
BenchmarkHQ
G-Class.ru : Гелики
Avto.ru : автомобили
КомпьютерПресс
Radeon.ru : поддержка
PCNews : новости IT
NV World : Мир nVidia
iPhoneRoot : новости
Kraftway : серверы
SLY : компьютеры

ПОЛЕЗНЫЕ ССЫЛКИ

Беспроводной маршрутизатор Draytek Vigor 2900g: в гонке за функциональностью

Linksys Network Storage Link: сетевое хранилище на базе USB-приводов

Rambler's Top100 Рейтинг@Mail.ru
bigmir)net TOP 100

СЕТИ

RSS
Дорабатываем Linksys NSLU2: универсальная платформа Linux
Краткое содержание статьи: Если устройство обладает огромным потенциалом, который не раскрыт производителем, то почему бы не подключить к этому сообщество разработчиков Linux? Усилиями многих людей сетевое хранилище Linksys NSLU2 превратилось в универсальную платформу с открытым исходным кодом. Мы рассмотрим, как добавить к NSLU2 поддержку NFS, сервера iTunes и других пакетов с помощью прошивки Unslung. Чуть больше, чем за $80, вы получите универсальное устройство с огромными возможностями.

Дорабатываем Linksys NSLU2: универсальная платформа Linux

Страница: Назад  1 2 3 4 5 Далее


Переходим на прошивку Unslung

В Интернете уже достаточно давно образовалось сообщество энтузиастов NSLU2. Поэтому вы можете найти различные службы, которые можно будет установить в систему. Нас же больше всего заинтересовала прошивка Unslung, которая расширяет возможности системы. Во-первых, она сохраняет стандартные функции Linksys, в то же время увеличивая опции по настройке. Разработчики-добровольцы хорошо "поковыряли" прошивку.

Во-вторых, прошивка добавляет стандартную схему пакетов, которая позволяет с лёгкостью устанавливать новые программные пакеты из Интернета. Наконец, прошивка освобождает до 10 Мбайт памяти. Неплохо для устройства с 32 Мбайт ОЗУ. Дополнительная память позволит запускать более требовательные приложения, например, сервер баз данных или полнофункциональный web-сервер.

Но как же разработчики смогли освободить память, нисколько не повлияв на стандартные функции Linksys и, в то же время, добавив новые возможности? Давайте посмотрим.

Альтернативы boot-time

Для начала, давайте разберёмся с архитектурой boot-time. Как мы уже упоминали, загрузка устройства начинается с RedBoot. Среди всего прочего, этот загрузчик отвечает за копирование ядра Linux и RAM-диска из флэш-памяти в ОЗУ.

Когда копирование будет завершено, управление передаётся ядру Linux. Оно стартует и монтирует RAM-диск в качестве корня или базовой файловой системы. Затем из файловой системы начинается процесс инициализации. В ходе его монтируются жёсткие диски и/или флэш-брелоки, а затем запускается web-сервер, файловый сервер и т.д. После чего устройство готово к работе.

Все базовые функции NSLU2 запускаются с RAM-диска, поскольку устройство может загружаться даже без подключённых жёстких дисков. Хорошая особенность, но слишком накладная. На 250-Гбайт жёстком диске много свободного места, но вам придётся умещать все необходимые исполняемые файлы, библиотеки, html-файлы и другую информацию на крошечном RAM-диске.

Что, если переместить все эти файлы с RAM-диска на жёсткий? Тогда можно было бы распоряжаться намного более объёмной файловой системой и освободить оперативную память, раньше занимаемую RAM-диском. Было бы неплохо сохранить обратную совместимость с процессом загрузки Linksys. Если к устройству подключён диск с файловой системой, то пусть она и используется. Если же диска нет, или нет файловой системы, то пусть создаётся RAM-диск. Именно такой подход и реализует прошивка Unslung. Теперь давайте познакомимся с ней повнимательнее.

Выбираем файловую систему

Очень часто ядро Linux компилируется с заданным идентификатором, указывающим на диск, который будет использоваться для корневой файловой системы. Он может находиться как в ядре, так и передаваться ядру загрузчиком. В случае NSLU2 Linksys зашила идентификатор в ядро, указав на RAM-диск для корневой файловой системы. Но ведь Linksys ничего другого и не предполагала. Впрочем, как и другие параметры Linux, зашитый идентификатор можно обойти.

Linux имеет возможность определения местонахождения корневой файловой системы. Эта возможность часто используется, когда одно ядро должно работать на нескольких аппаратных платформах. К примеру, одно и то же ядро может работать на системе, где корневая файловая система находится на диске IDE или SCSI. Перед тем, как Linux загрузится, система определит загрузочные диски и попытается найти нужный корень. После этого Linux смонтирует корневую файловую систему и продолжит нормальную загрузку. Эта функция и используется в Unslung.

Код Unslung для определения загрузочной файловой системы не входит в ядро. Вместо этого он включён в функцию Linux initrd. Эта функция создаёт специальный RAM-диск, который содержит пользовательский код, выполняемый до монтирования корневой файловой системы. Разработчики Unslung добавили ложный указатель корня в ядро, а затем добавили код в initrd, который проверяет диски и находит реальную корневую файловую систему. Если таковая будет обнаружена на одном из подключённых жёстких дисков, то Linux будет использовать её, а не RAM-диск. После чего 10 Мбайт RAM-диска будут освобождены для других нужд.

Установка Unslung

Ещё одна интересная особенность Unslung - богатые возможности по настройке. Как и в предыдущей части нашей статьи, Unslung добавляет ссылки на стандартные скрипты запуска - но не только. Скрипты Unslung, названные "обходными скриптами", добавляют ссылку в каждый загрузочный скрипт. В результате, вы можете добавлять код в любой момент загрузки.

Кроме того, обходные скрипты позволяют полностью отменять стандартные функции Linksys. К примеру, если сервер SMB вам больше не нужен, обходной скрипт сделает "return 0", в результате чего оставшаяся часть Samba в скрипте Linksys будет пропущена. Также можно запустить Samba со своими опциями или использовать свою собственную версию Samba. Подобные возможности добавлены ко всем загрузочным скриптам Linksys.

Наконец, в Unslung присутствует стандартный пакет ipkg, который изначально был разработан для наладонных систем Linux. После чего этот пакет расширили до других устройств с ограниченными ресурсами. Использование стандартного пакета позволяет легко добавлять функции к устройству.

К примеру, для добавления сервера Secure Shell достаточно будет выполнить всего одну команду. После этого пакет будет скачан из Интернета, сконфигурирован и установлен. На момент выхода статьи в Интернете уже присутствовало 19 пакетов, однако в будущем их число будет значительно расширено - ожидается более 1500 пакетов для NSLU2!

Впрочем, довольно теоретизировать - перейдём к практике. Мы предполагаем, что вы уже включили Telnet на устройстве, как показано в первой секции нашей статьи.

Если вы следовали нашим инструкциям в других разделах, то сначала нужно зарезервировать наши предыдущие изменения. Прошивка Unslung использует те же каталоги, которые были созданы нами в папке /share/hdd/conf, - это bin, etc и rc.d. Мы просто перенесём наши каталоги и позволим Unslung выполнить свою установку. А затем мы вернём наши изменения.

Поэтому зайдите на NSLU2 с помощью Telnet и переименуйте каталоги.

cd /share/hdd/conf
mv bin bin.old
mv etc etc.old
mv rc.d rc.d.old

На этот раз мы не будем создавать собственную прошивку, использовав UNSLUNG-1.11-beta.zip (скачать можно здесь). Скачайте прошивку Unslung и распакуйте её в рабочую папку. Вы получите три файла: README и два образа прошивки. Один образ предназначен для использования USB-дисков, форматированных под Linux ext3, а второй - для системы Windows VFAT. В нашем случае мы решили использовать диски VFAT, поскольку при этом поведение устройства оказывается ближе к стандартному. Соответственно, мы взяли образ UNSLUNG-1.11-beta-V23R25.bin. В файле README содержится подробная информация о прошивке, а также инструкции по созданию собственной версии прошивки.

После распаковки выключите NSLU2 и отключите жёсткие диски. Включите NSLU2 обратно и прошейте образ Unslung с помощью стандартной утилиты модернизации Linksys. После успешного процесса и загрузки, включите Telnet, используя URL Management/telnet.cgi (как показано в первой части статьи). После этого зайдите на устройство с помощью Telnet, используя имя пользователя root и пароль uNSLUng.

Исследуем возможности Unslung

Сейчас мы используем новую прошивку, но набор функций, на первый взгляд, не изменился. Мы по-прежнему используем стандартный RAM-диск, без каких-либо новых пакетов. Теперь подключим диск к USB-порту 1. Через несколько секунд введите команду df - она должна показать смонтированный диск.

Теперь давайте создадим корневую файловую систему на нашем диске - скопируем RAM-диск. Для этого можно использовать команду:

/sbin/unsling

По мере копирования RAM-диска на жёсткий диск будут выводиться кое-какие сообщения. После завершения наберите:

sync
reboot

Устройство будет перезагружено. После загрузки вновь включите Telnet, использовав URL telnet.cgi. Введите имя пользователя и пароль. Команда df должна показать раздел conf, смонтированный в каталоге "/" и в оригинальном местоположении, где утилиты Linksys и ожидают его увидеть. Теперь у нас есть 10 Мбайт освобождённой памяти! Для проверки введите:

cat /proc/meminfo

Вы должны увидеть небольшой объём памяти, отмеченный как free и большое количество в пунктах buffers и cached. Эта память доступна для приложений.

Теперь давайте включим Telnet через обходной скрипт. Информацию по созданию обходных скриптов можно получить из файла README, поставляемого вместе с прошивкой Unslung. Мы создали копию /etc/inetd.conf в каталоге /opt/etc/. Затем в каталоге /unslung мы создали xinetd-версию обходного скрипта, назвав её rc.xinetd.

#!/bin/sh

cp /opt/etc/inetd.conf /etc/

return 1

Команда будет выполняться перед запуском inetd, просто удостоверяясь, что конфигурационный файл запустил Telnet. Строчка "return 1" разрешает выполнение остальной части стандартного скрипта. Если каталоги вас смутили, то вы должны посмотреть, как обходные вызовы осуществляются в оригинальных файлах rc, к примеру, в /etc/rc.d/rc.xinetd. Теперь, после перезагрузки, Telnet должен запускаться автоматически.

Настало время добавить несколько приложений.

Добавляем приложения

Как мы уже упоминали выше, Unslung использует систему пакетов ipkg. Сначала давайте обновим эту систему. Для этого выполните команду "ipkg" с параметром "update".

ipkg update

Предупреждение Предупреждение. Проверьте, что NSLU2 подключён к Интернету, иначе обновление не сработает.

Команда выведет несколько строчек оповещений. Если команда ipkg выведет сообщение об ошибке, просто запустите обновление снова. Если же ошибки не исчезают, то проверьте настройку на NSLU2 шлюза по умолчанию и DNS-сервера (на стандартном экране настройки Linksys).

Теперь давайте посмотрим, какие пакеты доступны для нашего устройства.

ipkg list

Вы должны получить список пакетов, включающий nfs и mt-daapd. Давайте попробуем установить nfs. Сначала нам понадобится portmap.

ipkg install portmap

Вы получите несколько строк сообщений, как и раньше, если установка будет успешной. Если вы уже установили nfs, руководствуясь предыдущими разделами нашей статьи, то можете просто скопировать зарезервированные файлы в каталог etc.

cp /share/hdd/conf/etc.old/exports /etc/

В следующую перезагрузку nfs должен работать. Вы можете заметить ещё один пакет nfs в списке ipkg. Это другая версия, которая поддерживает v3 протокола nfs. Самая значительная особенность v3, по нашему мнению, - это поддержка файлов больше 2 Гбайт. У нас не было достаточно времени, чтобы выявить другие новшества. Если вы желаете попробовать nfs v3, то сначала удалите старый пакет nfs, используя функцию "remove" с ipkg.

Если вы желаете установить mt-daapd, то используйте следующую команду:

ipkg install mt-daapd

С помощью ipkg сервер iTunes устанавливается намного легче. После установки, если вы следовали нашей статье, скопируйте зарезервированные файлы в каталог /etc.

cp /share/hdd/conf/etc.old/mt-daapd.conf /etc/

Если это ваша первая установка mt-daapd, то скопируйте конфигурационный файл из каталога /opt/etc в папку /etc. Кстати, у некоторых пользователей возникали проблемы доступа к файлам MP3. Если они у вас тоже появятся, то либо измените права на дерево MP3, либо "runas" в конфигурационном файле - чтобы там был пользователь, обладающий достаточными правами. Проверьте конфигурацию mt-daapd ещё раз, чтобы были правильные пути, - и после перезагрузки вы получите рабочий сервер iTunes!

Теперь давайте попробуем установить новый пакет. Telnet - штука полезная, но небезопасная. Пароль и имя пользователя Telnet посылаются по сети в открытом виде. Намного лучшим решением является secure shell (ssh). Для ограниченных по ресурсам устройств лучше использовать сервер dropbear. Устанавливать его очень легко.

ipkg install dropbear

Установка в данном случае будет более длительной, поскольку необходимо сгенерировать криптографические ключи. Когда она завершится, вы получите сервер ssh. Теперь с Linux или Macintosh OS X можно будет входить на NSLU2 по ssh.

ssh -l root 192.168.1.10

Как только вы включите ssh, мы рекомендуем удалить скрипт Telnet из каталога /unslung.

Дальнейшее расширение возможностей NSLU2

Регулярно выполняйте обновление ipkg (ipkg update) и просматривайте доступные пакеты (ipkg list). Вы также можете присоединиться к сообществу разработчиков и предложить свой пакет.

Также вы можете поделиться с разработчиками своими отзывами. Для этого достаточно перейти на страницу NSLU2 Yahoo.

Конечно, Unslung - мощная прошивка, но это не финальный этап эволюции NSLU2. Как мы понимаем, NSLU2 постепенно из сетевого хранилища превращается в платформу с открытым исходным кодом. В следующей статье, посвящённой NSLU2, мы расскажем о других возможных применениях.

Ну, а пока мы рекомендуем отслеживать страницы Linux на NSLU2 и сайт группы разработчиков NSLU2 Linux.


СОДЕРЖАНИЕ

Обсуждение в Клубе Экспертов THG Обсуждение в Клубе Экспертов THG


Свежие статьи
RSS
HDD Hitachi 4 Тбайт: обзор жёстких дисков большой ёмкости Radeon HD 7970 3 Гбайт: обзор и тест пяти разогнанных видеокарт Prology iMap-565A3G: обзор 3G-навигатора Corsair, Crucial, OCZ и Plextor: тесты SSD на контроллере Marvell Killer Wireless-N 1103: Qualcomm против Centrino
HDD Hitachi 4 Тбайт Radeon HD 7970 3 Гбайт Prology iMap-565A3G SSD Corsair, Crucial, OCZ и Plextor Killer Wireless-N 1103

Копирование и распространение информации, упомянутой на страницах THG.ru возможно только при наличии у вас письменного разрешения руководства издания. По вопросам использования наших статей обращайтесь по электронной почте.

THG.ru ("Русский Tom's Hardware Guide") входит в международную сеть изданий Best of Media
РЕКЛАМА
РЕКОМЕНДУЕМ ПРОЧЕСТЬ!
Лучший SSD: апрель 2012
Лучший SSD: апрель 2012

Цены на SSD продолжают снижаться и чтобы показать изменения, мы обновили список наших рекомендаций. В этом месяце лучшие предложения находятся в ценовом диапазоне $200-350. Обратите особое внимание на накопители объёмом 240 Гбайт, цена которых уже составляет почти $1/Гбайт, такого мы ещё не видели.
Блоки питания: конструкция, форм-факторы и спецификации
Блоки питания: конструкция, форм-факторы и спецификации

THG.ru в сотрудничестве с Que Publishing публикует четыре главы из 20-го издания книги Скотта Мюллера 'Апгрейд и ремонт ПК' (Scott Mueller, Upgrading And Repairing PCs, 20th Edition), посвящённые блокам питания.
Почему Wi-Fi плохо работает и как это исправить. Часть 2
Почему Wi-Fi плохо работает и как это исправить. Часть 2

В первой части мы объяснили вам, что может происходить не так с сигналами Wi-Fi и как точки доступа могут работать для улучшения производительности ваших беспроводных устройств. Пора провести проверку в реальных условиях. Мы 'бросили' шестерых кандидатов 'на баррикады' против 65 клиентов и некоторого количества жутких помех. Кто же 'выжил' в этой 'битве'?
Обзор 24' мониторов: Acer S242HL, Dell U2412M и Samsung T24A550
Обзор 24' мониторов: Acer S242HL, Dell U2412M и Samsung T24A550

Мы вновь предлагаем нашим читателям тест мониторов. На этот раз в лабораторию THG попали три 24' модели и на это есть причины. Если 27 дюймов - слишком много (или слишком дорого), а 22 дюйма - слишком мало, то наш новый материал позволит выбрать подходящую модель. Мы пропустили три монитора через наш стандартный набор тестов, чтобы выявить победителя.

История мейнфреймов: от Harvard Mark I до System z10 EC
Верите вы или нет, но были времена, когда компьютеры занимали целые комнаты. Сегодня вы работаете за небольшим персональным компьютером, но когда-то о таком можно было только мечтать. Предлагаем окунуться в историю и познакомиться с самыми знаковыми мейнфреймами за последние десятилетия.

Пятнадцать процессоров Intel x86, вошедших в историю
Компания Intel выпустила за годы существования немало процессоров x86, начиная с эпохи расцвета ПК, но не все из них оставили незабываемый след в истории. В нашей первой статье цикла мы рассмотрим пятнадцать наиболее любопытных и памятных процессоров Intel, от 8086 до Core 2 Duo.

ОБРАТНАЯ СВЯЗЬ
Дизайн!
У вас есть что сказать по поводу нашего дизайна? Советы или рекомендации? Направляйте критику и комментарии по электронной почте.