Au début tout baigne, j'ai mon comps.xml perso, j'ai customisé yum pour qu'il me chope les rpm avec leurs dépendances (merci les hooks), jusque là tout va bien.
C'est quand j'attaque anaconda que ça commence à se corser. Surtout le fameux script buildinstall. Bon deja les groupes de packages y sont inscrits en dur, ça blaisse. Mais surtout je tombe sur des erreurs fort sympathiques dont j'me passerais bien.
Ce qui est sympa avec le buildinstall c'est qu'il nécessite la présence de certains RPMs mais il le dit pas. Rien, nada, aucune vérification de leur présence. J'avais déjà remarqué le problème sur le RHEL et javais reussi à me faire une liste de RPMS suffisantes pour que la reconstruction d'anaconda passe sans problème. Mais sur la fedora je bloque. Ceci dit je fais peut être fausse route...
On trouve pas mal de doc sur les anciennes fedora mais rien pour la 5. Comme ya eu pas mal de changement c'est genant (passage a yum et a un repository direct sur le cd). Si quelqu'un a de la doc jsuis preneur, surtout sur la reconstruction de l'installeur du cd.
je vous colle les erreurs pour le fun et au cas où, on sait jamais, quelqu'un serait déjà tombé sur le probleme:
Going to run buildinstall again
Building images...
Assembling package list...
Expanding text packages...
Expanding graphical packages...
retrieving timezones
Building locale archive
Building locale archive
Creating nsswitch.conf
Fixing up /etc/man.config to point into /mnt/sysimage
Running mkfontdir...
Creating SELinux policy...
/usr/sbin/chroot: cannot run command `/usr/sbin/semodule': Aucun fichier ou répertoire de ce type
Getting pango modules
/usr/sbin/chroot: cannot run command `/usr/bin/pango-querymodules': Aucun fichier ou répertoire de ce type
Getting gtk2 input method modules
/usr/sbin/chroot: cannot run command `/usr/bin/gtk-query-immodules-2.0': Aucun fichier ou répertoire de ce type
Getting gtk2 gdk-pixbuf loaders
/usr/sbin/chroot: cannot run command `/usr/bin/gdk-pixbuf-query-loaders': Aucun fichier ou répertoire de ce type
Scrubbing trees... /tmp/treedir.31408/image-template
/usr/sbin/chroot: cannot run command `usr/sbin/ldconfig': No such file or directory
Scrubbing trees... /tmp/treedir.31408/instimage
/usr/sbin/chroot: cannot run command `usr/sbin/ldconfig': Aucun fichier ou répertoire de ce type
Compressing .mo files in stage2 images...
Creating fontconfig cache
/usr/sbin/chroot: cannot run command `/usr/bin/fc-cache': Aucun fichier ou répertoire de ce type
Pourtant le rpm qui contient semodule est bien présent... j'vais continuer à fouiller :)
# Des url
Posté par clearstream . Évalué à 2.
Mais voilà quelques url qui te seront peut-être utiles (probable que tu connais déjà ces pages) :
http://fedoraproject.org/wiki/RechercherUnePage?action=fulls(...) (toutes les pages avec anaconda dans le titre)
http://fedoraproject.org/wiki/AnacondaBuildDocProject
http://fedoraproject.org/wiki/AnacondaUserContributedScripts (quelques scripts)
http://www.redhat.com/archives/anaconda-devel-list/ (archive anaconda-devel)
Tu peux aussi peut-être demander de l'aide du côté de fedoraunity (ils font les "re-spin" ) : http://fedoraunity.org/
Bon courage.
[^] # Re: Des url
Posté par tungsten . Évalué à 2.
Bon courage. J'essaie moi aussi d'adapter une distrib à mes besoins, mais j'ai finalement choisi de me baser sur une Ubuntu.
D'ailleurs ce serait bien de faire profiter la communauté quand tu auras surmonté ton problème ;-)
[^] # Re: Des url
Posté par madko (site web personnel) . Évalué à 1.
Une fois ce probleme surmonté c'est clair que jvais partager mon experience, surement sous la forme d'un journal expliquand comment customiser une fedora (jpourrais deja ecrire le truc sur construire une RHEL from SRPMS)
[^] # Re: Des url
Posté par madko (site web personnel) . Évalué à 1.
[^] # Re: Des url
Posté par tungsten . Évalué à 2.
[^] # Re: Des url
Posté par madko (site web personnel) . Évalué à 1.
j'ai un autre point d'ombre qui va venir juste apres la construction de l'installeur, c'est la frabrication des ISO, notement concernant le fichier boot.cat. Si jme trombe pas ce fichier indique les kernels bootables présents sur le cd, donc si j'en rajoute/enleve jsuis bon pour le refaire, mais je trouve null par de la doc à son sujet :(
Mais bon jdois deja resoudre mon probleme de buildinstall d'anaconda
[^] # Re: Des url
Posté par tungsten . Évalué à 1.
Un autre lien intéressant où boot.cat est mentionné (à " Création du CDrtbt") : http://www.lea-linux.org/cached/index/Software-soft_grave-cd(...)
Par contre tu vas peut-être retomber sur le problème que j'ai actuellement, à savoir que boot.cat est créé lors de la génération de l'iso et lorsque je lance une vérification du CD obtenu j'ai une erreur me disant que le fichier isolinux/boot.cat n'est pas signé. Il doit falloire le signer et remodifier l'iso générée mais je n'ai pas encore trouvé de doc pour faire ça. Si tu sais sais comment faire...
[^] # Re: Des url
Posté par madko (site web personnel) . Évalué à 1.
[^] # Re: Des url
Posté par madko (site web personnel) . Évalué à 1.
Ce qui m'inquiete toujours c'est les erreurs lors du buildinstall d'anaconda, ça me construit qq image quand meme, mais au boot du cd c'est pas encore ça. Il tente de charger un noyau linux alors que j'ai que du vmlinuz, et ça chie grave apres, ça lance pas du tout anaconda. Mais bon jdois pas etre tres loin
[^] # Re: Des url
Posté par madko (site web personnel) . Évalué à 1.
là maintenant l'installeur anaconda reconnait pas le CD, ça doit etre 3x rien (enfin jespere).
J'approche du but
[^] # Re: Des url
Posté par madko (site web personnel) . Évalué à 1.
il doit me manquer une connerie à tout les coups
[^] # Re: Des url
Posté par clearstream . Évalué à 1.
[^] # Re: Des url
Posté par madko (site web personnel) . Évalué à 1.
bon j'en viens à la conclusion que c'est /usr/bin/runroot qu'il me manque (d'apres le strace)
Si quelqu'un sait où se cache cette commande je suis preneur
[^] # Re: Des url
Posté par tungsten . Évalué à 1.
--comp (not required)
Defaults to dist-7.0. This value is only used by the runroot command which is proprietary to RH and therefore is not required when used by regular users.
http://www.fedoraproject.org/wiki/AnacondaBuildInstall
Je crois que tu peux t'en passer. Courage, tu touches au but on dirait ;-)
[^] # Re: Des url
Posté par madko (site web personnel) . Évalué à 1.
par contre ça a pas l'air de servir a grand chose
bon sinon jai resolu toute les erreurs, en fait ils faut copier tout le contenu de tous les cds fedora pour reconstruire les images de l'installeur (ouai c'est du lourd). Du coup j'ai un nouveau soucis.
Le probleme est que maintenant Anaconda quand je boot sur le CD custom il me le detecte pas, ou le concidere pas comme son cd d'install.
Alors j'ai remarqué 2 choses:
1) il y a un fichier .buildstamp dans le stage2.img, mais dans celui-ci je vois toujours comme nom de produit "Fedora Core 5" et pas le ptit nom que j'ai indiqué à buildinstall (c'est bien la peine)
2) Dans les logs Anaconda sur le CD, quand l'installeur me dit que le CD est pas le bon, j'ai ça:
Unable to load NLS charset utf8
ISO 9660 Extensions: RRIP_1991A
Unable to identify CD-ROM format.
VFS: Can't find an ext2 filesystem on dev loop0.
et ça, ça me fait peur. Peut etre qu'il sait juste pas gerer l'utf8. Mais le truc byzare c'est le VFS qui veut monter une stage2.img dans dev loop0 au format EXT2, alors que le stage2.img c'est bien connu, est en squashfs sous Fedora...
C'est pas encore gagné
[^] # Re: Des url
Posté par madko (site web personnel) . Évalué à 1.
j'ai perdu quelques jours juste parcequ'il me manquait netpbm pour le splashscreen du bootloader. Jme disais c'est pas grave, j'en veux pas, ba finalement sans ça le fameux buildinstall termine mal la creation du stage2.img ...
donc en gros pour customiser 1 ou 2 fichiers du cd pour l'install, il m'a fallu pas mal d'heures de recherche, la copie integrale de tous les CD fedora (c'est surtout cette partie là où j'y croyais pas), beaucoup d'iso, et pas mal de qemu
bravo
merci pour vos conseils, liens (et encouragements) ça m'a bien aidé :)
[^] # Re: Des url
Posté par tungsten . Évalué à 1.
Du coup si tu fais une doc j'ai bien envie d'essayer avec une Fedora. Je n'ai pas réussi à faire ce que je voulais avec Ubuntu...
Je cherche à faire tenir sur un seul cd une distrib avec juste une suite bureautique, des logiciels comme Tux Paint et GCompris, peut-être quelques jeux, et compléter avec des ebooks s'il reste de la place.
Est-ce que tu penses que c'est possible avec Fedora ? Est-ce que Anaconda peut faire tenir les packages essentiels sur un seul CD (localisation FR incluse, sans avoir à rapatrier la moitié des packages par le réseau pendant l'install...) ? Et sans avoir à faire de modification qui rende les mises à jour impossibles par les dépôts officiels ?
[^] # Re: Des url
Posté par madko (site web personnel) . Évalué à 1.
J'ai bien une dizaine de profils (serveur web, dns, squid, nagios etc) le tout tenant sur 1 seul CD.
Donc en mettant juste le strict minimum + gnome ça doit largement etre jouable
[^] # Re: Des url
Posté par tungsten . Évalué à 1.
Si tu as la même chose pour reconstruire une RHEL depuis les sources ça m'intéresse aussi.
Je te remercie d'avance en tout cas.
[^] # Re: Des url
Posté par madko (site web personnel) . Évalué à 1.
En gros je passe par 7 etapes:
Au préalable il faut avoir une liste de packages qu'on veut installer afin de creer le comps.xml contenant les groupes et packages dont tu a besoin. Il faut creer certains groupes qui sont obligatoires (pkgorder de RH est pourri certains noms de groupe sont ecrit en dur dans le code) mais bon ils peuvent etre vide. Pour ça je passe par un fichier a plat, et ensuite un ptit script qui mouline ça en xml. Une fois le comps.xml bien définit on peut commencer
1) Recuperer les packages et leurs dépendances, ici je passe par yum + un ptit plugin bidon fait maison pour qu'il se contente juste de télécharger tous les packages. Ya surement d'autres methodes
2) Creer et placer les RPMS dans un repertoire ayant l'arborescence de notre futur CD (cad les RPMS dans ./Fedora/RPMS par ex, le comps.xml dans ./Fedora/base)
3) Etape qui n'est à faire que de temps en temps, preparer la construction d'anaconda. Donc ici il faut avoir le contenu de tous les CD fedora sous la main, mais à ne pas melanger avec le contenu de notre futur CD
4) Etape à faire au moins une fois. On peut enfin construire Anaconda. Avant on peut virer les fichiers packages de kernel en rpm pour mettre les plus récent (issus des updates fedora). Comme ça quand on va lancer le buildinstall c'est le nouveau noyau qui sera utilisé. Il faut aussi avoir installé certains packages (comme netpbm ;) )
C'est avec le buildinstall qu'on peu renommer notre distrib (avec les option --release, product etc)
Placer les fichiers générés (isolinux et les stage2.img) dans notre futur arbo de cd
5) On genere le ks.cfg (ou les ks.cfg) pour automatiser notre install. On les copie ensuite dans le rep d'isolinux
6) Etape optionnel, modifier les fichier msg de isolinux (histoire d'indiquer les different ks.cfg pour les differents profils)
7) Creation de l'iso, un bon vieux mkisofs
Voila en gros, mais si t'a des questions sur certains points n'hesite pas. Pour la construction de la RHEL AS4 c'etait un peu plus artisanal et on utilisait urpmi pour le calcul des dependances etc
[^] # Re: Des url
Posté par madko (site web personnel) . Évalué à 1.
[^] # Re: Des url
Posté par tungsten . Évalué à 1.
Je vais commencer par ça, histoire de me familiariser un peu avec l'installation de fedora. Et puis ça me servira pour avoir une base à jour.
[^] # Re: Des url
Posté par tungsten . Évalué à 1.
Peut-être que je pourrais m'aider des catégories visibles en mode "browse" dans le gestionnaire de packages, mais je n'ai pas encore trouvé la correspondance avec les packages qu'elles regroupent.
[^] # Re: Des url
Posté par madko (site web personnel) . Évalué à 1.
Sinon regarde un comps.xml de fedora, il est présent sur les cd dans Fedora/base
Tu y retrouvera les groupes Base et Core (et les autres)
Je suis parti sur ça, en nettoyant un peu. Et après il faut pas s'inquiéter, comme j'initialise une base rpm vide, yum calculera toutes les dépendances nécessaires, donc même si t'oublie un rpm important yum risque de se débrouiller. Le but dans le comps.xml n'est pas de lister TOUS les packages.
[^] # Re: Des url
Posté par tungsten . Évalué à 1.
Traceback (most recent call last):
File "/usr/lib/anaconda-runtime/pkgorder", line 161, in ?
addGroups(ds, ["X Window System", "Dialup Networking Support",
File "/usr/lib/anaconda-runtime/pkgorder", line 96, in addGroups
map(ds.selectGroup, groupLst)
File "/usr/lib/python2.4/site-packages/yum/__init__.py", line 1368,
in selectGroup
raise Errors.GroupsError, "No Group named %s exists" % grpid
yum.Errors.GroupsError: No Group named Editors exists
J'ai supprimé plusieurs groupes de comps.xml, mais soit il ne fallait pas, soit j'aurais dû le faire ailleurs aussi... Sais-tu ce que je dois faire pour corriger ça ?
J'espère que mes questions ne te paraissent pas trop "débiles", mais je connais à peine Fedora (j'avais juste testé la fc3 une fois) et je suis un peu perdu...
Je pourrais t'aider sur ta doc au fur et à mesure que j'avance si tu veux. Bon, c'est pas le plus difficile ce que j'ai réussi à faire, mais c'est déjà ça, et sinon je peux relire, corriger.
[^] # Re: Des url
Posté par madko (site web personnel) . Évalué à 1.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.