samedi 21 décembre 2013

LFS: Linux From Scratch

Avant de commencer, je vous recommande de voir la presentation ci-dessous.



Pour la suite, je vous propose de vous aidez de support videos, il y en a pas mal sur internet comme ici par exemple, surtout si vous ne vous sentez pas a l'aise dans les manipulation a faire.

Honètement, il n'y a rien à rajouter par rapport à ce qui est décrit dans la documentation quoique, la documentation en français est bien faite et bien traduite par la même occasion, mais il y a eu une ou deux passage où j'ai rencontré des approximations au niveau de la traduction qui peut rendre le texte incohérent parfois incompréhensible. Je vous recommande vivement de n'utiliser que le manuel officiel en anglais et de garder celui en français sous le coude au cas où.

Autre chose, tous les paquets à utiliser au cours des differents chapitres se trouvent ici. Il n'y a besoin d'aller les cherchers ailleurs. Cependant, vu que je vais créer mon système LFS à partir d'une machine virtuelle - VMware Workstation 9 (Pas taper .. :) ), il y a quelques recommandations, non cité dans le manuel, à suivre et que je vais vous partager plus bas.

Ma dernière recommandation serait: "FAITES DES SNAPSHOTS SANS MODERATION" tant que vous avez assez d'espace disque sur votre ordinateur!

Je ne vais pas citer tous les problemes que j'ai rencontré durant l'installation de LFS. Je vais juste me limiter aux trois points ci-dessous.

1. "File not found", apres avoir selectionne LFS 7.2 lors du boot.


Petite mise-au-point: Au niveau du chapitre Utilisez GRUB pour paramétrer le processus de démarrage, avec la version 2 du Grub, il n'y a pas besoin de créer le fichier de configuration grub.cfg  et encore moins d'écraser celui existant. Par contre, il vous faut revenir dans la console du système hôte à partir duquel vous allez créer votre LFS, Debian dans mon cas, puis de taper la commande

# update-grub

Cela mettra a jour la liste dans Grub, et de ce fait vous n'aurez pour le probleme de "File not found".

2. Système bloqué au niveau de "rest_init+0x60/0x60" lors du demarrage de LFS:



L'article ici  nous donne plus d'information sur ce qui se passe:
-----------------------------------------------------
CPU: 0 PID: 1 Comm: swapper/0 Not tainted 3.10.10 #1
Hardware name: VMware, Inc. VMware Virtual Platform/440BX Desktop Reference Platform, BIOS 6.00 07/02/2012

!---------sortie tronquee----------!

ret_from_kernel_thread+Ox1b/0x28
? rest_init+0x60/0x60
------------------------------------------------------
Apparement il y a un probleme de driver vmware, et plus precisement c'est un probleme avec le disque dur virtuel en SCSI qui est configure avec LSI Logic comme recommande par VMware.

 Pour resoudre ce probleme ainsi que d'autres problèmes liés à la virtualisation, on doit passer par une recompilation du noyau. Mais avant cela, configurez le fichier .config comme suit:










3. "Starting system log daemon" fail



Cà y est, on y est presque. Le systeme sysklogd doit etre recompilé et tout devrait rentrer dans l'ordre.

Pour le problème d'interface eth0, il 'ny a pas besoin de configurer l'interface réseau comme decrit ici, cela vous evitera d'avoir un probleme avec le fichier "70-persistent-net.rules" inexistant.

Et pour fini, le seul compte qui existe est celui de Root. N'oubliez pas de personaliser le mot de passe.


Et voila, j'espère que ce retour d'expérience vous est utile. Bonne chance pour la suite.

Note1:

J'ai installé Debian 32 bits comme recommandé dans le manuel, sur un disque de 13Go dont 11Go pour /, 1Go pour /home et 850Mo pour le Swap. (Je ferai d'autres tests avec une architecture 64bits Debian et kFreeBSD).

Pour LFS , j'ai choisi de l'installer sur un disque dur à part, de 10Go.

Notez que la partition /boot (150 MB) est une partition a part et qui sera commune aux deux systèmes d'exploitation.


Note2:

Les commandes pour se connecter en mode chroot sont a noter sur un sticky, vous en aurez souvent besoin pour aller jusqu'au bout du manuel, mon petit doigt me le dit.

Montez les differentes partitions:
echo $LFS
export LFS=/mnt/lfs

mount -v -t ext4 /dev/sdb1 $LFS

mount -v --bind /dev $LFS/dev

mount -vt devpts devpts $LFS/dev/pts -o gid=5,mode=620
mount -vt proc proc $LFS/proc
mount -vt sysfs sysfs $LFS/sys

if [ -h $LFS/dev/shm ]; then
  link=$(readlink $LFS/dev/shm)
  mkdir -p $LFS/$link
  mount -vt tmpfs shm $LFS/$link
  unset link
else
  mount -vt tmpfs shm $LFS/dev/shm
fi
A partir du chapitre 6.66 et jusqu'a la fin du manuel, se connecter en mode chroot:
chroot "$LFS" /usr/bin/env -i \
    HOME=/root TERM="$TERM" PS1='\u:\w\$ ' \
    PATH=/bin:/usr/bin:/sbin:/usr/sbin \
    /bin/bash --login 

Demontez les differentes partitions avant de redemarrer le systeme:
umount -v $LFS/dev/pts

if [ -h $LFS/dev/shm ]; then
  link=$(readlink $LFS/dev/shm)
  umount -v $LFS/$link
  unset link
else
  umount -v $LFS/dev/shm
fi

umount -v $LFS/dev
umount -v $LFS/proc
umount -v $LFS/sys


umount -v $LFS

shutdown -r now

Note3:

Ce n'est pas de la moindre importance, mais on connaît ou on ne connaît pas. Voici les commandes à connaître pour décompresser les différents types de fichiers:

ZIP:                  unzip archive_name.zip
TAR:                 tar -xvf archive_name.tar
TAR.GZ/TGZ: tar -zxvf archive_name.tar.gz
TAR.BZ2:         tar -jxvf archive_name.tar.bz2
 XZ:                   tar -Jxvf archive_name.xz



Aucun commentaire:

Enregistrer un commentaire