Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
[howto] GentooMove
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index French
View previous topic :: View next topic  
Author Message
bouleetbil
Guru
Guru


Joined: 06 Jul 2004
Posts: 456
Location: Montpellier

PostPosted: Mon May 29, 2006 7:51 pm    Post subject: [howto] GentooMove Reply with quote

Bonjour,
Ce post est la suite de http://forums.gentoo.org/viewtopic-t-466086.html dans sa version détaillée. De tip passe à howto ;-)

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
Code:

# mkfs.ext3 /dev/sda1

Monter le disque sur /mnt/cle
Code:

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

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

# 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.
Code:

# 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
Code:

bootusb)
         BOOTUSB=1
      ;; 

Ajouter à la ligne 244 avant
Code:

# Run debug shell if requested
rundebugshell 

Code:

if [ "${BOOTUSB}" -eq '1' ] ; then
                     #création point de montage temporaire
                     mkdir /cle
                     for a in `find /dev/ -name [sh]d??`
                     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
Code:

# 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:
Code:

# 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
Code:

# 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 :
Code:

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
Code:

# 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 :
Code:

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


Création de l'image :
Code:

# 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 /mnt/cle/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
Code:

# chroot /mnt/cle
# emerge syslinux
# exit

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

# 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 :
Code:

# 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
Code:

$ 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.
Code:

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


Code:

timeout 300               => Délai d'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
Code:

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


Editer l'aide si besoin :
Code:

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

Exemple :
Code:

F1 revient au menu principal
F2 affiche cette aide


2.2.3 Installation sur la clé de syslinux
Code:

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


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

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


Création de l'image :
Code:

# 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 /mnt/cle/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 :
Code:

# 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 :
Code:

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 éditer /etc/init.d/xdm afin d'ajouter à la variable need mkxf86config
Code:

need mkxf86config


Conclusion
J'espère que cela est assez clair et vous serra utile.
_________________
L'homme n'est pas fait pour travailler ça le fatigue.
LiveCD Gentoo : http://www.frogdev.info
Gentoo/Freebsd : http://www.frogdev.info/gentoo_freebsd.php
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index French All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum