|
Translations |
Comment créer votre propre distribution GNU/LinuxPour permettre la naissance de gNewSense, nous avons créé notre constructeur qui permet la création d'une nouvelle distribution GNU/Linux basée sur Ubuntu Dapper. À partir d'un simple fichier de configuration, vous pouvez choisir le nom de votre distribution, sa version, le slogan associé et les paquets que vous voulez installer/supprimer par défaut. Les graphismes seront automatiquement générés. Ces scripts sont bien entendu plus adaptés à la création de gNewSense, mais ils devraient fournir une bonne base sur laquelle partir. Notez qu'il n'est pas nécessaire de suivre ces étapes pour utiliser gNewSense, vous pouvez télécharger un fichier ISO depuis l'un de nos miroirs. Vous aurez besoin d'au moins 35 Go d'espace disque libre et, de préférence, d'une connexion Internet très rapide (vous téléchargerez 27 Go de données). Vous aurez également besoin de 28 Go d'espace disque sur votre miroir (qui peut être le même système). Si vous êtes astucieux avec les liens en dur, vous devriez être en mesure d'éviter quelques duplications. Tout ceci devrait être lancé sur un système Ubuntu Dapper (ou ultérieur). Toutes les commandes doivent être lancées en root. Si vous avez des requêtes, rejoignez-nous sur notre salon IRC. Ceci est encore en version béta, nous n'avons pas fait de reconstruction depuis zéro depuis longtemps et le code a beaucoup changé depuis. Étape 1 : clef GPGLes plus récentes versions d'apt nécessitent la distribution de fichiers signés avec une clef GPG dans un dépôt pour assurer l'intégrité de la distribution, notre première étape est donc la création d'une clef GPG. Pour cela exécutez la commande suivante : gpg --gen-key Assurez-vous que la clef a un mot de passe vide. Notez l'empreinte de la clef, vous en aurez besoin plus tard pour le fichier de configuration. Étape 2 : Miroir de paquets deb (optionnel)Pour éviter d'avoir à retélécharger les fichiers, il est suggéré de créer un miroir d'Ubuntu main et universe. Cela nécessite environ 29 Go additionnels. debmirror --nocleanup --verbose --progress --method=http --host=ie.archive.ubuntu.com --arch=i386 \ --source --dist=dapper,dapper-security,dapper-updates,dapper-backports \ --section=main,main/debian-installer,universe --ignore-release-gpg --root=ubuntu /the/target/directory Vous aurez également besoin de configurer apache pour avoir accès au miroir via HTTP. Cette étape est optionnelle, mais il est fortement recommandé d'avoir un miroir Ubuntu (pour avoir les avantages d'un dépôt local). Étape 3 : PaquetsVous aurez besoin de nombreux paquets pour que le constructeur (ndt : Builder) s'éxecute correctement. apt-get install reprepro debmirror build-essential apache2 subversion cdebootstrap debootstrap imagemagick apt-get install squashfs-tools netpbm syslinux bittornado fakeroot devscripts equivs sharutils svn co http://svn.gnewsense.svnhopper.net/gnewsense/builder/trunk builder cd builder Il y a sans doute d'autres paquets nécessaires, n'hésitez pas à nous les signaler. Étape 4 : ConfigurationOuvrez le fichier config dans un éditeur de texte. Les paramètres dont vous devez vous soucier sont MIRROR, RELEASE, DISTRONAME, DOMAIN, BASEDIR, et REPOAPT. Éditez les autres paramètres pour une personnalisation plus poussée (de même que l'édition des autres paramètres des fichiers de configuration). MIRROR est soit le miroir configuré à l'étape 3, soit un miroir Ubuntu. Il devrait contenir les paquets de mises à jour de sécurité. MIRRORDIST est la distribution dans le miroir, habituellement 'dapper'. DISTRONAME est le nom que vous voulez donnez à votre distribution et qui devrait ne contenir que des chiffres et des lettres. RELEASE est le nom de la version. Le nom devrait être entièrement en minuscules, étant donné qu'il apparaîtra dans les chemins. TAGLINE est utlisé dans l'écran de démarrage de l'ordinateur et à l'écran de connexion. SIGNINGKEY est votre empreinte GPG de l'étape 1, elle ne devrait contenir aucune espace. BASEDIR est le répertoire sous lequel le dépôt, le LiveCD et les fichiers temporaires sont placés. REPODST est l'endroit où le miroir sera construit dans le système de fichier ($BASEDIR/(nom de la distribution en minuscules)). REPOAPT est l'endroit où les scripts de construction iront chercher les paquets, vous devriez donc configurer apache pour assurer ce service. DOMAIN est utilisé pour créer le sources.list par défaut lors de l'installation. Nous supposons une configuration du type Ubuntu où vous avez un archive.DOMAIN et un security.DOMAIN et leurs sous-domaines pour chaque code de pays (régionalisation). RSYNC_DEST est l'endroit où le dépôt et les LiveCDs générés devraient être synchronisés par rsync avec les commandes LOGOLETTER est la lettre qui sera votre logo. META_*_{ADD,REMOVE} contrôle quels paquets vous voulez ajouter et supprimer du meta-paquet ubuntu-meta quand vos meta-paquets sont créés. *_VERSION sont les nombres adjoints aux versions des paquets créés. Vous devrez l'incrémenter à chaque fois que vous reconstruirez un paquet. Vous voudrez sans doute le paramétrer à 1 au début. Étape 5 : Générer le dépôt./gen-repo && ./do-update Cette action prendra un long moment. Le dépôt sera peut-être dans un état inconsistant pendant que ces commandes s'exécutent, c'est pourquoi vous ne devez envoyer vos modifications sur un miroir qu'à l'étape 7. Chaque fois qu'il y a une nouvelle version en amont, (par exemple des mises à jour de sécurité), relancez do-update (et debmirror si besoin est). Si vous utilisez un espace utilisateur 32 bits sur un noyau 64 bits, installez le paquet linux32 et utilisez : ./gen-repo && linux32 ./do-update Étape 6 : Générer le LiveCD./gen-livecd L'image ainsi créée sera placée dans $LIVECDDIR/$DISTRONAME_L-livecd-$LIVECD_VERSION.iso. ./gen-cdsource ./stage-cd Cela préparera une archive tar des sources et placera l'iso dans $REPODST/cdimage. Étape 7 : Envoyer votre dépôt vers un miroir et le publierVous pouvez maintenant publier vos répertoires dépôt (le dists et le pool) ainsi que votre LiveCD sur votre miroir et publier mondialement votre nouvelle distribution. ./push-repo ./push-cd © Brian Brazil 2006 |