Мне необходимо собрать проект, написанный под Qt 4.6.2, для выполнения на custom-плате под управлением микроконтроллера Digi Connect Core 9M 2443. Средства разработки и кросскомпиляции будем ставить на ОС Ubuntu 10.04 x86(обязательно, так как в 64-битной ОС ELDK отказывается ставиться), так как стандартная библиотека С++ этой версии совместима с
библиотекой, используемой в ELDK. Ubuntu 10.04 - самая старшая версия
Ubuntu, официально поддерживаемая ELDK, согласно документации.
Версия Ubuntu 10.04 уже не поддерживается, но старые пакеты можно скачать из резервного репозитория. Меняем в файле /etc/apt/sources.list строчку http://ru.archive.ubuntu.com/ubuntu/ на http://old-releases.ubuntu.com/ubuntu.
Для сборки qt надо установить пакет g++:
sudo apt-get install g++
1. Для сборки используются инструменты ELDK (Embedded Linux Development Kit) http://www.denx.de/wiki/DULG/ELDK. Я устанавливаю старую версию 4.0 (ftp://ftp.denx.de/pub/eldk/4.0/arm-linux-x86/iso/arm-2006-01-16.iso).
Я скачал файл в локальную папку /media/Data2/Downloads/Images/build-iso. Переходим в неё, создаем папку для монтирования (/mnt/iso) и монтируем исошник:
cd /media/Data2/Downloads/Images/build-iso
sudo mkdir /mnt/iso
sudo mount -o loop -o exec ./arm-2006-01-16.iso /mnt/iso
Переходим в директорию и запускаем установку в папку /usr/local/tools/eldk:
cd /mnt/iso
sudo ./install -d /usr/local/tools/eldk
Добавляем путь к бинарникам в общий путь поиска системы. Редактируем файл ~/.bashrc:
sudo nano ~/.bashrc
Добавляем в конец строку:
export PATH=$PATH:/usr/local/tools/eldk/usr/bin
После перезапуска терминала и инициализации его из обновленного скрипта ~/.bashrc вывод команды echo $PATH должен включать /usr/local/tools/eldk/usr/bin.
2. Кросскомпиляция Qt 4.6.2 производится на ОС Ubuntu 10.04 x86. Скачиваем версию qt 4.6.2 отсюда, распаковываем в локальную папку для сборки /media/Data2/Libraries/digi/qt_4.6.2_arm.
В проекте нет стандартных настроек для системы кросскомпиляции ELDK, поэтому надо будет создать файлы настроек. Переходим в папку mkspecs/qws, создаем папку и копируем файлы настроек:
cd /media/Data2/Libraries/digi/qt_4.6.2_arm/mkspecs/qws
mkdir linux-arm-eldk-g++
cp linux-arm-g++/qmake.conf ./linux-arm-eldk-g++
cp linux-arm-g++/qplatformdefs.h ./linux-arm-eldk-g++
Собираем статические либы qt 4.6.2:
cd /media/Data/Libraries/digi/qt_4.6.2_arm
./configure -v -embedded arm -platform qws/linux-x86-g++ -xplatform qws/linux-arm-eldk-g++ -prefix /usr/local/tools/qt_4.6.2_arm -little-endian -qt-gfx-transformed -static -confirm-license -opensource -no-accessibility -no-largefile -fast -no-phonon -no-phonon-backend -qt-zlib -no-qt3support -no-openssl -no-qdbus -no-webkit -qt-sql-sqlite -nomake demos -nomake examples -nomake docs
Устанавливаем QtCreator из репозитария:
sudo apt-get install qt-sdk
Использованный материал:
1) http://help.ubuntu.ru/wiki/old_ubuntu_versions
2) http://help.ubuntu.ru/wiki/%D1%80%D0%B5%D0%BF%D0%BE%D0%B7%D0%B8%D1%82%D0%BE%D1%80%D0%B8%D0%B9
Версия Ubuntu 10.04 уже не поддерживается, но старые пакеты можно скачать из резервного репозитория. Меняем в файле /etc/apt/sources.list строчку http://ru.archive.ubuntu.com/ubuntu/ на http://old-releases.ubuntu.com/ubuntu.
Для сборки qt надо установить пакет g++:
sudo apt-get install g++
1. Для сборки используются инструменты ELDK (Embedded Linux Development Kit) http://www.denx.de/wiki/DULG/ELDK. Я устанавливаю старую версию 4.0 (ftp://ftp.denx.de/pub/eldk/4.0/arm-linux-x86/iso/arm-2006-01-16.iso).
Я скачал файл в локальную папку /media/Data2/Downloads/Images/build-iso. Переходим в неё, создаем папку для монтирования (/mnt/iso) и монтируем исошник:
cd /media/Data2/Downloads/Images/build-iso
sudo mkdir /mnt/iso
sudo mount -o loop -o exec ./arm-2006-01-16.iso /mnt/iso
Переходим в директорию и запускаем установку в папку /usr/local/tools/eldk:
cd /mnt/iso
sudo ./install -d /usr/local/tools/eldk
Добавляем путь к бинарникам в общий путь поиска системы. Редактируем файл ~/.bashrc:
sudo nano ~/.bashrc
Добавляем в конец строку:
export PATH=$PATH:/usr/local/tools/eldk/usr/bin
После перезапуска терминала и инициализации его из обновленного скрипта ~/.bashrc вывод команды echo $PATH должен включать /usr/local/tools/eldk/usr/bin.
2. Кросскомпиляция Qt 4.6.2 производится на ОС Ubuntu 10.04 x86. Скачиваем версию qt 4.6.2 отсюда, распаковываем в локальную папку для сборки /media/Data2/Libraries/digi/qt_4.6.2_arm.
В проекте нет стандартных настроек для системы кросскомпиляции ELDK, поэтому надо будет создать файлы настроек. Переходим в папку mkspecs/qws, создаем папку и копируем файлы настроек:
cd /media/Data2/Libraries/digi/qt_4.6.2_arm/mkspecs/qws
mkdir linux-arm-eldk-g++
cp linux-arm-g++/qmake.conf ./linux-arm-eldk-g++
cp linux-arm-g++/qplatformdefs.h ./linux-arm-eldk-g++
Собираем статические либы qt 4.6.2:
cd /media/Data/Libraries/digi/qt_4.6.2_arm
./configure -v -embedded arm -platform qws/linux-x86-g++ -xplatform qws/linux-arm-eldk-g++ -prefix /usr/local/tools/qt_4.6.2_arm -little-endian -qt-gfx-transformed -static -confirm-license -opensource -no-accessibility -no-largefile -fast -no-phonon -no-phonon-backend -qt-zlib -no-qt3support -no-openssl -no-qdbus -no-webkit -qt-sql-sqlite -nomake demos -nomake examples -nomake docs
make
sudo make install
sudo make install
Устанавливаем QtCreator из репозитария:
sudo apt-get install qt-sdk
Использованный материал:
1) http://help.ubuntu.ru/wiki/old_ubuntu_versions
2) http://help.ubuntu.ru/wiki/%D1%80%D0%B5%D0%BF%D0%BE%D0%B7%D0%B8%D1%82%D0%BE%D1%80%D0%B8%D0%B9