Прошивка для eBox-2300 и eBox-2300sx

Некоторое время назад в рамках одного проекта мне довелось подержать в руках несколько eBox-2300sx и eBox-2300 устройств. Нужно было запустить на них OpenWrt. А она не хотела стартовать, т.к в ядре не было поддержки нужных устройств.
Самым простым и надежным способом показалась перекомпиляция OpenWrt x86 для моих устройств, благо у них для этого есть даже целый SDK.
Сначала процесс создания прошивки мне нравился, потом начал немножко доставать, но уже были готовы прошивки по отдельности для eBox-2300sx и eBox-2300 и мне пришлось сосредоточиться на прямых задачах проекта, а не допиливании прошивок.
Но вот в один из длинных осенних вечеров всё таки зачесались руки к оптимизации и минимизации. Так и получилась вот эта последняя прошивка, которая поддерживает одновременно и eBox-2300sx и eBox-2300

eBox firmware English manual: http://asha.com.ua/storage/ebox/readmeEn.txt

В прошивку добавлены необходимые модификации и драйвера для того чтобы она нормально работала на eBox устройствах (eBox-2300sx и eBox-2300). Также включены драйвера для большинства флешек и USB Bluetooth
Эта прошивка полностью совместима с оригинальной OpenWrt 10.3 Backfire x86 и можно безбоязненно устанавливать родные пакеты отсюда: http://downloads.openwrt.org/backfire/10.03/x86/
Я тестировал прошивку на CF карточках объемом 2 Гб и 4 Гб. Но думаю, что и с жесткого диска она должна запуститься, нужно будет только поставить правильное название диска в конфигурации загрузчика (описано ниже).

Что же можно сделать с этими eBox устройствами?

Вставить в него жесткий диск — получиться NAS. Можно еще торрент прикрутить, или USB Bluetooth вставить и сделать Bluetooth сканнер (hcitool в прошивке тоже есть).
Да мало ли чего можно сделать.

К тому же, цена на эти eBox устройства уже не кусается, а сделаны они очень качественно и способны проработать очень долго.

Чтобы инсталлировать OpenWrt на устройство нужно:

1. Приготовить CF карточку для того чтобы загружаться с неё
2. Сконфигурировать устройтво для того чтобы оно загружалось с карточки
3. Засунуть карточку в устройство в нужное место
4. Включить устройство. После одного бипа оно готово к использованию.

Как приготовить CF карточку

Для этого можно пользовать сделанный мной образ VirtualBox PC или архив с прошивкой и install.sh скрипт (это если у вас есть комп с линуксом).
Конечно же, готовить карточку используя VirtualBox PC более безопасно и легче.

Готовим CF карточку используя VirtualBox PC

Нужно:
1. Поставить VirtualBox и VM VirtualBox Extension Pack (для поддержки USB)
2. Настроенный VirtualBox образ — его можно загрузить отсюда: http://storage.asha.com.ua/eBoxInstallerAsha.ova

Примечание: не могу придумать нормального объяснения для этого, но очень часто нужно сделать именно так чтобы устройство
могло нормально грузиться с карточки (симптомы проблемы: устройство просто не грузиться с карточки).
Вобщем, на компе с Windows нужно удалить все разделы на карточке памяти, а потом создать один и отформатировать его в FAT

Шаги создания CF карточки для eBox устройства:
1. Запускаем eBoxInstaller VirtualBox PC
2. Вставляем CF карточку в кардридер на сервере VirtualBox
3. Присоединяем кардридер к eBoxInstaller VirtualBox PC (через VirtualBox PC меню “Devices => USB devices => Your Card reader”)
4. Заходим на консоль eBoxInstaller VirtualBox PC.
Пользователь: root
Пароль: 123456
5. Находим присоединенное устройство кардридера. Для этого смотрим файл /var/log/messages или вывод команды fdisk -l. В примерах моя карточка /dev/sdc
БУДТЬТЕ ВНИМАТЕЛЬНЫ: если ошибиться в выборе устройства можно удалить все данные на диске VirtualBOX PC
6. Идем в каталог с прошивкой: cd /eboxInstaller
7. Если устройство кардридера не /dev/sdc – прописываем правильное имя устройства в install.sh file. Для этого можно пользовать vi или встроенный в mc редактор
8. Запускаем скрипт и ждём пока отработает: ./install.sh
9. Вытаскиваем карточку и вставляем её в eBox

Готовим карточку с помощью install.sh скрипта

ЭТО ОПАСНЫЙ ПУТЬ! И делается на компе с установленным линуксом.
1. Качаем eBoxInstallerScript отсюда: http://asha.com.ua/storage/ebox/eboxInstallerScript.tar.bz2
2. Распаковываем его в /eboxInstallerScript и идем в этот каталог.
3. Нужно проверить чтобы в системе были: syslinux, fdisk и другие команды которые пользует install.sh скрипт
4. Советую проверить несколько раз инсталляционный скрипт и установить правильные пути и устройства. Скрипт тестировался в Linux Fedora 12.
5. Вставить карточку в кардридер.
6. Находим устройство кардридера. Для этого смотрим файл /var/log/messages или вывод команды fdisk -l. В примерах моя карточка /dev/sdc
БУДТЬТЕ ВНИМАТЕЛЬНЫ: если ошибиться в выборе устройства можно удалить все данные на диске компьютера
7. Если устройство кардридера не /dev/sdc – прописываем правильное имя устройства в install.sh file. Для этого можно пользовать vi или встроенный в mc редактор
8. Запускаем скрипт и ждём пока отработает: ./install.sh
9. Вытаскиваем карточку и вставляем её в eBox

Подготовка к загрузке eBox

Подключаем монитор, клавиатуру, блок питания, вставляем карточку.
Включаем устройство и жмём кнопку DEL для того чтобы войти в BIOS
В BIOS нужно выставить опции для того чтобы устройство грузилось с карточки
и режим работы с IDE (если эта опция есть в BIOS)

Для примера (на eBox-2300):
1. Boot -> Boot Device Priority.
Set 1st Boot Device as HDD:PM-CF Card

2. Advanced -> IDE Configuration.
Поставить OnBoard IDE operate Mode в Native Mode
Сохранить и выйти

Время загрузки устройства – около 40 секунд

Если возникают ошибки при загрузке, необходимо понять что это такое и устранить их.
Одна из распространенных ошибок:
…. Cannot found a root device “hda2” or ….
… here are avaliable partition
… hdc2 …
Kernel panic – not syncing: VFS: unagle to mount root fs on ….

Для того чтобы истранить ошибку редактируем файл конфигурации загрузчика: /eboxInstaller/bootfs/syslinux.cfg (это файл всередине VirtualBox PC)
Меняем: APPEND root=/dev/hda2 rootdelay=10
на: APPEND root=/dev/hdc2 rootdelay=10
Потом переделываем карточку и пытаемся загрузиться с неё снова
Примечание: устройство может быть /dev/hdc2 или /dev/sdc2 или еще какое-нибудь другое
После успешой загрузки eBox делает один бип.

Параметры eBox

eBox это маленький комп с Linux на борту, можно подключаться к нему по сети через ssh или работать через консоль с клавиатуры.
IP адресс устройства: 192.168.1.77
пользователь: root
пароль: 123456

Если к eBox подключен монитор и клавиатура в систему можно войти без пароля.
Чтобы запретить вход в систему через консоль нужно:
1. Заходим на eBox через консоль или через ssh
2. Комментим tty1::askfirst:/bin/ash —login string in /etc/inittab file
3. Перезагружаем устройство, можно командой reboot.

Изменяем IP по-умолчанию

Настройки сохранены в таких файлах: /etc/config/network и /etc/resolv.conf.
Правим что нужно и рестартуем сеть или всё устройство.

This entry was posted in eBox, firmware, OpenWrt and tagged , , , , , , . Bookmark the permalink.

7 Responses to Прошивка для eBox-2300 и eBox-2300sx

  1. Pavel says:

    Респект! Очень полезная статья.

  2. Pavel says:

    К сожалению , ни с помощью скрипта, ни с помощью виртуальной машины поставить не получилось. Поставил вручную , но всё завелось. Спасибо.

  3. farwork says:

    Не получается скачать eBoxInstallerAsha.ova((

  4. farwork says:

    Скачал. Работает. Спасибо.

  5. Дмитрий says:

    А кто-нибудь пробовал использовать GPIO этого мини-компа?
    Мне достались 2 версии данной “коробочки”:
    1. Процессор SIS550, 64Мб оперативки, есть звук, miniPCI нет, но контакты на плате есть (подозреваю, что нет контроллера, на плате есть пустое место для большой микросхемы). GPIO на плате отсутвует, как и что-либо напоминающее хотя бы UART.
    2. У другой процессор MSTI PSX-300, 128Мб памяти, GPIO, но нет звука. Также присутствует 6-штырьковый разъем с шагом 1.25мм и похоже, что UART (4 дырки в ряд как на роутерах).
    Подозреваю, что первый вариант – это eBox-2300, а второй – eBox-2300SX

  6. Владимир says:

    Есть небольшой вопрос: а если я хочу поставить не на CF, а на USB прошивку (CF сдохла благополучно), что надо поправить?

    X-Linux (родная ОС) флешку определяет как /dev/sda
    А тут для /dev/sda2 я получаю kernel panic – не найден root раздел.
    Перепробовал уже все: /dev/sda2 /dev/sdb2 /dev/sdc2
    Только на /dev/sda2 получаю kernel panic, в остальных случаях boot error.
    Или оно только с IDE умеет работать? (чем, по сути, и является CF)

Leave a Reply to farwork Cancel reply

Your email address will not be published. Required fields are marked *