NAME
emsandbox - créez des systèmes de fichiers racine Emdebian
SYNOPSIS
emsandbox [[-a] | [--arch] ARCHITECTURE] [[--create] | [create]] [[[-s]
| [--script]] NOMDEFICHIER] [[-S] | [--suite] NOM]
[[--machine-path]CHEMIN] [[-m] | [--machine] NOM [[-v] |
[--variant] NOM]]
INTERPRÉTEURS SHELL
emsandbox est du code bash et utilise embootstrap qui est également du
code bash et qui réutilise aussi du code pbuilder qui est lui aussi du
code bash. debootstrap se re-exécute avec le shell par défaut et
essaye de sourcer le script de distribution qui échoue car la copie
re-exécutée de debootstrap fonctionne maintenant avec le shell par
défaut (autre que bash).
Ce problème peut s'afficher en tant qu'échec dans la commande
debootstrap
I: Récupération de zlib1g
I: Validation de zlib1g
La ligne suivante devrait être:
I: Extraction de base-passwd...
Malheureusement, il s'agit d'une conséquence du changement de shell par
défaut dans Debian après que les scripts furents écrits, entaînant un
problème non-trivial. Cela n'est pas possible car embootstrap pourrait
migrer vers cdebootstrap.
À l'heure actuelle, l'unique solution est de changer le shell par
défaut pour /bin/bash au sein de l'environnement exécutant emsandbox.
emsandbox accepte la création de systèmes de fichiers racines à partir
de paquets Emdebian créés grâce à la construction croisée, prêts à être
dépaquetés et configurés sur un appareil embarqué.
Notez que emsandbox ne supporte pas toutes les options disponibles dans
debootstrap. Certaines des options prises en charge par debootstrap
sont implémentées en tant que fichiers de configuration spécifiques à
une machine dans votre répertoire de travail Emdebian. (Voir --machine
et --variant.)
emsandbox est un encapsulateur pour debootstrap afin de préparer un
système de fichiers racine Emdebian, utilisant des paquets Emdebian et
un chroot natif via 'debootstrap --foreign' et du code de pbuilder.
Le système de fichiers racine Emdebian, tel qu'il est créé par
emsandbox n'est pas entièrement configuré - des paquets sont dépaquetés
et certains fichiers d'assistance sont créés mais aucun paquet n'est
configuré (y compris les scripts de pré-installation). Cette dernière
étape est le seul processus qui doit fonctionner sur l'appareil avant
le premier dmarrage, en utilisant le script emsecondstage qui
nécessite un environnement chroot fonctionnel. Typiquement,
emsecondstage est exécuté à partir d'un programme d'amorçage minimal,
capable de monter des sous-systèmes comme proc et des systèmes de
fichiers comme le système de fichiers racine et créer un chroot dans le
système de fichiers racine. Cette méthode signifie que l'essentiel de
la création du système de fichiers racine peut être effectué sur la
machine de construction.
Le tarball créé par emsandbox devrait être copié sur l'appareil cible
et dépaqueté en utilisant :
# cd /mnt/target/dir
# tar -xzpf emdebian-arm.tgz
Immédiatement après le dépaquetage, démarrez la configuration du paquet
en exécutant ./emsecondstage sur le périphérique cible. (La
configuration implique l'exécution de binaires créés grâce à la
construction croisée et elle est la seule partie du processus qui doit
être exécuté sur le périphérique cible.)
emsecondstage devrait toujours être exécuté à partir du répertoire où
il a été installé.
# ./emsecondstage
COMMANDES
--create|create
Exécute debootstrap --foreign avec une suite de règles modifiées
définies pour créer un système de fichiers racine Emdebian de base.
Vérifie l'existence d'un chroot et quitte s'il en trouve un.
-h|--help
Imprime le message d'utilisation et quitte.
--version
Imprime le message d'utilisation et quitte.
OPTIONS
-a|--arch ARCHITECTURE
Surcharge l'architecture par defaut de dpkg-cross pour cette
opération sur le chroot.
-s|--scriptFICHIER
Modifie la sélection des paquets par défaut et le script
d'installation avec un script debootstrap personnalisé (écrit en
shell et compatible avec n'importe quel interpréteur shell pouvant
être installé sur la cible).
Certains scripts personnalisés sont fournis avec emdebian-tools.
Par défaut, le paquet Emdebian standard « busybox » est utilisé
avec « dpkg » and « apt ». Des scripts de remplacement doivent être
des scripts shell appartenant à une suite (ou distribution)
complète pour debootstrap qui spécifient la manière dont les deux
premières étapes d'installation sont réalisées.
Les scripts de paquets personnalisés avec emdebian-tools incluent
des scripts pour le système de fichiers racine y compris
libgtk2.0-0 et un système de fichiers racine GPE complet.
--machine-path CHEMIN
Modifie le chemin par défaut de la machine et des variantes. Par
défaut, emsandbox utilise ${WORK}/machine où $WORK est le
répertoire de travail spécifié à emdebian-tools lors de la
configuration debconf. Le chemin spécifié doit déjà exister et
contenir une configuration de packages.conf pertinente, de même
pour les scripts shell setup.sh et config.sh (pouvant être vide).
Des exemples de packages.conf, setup.sh et config.sh sont
disponibles dans /usr/share/doc/emdebian-rootfs/examples/
-m|--machine MACHINE
Charge les données de configuration spécifiques à une machine à
partir de votre répertoire de travail Emdebian. Si aucune variante
n'est spécifiée, config est lue à partir de
$WORK/machine/$MACHINE/default/ où $WORK est le répertoire de
travail spécifié dans debconf pour emdebian-tools.
-v|--variant VARIANTE
Charge les données de configuration spécifiques à une variante à
partir de votre répertoire de travail Emdebian. Nécessite
--machine. Les données de configuration sont lues à partir de
$WORK/machine/$MACHINE/$VARIANT/ où $WORK est le répertoire de
travail spécifié dans debconf pour emdebian-tools.
-S|--suite NOM
Modifie la version de la distribution (ou suite) par défaut
[unstable] et indique une autre version possible. Notez que si le
dépôt Emdebian est utilisé, la version choisie doit être un nom de
distribution Emdebian/Debian ordinaire (unstable, testing ou sid)
ou un nom de code d'une version de Debian (lenny ou supérieure).
Aucun autre nom de version n'est accepté dans Emdebian.
La version sélectionnée est définie dans le système de fichiers
racine en tant que version par défaut pour apt lors de la recherche
de mises à jour.
VARIANTES DE MACHINES
emsandbox permet un ensemble de routines de personnalisation pour
chaque combinaison de machine et de variante. Le système de fichiers
racine peut être personnalisé en des variantes spécifiques d'une
machine spécifique. Les données de configuration sont stockées dans le
sous-répertoire machine de votre répertoire de travail Emdebian.
L'utilisation de l'option -m à emsandbox charge packages.conf à partir
du sous-répertoire $WORK/machine/$MACHINE/default avant de démarrer
debootstrap. Une fois que la première étape d'installation est achevée,
emsandbox appelle setup.sh à partir du même répertoire, passant
l'emplacement et l'architecture du tarball, ce qui permet d'affiner les
réglages avant de créer le tarball. À ce stade, toutes les opérations à
l'intérieur du système de fichiers racine ne doivent pas essayer
d'exécuter d'autre binaires au sein du système de fichiers racine.
Immédiatement avant la création du tarball, config.sh est copié dans le
répertoire /machine/$MACHINE/default/ du système de fichiers racine,
prêt à être appelé quand emsecondstage a terminé la seconde étape du
processus debootstrap.
Des versions squelette de packages.conf, setup.sh et config.sh sont
disponibles dans /usr/share/emdebian-tools/machine/.
packages.conf est le meilleur moyen pour adapter le tarball emsandbox
aux besoins des variantes de machines spécifiques. setup.sh et
config.sh peuvent affiner les résultats mais, afin de ne pas réinventer
la roue, si plusieurs machines nécessitent des adaptations aux même
fichiers, les futures versions de packages.conf les rassemblera en un
seul paramètre de configuration, disponible pour tous.
packages.conf gère :
INCLUDE
Ajoute une liste de noms de paquets séparés par une virgule à la
liste des paquets ajoutés au tarball et installés à la deuxième
étape. Actuellement, debootstrap a des problèmes avec les dépôts
multiples. Il faut donc, soit uploader ce paquet dans le même dépôt
que vos autres paquets soit créer un apt-proxy qui peut servir de
dépôt local. On peut le définir dans PROXY et spécifier un miroir
utilisable pour le périphérique dans MIRROR.
PAR DÉFAUT : vide
SCRIPT
Modifie le script par défaut de emsandbox que debootstrap utilise
pour déterminer les paquets de base et les paquets exigés, ainsi
que l'ordre très important dans lequel les paquets peuvent être
installés. SCRIPT peut être modifié par emsandbox depuis la ligne
de commande.
PAR DÉFAUT : /usr/share/emdebian-tools/emdebian.crossd
MIRROR
Surchage le miroir par défaut de emsandbox. Ce dépôt sera défini
dans /etc/apt/sources.list et sera aussi utilisé par debootstrap
pour obtenir tous les paquets nécessaires pour le tarball à moins
que PROXY ne soit également définie.
PAR DÉFAUT : http://www.emdebian.org/crush/
PROXY
Spécifie un dépôt distinct à passer à debootstrap qui peut être
local ou ne pas être destiné à l'utilisation une fois que le
tarball est installé. Il faut utiliser MIRROR pour définir la même
valeur à debootstrap et /etc/apt/sources.list. Si PROXY est
spécifiée sans MIRROR, le MIRROR (miroir) par défaut de emsandbox
(http://buildd.emdebian.org/emdebian/) sera écrit dans
/etc/apt/sources.list.
PAR DÉFAUT : vide
TARBALL_NAME
Modifie le nom par défaut (emdebian-$ARCH) du tarball. Il ne faut
pas indiquer un chemin mais juste un nom de fichier ayant .tgz pour
suffixe.
PAR DÉFAUT : emdebian-$ARCH.tgz où $ARCH est spécifié à emsandbox
ou comme l'architecture par défaut de dpkg-cross.
SUITE
Modifie la version de la distribution (ou suite) par défaut
[unstable] et indique une autre version possible. Notez que si le
dépôt Emdebian est utilisé, la version choisie doit être un nom de
distribution Emdebian/Debian ordinaire (unstable, testing ou sid)
ou un nom de code d'une version de Debian (lenny ou supérieure).
Aucun autre nom de version n'est accepté dans Emdebian.
La version sélectionnée est définie dans le système de fichiers
racine en tant que version par défaut pour apt lors de la recherche
de mises à jour.
Changement non recommandé.
PAR DÉFAUT : unstable
À cause de certaines limitations du debootstrap actuel, la seule
manière d'ajouter des paquets à la première étape est de fournir un
script de distribution personnalisée. Même si emsandbox migre pour
utiliser un outil provenant de Stag pour surmonter des lacunes de
debootstrap, l'assistance pour packages.conf, setup.sh et config.sh
demeurera.
AUTOMATISATION DE LA CONSTRUCTION DE SYSTèME DE FICHIERS RACINE
Si vous êtes en train d'essayer de construire un système de fichiers
racine pour une architecture gérée dans Debian, emdebian-tools peut
vous aider à automatiser la construction des paquets. Voir em_autobuild
(1)
VARIABLES SHELL
Notez que le programme Debian chroot de coreutils s'attend à ce que
vouliez le même shell à l'extérieur et à l'intérieur du chroot.
Typiquement, le shell par défaut dans /etc/passwd est bash qui n'est
pas présent dans le système de fichiers racine de Emdebian, ainsi
chroot nécessite l'option /bin/sh.
FICHIERS
La plupart des emdebian-tools utilisent des données de configuration de
apt-cross et dpkg-cross. emsource et emsandbox permettent également la
configuration à l'aide de debconf pour définir un nom d'utilisateur
subversion et un répertoire de travail par défaut (qui doit avoir les
droits d'écriture) pour le dépaquetage des sources des téléchargements.
Les valeurs par défaut de Debconf peuvent être surchargées par des
valeurs spécifiques à l'utilisateur à l'aide de ~/.apt-cross/emsource
ou ~/.apt-cross/emsandbox respectivement.
/etc/emsandbox.conf
Fichier de configuration à l'échelle du système manipulé par debconf.
Il contrôle le dépaquetage des sources des archives dans un répertoire
de travail par défaut. Il peut également inclure un nom d'utilisateur
subversion, destiné aux installations mono-utilisateur. Les paramètres
de /etc/emsandbox.conf peuvent être modifiés pour chaque utilisateur en
copiant le fichier actuel dans ~/.apt-cross/emsandbox et en éditant les
valeurs.
Deux variables peuvent être définies (voir aussi /etc/emsandbox.conf) :
· workingdir : un simple emplacement par défaut afin que emsandbox
puisse créer un arbre source pour télécharger et dépaqueter des
paquets binaires pré-construits. S'il est laissé vide, un nouveau
répertoire haut niveau de l'arbre est utilisé mais est destiné
uniquement au support du chroot.
· targetsuite : Emdebian suit Debian en imposant par défaut la
construction à partir d'unstable. Ce paramètre détermine les
versions des bibliothèques et paquets liés aux paquets emdebian
construits à l'aide de la construction croisée.
~/.apt-cross/emsandbox
Version de /etc/emsandbox.conf spécifique à l'utilisateur, utilisant
les mêmes variables modifiables par l'utilisateur.
AUTEUR
emsandbox a été écrit par Neil Williams codehelp@debian.org.
Cette page de manuel a été écrite par Neil Williams codehelp@debian.org
VOIR AUSSI
Voir aussi apt-cross (1), em_make (1), dpkg-cross (1), emdebian-tools
(1).