Nous allons construire le système LFS en utilisant une distribution Linux déjà en place, comme par exemple Debian, SuSE, Slackware, Mandrake, RedHat, etc. Vous n'avez pas besoin de disquette de démarrage particulière. Nous utiliserons tous les outils du système déjà en place (compilateur, éditeur de liens, éditeur de textes et quelques autres).
Si vous ne disposez pas d'un système déjà en place, vous ne pourrez pas utiliser la méthode décrite dans ce document. Il est donc dans ce cas indispensable que vous en installiez un, peu importe la distribution, tant qu'elle n'est pas trop vieille. Je pense que toute distribution âgée d'au maximum un an devrait convenir. Par ailleurs, vous vous éviterez pas mal de soucis si cette distribution est basée sur glibc-2.0 ou mieux. Je n'ai pas pris en compte les systèmes basés sur Libc5 puisque je n'ai pas eu l'occasion d'en utiliser un.
Pour construire notre nouveau système Linux, nous avons besoin d'une partition Linux vide. Prévoyez un minimum de 500 Mo, cela devrait suffire. Vous pouvez éventuellement utiliser une partition de 250 Mo, si vous souhaitez construire un système Linux simple (sans système X Window ou outils dédiés à la navigation sur Internet). Si vous disposez déjà d'une partition Linux Native vide, vous pouvez passer cette sous-section.
Démarrez le programme fdisk
(ou tout partitionneur de votre choix, du moment
qu'il autorise la création de partitions Linux) en indiquant le disque dur
sur lequel vous souhaitez créer la nouvelle partition Linux (par exemple fdisk
/dev/hda
si la nouvelle partition doit être créée sur le disque dur maître
du premier contrôleur IDE). Créez une partition Linux Native, mettez à jour
la table de partition et quittez fdisk
. Si un message vous indique de redémarrer
l'ordinateur afin d'être sûr que la table de partition est mise à jour, faites-le.
Notez le nom de la nouvelle partition (par exemple hda5
) car vous en aurez
besoin plus tard. Cette partition sera appelée partition LFS dans la suite
du document.
ext2
sur la nouvelle partition
Une fois que la partition est créée, nous devons y installer un système
de fichiers ext2
. Pour ce faire, utilisez la commande mke2fs
. Indiquez le
nom de la nouvelle partition comme unique option et le système de fichiers
sera créé. Ainsi si la partition porte le nom hda5
, utilisez la commande mke2fs
/dev/hda5
.
Une fois que le système de fichiers est créé, il est prêt à être utilisé.
Tout ce qu'il vous reste à faire pour le rendre accessible est de le monter.
En reprenant notre exemple précédent, si vous montez la partition sous /mnt/hda5
,
vous pouvez vous positionner dans ce répertoire et faire ce que vous voulez.
Je supposerai par la suite que vous avez monté la partition LFS dans un sous-répertoire
de /mnt
. Vous avez pu constater que, par convention, je monte mes partitions
dans des répertoires portant le nom de cette partition (hda5
monté sous /mnt/hda5
).
Libre à vous de faire comme bon vous semble, voire d'utiliser le répertoire
/mnt
.
Voici en résumé la méthode pour monter la partition LFS :
/mnt
s'il n'existe pas encore/mnt/xxx
où xxx
est à remplacer par le nom de la partition
LFS. mount /dev/xxx /mnt/xxx
où xxx
est
à remplacer par le nom de la partition LFS. Ce répertoire (/mnt/xxx
) correspond à la variable $LFS expliquée
plus haut. Je vous rappelle donc que si vous lisez "cp inittab $LFS/etc
",
en réalité vous devez taper "cp inittab /mnt/xxx/etc
" où xxx
est à remplacer
par le nom de la partition LFS.
Créez l'arborescence de base, au standard FHS, du système LFS. Si vous souhaitez plus d'informations sur le standard FHS, consultez le site http://www.pathname.com/fhs/. Tapez les commandes suivantes :
cd $LFS mkdir bin boot dev etc home lib mnt proc root sbin tmp usr var cd $LFS/usr mkdir bin include lib sbin share src ln -s share/man man ln -s share/doc doc ln -s . local ln -s ../etc etc ln -s ../var var cd $LFS/usr/share mkdir dict doc info locale man nls misc terminfo zoneinfo cd $LFS/usr/share/man mkdir man1 man2 man3 man4 man5 man6 man7 man8 cd $LFS/var mkdir lock log run spool tmp
Maintenant que les répertoires sont créés, copiez les archives téléchargées au chapitre 3 dans un sous-répertoire de $LFS/usr/src (vous devez créer ce sous-répertoire vous-même).
/dev
Nous pourrions utiliser la commande mknod
pour créer les fichiers du répertoire
$LFS/dev
, mais cela prend du temps. C'est pourquoi je vous conseille
de simplement recopier le répertoire /dev
vers la partition $LFS. Pour
ce faire, utilisez la commande suivante, tous les droits et liens symboliques
originaux seront conservés.
cp -av /dev $LFS chown root.root $LFS/dev/*