frogdev site francophone sur Gentoo
Vous êtes ici : Gentoo move
Dernière modification : September 27 2007 21:28:12.

GentooMove :

Prérequis
1. Une Gentoo qui fonctionne
2. Compilation du noyau avec genkernel
3. Utiliser GRUB comme chargeur ou installer syslinux

Introduction :
Comme Mandrake il est possible de se créer sa propre GentooMove, ce qui peut-être utile en cas de maintenance ou d'installation d'un PC, ou même pour des démonstrations.
L'avantage par rapport à un LiveCD c'est que l'on peut disposer de tous logiciels que l'on désire.
J'ai pris le parti d'utiliser le format de fichier ext3 qui très commun et suffit largement dans ce cadre d'utilisation. Libre à vous de modifier le type de fichier.
Pour la configuration du noyau utiliser une configuration assez générique. La configuration proposé par défaut par genkernel suffit généralement mais selon vos besoins vous pouvez ajouter des options.

Comment sa marche ?
En faite, j'utilise la méthode de détection officielle du LiveCD Gentoo adapté à un boot USB :
L'initrd recherche un fichier, ici c'est GentooMove sur toutes les partitions /dev/sd* puis une fois trouvé, boot sur cette partition.
Juste pour rajouter un petit commentaire le linuxrc de genkernel est très bien fait car documenté et donc très instructif.


1. Création du disque :

J'utiliserais ici /dev/sda1 pour représenter le disque USB vous pouvez l'adapter.
Formater le disque en ext3

# mkfs.ext3 /dev/sda1

Monter le disque sur /mnt/cle

# mount -t ext3 /dev/sda1 /mnt/cle

Copier la Gentoo qui fonctionne en ignorant /dev /tmp /proc

# cp -aRv /bin /mnt/cle
# cp -aRv /boot /mnt/cle
# cp -aRv /etc /mnt/cle
# cp -aRv /home /mnt/cle
# cp -aRv /lib /mnt/cle
# cp -aRv /opt /mnt/cle
# cp -aRv /root /mnt/cle
# cp -aRv /sbin /mnt/cle
# cp -aRv /sys /mnt/cle
# cp -aRv /usr /mnt/cle
# cp -aRv /var /mnt/cle
# mkdir /mnt/cle/tmp
# mkdir /mnt/cle/proc
# mkdir /mnt/cle/dev


Copier le fichier fstab en fstab.new qui servira de base à l'initrd.

# cp /mnt/cle/etc/fstab /mnt/cle/etc/fstab.new

Editer le fichier /mnt/cle/etc/fstab.new afin de supprimer l'entrée concernant la partition racine. Le fichier fstab sera mis à jour grâce à l'initrd.

Modifier genkernel sur la clé:
Editer /mnt/cle/usr/share/genkernel/generic/linuxrc afin de rajouter une option bootusb à genkernel.
A la ligne 74 ajouter

bootusb)
         BOOTUSB=1
      ;; 

Ajouter à la ligne 244 avant

# Run debug shell if requested
rundebugshell 


if [ "${BOOTUSB}" -eq '1' ] ; then
                     #création point de montage temporaire
                     mkdir /cle
                     for a in `find /dev/ -name [sh]???`
                     do
                             mount $a /cle
                             #attente de 10 secondes pour avoir le temps de monter la clé
                             sleep 10
                             #vérification si on trouve le fichier GentooMove
                             if [ -e /cle/GentooMove ]
                             then
                                        REAL_ROOT="${a}"
                                        #Mise à jour fstab
                                        rm /cle/etc/fstab 2>/dev/null
                                        cp /cle/etc/fstab.new /cle/etc/fstab
                                        echo "${a}       /       ext3     defaults        1 1 "  >> /cle/etc/fstab
                                        umount /cle 2>/dev/null
                                        break
                              fi
                              umount /cle 2>/dev/null
                     done   
                     #suppression point de montage temporaire
                     rm -R /cle 2>/dev/null
fi 


Regénerer l'initrd

# chroot /mnt/cle 
# genkernel --gensplash VotreTheme initrd --install
# exit


Création du fichier qui permettra de déterminer quel disque doit être utilisé par l'initrd:

# touch /mnt/cle/GentooMove


2. Configuration du chargeur :
Pour le chargeur d'amorcage, il y a deux choix possible :
GRUB ou Syslinux.

2.1 GRUB :
2.1.1 Configuration
Mise à jour de grub pour le mode LiveCD (il n'accèpte pas les liens symbolique):
Supprimer /mnt/cle/menu.lst et renommer grub.conf en menu.lst

# rm /mnt/cle/boot/grub/menu.lst
# mv /mnt/cle/boot/grub/grub.conf /mnt/cle/boot/grub/menu.lst


Ajouter l'option bootusb, scandelay (qui permet de marquer un temps mort le temps de montage de clé)à GRUB.
Préciser que Grub fonctionne en mode LiveCD c'est l'option "(cd)".

Pour cela, editer /mnt/cle/boot/grub/menu.lst afin qu'il ressemble à ceci :

title  Gentoo-2.6.16-gentoo-r5
root (cd)
kernel (cd)/boot/kernel-genkernel-x86-2.6.16-gentoo-r5 ro root=/dev/ram0 init=/linuxrc splash=verbose,fadein,theme:emergence quiet CONSOLE=/dev/tty1 scandelay bootusb
initrd (cd)/boot/initramfs-genkernel-x86-2.6.16-gentoo-r5 


2.1.2 Installation de GRUB :
L'installation de GRUB ne fonctionnera que si votre PC permet de démarrer sur l'usb sinon, il faut utiliser syslinux

# grub-install /dev/sda1


2.1.3 Création d'un lanceur :
Le lanceur permet de démarrer sur un CD pour les PC qui ne peuvent pas booter sur un port USB, puis l'initrd recherchera le disque USB qui contient la GentooMove.
Il faut créer un miniCD.
Tout d'abord copier les fichiers nécessaire :

# mkdir /mnt/cle/tmp/lanceur
# cp -aRv /mnt/cle/boot /mnt/cle/tmp/lanceur


Création de l'image :

# cd /mnt/cle/tmp/lanceur
# mkisofs -J -R -l -V "Lanceur" -b boot/grub/stage2_eltorito -no-emul-boot -boot-load-size 4 -boot-info-table -z -iso-level 4  -c livecd -o /tmp/live.iso /tmp/lanceur 


2.2 Syslinux
Syslinux est une alternative à GRUB il peut être installé sur la clé même si votre PC ne permet pas le boot USB.
L'inconvéniant, est que la configuration du boot est figée, on ne pas éditer au démarrage le fichier de configuration comme Grub si besoin.

2.2.1 Installation

# chroot /mnt/cle
# emerge syslinux
# exit

Recopier le fichier /usr/lib/syslinux/isolinux.bin dans /boot/isolinux

# mkdir /mnt/cle/boot/isolinux
# cp -a /mnt/cle/usr/lib/syslinux/isolinux.bin /mnt/cle/boot/isolinux


Cette version n'accepte pas de splashcreen. Si vous voulez une image de fond au démmarage, vous pouvez utiliser le fichier isolinux.bin présent sur les LiveCD du site www.frogdev.info. Il s'agit en faite d'une version patché par ubuntu. Le fichier splash.rle représente l'image de fond. Pour utiliser un clavier azerty recopier le fichier fr.kmp dans /mnt/cle/boot/isolinux
Pour installer cette version ubuntu :

# cd /tmp
# wget http://www.frogdev.info/live-cd/lanceur.iso
# mkdir /tmp/iso
# mount -o loop,ro -t iso9660 lanceur.iso /tmp/iso
# cp -av /tmp/iso/boot/isolinux/isolinux.bin /mnt/cle/boot/isolinux/isolinux.bin (Isolinux qui accepte le splashscreen)
# cp -av /tmp/iso/boot/isolinux/splash.rle /mnt/cle/boot/isolinux/splash.rle ( Le splashscreen) 
# cp -av /tmp/iso/boot/isolinux/fr.kmp  /mnt/cle/boot/isolinux/fr.kmp (Pour avoir le clavier azerty)
# umount /tmp/iso
# rm /tmp/iso
# rm /tmp/lanceur.iso


2.2.1.2 Création d'un splashscreen
Attention, c'est du 16 couleurs.
Créer votre image au fromat png à l'aide de gimp ou autre.
La convertir et la rendre reconnaissable par isolinux

$ convert splash.png splash.ppm
$ ppmtolss16 <splash.ppm >splash.rle


2.2.2 Configuration
La configuration de syslinux se rapproche de lilo.
Créer un fichier isolinux.cfg qui contient les options par défaut et les différents boot disponibles.

# nano -w /mnt/cle/boot/isolinux.cfg 



timeout 300               => Délai dd'attent en milliseconde
prompt 1                  => Le noyau par défaut défini plus bas
font lat1_16.psf          => La police utilisé (Disponible sur le liveCD frogdev)
KBDMAP fr.kmp             => Clavier en azerty
display isolinux.txt      => Le fichier qui contient le message de bienvenu au boot
F1 isolinux.txt           => Le fichier qui contient l'aide quand on appuie F1 si besoin
F2 aide.txt               => Le fichier qui contient l'aide quand on appuie F2 si besoin
 
 
label BootUSB
kernel /boot/Gentoo-2.6.16-gentoo-r5
append  initrd=/boot/initramfs-genkernel-x86-2.6.16-gentoo-r5 ro root=/dev/ram0 init=/linuxrc splash=verbose,fadein,theme:emergence quiet CONSOLE=/dev/tty1 scandelay bootusb dobladecenter

Par rapport à Grub, ajouter l'option "dobladecenter" pour laisser le temps de monter les périphériques USB.

Editer le message de bienvenu, C'est ce qui apparaitra au boot.
nano -w /mnt/cle/boot/isolinux.txt

splash.rle                 => L'image de fond si besoin
LiveUSB Perso.
[Enter] Boot   
[F1] Menu 
[F2] 0ptions disponibles


Editer l'aide si besoin :

$ nano -w /mnt/cle/boot/aide.txt 

Exemple :

F1 revient au menu principal
F2 affiche cette aide


2.2.3 Installation sur la clé de syslinux

# umount /dev/sda1
# syslinux /dev/sda1


2.2.4 Création du lanceur
Tout d'abord copier les fichiers nécessaire :

# mkdir /mnt/cle/tmp/lanceur
# cp -aRv /mnt/cle/boot /mnt/cle/tmp/lanceur


Création de l'image :

# cd /mnt/cle/tmp/lanceur
# mkisofs -J -R -l -V "Lanceur" -b boot/isolinux/isolinux.bin -no-emul-boot -boot-load-size 4 -boot-info-table -z -iso-level 4  -c livecd -o /tmp/live.iso /tmp/lanceur 


3. Redémarrage :

Dans le boot si vous pouvez indiquer boot USB, redémarrez sur la clé sinon utilisez le lanceur.
Essayez ;-) !!
JE pense avoir fait le tour si j'ai oublié quelque chose dite le moi.


4. Astuces :

4.1 Xorg
Si vous devez utiliser Xorg je vous conseille d'installer x11-misc/mkxf86config afin de générer un xorg.conf adapter à la machine sur laquelle vous allez travailler :

# chroot /mnt/cle
# env-update
# emerge x11-misc/mkxf86config
# rc-update add mkxf86config default
# exit

Vous pouvez personnaliser xorg en éditant /mnt/cle/etc/X11/xorg.in. Ajouter au moins le clavier français :

Option "XkbLayout" "fr"


4.2 Memtest
Si vous devez utiliser cette clé à des fin de maintenance ajouter memtest ;-)

4.3 petit problème ;-)
Si vous êtes en arch ~x86 ajouter éditer /etc/init.d/xdm afin d'ajouter à la variable need mkxf86config

need mkxf86config


Conclusion
J'espère que cela est assez clair et vous serra utile.


Voir les commentairesAjouter un commentaire

Imprimer cette page Imprimer cette page

Liste de diffusion

Valider 


Espace téléchargement

Téléchargement
Livres (pdf)
Howto



Promouvoir et soutenir le logiciel libre
Go Frugalware, Go

Get Firefox

Gentoo

Logo Apache

Logo Mysql

Logo PHP



nobrevet

Read and comment at the BadVista.org blog

L'Association Francophone des Utilisateurs de Linux et des logiciels libres (AFUL)

Logo greenpeace


grenouille

Me contacter / Mes expériences GNU/Linux

- [ Basé sur Itseasy | Thème : Frogdev ] -
Les informations ne sont données qu'à titre indicatif.
© frogdev site francophone sur Gentoo, Licence FDL 2008

[ Page générée en 0.04806 secondes | Compression gZip active ]
Poids XHTML : 36.88 ko (40.89 ko non compressé) - CSS : 5.92 ko
Eléments chargés : 22.06 ko