Como instalar o gerenciador de pacotes Debian em um sistema embarcado?

3

Estou trabalhando com um Linux fornecido pelo fornecedor no destino incorporado e certas funções como make , apt-get etc. estão ausentes. é possível instalar um gerenciador de pacotes em minha própria placa de destino incorporada? é o caminho certo para fazer isso? tkx!

    
por emddev 17.11.2016 / 07:09

4 respostas

6

Sistemas Tipicamente Embebidos possuem recursos limitados, pequena RAM e muito pouco espaço de armazenamento pelos padrões atuais; daí o ambiente limitado e a falta de ferramentas de desenvolvimento no sistema.

Muitas vezes, bibliotecas alternativas como uClibc em vez de glibc também são usadas para economizar recursos.

The goal of uClibc is to provide as much functionality as possible in a small amount of space, and it is intended primarily for embedded use. It is also highly configurable in supported features, at the cost of ABI differences for different configurations. uClibc has been designed from the ground up to be a C library for embedded Linux. We don't need to worry about things like MS-DOS support, or BeOS, or AmigaOs any other system. This lets us cut out a lot of complexity and very carefully optimize for Linux.

Normalmente, a fase de desenvolvimento é feita fora do sistema por meio de compiladores cruzados. Portanto, há um requisito para instalar / configurar um ambiente toolchain / development em outra máquina, possivelmente um servidor de desenvolvimento completo do Linux.

Em alguns projetos de código aberto, o conjunto de ferramentas está disponível gratuitamente, em soluções comerciais embebedadas, muitas vezes você precisa obtê-lo do fornecedor.

De elinux

A toolchain is a set of distinct software development tools that are linked (or chained) together by specific stages such as GCC, binutils and glibc (a portion of the GNU Toolchain). Optionally, a toolchain may contain other tools such as a Debugger or a Compiler for a specific programming language, such as ,C++.

Quanto aos mantenedores de pacotes, verifique se não existe um nativo - pois ele terá um repositório oficial associado, com mais utilitários e atualizações de segurança para o seu sistema; por exemplo, no OpenWRT, ele é chamado de opkg .

Opkg (Open PacKaGe Management) is a lightweight package management system based upon ipkg. It is written in C and resembles APT/dpkg in operation. It is intended for use on embedded Linux devices and is used in this capacity in the OpenEmbedded and OpenWrt projects.

    
por 17.11.2016 / 07:46
2

Se você deseja instalar pacotes Debian em um sistema rodando um kernel Linux, você pode instalar uma hierarquia Debian em um chroot com debootstrap . É altamente improvável que instalar pacotes Debian diretamente na raiz funcione porque o gerenciador de pacotes Debian competiria com o sistema básico para decidir sobre o conteúdo dos principais arquivos do sistema. Apenas uma ferramenta decide o que é /bin/sh .

Schroot é muito útil para executar de forma transparente programas instalados em um chroot.

Como eu executo programas de 32 bits em um Debian / Ubuntu de 64 bits? tem um tutorial sobre como instalar uma distribuição do tipo Debian como um chroot em outra distribuição semelhante ao Debian. Ele pode ser usado apenas com pequenos ajustes se o sistema externo não for parecido com o Debian; você só precisa baixar o debootstrap manualmente, ou executar o debootstrap em duas fases (veja o manual): um com --foreign no seu PC para preparar uma árvore de diretórios, então transfira a árvore de diretórios para o dispositivo alvo como achar melhor, e execute debootstrap --second-stage no dispositivo de destino.

Mas se este for um dispositivo embutido com recursos limitados (em oposição a, digamos, um telefone Android), então o Debian pode estar acima do peso. A resposta de Rui F Ribeiro tem algumas recomendações para distribuições alternativas mais leves.

    
por 18.11.2016 / 02:01
1

O jeito certo seria instalar o software que você quer manualmente, sem o gerenciador de pacotes.

Se um gerenciador de pacotes não estiver disponível em seu sistema, geralmente há boas razões para isso. Há restrições de espaço (não ter make como um bom indicador), ou seu sistema não é compatível com binários com repositórios existentes. Portanto, sua tentativa de instalar um gerenciador de pacotes pode estar perdendo tempo.

Mesmo que a instalação de um gerenciador de pacotes no seu sistema seja praticamente viável, você provavelmente terá problemas para usá-lo em um sistema que não suporta um. Você terá que dizer de alguma forma quais arquivos você já possui e quais dependências esses arquivos satisfazem. Basicamente, você terá que reinstalar todo o sistema a partir do zero, usando pacotes, se quiser adicionar um novo software através de um gerenciador de pacotes.

    
por 17.11.2016 / 11:23
-1

Sim, é possível. O código fonte do apt está disponível aqui Faça o download e crie a fonte e adicione-a ao seu destino.

Um repositório sepearate com pacotes deve ser mantido para usar o apt-get.

    
por 17.11.2016 / 07:20