Une fois que l'image est présente sur le support, il est possible de démarrer NanoBSD. Le périphérique de stockage est divisé en trois parties par défaut:
Deux partitions image: code#1
et code#2
.
La partition de configuration, qui peut être
montée sur le répertoire /cfg
à
l'exécution.
Ces partitions sont normalement montées en lecture seule.
Les répertoires /etc
et /var
sont des disques md(4)
(malloc).
La partition de configuration est montée sur le
répertoire /cfg
.
Elle contient les fichiers du répertoire /etc
et est brièvement
montée en lecture seule juste après le
démarrage du système, par conséquent il
est nécessaire de recopier les fichiers modifiés
de /etc
vers le
répertoire /cfg
si l'on souhaite que les changements soient encore effectifs
après le redémarrage du système.
/etc/resolv.conf
#
vi /etc/resolv.conf
[...]
#
mount /cfg
#
cp /etc/resolv.conf /cfg
#
umount /cfg
La partition qui abrite /cfg
doit être
montée uniquement au démarrage et lors de la
copie des fichiers de configuration.
Garder /cfg
monté en permanence n'est pas une bonne idée,
en particulier si le système
NanoBSD tourne sur un
périphérique de stockage qui peut être
endommagé par un grand nombre d'écritures sur
la partition (c'est à dire quand le contenu des
tampons de données est transféré sur
les disques).
Une image NanoBSD est
créée à l'aide d'une simple
procédure nanobsd.sh
, qui peut
être trouvée dans le répertoire
.
Ce programme crée une image, qui peut être
copiée sur le support de stockage à l'aide de
dd(1)./usr
/src/tools/tools/nanobsd
Les commandes nécessaires à la création d'une image NanoBSD sont:
C'est probablement la fonctionnalité la plus importante et la plus intéressante de NanoBSD. C'est aussi là où vous passerez le plus de temps lors de vos développements avec NanoBSD.
L'invocation de la commande suivante va obliger
nanobsd.sh
à lire sa configuration
dans le fichier myconf.nano
situé
dans le répertoire courant:
#
sh nanobsd.sh -c myconf.nano
La personnalisation est effectuée de 2 façons:
à l'aide d'options de configuration
à l'aide de fonctions de personnalisation
Grace aux paramètres de configuration, il est
possible de configurer des options qui sont passées
aux étapes buildworld
et
installworld
du processus de compilation
de NanoBSD, ainsi que des options
internes qui sont passées au processus principal de
compilation de NanoBSD. A l'aide
de ces options, il est possible de diminuer la taille du
système, de façon à ce qu'il tienne
dans 64Mo. Vous pouvez utiliser les options de
configuration pour réduire encore plus FreeBSD,
jusqu'à ce qu'il ne consiste plus qu'en un noyau et 2
ou 3 fichiers dans le système de base.
Le fichier de configuration consiste en une série d'options de configuration, qui surchargent les valeurs par défaut. Les directives les plus importantes sont:
NANO_NAME
— Nom de
compilation (utilisé pour créer le nom des
répertoires de travail).
NANO_SRC
— Chemin de
l'arbre des sources utilisé pour construire
l'image.
NANO_KERNEL
— Nom du
fichier de configuration utilisé pour compiler le
noyau.
CONF_BUILD
— Options
passées à la phase
buildworld
de la compilation.
CONF_INSTALL
— Options
passées à la phase
installworld
de la
compilation.
CONF_WORLD
— Options
passées aux étapes
buildworld
et
installworld
.
FlashDevice
—
Définit le type de support à utiliser.
Consulter le fichier
FlashDevice.sub
pour plus de
détails.
Il est possible d'optimiser NanoBSD en utilisant des fonctions d'interpréteur de commandes dans le fichier de configuration. L'exemple suivant présente la trame de base des fonctions de personnalisation:
Un exemple plus utile de fonction de personnalisation
est le suivant, qui change la taille par défaut du
répertoire /etc
de 5Mo à 30Mo:
Il existe par défaut quelques fonctions de personnalisation prédéfinies et prêtes à être utilisées:
cust_comconsole
—
Désactive getty(8) sur les consoles VGA (les
périphériques
/dev/ttyv*
) et paramètre la
console système sur le port série
COM1.
cust_allow_ssh_root
—
Autorise l'ouverture de sessions
root
via sshd(8).
cust_install_files
—
Installe les fichiers du répertoire nanobsd/Files
, qui contient
des programmes utiles pour l'administration
système.
Un exemple complet de fichier de configuration pour créer une image NanoBSD personnalisée peut être:
Le processus de mise à jour de NanoBSD est relativement simple:
Créer une nouvelle image NanoBSD, comme d'habitude.
Télécharger la nouvelle image dans une partition inutilisée d'une appliance NanoBSD opérationnelle.
La différence la plus importante de cette
étape par rapport à l'installation initiale
de NanoBSD est que maintenant
au lieu d'utiliser le fichier
_.disk.full
(qui contient une image
de la totalité du disque), l'image
_.disk.image
est installée
(qui contient seulement l'image d'une seule partition
système).
Redémarrer le système sur la nouvelle partition.
Si tout s'est bien passé, la mise à jour est terminée.
Si quelque chose s'est mal passé, redémarrez de nouveau sur la partition précédente (qui contient l'ancienne image, fonctionnelle celle-ci), pour remettre le système en état de marche le plus rapidement possible. Corriger les problèmes de la nouvelle image, et répéter le processus.
Pour installer la nouvelle image sur le système
NanoBSD opérationnel, il est
possible d'utiliser la procédure
updatep1
ou updatep2
située dans le répertoire /root
, en fonction de la partition
qui est en cours d'utilisation sur le système.
En fonction des services disponibles sur la machine qui dispose de la nouvelle image NanoBSD et du type de transfert qui est préféré, il est possible d'utiliser une de ces trois méthodes:
Si la vitesse de transfert est la priorité, utiliser cet exemple:
#
ftp myhost
get _.disk.image "| sh updatep1"
Si un transfert sécurisé est préférable, considérer l'utilisation de cet exemple:
#
ssh myhost cat _.disk.image.gz | zcat | sh updatep1
Utiliser cet exemple si la machine distante n'utilise ni ftp(1) ni sshd(8):
Tout d'abord, ouvrez un écouteur TCP sur la machine qui dispose de l'image et faites-lui envoyer l'image au client:
#
nc -l 2222
< _.disk.image
Assurez vous que le port utilisé n'est pas bloqué par un pare-feu afin de recevoir les connexions entrantes de la machine NanoBSD.
Se connecter à la machine qui dispose de la
nouvelle image et exécuter la procédure
updatep1
:
#
nc myhost 2222
| sh updatep1
Ce document, ainsi que d'autres peut être téléchargé sur ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/
Pour toutes questions à propos de FreeBSD, lisez la
documentation avant de contacter
<questions@FreeBSD.org>.
Pour les questions sur cette documentation, contactez
<doc@FreeBSD.org>.