Встроенное программное обеспечение - скрипты кросс-компиляции Qt для Raspberry Pi 4: скриншот компьютерной программы

Настройка кросс-компиляции Qt

Скрипты для Raspberry Pi 4

Предварительные требования

Системные требования

Хост [ПК/ноутбук]: любая машина x86/x86_64 AMD/Intel
Целевой [Raspberry Pi 4]: Raspberry Pi 4

Программные требования

Хост: любая машина Linux (Ubuntu 20.04 LTS Tested)
Целевой: Raspberry Pi 4 Linux 32-разрядная операционная система (Raspbian Bullseye Lite была проверена)

Примечание

В фоновом режиме используются инструменты кросс-компиляции Raspberry Pi отabhiTronix.

Прочее

Требования по времени и объему хранилища: каталог для сборки занимает около ~10 ГБ, для сбокри требуется около 2-5 часов (на основе зависимостей и характеристик хост-машины).
Сеть: ваша целевая машина (Raspberry Pi) и хост-машина (где выполняется кросс-компиляция) ДОЛЖНЫ иметь доступ к Интернету и ДОЛЖНЫ быть в ОДНОЙ сети.

Шаги/настройки для целевой машины (Raspberry Pi)

1. Настройка с самого начала (необязательно)

Важно!

Если вы только купили новый Raspberry Pi или хотели начать с нуля, следуйте инструкции. В противном случае, если у вас уже есть установленный, запущенный Raspberry Pi и с настроенной сетью, перейдите к шагу 2.

Примечание

В этом разделе предполагается, что у вас есть SD-карта по крайней мере 10 ГБ для установки Raspbian (Stretch/Buster/Bullseye) ОС и ноутбук/компьютер для ее загрузки.

1.1. Скачайте программное обеспечение и подготовьте SD-карту

  • Скачайте последнюю версию Raspbian (Bullseye) отсюда на ноутбук/ПК.- Вам понадобится устройство записи образа загруженной ОС на SD-карту (микро SD-карту в нашем случае). Вы можете использовать Balena Etcher.- Вставьте SD-карту в ноутбук/ПК и запустите программу записи образа. После октрытия просмотрите и выберите загруженный файл образа Raspbian. Выберите необходимое устройство, то есть накопитель, представляющий SD-карту.

Примечание

Если выбранный накопитель (или устройство) отличается от SD-карты, то другой выбранный накопитель будет поврежден. БУДЬТЕ ВНИМАТЕЛЬНЫ!

- После завершения записи извлеките SD-карту, вставьте ее в Raspberry Pi и включите его. Должна начаться загрузка. - Помните, что после загрузки Pi могут возникнуть ситуации, когда необходимо ввести учетные данные пользователя, такие как имя пользователя и пароль. По умолчанию Raspberry Pi поставляется с именем пользователя `pi` и паролем `Raspberry`, поэтому используйте его каждый раз, когда это необходимо.

1.2 Настройка сети

Теперь, когда у вас есть работающий Raspberry Pi, самое время, чтобы подключить его к сети одним из следующих способов:

2. Настройте SSH

  • Если у вас есть монитор: на терминале Raspberry Pi, введите: sudo raspi-config, после чего в терминале должно появиться меню. Чтобы включить SSH, перейдите в раздел Interfacing Options -> SSH -> Yes (Параметры интерфейса -> SSH -> Да) и нажмите ОК, чтобы включить его. Выберите Finish (Завершить) и выйдите.

  • Если у вас нет монитора: после настройки сети, если у вас нет монитора или вы работаете удаленно. Затем включите SSH, вытащив SD-карту, и подключив ее к компьютеру. Создайте пустой файл с именем ssh в каталоге /boot/parition на SD-карте. Теперь вставьте SD-карту в Raspberry Pi.

3. Откройте терминал

  • С другого ноутбука/ПК с помощью SSH: чтобы подключиться к Pi с другого компьютера, скопируйте и вставьте следующую команду в окно терминала, но замените `192.160.1.47' на IP-адрес Raspberry Pi.
ssh pi@192.168.1.47 

Система запрашивает пароль, и если он не был изменен, пароль по умолчанию (raspberry). Используйте этот пароль всякий раз, когда он запрашивается.

Примечание

Raspberry Pi можно настроить так, чтобы он разрешал доступ с другого компьютера без необходимости ввода пароля при каждом подключении. Для получения более подробной информации см. здесь.

4.

Подключитесь к Pi с помощью ssh и скачайте zip-файл:

ssh pi@192.168.1.47

wget https://www.interelectronix.com/sites/default/files/scripts/qt-cross-compile-rpi4.zip
unzip qt-cross-compile-rpi4.zip
cd qt-cross-compile-rpi4

Вы также можете скачать zip-файл через браузер отсюда.Сделайте скрипт qt-cross-compile-script-pi4.sh исполняемым и выполните его:

sudo chmod +x qt-cross-compile-script-pi4.sh
sudo ./qt-cross-compile-script-pi4.sh

Через некоторое время все необходимые пакеты будут установлены, необходимые каталоги будут созданы, а символические ссылки будут установлены правильно.

Важно!

Убедитесь, что Raspberry Pi и хост-машина (на которой выполняется кросс-компиляция) находятся в ОДНОЙ сети.

Шаги/настройки для хост-машины (Linux Ubuntu)

Для тестирования мы использовали виртуальную машину (vmware) с чистой версией Ubuntu 20.04 LTS.

1. Скачайте ZIP-файл

wget https://www.interelectronix.com/sites/default/files/scripts/qt-cross-compile-rpi4.zip
unzip qt-cross-compile-rpi4.zip
cd qt-cross-compile-rpi4

Вы также можете скачать zip-файл через браузер отсюда.

2. Сделайте скрипт qt-cross-compile-script-pi4.sh исполняемым и выполните его

chmod +x qt-cross-compile-script-host.sh

3. Измените переменные в скрипте

Вам нужно изменить IP-адрес (raspberry_ip) вашего Raspberry PI в скрипте и если вы изменили пользователя (raspberry_user) и пароль (raspberry_pwd) Raspberry.

nano qt-cross-compile-script-host.sh

4. Выполните сценарий

sudo ./qt-cross-compile-script-host.sh

Скрипт выполняет следующие действия:

  • установить все необходимые пакеты
  • создать нужные каталоги (~/rpi-qt)
  • скачать и извлечь источники Qt
  • патч Qt
  • скачать и извлечь кросс-компилятор
  • rsync файлы из Raspberry PI
  • скачать symlinker и установить символические ссылки
  • настроить сборку Qt
  • сделать и выполнить установку сборки Qt
  • rsync двоичные файлы Qt для Raspberry

Заключительный шаг для целевой машины (Raspberry Pi)

Обновление линкера на Raspberry Pi

Введите следующую команду, чтобы обновить устройство, позволяющее компоновщику найти новые двоичные файлы QT:

echo /usr/local/qt5.15/lib | sudo tee /etc/ld.so.conf.d/qt5.15.conf
sudo ldconfig

Настройте Qt Creator для кросс-компиляции

Ознакомьтесь с блогом Настройка Qt-Creator на Ubuntu 20 Lts для кросс-компиляции для добавления скомпилированных двоичных файлов (папка ~/rpi-qt/qt5.15) в Qt Creator.

Лицензия на авторские права

Авторское право © 2022 Interelectronix e.K.
Данный исходный код проекта лицензирован под лицензией GPL-3.0.

Благодарности