Personnalisation d'un RepairDisk: la voie vers LFS

Souvent, nous avons dû réparer un système à partir d'un LiveCD, et à un moment donné du processus, nous nous sommes retrouvés sans outil et lorsque nous voulons l'installer, le LiveCD OS nous dit qu'il n'a plus d'espace, d'ail et d'eau ( se faire foutre et tenir bon).

Ce problème m'est vraiment venu à cause du passage à LFS (LinuxDeScratch), qui est un guide (PAS une distribution elle-même) pour installer un Linux personnalisé. L'intérêt de cette "distribution" est qu'à partir de n'importe quel LiveCD, et avec les outils appropriés, vous téléchargez le code du noyau et d'autres outils pour construire votre propre système (en compilant tout petit à petit). Si vous souhaitez suivre le guide étape par étape, vous avez besoin de plusieurs outils et compilateurs, et il n'y a pas de liveCD avec tout, vous devez donc en personnaliser un.

Faisons le. Nous utiliserons le SystemRescueCD, qui offre un environnement basé sur Gentoo assez complet.

Dans notre exemple (installer un Linux à partir de zéro en suivant le livre Linux From Scratch), il nous manque les programmes Bison et Makeinfo, nous allons donc créer une nouvelle image ISO de ce disque mais avec les nouveaux outils.

AVIS: Gentoo est une distribution qui compile sur place tous les packages à installer, donc le processus d'ajout et de mise à jour de programmes est lent.

Bien qu'un gestionnaire de paquets soit utilisé (comme apt-get de Debian), au lieu de télécharger des paquets, le code source est téléchargé pour le compiler sur votre machine.

Pour le processus, vous aurez besoin d'une partition Linux (ext4 par exemple) avec au moins 1.5G libre, bien que plus soit recommandé. Si vous ne voulez pas jouer avec vos partitions, utilisez une machine virtuelle. Bien sûr, il est conseillé que la partition ait plusieurs concerts car lors de la compilation, l'installation, la synchronisation des référentiels ... un espace temporaire est nécessaire; Je conseille d'utiliser une partition de swap 8G + 2G (avec 4G + 1G, cela devrait suffire, mais nous pouvons donc vous assurer que si la RAM / swap manque, le processus sera encore plus lent).

En supposant que vous ayez créé une machine virtuelle avec un disque 10G, vous la démarrez en lui disant de démarrer à partir du SystemRescueCd nouvellement téléchargé. Une fois à l'intérieur, nous partitionnons avec fdisk (si vous avez commencé la session graphique, vous pouvez le faire avec gparted, mais le but de cet article est d'enseigner l'utilisation des outils de base). fdisk est une commande interactive:

  • avec l'option "n" on crée une nouvelle partition
  • avec l'option "t" on change le type de système de fichiers qui ira dans la partition
  • avec l'option «w» on écrit sur le disque
  • avec l'option «q» on part sans écrire les changements

Lorsque nous utilisons l'option "n", cela nous donnera plusieurs options, tout le temps nous utiliserons default, sauf lors de la définition du dernier secteur de la première partition, que nous devrons écrire "+ 8G", indiquant ainsi au programme que nous voulons notre partition occupent 8 Go.

Lors de la création de la deuxième partition, nous utiliserons les options par défaut car le reste de l'espace sera occupé. Aussi pour indiquer à fdisk que la seconde partition sera de type swap, utilisez l'option "t" (le code hexadécimal pour swap est 82). L'interface ressemble à ceci:

Commande% fdisk / dev / sda (m pour l'aide):

Une fois que tout est fait, nous utilisons l'option "w" pour écrire les modifications sur le disque et quitter.
Il est maintenant temps de formater les partitions. Nous allons commencer par le swap afin de l'utiliser immédiatement:

% mkswap / dev / sda2% swapon / dev / sda2

Nous avons déjà la partition d'échange formatée, et avec la commande échanger nous avons commencé à l'utiliser. Maintenant, nous formalisons la première partition en ext4:

% mkfs.ext4 /dev/sda1

Nous pouvons commencer à suivre les étapes décrites dans http://www.sysresccd.org/Sysresccd-manual-en_How_to_personalize_SystemRescueCd, ici je les traduis / décris avec l'annotation étrange.

Nous montons la partition à sa place (le LiveCD est déjà préparé avec un dossier / mnt / custom où la partition dans laquelle nous allons faire les changements appropriés doit être montée). Aussi après le montage, nous devrons extraire les fichiers du disque, ceci est réalisé avec un script déjà préparé. Le script prendra un certain temps (puisqu'il décharge des centaines de mégaoctets de mémoire), si vous voulez vérifier qu'il fonctionne réellement, allez sur un autre terminal (avec Alt + F4 par exemple) et faites un df -h.

% mount / dev / sda2 / mnt / custom% / usr / sbin / sysresccd-custom extrait

Si vous naviguez maintenant dans / mnt / custom / customcd, vous verrez plusieurs dossiers. Dans / mnt / custom / customcd / files le système de fichiers racine est trouvé. Il est maintenant temps de chrooter le futur nouveau système. Ici, je vais mettre les commandes, pour plus d'informations sur chroot, vous pouvez voir ce tutoriel que j'ai écrit il y a un mois

% mount -o bind / proc / mnt / custom / customcd / files / proc% mount -o bind / dev / mnt / custom / customcd / files / dev% mount -o bind / sys / mnt / custom / customcd / files / sys% chroot / mnt / personnalisé / customcd / files / bin / bash # gcc-config $ (gcc-config -c)

Nous sommes déjà dans le système chrooté, qui sera le système LiveCD une fois que nous le démarrerons. Nous installerons les paquets manquants (bison et texinfo) en utilisant la commande émerger (qui gère le colis de portage de personnes).

Tout d'abord, nous synchronisons l'arbre de portage (l'équivalent de apt-get update)
# emerge-webrsync REMARQUE: nous utilisons cette commande au lieu de "emerge –sync" car elle est plus rapide, car elle télécharge un pack tar à partir du Web. Cette étape est nécessaire, car si elle n'émerge pas, elle émergera automatiquement –sync, ralentissant.

Après avoir synchronisé l'arborescence de portage, nous pouvons procéder à l'installation des packages:

# emerge sys-devel / bison # emerge sys-devel / texinfo
bison prendra un certain temps à compiler, soyez patient

Nous quittons chroot:# exit

Nous démontons "/ proc" pour que les nouveaux paquets installés soient stockés dans squashfs. Nous démontons également "/ dev" et "/ sys" pour ne pas oublier plus tard
% umount /mnt/custom/customcd/files/proc
% umount /mnt/custom/customcd/files/dev
% umount /mnt/custom/customcd/files/sys

Comme nous avons déjà préparé le nouveau système de fichiers squash, nous le créons avec la commande suivante
% /usr/sbin/sysresccd-custom squashfs
Si nous voulons ajouter un fichier à l'image ISO mais que nous voulons qu'il soit en dehors de squashfs, il faut le mettre dans le dossier «/ mnt / custom / customcd / isoroot»

% cp -a my-files /mnt/custom/customcd/isoroot

À ce stade, le guide officiel vous indique que vous pouvez configurer le clavier pour démarrer avec un clavier par défaut (par exemple "es" pour les claviers espagnols). Mais en faisant plusieurs tests, le script qu'ils utilisent pour moi n'a pas fonctionné et cela a entraîné une erreur lors du chargement du noyau, donc je vais sauter cette étape.

Le moment glorieux est arrivé, nous pouvons désormais générer la nouvelle image ISO avec notre système personnalisé!
% /usr/sbin/sysresccd-custom isogen my_srcd
"My_srcd" est le nom que nous donnons au volume, vous pouvez l'appeler comme vous le souhaitez. L'image est enregistrée dans «/ mnt / custom / customcd / isofile», en plus un fichier .md5 est également généré 🙂

Si vous travaillez sur un disque virtuel, l'étape cruciale demeure: extraire l'image ISO du système virtuel. Il y a plusieurs façons de le faire, je vais vous en expliquer une simple (dans VirtualBox) pour éviter d'avoir à installer des «ajouts invités» ou quelque chose comme ça.
Nous utiliserons le client pour obtenir le fichier via un tunnel ssh. Pour ce faire, nous devons d'abord configurer le système invité avec un mot de passe root. Le serveur ssh démarre automatiquement, nous le redémarrons toujours au cas où.
% passwd
% /etc/init.d/sshd restart

Nous devons configurer la redirection de port de la machine virtuelle. Dans VirtualBox, cela se fait comme suit:

  1. Vous accédez à la configuration de la machine virtuelle
  2. Dans la section réseau, vous avez déjà configuré un adaptateur dans NAT
  3. Recherchez l'option de redirection de port
  4. Vous ajoutez une nouvelle règle, avec les seuls paramètres "port hôte" et "port invité"
  5. hôte = 3022 et invité = 22

Avec cela, nous avons réalisé que le port 3022 de notre PC est 22 de la machine virtuelle. Nous démarrons le client Filezilla:

  1. Dans le paramètre serveur, nous écrivons: sftp: // localhost
  2. Dans le paramètre username, nous écrivons: root
  3. Dans le paramètre de mot de passe, nous mettons celui que nous utilisons dans «passwd»
  4. Dans le paramètre de port, nous écrivons: 3022
  5. Cliquez sur «Connexion rapide»

Si tout s'est bien passé à gauche, nous pouvons naviguer sur notre PC et à droite dans la machine virtuelle. Il suffit d'accéder (dans la machine virtuelle) au dossier «/ mnt / custom / customcd / isofile» et de faire glisser l'image ISO vers l'endroit souhaité sur notre PC.

!! Toutes nos félicitations!! Si tout s'est bien passé, vous avez votre image ISO prête avec un SystemRescueCD personnalisé et prête à démarrer à partir d'un CD, USB ...


Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont marqués avec *

*

*

  1. Responsable des données: Miguel Ángel Gatón
  2. Finalité des données: Contrôle du SPAM, gestion des commentaires.
  3. Légitimation: votre consentement
  4. Communication des données: Les données ne seront pas communiquées à des tiers sauf obligation légale.
  5. Stockage des données: base de données hébergée par Occentus Networks (EU)
  6. Droits: à tout moment, vous pouvez limiter, récupérer et supprimer vos informations.

  1.   Leo dit

    Quel bon guide, un peu compliqué mais très utile.
    Bonne contribution.

  2.   Lépreux_Ivan dit

    Ensuite, avec un peu plus de temps, et sans tant d'inconfort aux yeux, je vais le lire attentivement. Cela semble très utile et intéressant.

  3.   Carlos Sánchez dit

    Bonjour woqer, très bon message!

    Je suis avec LFS depuis quelques années et j'ai créé mon propre iso qui peut vous servir, il a tout ce dont vous avez besoin pour compiler puisqu'il s'agit d'un LFS. 😀 j'espère que cela vous sera utile

    http://vegnux.org.ve/files/isos/neonatox-06.2rc6.linux-i686-xfce4.iso