pacotes Programação Yocto Project
Criando um daemon no linux

Daemon são programas que rodam em back ground e que são inicializados e controlados pelo sistema operacional.

Os daemon são geralmente serviços que devem ser gerenciados de forma automatica.

Iremos apresentar aqui um bom exemplo de como criar um daemon.

Para criar um daemon, primeiramente seu binário precisa ser incluído em um local que permita o acesso para qualquer usuário, por este motivo a inclusão na pasta /home/[usuário] não é uma boa pratica. Em geral incluímos em uma pasta como /usr/bin.

Os arquivos de configuração , quando houver, poderão ser incluídos na pasta /etc/[nome daemon].

A criação

A criação do daemon é bem simples.

Crie em /etc/systemd/system/ o arquivo [servido].service, tal como o exemplo do meu git:

https://github.com/marcelomaurin/srvFalar/blob/main/srvfalar/etc/systemd/system/srvfalar.service

Edite o arquivo [servico].service conforme apresentado abaixo:

[Unit]
Description=[Descreva o que faz o servico]
After=network.target

[Service]
ExecStart=/usr/bin/[servico_binario]
Restart=always
User=root
Group=root

[Install]
WantedBy=multi-user.target

Salve o serviço e como sudo dê o seguinte comando:

systemctl daemon-reload

Executando o serviço

Para executar um serviço digite:

systemctrl start [serviço]
Delphi Lazarus MNote2 Mysql pacotes Programação Yocto Project
Exemplo de Pacote debian – Parte 1

O objetivo deste artigo é demonstrar o uso prático de pacotes do linux.

Escrevi alguns artigos, sobre o desenvolvimento de pacotes.

    Inclusive já desenvolvi o MNOTE2, que é um bloco de notas simplificado. Sendo que este projeto, o MNote2, já possui um pacote em seu código.

    O MNote 2 pode ser visto no meu git:

    https://github.com/marcelomaurin/MNote2

    Neste artigo, e nos demais, irei continuar o trabalho apresentado no MNote2, gerando um pacote para um projeto em Lazarus, este projeto consiste em um sistema Cliente/Server, que consome um banco de dados Mysql.

    Este artigo tem relação tambem sobre outro conjunto de artigos:

      A instalação deste tipo de aplicação demanda certo trabalho, que irei abordar durante o ciclo de posts, aqui apresentados.

      Ao fim dos artigoa, pretendo se houver tempo, desenvolver uma imagem iso, usando yocto project, consumindo este pacote. E por fim criando um instalador completo com uma imagem de CD para distribuição. ankara escort çankaya escort ankara escort çankaya escort escort ankara çankaya escort escort bayan çankaya istanbul rus escort eryaman escort escort bayan ankara ankara escort kızılay escort istanbul escort ankara escort ankara rus escort escort çankaya ankara escort bayan istanbul rus Escort atasehir Escort beylikduzu Escort Ankara Escort malatya Escort kuşadası Escort gaziantep Escort izmir Escort

      Para apresentar o trabalho completo, estarei incluindo tudo no git:

      GIT do Exemplo

      https://github.com/marcelomaurin/cliPessoa

      Este é um conjunto de posts, que irei apresentar.

      Serão vários, e por um período longo. Espero que gostem.

      Yocto Project
      Yocto Project

      Diretorios do Poky

      Vamos descrever aqui, sobre a estrutura de diretorios do poky.

      BITBAKE – Responsável por armazenar o executor de tarefas agendadas.

      Build – Armazena as pastas usadas na criação dos fontes e montagem da imagem de instalação

      contrib – São como o próprio nome diz, contribuições agregadas ao projeto base do Yocto project

      documentation – Armazena documentações a respeito da ferramenta.

      meta e meta-* – Armazena as informações dos pacotes e classes de um projeto de distribuição.

      scripts – contem os scripts do yocto que geram as instalações e ferramentas de apoio.

      Yocto Project
      Yocto Project

      Entendendo as Classes

      Continuando com nosso exemplo anterior, podemos ver o poky/meta-raspberrypi/classes.

      Nele temos um arquivo interessante, o sdcard_image-rpi.bbclass.

      Neste arquivo, podemos verificar que os processos de montagem do sd de dados são realizados, onde alem da montagem da partição temos a copia dos dados e pacotes para o sd.

      [continua]

      Yocto Project
      Yocto Project

      Neste tutorial, iremos mostrar onde o bitbake pega a configuração da plataforma alvo.

      Primeiro devemos lembrar que para gerar uma imagem de uma plataforma especifica, precisamos baixar as informações desta.

      O Projeto Yocto não contem todas as informações classes, task e layers de todas as plataformas.

      Para tanto ele dispõem de um repositório contendo um conjunto de pacotes que podem ser baixados, e lá agregam as informações necessárias para incluir esta no yocto.

      O Link do repositório é
      http://layers.openembedded.org/layerindex/branch/master/machines/?q=&search=1

      Agora vamos a parte prática,

      Imaginemos que precisamos gerar uma imagem de uma distribuição para raspberry PI, que iremos embarcar.

      git clone git://git.yoctoproject.org/meta-raspberrypi

      Ele criou uma pasta meta-raspberrypi, nela podemos ver as várias configurações de máquinas criadas para este fim:

      Lá podemos ver o conteúdo do raspberry2.conf, conforme apresentado na figura abaixo:

      configurações da maquina raspberry.

      Arquivos include

      Dentro da pasta machine temos a pasta include, que incluem alguns arquivos do tipo .inc, conforme imagem a seguir:

      Visualização dos arquivos da pasta include

      Podemos, notar que os arquivos são de extensão inc, arquivos de dados do yocto.

      Analisando o conteúdo destes, podemos ver, as seguintes informações:

      arquivo rpi-base.inc

      Nele temos as variáveis que serão utilizadas no sistema.

      Quando existir necessidade de atribuir valores o campo MACHINE_FEATURES, permite atribuir estas variaveis.

      No arquivo raspberry4.conf, existe um exemplo deste, conforme o fragmento abaixo:

      MACHINE_FEATURES += “pci”

      Para maiores detalhes busque a documentação aqui.

      Yocto Project
      Yocto Project

      Agora vamos entender onde cada sigla atua.

      Receitas (RECIPES)

      São arquivos com extensão (.bb), podendo descrever como montar os pacotes.

      .bbappend são aditivos as receitas já criadas, agregando novos pacotes.

      .inc dados compartilhados nas receitas.

      PackageGroups

      São coleções ou grupos de pacotes agrupados na receita. São contidos com extensão *.bb

      Classes

      São módulos de classes que descrevem funcionalidades usadas para gerar a imagem.

      Podem ser herdadas.

      Configuration

      São configurações para montagem da imagem, permitindo customizar conforme estes padrões, criando rotinas de fluxo variado, em funções das especificações de tais parâmetros.

      As configurações são extensões *.conf.

      Os dados podem ser compartilhados dentro do Yocto através dos arquivos .inc.

      Yocto Project
      Yocto Project

      Agora vamos entender um pouco das gírias do Yocto

      Layer

      Camado ou Grupo de Metadados que são incluídos na construção, entende-se todas as customizações que podem ser incluídas.

      Distro

      São as configurações para montagem da imagem.

      Machine

      É a plataforma que se deseja construir a distribuição. Ex X86, ARM Raspberry.

      Image

      É a distribuição “compilada” que vira uma imagem de CDROM ou DVD (ISO)

      TASK

      São as tarefas que serão executados pelo sistema a fim de construir a imagem (receitas)

      Package

      São os pacotes que são usados durante a criação da imagem.

      Sem categoria Yocto Project
      Criar projeto Yocto Project

      Para criar um projeto no yocto project é muito simples.

      Pronto, aguarde, pois demora muito tempo até compilar e construir o cd.

      1. Crie uma maquina virtual com pelo menos 100Gb de memoria, e 4 núcleos de processamento. Eu recomendo pelo menos 4 Gb de RAM.
      2. Instale o Ubuntu, ultima versão disponível.
      3. Instale os seguintes pacotes, antes de começar:
        • sudo apt-get install gawk wget git-core diffstat unzip texinfo gcc-multilib build-essential   chrpath socat libsdl1.2-dev xterm make xsltproc docbook-utils fop dblatex xmlto autoconf   automake libtool libglib2.0-dev libarchive-dev python-git
      4. Na pasta que preferir, vamos fazer no /home/ porem não é escrito em pedra. Faça a seguinte operação:
        • git clone -b mickledore git://git.yoctoproject.org/poky.git
      5. Entre na pasta do yocto, digite:
        • source oe-init-build-env
      6. Crie uma imagem, rodando:
        • bitbake core-image-sato
      maurinsoft.com.br