====== CD live ======
Source de l'article: [[http://www.libordux.org/doc/debian/bootcd.php]]

===== Présentation =====
Un LiveCD ou cédérom vivant, permet d'avoir une distribution GNU/Linux complète avec un environnement graphique, des navigateurs web, une suite bureautique complète, des outils de programmation, des lecteurs de musiques et videos, etc. Graver sur un cédérom, il est léger et amovible, pratique pour le prendre avec soit.

Un Live-cd ne modifie rien sur la machine sur laquelle il est exécuté, car il ne touche pas au disque dur et à la configuration de la machine hôte.

Les premiers Live-cd on été utilisé par Slackware dès 1995, actuellement la distribution Knoppix est une des plus connue, réalisée à partir de Debian. Plusieures distibution live-cd basées sur Debian existent, tel que Morphix, Mepis, Kanotix (utilisant Sid) ou encore dsl qui ne fait elle, que 50 MB et peut d'installer sur une clé usb. Il est aussi possible de construire un LiveDVD, ce que bootcd propose.
bootcd

**bootcd** est un programme du projet Debian qui permet de dupliquer son système Debian existant sans risques, car il ne touche en rien la configuration actuel. C'est un programme simple d'utilisation, qui se configure entièrement depuis 1 seul fichier texte qui se nomme bootcdwrite.conf et qui se trouvant dans /etc/bootcd. Un exemple est fourni dans la suite du howto.

**bootcd** va créer une image ISO du système, qui sera ensuite bootable, c'est à dire que l'on pourrat démarrer dessus lors de l'allumage de la machine, c'est un LiveCD! ce logiciel est aussi idéal pour créer des sauvegarde de son PC, ou encore pour créer des clones.
Installation de bootcd


===== Installation =====
En root :

  # apt-get install bootcd

===== Utilisation =====


====Configuration de bootcd=====


Toute la configuration de programme ce passe dans le fichier bootcdwrite.conf, contenu dans /etc/bootcd, la chose la plus importante à penser, est de faire en sorte que l'image ISO générée par bootcd ne soit pas plus volumineuse que 700 MB pour un CD et 4 GB pour un DVD. Pour gagner de la place, il faut exclure les dossiers personnels volumineux, contenus dans /home.

Mais vous ne pouvez pas exclure directement toute le répertoire ou patition, /home, il faut spécifier tous les noms de dossiers que l'on ne veut pas. Pour ce faire il faut modifier la ligne 37 (du fichier original) NOT_TO_CDROM="". Pour un premier jet, c'est la seule ligne à modifier. Il y a aussi peut-être la ligne 50 (du fichier original) qui définit l'endroit, ou vous retrouverez l'image ISO générée. Ensuite vous pourrez personnaliser encore votre config. La ligne 19 (du fichier original), permet de spécifier l'utilisation d'un CD ou d'un DVD. On peut par exemple personnaliser le message d'accueil (display) en modifiant le fichier /usr/share/bootcd/default.txt.
Editer bootcdwrite.conf

En root:

  # nano /etc/bootcd/bootcdwrite.conf


Dans un script il y souvent des commentaires, dans notre fichier bootcdwrite.conf, comme dans les scripts shells, les ligne commençant par # sont des commentaires. Nous en avons traduit quelques uns en Français, il sont en vert. La seule ligne de configuration que nous avons modifiée, est celle des répertoires à exclure du cd-rom (ligne 37 du fichier original). Et comme écrit, tapez # man bootcdwrite.conf, dans une console, pour plus d'informations.

  #
  # bootcdwrite.conf
  #
  # look for man bootcdwrite.conf(5) for more informations
  #
  
  # this path was added as prefix to KERNEL, INITRD, DISABLE_CRON, NOT_TO_CD
  # and NOT_TO_RAM, if this are relativ paths (without starting "/")
  SRCDISK=/
  
  # Define the kernel which is used. Nom du noyau a utiliser
  KERNEL=vmlinuz
  
  # size of each ramdisk ram1 and ram2 (ram1: /dev /etc /home /root /tmp, 
  # (ram2: /var). La taille de chaque ramdisk.
  RAMDISK_SIZE=8192
  
  # typ is CD or DVD. Le type de media CD ou DVD
  TYP=CD
  
  #specify one or more CD devices to boot from, first is default
  # "auto" try to find the bootcd on all SCSI and IDE CDROMS
  CDDEV="auto /dev/hda /dev/hdb /dev/hdc /dev/hdd /dev/scd0 /dev/scd1"
  
  # Text to Display at Boottime (see syslinux doku)
  # This option is not supported for hppa. Message accueil au boot.
  DISPLAY="/usr/share/bootcd/default.txt"
  
  
  # do some checks or not. Faite des vérifications ou non.
  DO_CHECK=yes
  
  # additional options for the kernel
  APPEND=""
  
  # exclude some files or directories from writing to cd. 
  # Fichiers ou dossiers a exclure du cd.
  NOT_TO_CD="/home/libordux"
  
  # exclude some files or directories from loading to ram
  # fichiers ou dossiers, a ne pas charger en memoire ram
  NOT_TO_RAM=""
  
  # If you are using ssh it is helpfull to have a unique ssh hostkey for
  # each CD. Config de SSH key pour chaque CD.
  SSHHOSTKEY=yes
  
  # logfile. 
  ERRLOG=/var/log/bootcdwrite.log
  
  # where the image resists after build
  # dossier de destination de l'image ISO cree
  VAR=/var/spool/bootcd 
  
  # FLOPPY_RUNTIME_DEV=<floppy device>|""
  # When you boot from cd you read changes from this device.
  FLOPPY_RUNTIME_DEV=/dev/fd0
  
  # BOOTFLOPPY=yes|no
  # Config pour disquette de boot
  # If you want to boot from FLOPPY specify BOOTFLOPPY=yes. This reduces
  # space on floppy used by bootcdflopcp. For this to work FLOPPY_CREATE_DEV
  # has to be specified.
  # For hppa this option is not supported and must be set to no.
  # Default:
  #   BOOTFLOPPY=no
  BOOTFLOPPY=no
  
  # If you want to boot several machines from the same cdrom, you must have
  # the individual configuartion (exp: /etc/network/interfaces) on floppy.
  # If one can not be mounted it is a good idea to stop booting and to wait
  # for manual interaction instead of comming up with a wrong configuration.
  BOOT_ONLY_WITH_FLOPPY=no
  
  # delete some chached files in /var
  CLEAN_VAR=yes
  
  # If FASTBOOT=yes then additional images for the ramdisk will be created 
  # by bootcdwrite and copied to CD. This allows faster booting,
  # but needs extra space on CD
  # demarrage rapide en creant des ramdisk supplementaires, demande plus
  # de place sur le support.
  FASTBOOT=yes
  
  # use isolinux (yes,no,auto), auto check for isolinux and use it
  ISOLINUX=auto
  
  # use -s (save, slow, stupid) option on syslinux
  SYSLINUX_SAVE=yes
  
  # choose the architecture specifier une architecture
  # ARCH=auto|hppa|i386|ia64
  ARCH=auto
  
  # use devfs or not
  DEVFS=no
  
  # path to initrd chemin vers l image init
  INITRD="initrd.img"
  
  # addiditionel entries to fstab 
  # ajouter des entrées pour fstab pour les 
  # systemes de fichiers a monter au boot
  # TO_FSTAB="/dev/hdc1 /home ext3 defaults 1 1
  # /dev/usb0 /mnt/usb ext3 defaults 1 1 "
  TO_FSTAB=""
  
  # transparent compression of ISO 9660/Rock Ridge filessytem
  # ("auto" checks for space to compress the image on the local system)
  # pour compresser le system de fichier ISO 9660/Rock Ridge
  # COMPRESS=<yes|no|auto>
  COMPRESS="auto"
  
  # Files or Directory-Trees that should never be compressed on CD can be listed
  # here. You have to define the Path as it is on the CD, (with /var.ro 
  # instead of /var)
  NOTCOMPRESSED=""
  
  # Files listed in DISABLE_CRON will be on the cdrom with a .no_run_on_bootcd
  # suffix so run-parts won't execute them. The original file will be a link to
  # /bin/true.
  #
  DISABLE_CRON="etc/cron.daily/find etc/cron.daily/standard etc/cron.daily/security"
  
  # With this variable you can add or delete some options 
  # given to mkisofs by bootcdwrite. 
  #   Please create debian-bugreports if you have to use special 
  #   options, not mentioned here. Then I can list this options here.
  # changer les options donees a mkisofs pour la creation de l'image ISO.
  MKISOFS_CHNG=""
  

====Lancer bootcd====

Avant de lancer le programme pour la première fois, il est probale, celon votre configuration, qu'il faille lancer bootcdmkinitrd avant bootcdwrite. Pour lancer bootcdwrite, en root. Il suffit de taper:

  # bootcdwrite

Pendant que la construction se fait, le programme affichera si tout se passe bien, ou les problèmes éventuels, comme par exemple le fait qu'il n'y ai pas assez de place sur un seul CD, et à chaque vous pouvez choisir d'ignoer l'avertissement. a noter que le temps de construction dépend de la puissance de votre machine.
Récupérer l'image ISO construite

Une fois la construction de l'image finie, et si vous n'avez pas modifé la destination de l'image, vous la trouverez dans /var/spool/bootcd/cdimage.iso.

Vous pouvez tout de suite tester l'image avec Qemu ou la graver. vous pouvez aussi lister /var/spool/bootcd, déplacer l'image ISO dans votre répertoire personnel, et lui changer les permissions afin qu'elle vous appartienne.

  # ls /var/spool/bootcd
  cdimage.iso
  # mv /var/spool/bootcd/cdimage.iso /home/VotreHome
  # chown VotreNom /home/VotreHome/cdimage.iso
  # chgrp VotreNom /home/VotreHome/cdimage.iso

Vous pouvez évidemment renomer l'image comme bon vous semble.



====Trucs, astuces====

Pour mozilla, il faut mettre le répertoire var/lib/mozilla dans la variable NOT_TO_RAM, du fichier /etc/bootcd/bootcdwrite.conf, si l'on veut que mozilla fonctionne sur son système live-cd.

Si vous voulez créer un système LiveCD vraiment performant, vous pourriez destiner un système ou une machine à cela en installant que les logiciels que vous désiez. On pourrait par exemple installer un environnement graphique légé tel que blackbox, juste les outils utiles pour le web.

Une solution possible est de créer un environnemnt chrooté, pour s'y enfermer, et créer un système sur mesure, avec chrootdebootstrap, on pourrait même créer un CD basé sur testing, depuis un Debian stable.
----

liens 
[[http://www.libordux.org/doc/debian/bootcd.php]]
