13 июля 2011 в 19:23

Установка SMS Linux (Slackware) на eBox-2300SX

Уже достаточно давно поглядываю на eBox-2300SX и примеряю его в качестве простенького домашнего сервера. Тем более, что читал на Хабре тему Идеальный NAS? Другая точка зрения, eBox-2300SX. Железка выглядит довольно интересной, но подходит ли она в качестве HTTP-сервера и Jabber? Думаю, что каждый это может решить самостоятельно. А я же просто опишу свой опыт установки на неё Linux.

О самом eBox-2300SX


Временно утянул с работы домой один eBox для экспериментов. У пациента есть следующие разъёмы: 3 USB, 1 Ethernet, 1 PS/2 для клавиатуры, 1 VGA, 1 CompactFlash и 1 питание. В зависимости от конфигурации могут присутствовать и другие интерфейсы. Мне досталась моделька с двумя COM-портами (которые лично мне вообще не нужны).

Первым делом я его вскрыл. Внутри, как уже можно было узнать из обзоров есть и cPCI, и E-IDE разъёмы. Но не стоит раскатывать губу, т.к. разъём стандартного E-IDE шлейфа не лезет в корпус по высоте. Но это меня не расстроило, т.к. IDE дисков у меня нет, зато есть SATA диск с переходником на USB.

Отдельно хочу отметить, что eBox потянул USB CD-ROM. Правда, пришлось занять для этого два разъёма из трёх доступных.

Первая попытка установить Linux


Обладая знаниями того, что eBox-2300SX не имеет математического сопроцессора, я подбирал дистрибутив с учётом этого параметра. Помимо этого хотелось выбрать уже знакомый дистрибутив или его клон — для меня это Slackware и Arch. Немного погуглив, я выбрал SMS. Во-первых, это Slackware для слабеньких машин. Во-вторых, это Slackware c небольшим количеством пакетов. Ну и в-третьих, это Slackware, с которым я немного знаком, начиная с 4.0 и до 13.0.

Скачал SMS 1.6.0 (это была последняя версия на тот момент) и записал на RW болванку. Загрузился с USB CD-ROM и понял, что установка не пойдёт — eBox просто зависал на этапе загрузки. И ещё не хватало одного USB разъёмов, т.к. у меня не было PS/2 клавиатуры.

Вторая (и более правильная попытка) установить Linux


Тут мне подумалось, что устанавливать Linux на сам eBox вовсе не обязательно, можно воспользоваться возможностями виртуализации. Если быть точнее, то VMWare. Создаём новую виртуальную машину со стандартными настройками и удаляем всё лишнее — звук, флопик и диск. В качестве диска добавляем подключенный к хост-машине USB винчестер. Установка в виртуальной машине проходит вполне легко и знакомо (для тех, кто знаком со Slackware, конечно). К сожалению, грузиться с USB диска как с USB устройства VMWare не умеет (я не нашёл таких опций в её BIOS). Так что переходим к полевым испытаниям на eBox.

Ничего удивительного нет в том, что eBox опять завис с ядром от SMS. По крайней мере я не удивился. Чтобы не мучить почтенную публику, я дальше не буду лить столько воды, а покороче расскажу, с какими трудностями я столкнулся, и как их решил.

Подготовка ядра


Если ядро от SMS не идёт на eBox, то на eBox можно затянуть ядро от X-Linux. Это такой специальный Linux для eBox, в котором ничего толкового нет. Зато он работает на eBox. Просто так взять готовое ядро 2.6.29 не интересно. Лучше всего на основе его .config подготовить ядро 2.6.37.6 (родное для SMS). Для этого делаем следующее:
  • Скачиваем и распаковываем исходники ядра 2.6.37.6
  • Скачиваем архив xlinux-5.7-src-sx.zip (Пароль: download)
  • Находим конфиг ядра в каталоге etc/kernel-config под именем kernel-2.6.29.6-vortex86sx.config и копируем его в каталог с исходниками ядра 2.6.37.6 как .config.
  • Переходим в каталог с исходниками и делаем make oldconfig. Отвечаем на несколько простых вопросов. Я отказался от всего нового.
  • Потом делаем, например, make menuconfig и включаем поддержку Ext4 и JFS
  • После этого уже make -j12 bzImage
  • Ядро готово

Подготовка ядра на хосте x86_64


На моём ноуте установлен Arch x86_64 и после сборки я получил ядро, которому нужен 64-битный процессор. Как-то сильно для eBox, подумал я. Чтобы ядро нормально собралось в системе с архитектурой x86_64 (amd64) надо делать всё также как написано в предыдущем разделе, но добавить префикс ARCH=i386 команде make:
  • make ARCH=i386 oldconfig
  • make ARCH=i386 menuconfig
  • make ARCH=i386 -j12 bzImage
Всё это будет работать, если на хосте поддерживается multilib.

Особенность Ext4


При установке SMS Linux я, конечно, отформатировал корневой раздел в Ext4, а при подготовки ядра отключил поддержку больших файлов. Да и откуда на eBox будут файлы по 2ТБ? Оказалось, что я заблуждался. Для корректной работы Ext4 должна быть установлена опция CONFIG_LBDAF (поддержка больших файлов). Понятное дело, что eBox в моём случае не загружался. Похоже, что есть два способа решить проблему, подумал я. Первый — переустановить SMS на раздел Ext3. Второй — пересобрать ядро с поддержкой больших файлов. И третий — отключить поддержку больших файлов в разделе Ext4. Да, третий способ нашёлся в гугле и он мне понравился больше первых двух. Подключаем USB диск к хост системе и выполняем следующие команды:

# tune2fs -O ^huge_file /dev/раздел
# fsck /dev/раздел


Установка нового ядра на USB диск


Пока USB диск подключен к хост-машине, скопируем в корневой раздел (у меня это /dev/sdb2) новое ядро. Я назвал его vmlinuz-xlinux-5.7-2.6.37.6. Для этого переходим в каталог с исходниками ядра и выполняем команды:

# mkdir /mnt/tmp
# mount /dev/sdb2 /mnt/tmp
# cp arch/i386/boot/bzImage /mnt/tmp/boot/vmlinuz-xlinux-5.7-2.6.37.6
# umount /mnt/tmp


Не забудем подправить конфиг LILO. Я добавил такую секцию:

image = /boot/vmlinuz-xlinux-5.7-2.6.37.6
root = /dev/sda2
append = "rootdelay=10"
label = X-Linux-5.7
# initrd = /boot/initrd.splash
read-only


Понятно, что на eBox у меня только один диск, поэтому не /dev/sdb2, а /dev/sdba2. И обратите внимание на опцию rootdelay=10. Эта опция задаёт задержку перед монтированием корневой файловой системы, что бывает полезно при использовании USB устройства в качестве носителя корневой файловой системы.

После этого вновь надо загрузиться в VMWare с установочного диска SMS и выполнить следующие магические команды (чтобы LILO узнал о новом ядре):

# mount /dev/sda2 /mnt
# chroot /mnt
# lilo
# exit
# halt


В результате


А в результате eBox таки загрузился с SMS Linux. Первая загрузка заняла довольно много времени, на мой взгляд, большую часть из которого (времени, а не взгляда) заняла генерация ключей OpenSSH. Это поубавило мне оптимизма в дальнейшей настройке сервера на eBox.

Для себя я сделал следующие выводы. Преимущества eBox это его малые габариты и бесшумность, т.к. используется пассивное охлаждение. Но поскольку эти преимущества для меня не имеют значения, то я подумываю собрать сервер на VIA PV530. Если добавить туда память и корпус, то можно вполне уложиться в цену eBox (~130$). А это уже будет более шустрое железо и памяти получится 2Гб а не 128Мб (на eBox).

Пока готовил материал, вышла новая версия SMS 1.6.1. Переделывать топик не стал, т.к. принцип установки SMS тот же.
+6
1112
11
ob1 47,6

Комментарии (6)

0
AbnormalHead, #
Мне кажется, что использование eBox-2300 не самый удачный выбор.
eBox-3300/3310 построены на более нормальном процессоре, с сопроцессором. Я запускал на таком убунту 10.04 без иксов. Остальные дистры не пробовал. Для использования 3310 в качестве маршрутизатора я собрал из исходников IPCop 1.9. Роутер работает дома уже года полтора.
+1
ob1, #
Согласен, eBox-3300 гораздо лучше. Но и дороже. К сожалению, я не указал, что основным фактором для меня было не размер и бесшумность, а именно цена. Кстати, eBox-2300 тоже бывают с сопроцессором (модификация DX), но стоят опять же дороже.

А за цену eBox-3300 (это около 200$) можно купить простенький, но более мощный системник, в корпус, которого можно запихнуть несколько винчестеров и вентиляторов. Конечно, это решение тихое и миниатюрное… Но у каждого свои требования к такому хозяйству.

Ну и самое главное. Бороть eBox-3300 не так интересно.
0
AbnormalHead, #
Если ставить во главу энергопотребление, то атом в этом плане проигрывает eBox. А для работы в режиме 24/7 получаем экономию.
0
ob1, #
Потребляемая мощность, конечно, плюс. Но не думаю, что будет существенная экономия на фоне стиралок и посудомоек.
0
Gendalph, #
Разница существенна, судя по гуглу САБЖевый девайс потребляет ~10 Вт (+5В*2А), в то время как полноценный компьютер будет потреблять самый минимум 60 Вт.
Разница — 50 Вт, у нас 1 кВт*ч стоит 28 копеек (Украина), соответсвенно ежемесячно экономия составит ~10 гривен.
0
ashanter, #
Лучше поздно чем никогда.
Здесь лежит прошивка OpenWrt 10.03, которая подходит на eBox-2300 и eBox-2300SX и мануалы как её поставить.
Рассчитано на загрузку с карточки.

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