Guide genkernel pour Gentoo Linux
1.
Introduction
Motivation
Destiné aux utilisateurs qui ne sont pas familiers avec la compilation de noyau,
genkernel est un outil qui automatise cette procédure. Il peut vous aider à créer
une image de noyau telle que celles présentes sur les CD-ROM d'installation de
Gentoo, conçues pour détecter automatiquement la configuration matérielle de
votre système. Genkernel peut aussi être utilisé avec du matériel qui requiert
une initialisation ou un noyau fonctionnel avant que le système ne démarre.
Public visé
Si vous n'êtes pas sûr de la façon de faire pour compiler un noyau ou si vous ne
connaissez pas vraiment votre configuration matérielle, alors genkernel sera un
outil très pratique. Il a été conçu pour supprimer toutes les parties
compliquées du processus de compilation du noyau et pour supporter la majorité
du matériel disponible.
Si vous savez déjà de quels pilotes a besoin votre système pour fonctionner,
cela peut vous faire économiser un bon temps de compilation. En effet, vous
pouvez indiquer à genkernel de ne compiler que les pilotes requis pour votre
matériel. En principe, le nombre de ces pilotes sera inférieur au nombre de
pilotes de la configuration par défaut, ce qui explique la réduction de temps de
compilation.
Installer genkernel
Pour pouvoir utiliser genkernel, lancez la commande emerge genkernel. Il vous est
recommandé de consulter genkernel --help pour savoir comment fonctionne
la version de genkernel que vous venez d'installer.
2.
Travailler avec genkernel
Comment utiliser genkernel
Bien qu'il y ait plusieurs façons de lancer genkernel, la plus simple reste
genkernel all. Une configuration générique qui marche correctement pour
tous les systèmes sera alors utilisée. Comme mentionné précédemment, cette
méthode n'est pas sans inconvénients. La plupart des modules compilés ne seront pas
utilisés et la compilation prendra beaucoup de temps. L'illustration suivante
montre une approche plus efficace, en passant certains paramètres à
genkernel :
Exemple de code 2.1 : exécuter genkernel (avec des options) |
# genkernel --splash --no-install --no-clean --menuconfig all
|
Cette opération indique à genkernel de créer un noyau avec un écran de
démarrage en tampon de trames (framebuffer) (--splash) qui devra être installé à la main
(--no-install). Dans la phase préparatoire de compilation, genkernel
n'effacera pas les objets déjà compilés (--no-clean). Enfin, un menu de
configuration sera affiché, permettant à l'utilisateur de choisir quels modules
seront compilés (--menuconfig).
D'autres paramètres peuvent modifier le comportement de genkernel. Par exemple,
remplacez --no-install par --install pour qu'il installe
automatiquement le nouveau noyau dans /boot et --symlink pour qu'il crée les liens symboliques pour vous. En utilisant le
paramètre --mountboot, la partition /boot sera monté par
genkernel automatiquement, si nécessaire.
Souvenez-vous que genkernel a été conçu pour simplifier la compilation du noyau
et pour soulager l'utilisateur. Pour cette raison, genkernel dispose de
paramètres pour faciliter l'ensemble du processus de compilation de noyau. Par
exemple, certaines options vont vous aider à configurer votre noyau, tandis que
d'autres concerneront la compilation en elle-même ou bien encore le débogage de
la compilation. Pour les personnes qui voudraient optimiser encore plus le
processus, il existe des paramètres qui concernent l'assemblage du noyau et même
son initialisation.
Le reste du chapitre détaille le fonctionnement de diverses options, variables de configuration et actions disponibles pour genkernel. Pour une liste plus complète, reportez-vous aux pages de manuel de genkernel en entrant la commande man genkernel et aux commentaires dans le fichier /etc/genkernel.conf. Quelques unes des options possèdent des variantes qui accomplissent l'opération inverse. Les variantes inverses sont préfixées par no-, et leur effet est placé entre crochets anguleux, [ ].
Paramètres de configuration
Les options de configuration listées ci-dessous sont là pour vous aider à
décider quelle fonctionnalité doit être activée ou pas dans le noyau, avant de
le compiler. Vous pouvez même choisir si le fichier de configuration ainsi
généré sera sauvegardé ou pas. Voici les principales options de configuration :
-
--no-menuconfig : ceci lance [ou ne lance pas]
la commande make menuconfig (ce qui démarre un outil de configuration
en mode texte) avant de compiler votre noyau.
-
--gconfig : fournit un outil de
configuration du noyau qui dépend des bibliothèques GTK+. L'avantage de cette option est que la majorité des
utilisateurs trouvent cette interface plus claire et facile à utiliser pour
configurer le noyau, puisqu'elle utilise le système X-Window. Son
inconvénient est que vous devez avoir X-Window pour l'utiliser, cela
ne marchera pas dans une console en ligne de commande.
-
--xconfig : fournit un outil de
configuration du noyau qui dépend des bibliothèques Qt. L'avantage de cette option est que la majorité des
utilisateurs trouvent cette interface plus claire et facile à utiliser pour
configurer le noyau, puisqu'elle utilise le système X-Window. Son
inconvénient est que vous devez avoir X-Window pour l'utiliser, cela
ne marchera pas dans une console en ligne de commande.
-
--no-save-config : sauve [ou ne sauve pas] la
configuration du noyau dans un fichier situé dans le répertoire
/etc/kernels pour une future utilisation.
Options de compilation
Les paramètres suivants seront généralement pris en compte pendant la
compilation :
-
--kerneldir=/chemin/des/sources : pour spécifier
l'endroit où se trouvent les sources du noyau et ne pas utiliser l'emplacement par défaut
/usr/src/linux..
-
--kernel-config=/chemin/vers/le/fichier/config :
pour spécifier l'endroit où se trouve le fichier de configuration et ne pas utiliser l'emplacement par défaut
/chemin/des/sources/.config..
-
--module-prefix=/chemin/des/modules : pour
spécifier où installer les modules du noyau et ne pas utiliser l'emplacement par défaut /lib/modules.
-
--no-clean : ceci lance [ou ne lance pas]
make clean avant de compiler le noyau, ce qui efface toutes les
dépendances et fichiers objets déjà présents.
-
--no-mrproper : ceci lance [ou ne lance pas]
make mrproper avant de compiler le noyau. Comme la commande make
clean, make mrproper efface toutes les dépendances et fichiers
objets de l'arborescence des sources du noyau, mais elle efface
également les fichiers de configuration (tels que
/path/to/sources/.config ou
/path/to/sources/.config.old).
-
--oldconfig : Lance la commande make oldconfig, qui
essaira de collecter des informations de configuration pour votre
architecture depuis un script générique situé dans
/usr/share/genkernel. Ce processus n'est pas interactif ; aucune entrée de l'utilisateur n'est demandée. De plus, si --oldconfig est
utilisé en même temps que --clean, cette dernière sera annulée, comme
si on avait rajouté l'option --no-clean.
-
--callback="echo Hello" : cette routine effectue un appel à
l'argument spécifié (ici, echo Hello) après que le noyau et les
modules correspondants aient été construits, mais avant de créer l'image
initrd. C'est utile lorsque vous souhaitez installer des modules externes
dans l'initrd en passant la commande emerge en argument et redéfinir de ce
fait un nouveau groupe de modules genkernel.
-
--no-install : lance [ou ne lance pas] la commande
make install, ce qui installe votre nouveau noyau, le fichier de
configuration, l'image initrd et le System.map sur votre
partition montée de boot. Les modules compilés seront aussi installés.
-
--no-ramdisk-modules: empêche la copie des modules dans l'image de disque intitial (initrd) créée par genkernel. Cette option fait exception à la règel du préfixe no- ; l'ommission de ce préfixe revient à donner une option invalide à genkernel.
flag.
-
--all-ramdisk-modules: copie tous les modules disponibles dans l'image de disque initial (initrd) créée par genkernel.
-
--genzimage : crée l'image initrd avant l'image du noyau (cette
bidouille ne s'applique actuellement qu'aux systèmes PPC Pegasos.)
Options du compilateur
Les paramètres suivants sont supportés par genkernel et sont passés aux
applications concernées lorsque le noyau est en cours de construction. Ces
options affectent le compilateur utilisé dans le processus de compilation
du noyau, quoiqu'à un niveau bien plus bas.
-
--kernel-cc=unCertainCompilateur : ceci spécifie un
compilateur qui sera utilisé pour construire votre noyau.
-
--kernel-ld=unCertainÉditeurDeLiens : ceci spécifie
un éditeur de liens utilisé dans la construction de votre noyau.
-
--kernel-as=unCertainAssembleur : ceci spécifie un
assembleur qui sera utilisé pour construire votre noyau.
-
--kernel-make=unCertainMake : ceci spécifie un
utilitaire GNU make alternatif qui sera utilisé pour la construction
de votre noyau.
-
--utils-cc=unCertainCompilateur : ceci spécifie un
compilateur qui sera utilisé pour construire les outils annexes.
-
--utils-ld=unCertainÉditeurDeLiens : ceci spécifie
un éditeur de liens utilisé dans la construction des outils annexes.
-
--utils-as=unCertainAssembleur : ceci spécifie un
assembleur qui sera utilisé pour construire les outils annexes.
-
--utils-make=unCertainMake : ceci spécifie un
utilitaire GNU make alternatif qui sera utilisé pour la construction
des outils annexes.
-
--makeopts=-jX : spécifie le nombre de fils d'exécution
concurrents que make peut utiliser pendant la compilation du noyau et des
outils. La variable « X » est un nombre obtenu en ajoutant
un (1) au nombre de processeurs du système. Pour un système monoprocesseur,
la valeur appropriée serait -j2. Un biprocesseur utiliserait
-j3 et ainsi de suite. (Un système monoprocesseur qui supporte la
technologie Hyper-Threading™ (ou « HT ») peut utiliser la
valeur -j3, en supposant que le support du SMP (Symmetric
Multi-Processing) soit activé dans le noyau au moment de la
compilation.)
Options de débogage
L'utilisation d'options de débogage pendant la compilation du noyau contrôle le
nombre d'informations reportées, ainsi que la présentation de celles-ci.
-
--debuglevel=NiveauVerbosité : contrôle le niveau de
verbosité des informations fournies par genkernel. La variable
NiveauVerbosité doit être un nombre entier compris entre 0 et 5. Le
niveau « 0 » représentant le minimum d'information, tandis qu'une
valeur de « 5 » fournira le plus d'informations possible sur le
déroulement des opérations.
-
--debugfile=/chemin/vers/fichier/de/log : ignore la
valeur de --debuglevel et renvoie toutes les informations
produites par genkernel vers le fichier spécifié, qui est
/var/log/genkernel.log par défaut.
-
--no-color : active [ou désactive] la sortie
colorée des informations de débogage (celles reportées par genkernel).
Options d'initialisation
Les options présentées ici sont utilisées pour créer certains effets lors du
démarrage du système. Certaines sont purement esthétiques, tandis que d'autres
sont nécessaires pour activer une fonctionnalité particulière.
-
--no-splash : ajoute [ou n'ajoute pas] le
support du splash
framebuffer (l'écran de démarrage) à l'initrd que construit
genkernel. Pour écraser le thème par défaut utilisé par fbsplash, utilisez
--splash=MonThème (où MonThème est le nom de l'un des
répertoires situés dans /etc/splash).
-
--splash-res=MaResolution : cette option vous permet
de sélectionner les résolutions supportées par l'initrd au démarrage. Elle
est utile pour deux raisons : d'abord, vous pouvez choisir quelles
résolutions sont supportées spécifiquement par votre système, ensuite, vous
réduisez la quantité d'espace occupée par l'initrd puisque ce dernier n'a
plus à s'occuper des résolutions que vous n'utiliserez pas. Cependant, vous
pouvez ignorer cette option si vous compilez un noyau pour un CD
d'installation, ce qui permettra à bootsplash de supporter toutes les
résolutions possibles.
-
--do-keymap-auto : force la sélection du modèle de clavier lors
du démarrage.
-
--lvm2 : inclut le support des volumes gérés par LVM2 grâce à des binaires
statiques, s'ils sont disponibles. Les binaires (statiques) LVM2 en
question sont compilés lorqu'ils manquent. Assurez-vous d'avoir installé le
paquet lvm2 sur votre système avec emerge lvm2 avant d'activer cette
option et d'avoir lu le guide Gentoo
LVM2.
-
--dmraid : inclut le support de DMRAID,
l'outil qui crée des volumes RAID logiciels en utilisant le sous-système
device-mapper du noyau. DMRAID découvre, active, désactive et affiche les
propriétés des volumes RAID (ATARAID par exemple).
-
--luks : inclut le support de Linux Unified Key Setup (LUKS).
Cela vous permettra d'utiliser un périphérique chiffré par LUKS pour placer
votre système de fichiers racine (/). Spécifiez alors au chargeur de
démarrage le nom de ce périphérique via la variable crypt_root (real_root
doit être le nom du périphérique une fois déchiffré).
-
--disklabel: ajoute la prise en charge de disk label (étiquette de disque) and UUID (Identifiant Unique Universel) à votre disque virtuel initial (initrd).
-
--iscsi: ajoute la prise en charge de iSCSI à votre disque virtuel initial (initrd).
-
--multipath: ajoute la prise en charge de Multipath à votre disque virtuel initial (initrd).
-
--linuxrc=/chemin/vers/le/linuxrc : spécifie un script
linuxrc créé par l'utilisateur qui sera appelé lors de la phase de
démarrage du noyau, avant le démarrage du système. (Un script linuxrc par
défaut devrait se trouver dans /usr/share/genkernel/.) Ce
script vous permet d'amorcer sur un petit noyau modulaire et de charger les
pilotes requis (sous forme de modules) par le système avant le démarrage.
-
--cachedir=/chemin/vers/autre/rep : remplace le
chemin par défaut du cache utilisé pendant la compilation.
-
--tempdir=/chemin/vers/autre/rep : spécifie le
chemin du répertoire temporaire utilisé par genkernel lors de la compilation
du noyau.
-
--unionfs : inclut la prise en charge de Unification File
System dans votre disque virtuel initial (initrd).
Options diverses
Les options suivantes n'ont pas pu être classées dans une autre catégorie :
-
--mountboot : détecte si le répertoire /boot a
besoin d'être monté en lisant le /etc/fstab et en y prenant les instructions sur la manière de le monter.
-
--kernname=Nom : vous permet de nommer le noyau et
le disque virtuel initial (initrd).qui seront copiés dans /boot, de sorte que les
noms de fichier produits soient kernel-Nom-version et
initramfs-Nom-version.
Actions possibles
Une action indique à genkernel ce qu'il faut construire. Voici les actions
actuellement supportées :
-
all: compile/construit toutes les étapes — le disque virtuel initial (initrd), l'image du noyau et les modules.
-
bzImage: ne compile/construit que l'image du noyau
-
kernel: ne compile/construit que l'image du noyau et les modules
-
initramfs: ne compile/construit que le disque virtuel initial(initramfs)
-
ramdisk: ne compile/construit que le disque virtuel initial(initramfs)
La première action, all, est recommandée car elle construit tout ce qui
est nécessaire pour obtenir un noyau fonctionnel. Rappelez-vous, une
action indique juste à genkernel ce qu'il faut construire/compiler et non
pas ce qu'il faut installer.
Configuration du chargeur de démarrage
Pour que genkernel puisse travailler avec votre chargeur de démarrage, vous
devez procéder à trois ou quatre modifications de la configuration de
celui-ci :
-
Ajoutez par exemple real_root=/dev/sda3, aux paramètres transmis à l'image du noyau, si /dev/sda3 contient votre partition root.
-
Si vous utilisez splash, ajoutez une option telle que vga=0x317
aux paramètres passés au noyau, ainsi que splash=verbose ou
splash=silent, selon la verbosité désirée.
-
Ajoutez l'instruction qui active l'utilisation d'une image de disque virtuel initial (initrd). Vous
pouvez consulter le chapitre sur la configuration du
chargeur de démarrage du Manuel Gentoo pour plus de détails.
3.
Options de configuration
Modifier /etc/genkernel.conf
La quantité d'options disponibles peut être encombrante si vous les utilisez
toutes en ligne de commande :
Exemple de code 3.1 : exécution de genkernel (avec de nombreuses options) |
# genkernel --loglevel=5 --no-color --no-mrproper --clean --splash \
--kerneldir=/path/to/alternate/kernel/sources --install --menuconfig \
--kernel-config=/path/to/preferred/configfile --save-config --mountboot all
|
Heureusement, on peut placer la plupart des paramètres les plus utilisés dans un
fichier de configuration afin de pouvoir les régler ou les modifier plus
facilement : /etc/genkernel.conf. Voici une liste des options les plus significatives :
-
MENUCONFIG=[yes|no] : cette option est équivalente au
paramètre --menuconfig de genkernel, ce qui active l'utilisation de
la commande make menuconfig pour lancer l'utilitaire de configuration
du noyau en ligne de commande. Pour que l'utilitaire soit lancé
automatiquement lors de la configuration du noyau, mettez la valeur
« yes », sinon mettez « no ».
-
CLEAN=[yes|no] : mettre « yes » pour cette
variable équivaut à utiliser l'option --clean de genkernel et lance
la commande make clean pour effacer tous les fichiers objets et les
dépendances de l'arborescence du noyau. Mettre « no » pour cette
variable provoque l'effet domino d'activer l'option --no-clean de
genkernel, qui désactive la commande make clean, ainsi que l'option
--no-mrproper, qui désactive la commande make mrproper.
-
MRPROPER=[yes|no] : mettez la valeur « yes »
ici pour activer l'option --mrproper de genkernel et donc lancer la
commande make mrproper, ce qui nettoie l'arborescence du noyau de
tout fichier de configuration. Choisissez « no » pour provoquer
l'effet inverse, c'est-à-dire l'option --no-mrproper, qui ne lance
pas make mrproper.
-
MOUNTBOOT=[yes|no] : mettre « yes » ici active
l'option --mountboot de genkernel, qui montera automatiquement (si
nécessaire) le répertoire /boot lors de la compilation. Si
votre répertoire /boot est sur une partition séparée, nous vous
recommandons d'activer ce paramètre, cela fera une chose de moins à se
souvenir de faire.
-
SAVE_CONFIG=[yes|no] : après avoir configuré le noyau,
les options choisies sont sauvées dans le fichier .config à la
racine de l'arborescence du noyau. Ce fichier peut se faire écraser lors
d'une recompilation de noyau ou lors d'un nettoyage. En mettant
« yes » ici, cela activera l'option --save-config de
genkernel qui a pour effet de sauver ce fichier dans le répertoire
/etc/kernels.
-
USECOLOR=[yes|no] : mettez « yes » ici pour
activer l'option --color de genkernel qui provoque l'affichage coloré
des messages de genkernel, lorsque nécessaire.
-
LOGLEVEL=[0|1|2|3|4|5] : cette option permet d'ajuster
la verbosité des messages produits par genkernel. La valeur 0
supprimera complètement tous les messages de débogage tandis que 5
provoquera l'affichage de la totalité des informations disponibles.
Note :
d'avantages d'options sont décrites dans /etc/genkernel.conf.
|
En réglant les options appropriées directement dans
/etc/genkernel.conf, vous pouvez diviser par deux le nombre
d'arguments à placer sur la ligne de commande de genkernel :
Exemple de code 3.2 : lancer genkernel après avoir renseigné genkernel.conf |
# genkernel --splash --kerneldir=/chemin/vers/sources \
--kernel-config=/chemin/vers/config --install all
|
On obtient des résultats identiques avec les deux approches, pourtant la
majorité des options de la dernière sont rangées dans un fichier, ce qui permet
leur réutilisation et leur modification future.
4.
Démarrer sur le réseau avec genkernel
Démarrer sur un CD-ROM d'installation Gentoo depuis le réseau
L'outil genkernel peut fabriquer des images de noyaux et de disque virtuel initial (initrd) qui permettent
de démarrer sur le réseau (netboot). Avec un peu de chance, vous devriez
pouvoir faire démarrer n'importe quel ordinateur récent par le réseau sur
l'environnement fourni par le CD-ROM d'installation de Gentoo.
La magie de la chose réside dans le script linuxrc de genkernel : il va
essayer de monter le CD-ROM d'installation par NFS via le réseau. Partant de là,
les scripts d'initialisation du CD-ROM d'installation seront utilisés
comme si le CD était présent en local.
Construire un noyau et un disque virtuel initial (initrd) qui supportent le démarrage par le
réseau
Pour activer le support du démarrage par le réseau, activez les options
suivantes lors de la configuration du noyau :
Attention :
le support du démarrage par le réseau avec genkernel est expérimental et peut
contenir quelques bogues.
|
Tout d'abord, l'image du noyau doit contenir les pilotes de votre carte réseau.
En principe, les pilotes pour ce genre de périphériques sont compilés en tant
que modules. Pourtant, il est impératif ici (pour pouvoir démarrer avec) que ces
pilotes soient intégrés dans le noyau et pas en modules.
Exemple de code 4.1 : configurer un noyau 2.6.x en activant la carte réseau |
Device Drivers --->
Networking Support --->
Ethernet (10 or 100Mbit) --->
[*] Ethernet (10 or 100Mbit)
<*> le pilote de votre carte réseau ici
|
Ensuite, nous vous suggérons d'activer IP: kernel level autoconfiguration
et IP: DHCP support. Cela évitera une couche supplémentaire de complexité
si l'adresse IP et le chemin NFS du CD-ROM d'installation peuvent être spécifiés
par un serveur DHCP. Bien sûr, cela signifie que la ligne de commande d'appel du
noyau sera la même pour toutes les machines.
Exemple de code 4.2 : configurer un noyau 2.6.x pour qu'il supporte le DHCP |
Device Drivers --->
Networking Support --->
Networking options
[*] TCP/IP networking--->
[*] IP: kernel level autoconfiguration
[*] IP: DHCP support
|
De plus, vous devez activer SquashFS car la majorité des CD-ROM d'installation
récents de Gentoo l'utilisent. Le support de SquashFS n'est pas intégré aux
sources génériques de Linux, vous devrez appliquer les correctifs nécessaires ou
bien installer les gentoo-sources.
Exemple de code 4.3 : configurer le noyau pour gérer SquashFS |
File systems--->
Miscellaneous filesystems --->
[*] SquashFS 2.X - Squashed file system support
|
Une fois que le processus de compilation est terminé, créez une archive
compressée (.tar.gz) qui contient les modules du noyau. Cette étape n'est
nécessaire que si la version de votre noyau ne correspond pas à la version de
l'image située sur le CD-ROM d'installation.
Exemple de code 4.4 : créer une archive qui contient les modules du noyau |
# cd /
# tar -cf /tmp/modules-X.Y.Z.tar.gz /lib/modules/X.Y.Z/
|
Selon votre méthode de démarrage par le réseau, vous devrez exécuter certaines
des étapes suivantes :
Exemple de code 4.5 : créer une image de démarrage |
# emerge mknbi
# cd /boot
# mkelf-linux -params="root=/dev/ram0 init=/linuxrc ip=dhcp" kernel... initrd... > etherboot.img
# emerge sparc-utils
# cd /boot
# elftoaout kernel... -o kernel.aout
# piggyback64 kernel.aout System.map-... initrd-...
# mv kernel.aout openboot.img
|
Enfin, copiez ce noyau sur votre serveur TFTP. La manière de procéder dépend
complètement de votre architecture et dépasse les limites de ce guide. Veuillez
consulter la documentation de votre plate-forme.
Configuration du NFS
Pour mettre en place un partage NFS qui contient le CD-ROM d'installation,
utilisez un périphérique de bouclage (loop device) pour y monter l'image ISO et
copiez le contenu du CD dans le partage NFS. En bonus, le script initrd de
genkernel désarchivera tous les fichiers .tar.gz situés dans le répertoire
/nfs/livecd/add. Tout ce qu'il vous reste à faire est de copier
votre archive modules-X.Y.Z.tar.gz dans le répertoire
/nfs/livecd/add.
Exemple de code 4.6 : préparation du partage NFS |
# mount /tmp/gentoo-livecd.iso /mnt/gentoo -o loop
# cp -p /mnt/cdrom /nfs/livecd
# umount /mnt/cdrom
# mkdir /nfs/livecd/add
# cp /tmp/modules-X.Y.Z.tar.gz /nfs/livecd/add
|
Configuration du DHCP
Les images netboot demanderont une adresse IP et un chemin NFS à votre serveur
DHCP. Ces informations peuvent être configurées individuellement en utilisant
l'adresse MAC pour identifier les machines :
Exemple de code 4.7 : exemple de configuration dhcpd.conf |
...
host netbootableMachine {
hardware ethernet 11:22:33:44:55:66;
fixed-address 192.168.1.10;
option root-path "192.168.1.2:/nfs/livecd";
}
...
|
Utilisation du démarrage par le réseau
Le démarrage par le réseau est encore une fois très spécifique à la plate-forme
utilisée. Ce qui est important, c'est de spécifier les paramètres ip=dhcp
et init=/linuxrc sur la ligne de commande du noyau. Cela activera la
carte réseau et montera le CD-ROM d'installation via NFS. Voici quelques astuces
pour certaines plates-formes :
Exemple de code 4.8 : comment démarrer par le réseau |
ok boot net ip=dhcp init=/linuxrc
DEFAULT gentoo
TIMEOUT 40
PROMPT 1
LABEL gentoo
KERNEL kernel-X.Y.Z
APPEND initrd=initrd-X.Y.Z root=/dev/ram0 init=/linuxrc ip=dhcp
|
5.
Amorcer un disque virtuel initial de genkernel
Introduction
Si vous avez installé un disque virtuel initial (initramfs) avec genkernel, vous devriez assurément regarder les options diverses et variées de boot que vous pouvez (ou devez) définir dans la configuration de votre chargeur de démarrage. Les plus courantes sont citées ici pour référence.
Chargement de LVM ou de software-RAID
Si votre système utilise LVM ou software-RAID, vous avez sans aucun doute construit le disque virtuel initial (initramfs) en utilisant les options --lvm et --mdadm. Néanmoins, vous ne devriez pas oublier d'activer la prise en charge au moment du démarrage. Ceci peut être fait en utilisant les options dolvm et domdadm.
Exemple de code 5.1 : activer la prise en charge de LVM et/ou MDADM |
title Gentoo Linux
root (hd0,0)
kernel /vmlinuz root=/dev/md3 dolvm domdadm
initrd /initramfs-genkernel-x86_64-3.4.3
|
Démarrer dans le mode utilisateur unique (single-user)
If for some reason boot-up fails, you might be able to rescue your system by
booting in the single-user mode. This will only load the really necessary
services and then drop you to a rescue (root) shell.
Exemple de code 5.2 : démarrer dans le mode utilisateur unique |
title Gentoo Linux
root (hd0,0)
kernel /vmlinuz root=/dev/md3 init_opts=S
initrd /initramfs-genkernel-x86_64-3.4.3
|
6.
Conclusion
Automatiser ou pas ?
Le but de genkernel est de proposer une alternative plus simple pour la
compilation du noyau. Comme toujours, c'est vous qui décidez si vous voulez
automatiser le processus de compilation du noyau ou pas.
Ce document est protégé par la licence Creative
Commons : Paternité - Partage des Conditions Initiales à
l'Identique 2.5.
|