ЗАО «ЗЭО»
Техническая поддержка пользователей => Тион270, Тион-Про270, Сириус270 => Тема начата: Ivan от 17 Сентября, 2010, 17:02:38
-
Всем доброго времени суток.
Есть Тион-Про270, для которого я самостоятельно собрал ядро, КФС и u-boot (делал все, как написано здесь: http://www.emb-linux.narod.ru/tion-pro-270/index.html).
Через терминал все успешно работает, кросс-компилированные консольные приложения также исправно запускаются.
Далее была поставлена задача приспособить какой-нибудь Delphi-подобный IDE для разработки полноценных графических приложений. Естественно, для этих целей был выбран lazarus.
Lazarus и fpc также удалось успешно собрать для кросс-компилирования (делал почти так, как здесь: http://wiki.lazarus.freepascal.org/Setup_Cross_Compile_For_ARM#Generic_things_to_do , пришлось только в binutils задать параметр --target=xscale-linux-elf).
Таким образом, теперь я успешно могу писать и отлаживать консольные приложения под Lazarus, и затем прямо оттуда кросс-компилировать их для Тиона.
А теперь, собственно, сама проблема: при попытках скомпилировать графическое приложение, компилятор пишет, что не найдена libX11.so (естественно, для компиляции используются либы, скопированные с Тиона, а не стандартные дебиановские).
Понятно, что поднимать Иксы на Тионе не рационально, а значит, надо использовать какую-нибудь другую графическую оболочку. Поскольку до сих пор я работал с линуксом на тионе только через консоль, то плохо представляю, как именно собрать систему с графикой... Хотелось бы услышать рекомендации по этому поводу. Ну и еще, конечно, желательно, чтобы можно было создавать приложения в Lazarus.
-
И еще вопрос вдогонку - может все-таки можно поставить X-server на тионе?
Случайно не натыкались на какие-нибудь ссылки о том, как это делать?
-
> как именно собрать систему с графикой.
Берете Buildroot, делаете как написано, отмечаете "qwt examples", собираете, запускаете и смотрите примеры.
-
Buildroot уже взял - чет ничего не получается =(
Можете кинуть ссылочку, где смотреть о работе с buildroot.
-
> смотреть о работе с buildroot
http://www.zao-zeo.ru/dokuwiki/doku.php/linux#различные_сборки_кфс
Также "Creating your own board support" (но в новых версиях, это уже не так) в <buildroot>/docs/buildroot.html.
-
спасибо, буду разбираться
-
Еще раз доброго времени суток.
Вопрос конечно не совсем по описанной выше теме, но напрямую с ней связан, поэтому новую тему создавать не хочу.
Все-таки пытаюсь запустить X-server, так как Qt не устраивает категорически. В связи с этим, освоил buildroot (по тем ссылкам, которые Вы указали), сделал как здесь http://www.zao-zeo.ru/dokuwiki/doku.php/linux#различные_сборки_кфс, только немного покопался в конфиге. В результате получил файловую систему размером примерно 23,5 Мб, причем ее размер не изменяется, даже если добавлять/убирать компоненты. Эта файловая система у отказывается грузиться (лог старта системы могу выложить завтра, т.к. сейчас пишу не с работы).
В связи с этим возник вопрос - это может быть связано с размерами файловой системы (сталкивался с подобным при работе с wince)? Или все-таки я забыл включить что-то необходимое в файловую систему? Если первый вариант, то как с этим бороться?
Буду благодарен за любую помощь.
-
> даже если добавлять/убирать компоненты.
Bulroot не удаляет что-либо, если это было отмечено, а потом перестало быть отмечено.
Можно делать make pgk_name-clean, например make qt-clean.
> это может быть связано с
Будет видно из лога, кроме того дайте .config из Buldroot.
Если вам нужен X и есть microSD, то можно поставить на microSD Debian Lenny armel. Но как я помню X не поддерживает 18 bpp (как это сделано на всех переходниках и на VGA на Тион-Про270).
-
Спасибо за ответ.
Ради интереса решил начать с нуля - поставил buildroot, пропатчил, скопировал Ваш конфиг в .config, изменил только исходники ядра на более старые (т.к. они уже были загружены). Собрал файловую систему и попробовал залить. Ничего не вышло.
Возникло предположение, не может ли это быть связано с тем, что ядро на плате собрано так, как здесь http://www.emb-linux.narod.ru/tion-pro-270/index.html с помощью другого тулчейна...
Конфиг и лог во вложении.
-
Похоже ядро без EABI.
-
Конечно глупый вопрос, но где можно проверить, поддерживает ли ядро EABI (make menuconfig сделал, а вот дальше найти не могу...)
-
Kernel Feature / Use the ARM EABI to compile the kernel
-
Спасибо.
Я, видимо, проглядел. Действительно, поддержка eabi не была включена. Сейчас попробую пересобрать
-
scripts/kconfig/conf -s arch/arm/Kconfig
drivers/usb/gadget/Kconfig:156:warning: defaults for choice values not supported
drivers/usb/gadget/Kconfig:157:warning: defaults for choice values not supported
drivers/usb/gadget/Kconfig:158:warning: defaults for choice values not supported
drivers/usb/gadget/Kconfig:159:warning: defaults for choice values not supported
CHK include/linux/version.h
SYMLINK include/asm-arm/arch -> include/asm-arm/arch-pxa
make[1]: `include/asm-arm/mach-types.h' не требует обновления.
CHK include/linux/utsrelease.h
SYMLINK include/asm -> include/asm-arm
CC arch/arm/kernel/asm-offsets.s
arch/arm/kernel/asm-offsets.c:1: error: invalid ABI option: -mabi=aapcs-linux
make[1]: *** [arch/arm/kernel/asm-offsets.s] Ошибка 1
make: *** [prepare0] Ошибка 2
Компилятор начинает ругаться. Полный конфиг ядра, если понадобится, во вложении.
-
1. Собирайте тем компилятором, который в Buildroot.
2. В вашей конфигурации Buildroot консоль выведена на ttyS2, на DB9 выведена ttyS0.
-
Спасибо за советы. Теперь файловая система, собранная с помощью buildroot, наконец-то запустилась. Правда при загрузке зачем-то запускается udhcp и выдает какие-то сообщения, но потом eth0 все-таки поднимается.
Насколько я помню, dhcp я никуда не включал, хотя возможно я ошибаюсь. Сейчас посмотрю внимательнее, но на всякий случай прикладываю лог.
-
> dhcp я никуда не включал
Он включён в конфигурации Busybox, измените /etc/network/interfaces для статического IP.
-
Cпасибо, помогло! Теперь буду "утяжелять" файловую систему. Если все-таки что-нибудь получится, то позже опишу.