Software embarcado - Qt cross compilar scripts de instalação para Raspberry Pi 4 uma captura de tela de um programa de computador

Configuração de compilação cruzada do Qt

scripts para Raspberry Pi 4

Pré-requisitos

Hardware

[PC/Laptop] host: qualquer máquina x86/x86_64 AMD/Intel
[Raspberry Pi 4] alvo: Raspberry Pi 4

Software

Host: qualquer máquina Linux (Ubuntu 20.04 LTS Testado)
Alvo: Raspberry Pi 4 Linux 32-bit OS (Raspbian Bullseye Lite testado)

Obs.:

As ferramentas de compilação cruzada para Raspberry Pi da abhiTronix são usadas em segundo plano.

Outros

Requisitos de Armazenamento e Tempo: o diretório de compilação leva cerca de ~10 GB de espaço e cerca de 2-5 horas para ser concluído (com base nas dependências e especificações da máquina host).
Rede: Sua Máquina Alvo (Raspberry Pi) e Máquina Host (onde você faz a compilação cruzada) DEVEM ter acesso à Internet e DEVEM estar na MESMA Rede para seguir estas instruções.

Etapas/Configurações para Máquina Alvo (Raspberry Pi)

1. Começando do zero (opcional)

Importante

Se você acabou de conseguir um novo Raspberry Pi ou quer começar do zero, basta seguir em frente. Caso contrário, se você já tiver um Raspberry Pi configurado, em execução e Pronto para Conexão, basta pular para o passo 2.

Obs.:

Esta seção assume que você tem um SDcard de pelo menos 10GB para instalar o sistema operacional Raspbian (Stretch/Buster/Bullseye) e um Laptop/PC para carregá-lo.

1.1. Baixe softwares e prepare o cartão SD

  • Baixe aqui a versão mais recente do Raspbian (Bullseye) para seu laptop/pc.- Você precisará de um gravador de imagens para gravar o sistema operacional baixado no cartão SD (cartão micro SD no nosso caso). Você pode usar o Balena Etcher.- Insira o cartão SD no laptop/pc e execute o gravador de imagens. Uma vez aberto, selecione o arquivo de imagem Raspbian baixado. Selecione o dispositivo correto, que é a unidade que representa o cartão SD.

Obs.:

Se a unidade (ou dispositivo) selecionada for diferente do cartão SD, a outra unidade selecionada ficará corrompida. CUIDADO!

- Quando a gravação estiver concluída, ejete o cartão SD, insira-o no Raspberry Pi e ligue-o. Ele deve começar a inicializar. - Lembre-se de que, após a inicialização do Pi, em algumas situações as credenciais do usuário, como o "nome de usuário" e a senha, serão solicitadas. O Raspberry Pi vem com um nome de usuário padrão `pi` e senha `raspberry`, que você deve usar sempre que for solicitado.

1.2 Configuração de rede

Agora que seu Raspberry Pi está configurado e em funcionamento, é hora de conectá-lo à sua rede de uma das seguintes maneiras:

  • Se você tiver Monitor: Conecte-o ao seu Raspberry Pi junto com um teclado e mouse para navegar e siga este guia.- Se você não tiver Monitor: Siga este guia

2. Configure o SSH

  • Se você tiver Monitor: No terminal Raspberry Pi, digite: sudo raspi-config e o menu deverá aparecer no seu terminal. Para habilitar o SSH, vá para Opções de Interface -> SSH -> Sim e clique em OK para habilitá-lo. Escolha Concluir e saia.

  • Se você não tiver Monitor: Depois de configurar a rede, se você não tiver monitor ou se estiver operando remotamente. Para ativar o SSH, apenas retire seu cartão SD, conecte-o ao seu computador e crie um arquivo vazio chamado ssh no caminho /boot/parition. Agora insira o cartão SD de volta no Raspberry Pi.

3. Abra o Terminal

  • De outro Laptop/PC usando SSH: Para se conectar ao seu Pi de um computador diferente, copie e cole o seguinte comando na janela do terminal, mas substitua 192.160.1.47 pelo endereço IP do Raspberry Pi.
ssh [email protected] 

Ele vai pedir a senha que, se não tiver sido alterada, será a padrão (raspberry), que deverá ser utilizada sempre que necessário.

Obs.:

É possível configurar o seu Raspberry Pi para permitir o acesso a partir de outro computador sem a necessidade de fornecer uma senha toda vez que você se conectar. Para mais detalhes, veja aqui.

4. Obtenha scripts

Conecte-se ao seu Pi com o ssh e baixe o arquivo zip:

ssh [email protected]

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

Você também pode baixar o arquivo zip via navegador a partir daqui.Torne o script qt-cross-compile-script-pi4.sh executável e execute-o:

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

Depois de algum tempo, todos os pacotes necessários serão instalados, os diretórios necessários serão criados e os symlinks serão definidos corretamente.

Importante

Certifique-se de que o seu Raspberry Pi e a máquina Host (onde você faz a compilação cruzada) ESTEJAM NA MESMA REDE.

Etapas/Configurações para Máquina Host (Linux Ubuntu)

Para testes, utilizamos uma máquina virtual (vmware) com uma versão limpa do Ubuntu 20.04 LTS.

1. Baixe o arquivo 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

Você também pode baixar o arquivo zip via navegador a partir daqui.### 2. Torne o script qt-cross-compile-script-pi4.sh executável e execute-o:

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

3. Altere as variáveis no script

Você precisa alterar o endereço ip (raspberry_ip) do seu Raspberry Pi no script e o usuário (raspberry_user) e senha (raspberry_pwd) se você tiver mudado.

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

4. Execute o script

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

O script executa as seguintes ações:

  • instala todos os pacotes necessários
  • cria os diretórios necessários (~/rpi-qt)
  • baixa e extrai fontes Qt
  • instala fontes Qt
  • baixa e extrai o compilador cruzado
  • executa rsync de arquivos do raspberry pi
  • baixa o symlinker e os symlinks
  • configura a compilação Qt
  • cria e instala a compilação do Qt
  • executa o rsync dos binários do Qt para o Raspberry

Etapa Final para Máquina Alvo (Raspberry Pi)

Atualização do linker no Raspberry Pi

Digite o seguinte comando para atualizar o dispositivo, permitindo que o linker encontre os novos arquivos binários QT:

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

Configuração do Qt Creator para compilação cruzada

Leia o blog Configurando o Qt-Creator no Ubuntu 20 Lts para compilação cruzada para incluir os binários compilados (pasta ~/rpi-qt/qt5.15) no Qt Creator.

Licença de direitos autorais

Copyright © 2022 Interelectronix e.K.
Este código-fonte do Projeto está licenciado sob a licença * * GPL-3.0 * *.

Agradecimentos