Provided by:
emdebian-rootfs_2.0.9_all 
NAME
emsandbox - criar sistemas de ficheiros raiz Emdebian
SYNOPSIS
emsandbox [[-a] | [--arch] ARQUITECTURA] [[--create] | [create]] [[[-s]
| [--script]] NOME DE FICHEIRO] [[-S] | [--suite] NOME]
[[--machine-path]CAMINHO] [[-m] | [--machine] NOME [[-v] |
[--variant] NOME]]
INTERPRETADORES DE SHELL
emsandbox é código bash e usa embootstrap o qual é código bash e também
executa código do pbuilder o qual é também código bash. debootstrap
re-executa-se a si próprio com a shell predefinida e depois tenta
executar o conjunto de scripts o qual falha porque a copia re-executada
do debootstrap está agora a correr sob a shell predefinida, e não sob
bash.
Este problema pode aparecer como uma falha dentro do debootstrap
I: Recuperando zlib1g
I: Validando zlib1g
A próxima linha deverá ser:
I: Extraindo base-passwd...
Infelizmente, isto é resultado do shell interpretador em Debian ter
sido alterado depois dos scripts serem criados e não é um problema
trivial. Actualmente não é possível para o embootstrap poder migrar
para cdebootstrap.
A única solução corrente é alterar a sua shell predefinida para
/bin/bash dentro do ambiente que corre emsandbox.
DESCRIÇÃO
emsandbox suporta geração personalizada de sistemas de ficheiros raiz
básicos a partir de pacotes Emdebian compilados para outra plataforma,
prontos para desempacotar e configurar no dispositivo embebido.
Note que emsandbox não suporta todas as opções disponíveis para
debootstrap. Algumas das opções do debootstrap que são suportadas são
implementadas como ficheiros de configuração específicos de máquina no
seu directório de trabalho Emdebian. (veja --machine e
--variant.)
emsandbox é um wrapper para debootstrap para preparar um sistema de
ficheiros raiz Emdebian, usando pacotes Emdebian e uma chroot nativa
via 'debootstrap --foreign' e código do pbuilder.
O rootfs Emdebian, conforme gerado por emsandbox não está totalmente
configurado - os pacotes estão desempacotados e certos ficheiros de
suporte estão criados mas nenhum dos pacotes está configurado (nem
mesmo os scripts de pré-instalação). Esta última etapa é o único
processo que tem de ser corrido no próprio dispositivo antes do
primeiro arranque, usando o script emsecondstage o qual necessita de um
ambiente chroot funcional. Tipicamente, emsecondstage é corrido a
partir de algum tipo de ambiente de bootloader mínimo que tem suporte
suficiente para montar subsistemas como o proc e sistemas de ficheiros
como a partição do sistema de ficheiros raiz e pode fazer chroot para o
sistema de ficheiros raiz. Este método representa que a maioria do
trabalho de criação do sistema de ficheiros raiz pode ser feito na
máquina de compilação.
O tarball criado por emsandbox deve ser copiado para o dispositivo de
destino e desempacotado usando:
# cd /mnt/target/dir
# tar -xzpf emdebian-arm.tgz
Imediatamente após desempacotar, inicie a configuração do pacote ao
executar ./emsecondstage no dispositivo de destino. (A configuração
envolve executar os binários de multi-plataforma e é a única parte do
processo que precisa ser executada no dispositivo de destino.)
emsecondstage deve sempre ser executado a partir do directório em que
foi instalado.
# ./emsecondstage
COMANDOS
--create|create
Executa debootstrap --foreign com um conjunto de regras modificado
para criar uma rootfs Emdebian básica.
Verifica por uma chroot existente e termina se encontrar uma.
-h|--help
mostra a mensagem de utilização e termina.
--version
mostra a mensagem de utilização e termina.
OPÇÕES
-a|--arch ARQUITECTURA
Sobrepõe a arquitectura predefinida do dpkg-cross para esta
operação na chroot.
-s|--script NOME DE FICHEIRO
Sobrepõe a selecção de pacotes predefinida e script de instalação
com um conjunto de scripts personalizados do debootstrap (escritos
em shell e compatíveis com qualquer interpretador shell que seja
instalado no destino).
Alguns scripts personalizados são disponibilizados com
emdebian-tools. A predefinição usa o pacote 'busybox' Emdebian
standard com 'dpkg' e 'apt'. Scripts de substituição precisam de
ser um conjunto total de scripts de shell do debootstrap que
especifiquem como completar as instalações de primeiro e segundo
estágio.
Pacotes de scripts personalizados com emdebian-tools incluem
scripts para um sistema de ficheiros raiz incluindo libgtk2.0-0 e
um sistema de ficheiros raiz GPE completo.
--machine-path CAMINHO
Sobrepõe o caminho predefinido para a máquina e configuração de
variantes. Por predefinição, emsandbox usa ${WORK}/machine onde
$WORK é o directório de trabalho especificado para emdebian-tools
durante a configuração debconf. O caminho especificado tem que já
existir e conter a configuração packages.conf relevante assim como
os scripts shell setup.sh e config.sh (os quais podem estar
vazios).
Exemplos de packages.conf, setup.sh e config.sh estão em
/usr/share/doc/emdebian-rootfs/examples/
-m|--machine MQUINA
Carrega dados de configuração específicos da máquina a partir do
seu directório funcional Emdebian. Se nenhuma variante for
especificada, a configuração é lida de
$WORK/machine/$MACHINE/default/ onde $WORK é o directório de
trabalho especificado em debconf para emdebian-tools.
-v|--variant VARIANTE
Carrega dados de configuração específicos da variante a partir do
seu directório funcional Emdebian. Requer --machine. Os dados de
configuração são lidos de $WORK/machine/$MACHINE/$VARIANT/ onde
$WORK é o directório de trabalho especificado em debconf para
emdebian-tools.
-S|--suite NOME
Sobrepõe o conjunto predefinido [unstable] e especifica outro
conjunto suportado. Note que se o repositório Emdebian for usado, o
conjunto escolhido tem de ser um nome de conjunto Emdebian/Debian
normal a partir de 'unstable, testing ou sid', ou um nome de código
de lançamento Debian para um lançamento incluindo, ou posterior, ao
lenny. Nenhum outro nome de conjunto é suportado em Emdebian.
O conjunto seleccionado é definido no sistema de ficheiros raiz
como o conjunto predefinido para o apt usar quando procurar por
actualizações.
VARIANTES DE MáQUINA
emsandbox suporta um conjunto de rotinas de personalização para cada
combinação de máquina e variante, permitindo que a rootfs seja
personalizada a variantes especificas de uma máquina especifica. Os
dados de configuração são guardados no sub-directório machine do seu
directório de trabalho Emdebian. Usando a opção -m em emsandbox carrega
packages.conf a partir do sub-directório $WORK/machine/$MACHINE/default
antes de arrancar o debootstrap. Assim que o primeiro estágio de
instalação estiver completo, o emsandbox chama setup.sh a partir do
mesmo directório, passando a localização e arquitectura do tarball,
para que outras afinações possam tomar lugar antes de criar o tarball.
Neste estágio, quaisquer operações dentro da rootfs não devem tentar
executar nenhuns binários dentro da rootfs. Imediatamente antes da
criação do tarball, o config.sh é copiado para o directório
/machine/$MACHINE/default/ da rootfs, pronto a ser chamado quando o
emsecondstage tiver completado o segundo estágio do processo
debootstrap.
Versões modelo de packages.conf, setup.sh e config.sh estão disponíveis
em /usr/share/emdebian-tools/machine/.
packages.conf é destinado a ser o ponto principal para ajustar o
tarball do emsandbox para servir as necessidades das variantes
específicas da máquina. setup.sh e config.sh podem afinar os
resultados mas de modo a evitar reinventar a roda, se mais do que
poucas máquinas precisarem de ajustes semelhantes aos mesmos ficheiros,
futuras versões do packages.conf irão reunir esses em um único
parâmetro de configuração disponível para todos.
packages.conf suporta:
INCLUDE
Adiciona uma lista de nomes de pacotes, separados por vírgulas, à
lista de pacotes adicionada ao tarball e instalados no segundo
estágio. Actualmente, o debootstrap tem problemas com múltiplos
repositórios portanto ou envie este pacote para o mesmo repositório
dos outros pacotes ou crie um apt-proxy que possa servir como um
repositório local, defina-o em PROXY e especifique um mirror
utilizável para o dispositivo em MIRROR.
PREDEFINIÇÃO: vazio
SCRIPT
Sobrepõe o conjunto-script predefinido do emsandbox que o
debootstrap usa para determinar a base e pacotes necessários e a
sequência muito importante em que os pacotes podem ser instalados.
SCRIPT pode ser sobreposto na linha de comandos do emsandbox.
PREDEFINIÇÃO: /usr/share/emdebian-tools/emdebian.crossd
MIRROR
Sobrepõe o mirror predefinido do emsandbox. Este repositório irá
ser definido em /etc/apt/sources.list e irá também ser usado pelo
debootstrap para obter todos os pacotes para o tarball a menos que
PROXY esteja também definido.
PREDEFINIÇÃO: http://www.emdebian.org/crush/
PROXY
Especifica um repositório separado para passar ao debootstrap que
pode ser local ou de outro modo não destinado a ser usado assim que
o tarball esteja instalado. Use MIRROR para definir o mesmo valor
em debootstrap e /etc/apt/sources.list. Se PROXY for especificado
sem MIRROR, o MIRROR predefinido do emsandbox
(http://buildd.emdebian.org/emdebian/) será escrito em
/etc/apt/sources.list.
PREDEFINIÇÃO: vazio
TARBALL_NAME
Sobrepõe o nome predefinido (emdebian-$ARCH) do tarball. Não
especifique um caminho aqui, apenas o nome do ficheiro com a
extensão .tgz.
PREDEFINIÇÃO: emdebian-$ARCH.tgz onde $ARCH é especificada ao
emsandbox ou como a arquitectura predefinida do dpkg-cross.
SUITE
Sobrepõe o conjunto predefinido [unstable] e especifica outro
conjunto suportado. Note que se o repositório Emdebian for usado, o
conjunto escolhido tem de ser um nome de conjunto Emdebian/Debian
normal a partir de 'unstable, testing ou sid', ou um nome de código
de lançamento Debian para um lançamento incluindo, ou posterior, ao
lenny. Nenhum outro nome de conjunto é suportado em Emdebian.
O conjunto seleccionado é definido no sistema de ficheiros raiz
como o conjunto predefinido para o apt usar quando procurar por
actualizações.
Não recomendado a ser alterado.
PREDEFINIÇÃO: unstable
Devido a limitações no suporte do corrente debootstrap, a única forma
de adicionar pacotes ao primeiro estágio é disponibilizando um conjunto
personalizado de scripts. Mesmo que emsandbox migre para usar uma
ferramenta de Stag para superar insuficiências no debootstrap, o
suporte para packages.conf, setup.sh e config.sh irá permanecer.
AUTOMATIZANDO COMPILAçõES DE ROOTFS
Tendo em conta que você está a tentar compilar um sistema de ficheiros
raiz para uma arquitectura suportada dentro de Debian, emdebian-tools
pode ajudá-lo a automatizar as compilações dos pacotes. Veja
em_autobuild (1)
VARIáVEIS DA SHELL
Note que o programa chroot do coreutils de Debian espera que você
queira a mesma shell ser usada tanto fora como dentro da chroot.
Tipicamente a shell predefinida de Debian em /etc/passwd é bash a qual
não está presente no Emdebian rootfs, portanto o chroot precisa da
opção /bin/sh.
FICHEIROS
A maioria das emdebian-tools usam dados de configuração de apt-cross e
de dpkg-cross. emsource e emsandbox também suportam configuração
usando debconf para definir um nome de utilizador de subversion e o
directório de trabalho predefinido (no qual se deve poder escrever)
para desempacotar as fontes descarregadas. Os valores debconf
predefinidos podem ser sobrepostos com valores específicos do
utilizador usando ~/.apt-cross/emsource ou ~/.apt-cross/emsandbox
respectivamente.
/etc/emsandbox.conf
Ficheiro de configuração de todo o sistema gerido por debconf que
controla o desempacotamento de arquivos fonte para um directório de
trabalho predefinido. Também pode incluir uma definição de nome de
utilizador de subversion, destinado a instalações de único utilizador.
As definições de /etc/emsandbox.conf podem ser sobrepostas numa base de
"por utilizador" ao copiar o ficheiro actual para
~/.apt-cross/emsandbox e editando os seus valores.
Podem ser definidas duas variáveis (veja também /etc/emsandbox.conf):
· workingdir: Uma simples localização predefinida para emsandbox
criar uma árvore fonte para descarregar e desempacotar pacotes
binários pré-compilados. Se for deixado em vazio, é usada uma nova
árvore de directórios de nível de topo mas isto é destinado apenas
para suporte do chroot.
· targetsuite: Emdebian segue a Debian ao predefinir compilar contra
unstable. Esta definição determina as versões de bibliotecas e
pacotes linkados contra os pacotes emdebian de multi-plataforma.
~/.apt-cross/emsandbox
Versão específica do utilizador de /etc/emsandbox.conf, que suporta as
mesmas variáveis para disponibilizar sobreposições específicas de
utilizador.
AUTOR
emsandbox foi escrito por Neil Williams codehelp@debian.org.
Este manual foi escrito por Neil Williams codehelp@debian.org e
traduzido para Português por Américo Monteiro a_monteiro@netcabo.pt
VEJA TAMBÉM
Veja também apt-cross (1), em_make (1), dpkg-cross (1), emdebian-tools
(1).