Projet de distribution GNU/Linux
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
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.
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.
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.
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
.
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/^://'`
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é.
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.
Faites ceci:
cd /mnt/test
chroot .
source /etc/profile
Sauf mention contraire, les commandes qui suivent sont à exécuter dans le chroot.
É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.
Créez un /etc/fstab
adapté dans le chroot, vous avez un
exemple dans /etc/samples/fstab
.
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.
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).
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.