EoliveCd création

Un article de EoleWiki.

Sommaire

Comment personnaliser son EoliveCD

Introduction

Ce document est une adaptation de la documentation du projet MORPHIX portant sur la personnalisation d'une Morphix en tenant compte de nos spécificités. Les "live CD" du projet eole ont pour le moment une base morphix. Vous trouverez toute la documentation du projet morphix sur : http://www.morphix.org

La personnalistaion de votre eolivecd doit ce faire sous l'utilisateur root.

Sommaire

  • 1) Les programmes nécessaires
  • 2) Mise en place des répertoires de travail
  • 3) Extration du mainmod:
    • - A partir d'un CD
    • - A partir d'une ISO
  • 4) Modifications et personnalisations
  • 5) Compression de eolive_hd
  • 6) Mise en Place du répertoire CD
  • 7) Récupération des Elements de boot
  • 8) Création de l'ISO finale
  • 9) Petits coups de pouce bash
  • 10) Compléments
  • 11) Auteur

Les Programmes nécessaires

Vous devez disposer sur votre distribution des outils Cloop (cloop-utils), ainsi que des utilitaires :

  • create_compressed_fs
  • extract_compressed_fs

Mise en place des répertoires de travail

La personnalisation de EOLIVE CD necessite une sorte de mini arboréscence comme celle qui suit :

  • /new_eolive/
    • eolive_cd/
    • eolive_hd/
    • iso/
    • temp1/
    • temp2/

Crée cette arboréscence sur un disque diposant de plus de 3Go de disponnibles.

Pour la suite de la personnalisation il est important de respecter le nom des répertoires.

Crée ces répetoires en respctant les niveaux commme ceci:

  #mkdir /new_eolive/
  #mkdir /new_eolive/eolive_cd
  #mkdir /new_eolive/eolive_hd/
  #mkdir /new_eolive/iso/
  #mkdir /new_eolive/temp1/
  #mkdir /new_eolive/temp2/

Si vous ne créez pas le répertoire /new_eolive sur la racine (/) de votre système, il faut créer un lien symbolique sur son emplacement comme ceci :

  #mkdir /home/new_eolive/
  #cd / 
  #ln -s new_eolive /home/new_eolive
  #ls -l | grep new_eolive

Le résultat de cette dernière commande doit donner ceci:

  lrwxrwxrwx 1 root root 16 jui 13 15:34 new_Morph -> /home/new_eolive/

Extraction du Mainmod

  • A partir D'un CD "EoliveCD" ou "E-AK"
  #mount /mnt/cdrom
  #cd /mnt/cdrom/mainmod/
  #extract_compressed_fs eolive.mod>/new_eolive/stockmod.iso
  
  • A partir d'une ISO "EoliveCD" ou "E-AK"

Si ce n'est pas déja fait:

  #mkdir /new_eolive/iso/ 
  #mount -o loop nom_de_votre_iso /new_eolive/iso/
  #cd /new_eolive/iso/mainmod/
  #extract_compressed_fs eolive.mod>/new_eolive/stockmod.iso
  #cd /new_eolive/
  #umount /new_eolive/iso/

Une fois que vous avez décompressé le mainmod, procédez de la manière suivante pour obtenir une arborescence enfant de votre système:

  #cd /new_eolive/ 

Si ce n'est pas déja fait:

  #mkdir /new_eolive/temp1/ /new_eolive/temp2/
  #mount -o loop stockmod.iso /new_eolive/temp1
  #cp -Rp temp1* /new_eolive/temp2/
  #cd temp2
  #ls
  #mv temp1 eolivehd
  #mv eolivehd /new_eolive/eolive_hd/
  #cd /new_eolive/
  #umount temp1

Une fois que vous avez terminé, le répertoire eolive_hd contient normalement une arborescence linux enfant de votre propre système qui ressemble a ceci:

 /new_eolive/
   bin/
   boot/
   cdrom/
   cdrom1/
   dev/
   etc/
   floppy/
   home/
   lib/
   mnt/
   morphix/
   MorphixCD/
   proc/
   root/
   rr_moved/
   sbin/
   sys/
   tmp -> ./var/tmp/
   usr/
   var/

Modifications et personnalisations

Avant tout il nous faut faire vivre le système dans le notre, en effet cette méthode s'appuie sur un principe très simple, celui du système père et du système fils:

Dans l'ensemble vous disposer d'un système installer sur votre pc, et vous faite vivre le système que vous venez de décompresser sur votre disque dur.

Pour celà, il faut utiliser un "chroot" de la manière suivante:

  #cd /
  #mount --bind /dev /new_eolive/eolive_hd/dev
  #chroot /new_eolive/eolive_hd

Après cette dernière commande si tout se passe bien (et celà devrait être le cas...) vous obtiendrer un invite comme celui-ci:

  bash-2.05b#
  ou
  #

Ensuite taper la commande suivante:

  #mount -t proc /proc proc

Et voila votre système enfant vit !

Après la naissance de votre système il vous faut lui apporter les modifications dont vous avez envie. Les Live CD morphix sont des distributions dérivées de la knoppix qui est a base de débian, ce qui implique que EoliveCd est-elle aussi a base de Débian et par conséquent utilise l'outil "apt-get" pour installer et désinstaller des paquets .deb !

Normalement le fichier "/etc/apt/source.list" est a jour, mais si besoin est vous pouvez le modifier par l'intermédiaire de l'editeur "vi" (et oui il faut bien que le créateur originel s'y retrouve, enfin libre à vous de lancer "# apt-get install emacs" ou autre).

Rappelons quelques règle de base de "APT":

  • 1) Le meilleur ami de l'utilisateur apt:
  #man apt-get 
  • 2) à chaque changement du fichier /etc/apt/source.list il faut lancer :
  #apt-get update
  • 3) Installation d'un paquet:
  apt-get install nom_du_paquet
  • 4) Désinstalle un paquet:
  apt-get remove nom_du_packet


Voila, vous savez comment installer et désinstaller les applications que vous voulez !

Une dernière précision, comment rendre le tout en français ?

Comme vous le savez certainement Debian ne dispose pas des messages locale précompilés pour toute les langues, donc il faut faire une petite manipulation qui donne les locales français !

Tout d'abord il faut éditer le fichier "/etc/locale.gen" et y inserer la ligne "fr_FR@euro ISO-8859-15" :

  vi /etc/locale.gen

/etc/locale.gen

  # This file lists locales that you wish to have built. You can find a list
  # of valid supported locales at /usr/share/i18n/SUPPORTED. Other
  # combinations are possible, but may not be well tested. If you change
  # this file, you need to rerun locale-gen.
  #
  fr_FR@euro ISO-8859-15

Ensuite taper :

  #locale-gen

Et voila, votre système parle maintenant notre belle langue.

Une dernière précision :

  • Attention vous travaillez sur un CD ! Certaines application necessite d'ecrire dans des fichiers qui ne sont pas prévus en écriture pas le système !

Dans ce genre de cas il faut recréer le dit fichier dans un répertoire que vous monterer en tmpfs au boot.

  • Si vous voulez changer le fond d'écran par défaut, il vous suffit de le remplacer par le vôtre dans "/new_eolive/eolive_hd/morphix/", il devra obligatoirement se nommer "background.png", à moins que vous ne modifiiez la configuration par défault de xfce dans "/new_eolive/eolive_hd/etc/skel/.xfce4/".

Compression de eolive_hd

Vous avez tout installé, votre système est vraiment comme vous le souhaitiez. Il ne vous reste plus qu'a compresser votre répertoire "eolive_hd" !

  #cd /new_eolive
  #ls
  #mkisofs -R -U -V "Eolivefs" -P "EoliveCD" -cache-inodes -nobak -pad /new_eolive/eolive_hd> ./mon_mod.iso

Ensuite il faut convertir le l'iso en module:

  #create_compressed_fs ./mon_mod.iso 65536 > mon_mod.mod

Mise en Place du répertoire CD

Le premier point est de créer le répertoire qui contiendra tout les éléments du CD final(si vous ne l'avez pas encore fait):

   #mkdir /new_eolive/eolive_cd/

Il faut ensuite crée un sous répertoires qui contiendra votre module :

   #mkdir /new_eolive/eolive_cd/mainmod

Attention ici les noms des répertoires doivent être respectés !

Par la suite il faut déplacer le module que vous avez crée dans l'étape précédente dans le répertoire mainmod:

  #mv /new_eolive/eolive.mod /new_eolive/eolive_cd/mainmod/

L'étape suivante consistera a récupérer les éléments de boot de votre live cd.

Récupération des Elements de boot

  • 1) A partir d'un CD EOLIVECD ou E-AK
  #mount /mnt/cdrom
  #cp -a base* /new_eolive/eolive_cd
  #cp -a minimod* /new_eolive/eolive_cd
  #cp boot.img /new_eolive/eolive_cd
  • 2) A partir d'une image ISO de EOLIVECD ou E-AK

Il suffit de remplacer la première commande mount par celle-ci:

  #mount -o loop E-AK-0.1.iso /new_eolive/iso

et de reproduire les autres.

Il ne reste plus qu'a créer l'iso finale de votre EoliveCD.

Création de l'ISO finale

Pour crée l'image iso finale il ne reste plus qu'a taper ces deux commandes:

  #cd /new_eolive
  #mkisofs -pad -l -r -J -v -V"EoliveCD" -b base/boot.img -c base/boot.cat -hide-rr-moved 
  -o nom_de_votre_iso.iso eolive_cd

Vous obtiendrez ainsi votre image iso prete à passer entre les "mains" de votre graveur.

Petits coups de pouce bash

Vous pouvez si vous le désirez utiliser ces quelques scripts qui vous faciliteront la vie entre les diverses interventions sur votre arborescence enfant (car il y en aura très certainement plusieurs :) )

Le premier sert a exécuter les commandes pour le change root sur l'arborécence enfant:

  • bind.sh
 #! /bin/sh
 mount --bind /dev /new_eolive/eolive_hd/dev
 chroot /New_eolive/eolive_hd

Le second permet d'éviter les longues lignes de commande de création de l'iso :

  • mkiso.sh
 #!/bin/sh
 cd /new_eolive
 rm -f eolive.iso
 rm -f eolive.mod
 echo "Compression du module en Iso ETAPE 1"
 mkisofs -R -U -V "Eolive" -P "EoliveCD" -cache-inodes -nobak -pad /new_eolive/eolive_hd > ./eolive.iso
 echo "Compression du Iso en .mod ETAPE 2"
 create_compressed_fs ./eolive.iso 65536 > eolive.mod
 rm -rf /new_eolive/eolive_cd/mainmod/*
 echo "Compression de l'image iso ETAPE 3"
 cp /new_eolive/eolive.mod /new_eolive/eolive_cd/mainmod/
 mkisofs -pad -l -r -J -v -V "EoliveCD" -b base/boot.img -c base/boot.cat -hide-rr-moved -o eoliveCd.iso /new_eolive/eolive_cd

Et le dernier a utiliser avec précaution car il supprime toutes les images iso qui traine pour permettre de recommencer proprement :

  • rmiso.sh
 #! /bin/sh
 rm -f /new_eolive/eolive.iso
 rm -f /new_eolive/eoliveCd.iso
 rm -f /new_eolive/eolive.mod
 rm -f /Nnew_eolive/eolive_cd/mainmod/eolive.mod

Compléments

Très bientôt vous disposerez d'une documentation sur la méthode pour modifiers les images de boot ainsi que les fichier d'aide et les logos des prompt de commandes et de démarrage.

Auteur

Avec l'aide de la docuementation Morphix http://www.morphix.org

Philippe Caseiro

  • caseiro.philippe@gmail.com