<-
Nasgaïa > Forums > Documentation > Doc HTML

Installation du devkit-1.0

Auteurs: Martial

Date: sam avr 19 16:58:01 CEST 20032

Modif: 2003-05-28

Installation du devkit-1.0 pour tests et développement

top

Objectifs

Installer un jeu de base de binaires en nba, en version non finale. Ce jeu de base correspond à peu près en terme de contenu à notre ancienne série base/ (nga-0.9 et avant), ou encore à une LFS.

Le but du jeu va être d'installer le nécessaire dans un répertoire pour utilisation en chroot ou sur une partition pour utilisation en chroot, ou bootée "pour de vrai". Le nouveau format de nba n'est pas compatible avec celui présent sur l'ISO 0.9 (et avant). Une fois ce système de base installé, pour pourrez commencer à le configurer en vue d'utiliser Ncooker2 avec les Nbuilds disponibles sur le site, les tester, améliorer, ou en proposer de nouveaux.

top

Pré-requis

Avoir les nba requis

Les nba requis pour le système de test sont listés dans le fichier testing.wget, et les chaînes de contrôles dans testing.MD5. Pour récupérer en une seule passe, faites par exemple:

wget -cx -i testing.wget

Ceci va créer l'arborescence. Vérifiez que votre version de wget utilise les mêmes options (--continue --force-directories --input-file=FICHIER). Si vous ne disposez pas de wget (il existe pour Win32 aussi !), essayez de charger la liste d'url dans un gestionnaire de téléchargement en vous reportant à sa documentation.

Vérifier que le téléchargement n'a pas corrompu certains fichiers par:

md5sum -c testing.MD5

Vous devriez voir des lignes comme celles-ci pour chaque nba:

./NBA/FOO/bar-0.10.nba: OK

Si ce n'est pas le cas, vérifiez que vous lancez la commande du bon répertoire, ou retéléchargez le paquet - si le problème persiste, signalez-le sur la liste ou le forum.

Environnement

Vous devez procéder à l'installation depuis un système Linux, la plupart devrait convenir, si c'est Nasgaïa-0.9 c'est bien aussi :-) En cas de problème signalez-le nous (avec tous les détails).

Prévoyez un répertoire ou partition montée avec suffisamment d'espace (450Mo strict minimum, mais pour utiliser Ncooker2 efficacement plus tard prévoyez beaucoup plus, comme 2 ou 3Go). Par convention, j'appellerai ce répertoire /mnt/test, adaptez donc cela dans les commandes qui suivent.

Procédez à tout ce qui suit en tant qu'utilisateur root, ça ne devrait pas poser de problèmes, sinon signalez-le nous.

top

Installation de Ncooker/Npkg

Récupérez le dernier tarball disponible de Ncooker2, il contient les outils npkg requis; ils seront de nouveau placés dans un paquet séparé sous peu (ce document sera modifié en conséquence).

Décompressez l'archive, et faites:

make install

Cela installe les divers scripts (dans /usr/share et /usr/sbin) et les fichiers de configurations (/etc) - pour les détails, regardez le Makefile.

top

Installation des nba

Placez vous dans le répertoire où vous avez téléchargé le jeu de nba avec testing.wget, puis exécutez:

find -name "*.nba" | xargs installnpkg2 -r /mnt/test -ba

IMPORTANT: Un bug connu de Nasgaïa-0.9 pose ici problème, car le LD_LIBRARY_PATH commence par ":", ce qui inclut le répertoire courant et génère des erreurs lors de la création des liens symboliques (en chroot) dans /mnt/test. Pour éviter ce bug, exécutez cette commande (ou placez-la dans votre ~/.bashrc) avant tout appel de installnpkg2 depuis le Linux de départ:

export LD_LIBRARY_PATH=`echo $LD_LIBRARY_PATH | sed 's/^://'`

Deux mots sur les options

Pour les options et leurs rôles, appelez installnpkg2 sans option, cela donne l'aide.

Ici, -r ( --root) spécifie d'installer les données dans /mnt/test, sans RIEN toucher au système local, les fichiers de contrôle et temporaires sont tous situés dans /mnt/test; aucun danger donc.

-ba (--no-post --no-pre) spécifie de ne pas exécuter les commandes de pre et post installation que quelques nba incluent - ceci car les commandes risquent de ne pas fonctionner tant que le chroot n'est pas complet. Ces commandes sont stockées, et nous les exécuterons plus tard. Le Nsetup-CD de nasgaia-1.0 fera de même (exécution lors du 1er boot).

Note: Vous verrez peut-être des messages d'erreur concernant la préparation et indexation des pages de man et pages info, n'en tenez pas compte, cela ne marche qu'avec les versions d'utilitaires incluses dans le chroot, tout se remettra dans l'ordre quand vous installerez un nba sur le système booté.

top

Mise en place du chroot

/dev et /proc

Montez /proc dans le futur chroot, ceci devrait fonctionner sur tout Linux récent:

mount proc /mnt/test/proc -t proc

Si votre système utilise devfs (cas de nasgaia-0.9) faites:

mount dev /mnt/test/dev -t devfs

Si vous n'avez pas devfs, utilisez temporairement le script MAKEDEV (emprunté à LFS) dans /mnt/test/dev, en faisant :

chmod +x ./MAKEDEV && ./MAKEDEV generic

Pensez à vous référer au LFS-Book pour les détails d'utilisation plus avancée de ce script.

Entrer dans le chroot

Faites ceci:

cd /mnt/test
chroot .
source /etc/profile

Sauf mention contraire, les commandes qui suivent sont à exécuter dans le chroot.

top

Post-installation

Éditez et adaptez tout d'abord les fichiers suivants, que Nsetup-CD créera lors de l'installation, de manière interactive:

/etc/synconfig/charmap (ISO-8859-15 par défaut)
/etc/synconfig/locale (fr_FR@euro par défaut)
/etc/sysconfig/keymap (fr-latin1 par défaut)
/etc/sysconfig/timezone (Europe/Paris par défaut

Vous pouvez désormais lancer:

for i in `find /var/npkg/post -type f`; do
npkg-redo-postinst `basename $i`
done

Ceci lance diverses commandes, crée des liens requis, etc... Si les appels de depmod donnent des "unresolved symbols" à ce stade, pas d'affolement; cela devrait disparaître lorsque vous booterez le système.

top

Mot de passe root

Utilisez:

passwd
pwconv

top

/etc/fstab

Créez un /etc/fstab adapté dans le chroot, vous avez un exemple dans /etc/samples/fstab.

top

Divers

Tout le reste est optionnel, mais vous pouvez en profiter pour déclarer des cartes réseau dans /etc/sysconfig/nics.d ou autres choses du même ordre.

top

Reboot

N'exécutez sous aucun prétexte GRub ou LILO depuis le chroot; au lieu de cela, ajoutez simplement une entrée à votre boot loader actuel. Exemple chez moi, à titre strictement indicatif, pour GRub (man grub, info grub, man lilo sont vos amis):

title Nasgaia 1.0-dev, hda8 ext3
root (hd0,7)
kernel (hd0,7)/boot/vmlinux root=/dev/hda8

root=/dev/hdXY n'est pas optionnel, (sinon gare aux "kernel panic, no init found"), sauf si vous utilisez rdev sur le noyau dans /mnt/test/boot (man rdev).

top

Suite de l'aventure

Quand vous aurez booté, vous pourrez commencer par installer ou configurer le moyen de connexion à internet dont vous avez besoin, puis vous pourrez essayer Ncooker2 (se reporter au guide), exemple simple pour récupérer, compiler, empaqueter en nba et installer cpio:

Nmake2 -gb cpio -p 'wipe install'

Vous pourrez récupérer régulièrement les dernières versions des Nbuilds disponibles (avec last_nbuilds.wget )dans votre /var/Ncooker/Nbuilds, et tester/améliorer tout cela.