Créer sa clé USB live lenny personnalisée

Bonjour à tous !

Ayant tout juste terminé ma clé USB Live Lenny perso, je voulais partager les quelques astuces/façons de faire que j’ai découvertes.

Avant de commencer, je tiens à signaler que je me suis largement servi de ce tuto pour faire ma clé, mais il y a eu assez de changement avec la nouvelle Debian-Live pour que je décide d’écrire ma version des choses. Ceci dit, le tuto sus-linké est plus précis techniquement parlant que le mien, il lui est donc complémentaire.

[size=150]1) Installer live-helper[/size]

[size=150]2) Les fichiers config[/size]

Dans le principe, on peut invoquer directement lh_config et lui passer en paramètres tout ce qu’on a à configurer (voir dans les remarques, paragraphe 6)). Je suis plutôt adepte du trifouillage de fichiers config, c’est comme ça qu’on procédera ici.

On crée un espace de travail et on y lance lh_config pour qu’il y crée les fichiers config :

$ mkdir debian_live $ cd debian_live $ lh_config
On se retrouve avec un dossier config contenant un certain nombre de fichiers. Les 3 qui nous intéressent sont binary, bootstrap et chroot.

2.1) Configuration de binary

Ouvrir le fichier avec votre éditeur de texte. On remarque que tout y est bien structuré et commenté, donc facile à modifier selon ses besoins.

LH_BINARY_IMAGES=“usb-hdd” : laisser sur iso si vous voulez un CD, passez sur usb-hdd si vous voulez faire une clé

LH_BOOTAPPEND_LIVE=“locale=fr_FR.UTF-8 keyb=fr” : permet d’avoir la localisation en français et le clavier en français au boot

LH_HOSTNAME=“user-desktop” : paramétrer le nom de la machine…

LH_USERNAME=“user” : … et celui de l’user

2.2) Configuration de bootstrap

LH_DISTRIBUTION=“lenny” : pas touché pour ma part, mais vous pouvez récupérer la version que vous voulez

LH_MIRROR_BOOTSTRAP="http://ftp.fr.debian.org/debian/"
LH_MIRROR_CHROOT="http://ftp.fr.debian.org/debian/"
LH_MIRROR_BINARY=“http://ftp.fr.debian.org/debian/ : pour tout récupérer à partir des serveurs fr

LH_SECTIONS=“main contrib non-free” : les dépots à utiliser, of course

2.3) Configuration de chroot

LH_LANGUAGE=“fr” : pas trop testé sur quoi ça impactait, mais ça peut pas faire de mal

LH_LINUX_FLAVOURS=“486 686” : les kernels à installer (je suis mal renseigné là-dessus, mais il me semble que seules les vieilles machines peuvent nécessiter le 486, donc c’est à vous de voir selon l’utilisation de votre clé, mais le gain de place est non-négligeable lorsqu’on n’installe que le 686 sans le 486)

LH_PACKAGES=“firmware-ralink network-manager network-manager-gnome iceweasel mousepad synaptic” : la liste des paquets que vous voulez ajouter au set de base, je me suis contenté du minimum pour faire fonctionner ma carte wifi et un navigateur. Notez bien que les dépendances seront détectées et récupérées automatiquement.

LH_PACKAGES_LISTS=“xfce” : le set de paquets de base à installer, vous en avez la liste exhaustive avec leur contenu dans /usr/share/live-helper/lists/.

[size=150]3) Construction de l’image[/size]

En vous assurant que vous êtes bien dans le dossier “racine” de votre espace de travail live (ici le dossier “debian_live”), vous pouvez passer à la création de l’image :

Selon les paquets que vous avez intégré et le débit de votre connection internet, ça peut durer très (très très) longtemps. Dans mon exemple, avec une connection wifi mais peu de paquets, à peu près 35mn pour le processus complet.

Une fois que votre terminal a fini de mouliner, vous devriez trouver un .img dans votre /debian_live, ainsi qu’un fichier bien pratique, binary.packages, qui liste les packages inclus dans l’image et vous permet donc de vérifier que vos paquets persos ont bien été intégrés.

[size=150]4) Fabriquer la clé et la booter[/size]

Il suffit ensuite de passer votre image sur la clé de votre choix après l’avoir bien repérée dans vos disques (attention la cacastrophe hein).

Exemple :

[code]$ sudo fdisk -l
Disque /dev/sda: 250.0 Go, 250059350016 octets
255 heads, 63 sectors/track, 30401 cylinders
Units = cylindres of 16065 * 512 = 8225280 bytes
Identifiant disque: 0x667abdac

Périphérique Amorce Début Fin Blocs Id Système
/dev/sda1 * 1 2432 19535008+ 83 Linux
/dev/sda2 2433 2675 1951897+ 82 Linux swap / Solaris
/dev/sda3 2676 30401 222709095 83 Linux

Disque /dev/sdb: 80.0 Go, 80026361856 octets
255 heads, 63 sectors/track, 9729 cylinders
Units = cylindres of 16065 * 512 = 8225280 bytes
Identifiant disque: 0x6e731fd3

Périphérique Amorce Début Fin Blocs Id Système
/dev/sdb1 * 1 5100 40960000 7 HPFS/NTFS
/dev/sdb2 5101 9729 37182442+ 5 Extended
/dev/sdb5 5101 9729 37182411 7 HPFS/NTFS

Disque /dev/sdc: 2021 Mo, 2021654016 octets
255 heads, 63 sectors/track, 245 cylinders
Units = cylindres of 16065 * 512 = 8225280 bytes
Identifiant disque: 0x000b277a

Périphérique Amorce Début Fin Blocs Id Système
/dev/sdc1 * 1 40 321268+ 83 Linux[/code]

Ici ma clé est bien évidemment sur sdc, le disque mesurant 2Go et étant détecté en dernier. Je vous conseille, par prudence, de déconnecter tout autre support de stockage externe que vous pourriez confondre avec votre clé, histoire de. Si vous avez le moindre doute, exécutez un outil graphique du genre gparted ou qtparted pour vérifier.

Une fois que vous avez repéré votre clé :

Notez bien qu’il faut entrer le chemin de la clé et non d’une partition. Dans mon exemple, /dev/sdc et non /dev/sdc1.

Une fois que c’est fait, vous n’avez plus qu’à booter sur la clé !

[size=150]5) Pour rejouer[/size]

Si pour une raison quelconque, un changement de paramètre dans un fichier config par exemple, vous vouliez reconstruire votre image, vous avez deux options :

Toujours dans /debian_live, va avoir pour effet de tout virer ou presque à l’exception des fichiers de config que vous pourrez alors peaufiner à votre guise avant de refaire un lh_build complet.

Permet quant à lui de purger le build tout en gardant les binaires récupérés lors des builds précédents. Pratique mais à n’utiliser que si ce que vous changez dans les fichiers config n’implique pas le retrait ou l’ajout de paquets.

[size=150]6) Remarques[/size]

-Prévoir de l’espace libre sur le disque qui accueille votre /debian_live, car au plus gros du processus de build le dossier atteindra quelques gigas (~4Gb dans cet exemple), tout dépendant des paquets que vous incluez.

-Le poids du fichier .img généré dépend évidemment largement des paquets que vous y incluez également. Avec les paquets de cet exemple et un seul kernel (le 686), l’image pèse un peu moins de 300Mb.

-Le système de boot de la clé par défaut est syslinux. Il fonctionne très bien pour moi mais il est possible d’opter pour autre chose grâce aux fichiers config.

-Toute information présente sur la clé avant d’y installer l’image sera évidemment écrasée, quelle que soit sa partition.

-La méthode pour inclure une liste de paquets perso donnée par le tuto cité en intro n’a pas fonctionné chez moi, c’est pourquoi je donne une autre méthode, moins élégante certes, mais fonctionnelle.

-Un installateur peut être inclus à l’image grâce à l’option LH_DEBIAN_INSTALLER du /config/binary, mais cela ne fonctionne qu’avec une image iso à graver sur CD/DVD. De plus (et c’est fort dommage), l’installateur n’installera qu’un système de base et non tous les paquets que vous avez paramétré pour le live.

-Pour le fun et le plaisir des yeux, la commande équivalente à toutes les modifications des fichiers config, paragraphe 2) :

-Et pour les fainéants, la commande kifétou :

[size=150]7) Liens[/size]

Le tuto qui fait du bien

Le site officiel de Debian Live

Bonjour,

si dans ta commande lh_config tu rajoute l’option

ou dans le fichier /config/binary, tu mets “live” à l’option

ça devrait t’installer ta liste de paquets maison à la place du système de base.

Bonne idée que ce tuto ! Il y a une méthode (pour Lenny aussi) parue dans le Linux Magazine du mois d’Avril, je vais voir si il y a quelques différences. :smt002

Merci pour ce tutoriel qui fonctionne très bien :wink:

Ymer : tiens-nous au courant sur ce thread !

eol : c’est noté ! Je n’ai personnellement plus besoin d’une clef live installable, mais ça peut aider les lecteurs intéressés :slightly_smiling:

Bonjour et merci pour ce tuto.

J’ai voulu aller plus loin en essayant de créer une clé live chiffrée mais je bloque à un niveau; Ma clé démarre bien, elle me demande le mot de passe de 20 caractères minimum et ensuite j’obtiens le message d’erreur suivant du boot failed :

J’ai trouvé mon erreur. Le problème venait de la mauvaise configuration de mon fichier chroot. Le plus simple est donc de partir depuis une configuration qui marche et petit à petit de la modifier selon ses préférences.

source

Très bonne idée ce topic :smiley:
Me lançant également dans l’aventure, j’apporte ma pierre à l’édifice.

Afin que ma clef détecte (et utilise) les différents chipsets Wifi des PC sur lesquels je boote, j’ai ajouté dans le répertoire config/chroot_local-packages les paquets suivants :

open-web.fr/lh/acx100-2.6.26 … 7_i386.deb
open-web.fr/lh/linux-wlan-ng … 2_i386.deb
open-web.fr/lh/madwifi-modul … 7_i386.deb
open-web.fr/lh/rt2400-module … 7_i386.deb
open-web.fr/lh/rt2500-module … 7_i386.deb
open-web.fr/lh/rt2570-module … 7_i386.deb

Ce sont différents modules que j’ai compilés avec module-assistant. Tous ces *.deb seront intégrés à la clef lors de sa construction.
Ceux qui veulent installer wicd absent des dépôts de Lenny, ajoutez également ceci :
open-web.fr/lh/wicd_1.5.9-5~bpo50+1_all.deb

Pour compléter, j’ai ajouté à la liste des paquets à installer (ligne LH_PACKAGES du fichier config/chroot ceci :

Dernier point, lors de l’installation du firmware ipw2x00 d’Intel, il faut manuellement accepter la licence, ce qui n’est pas possible lors de la construction de la clef où tout est automatisé.

Solution, ajouter dans le répertoire config/chroot_local-preseed un fichier firmware-nonfree ayant pour contenu :

Ainsi, live-helper ne râlera pas et vous aurez une clef compatible Wifi :smiling_imp:

Tous ces modules fonctionnent pour une Lenny 32bits. Si une âme charitable a envie de compiler une version 64bits, je veux bien les héberger.

Autres trucs :

Si vous voulez intégrer le paquet sun-java6-jre où il faut accepter la licence de Sun, créez dans le répertoire config/chroot_local-preseed un fichier sun-java6 avec pour contenu :


Vous voulez un splash screen pour votre clef ? Vous pouvez ajouter à la liste des paquets à installer (ligne LH_PACKAGES du fichier config/chroot) le paquet usplash.

Pour utiliser votre propre thème usplash, copiez dans le répertoire config/chroot_local-includes/usr/lib/usplash/ (répertoires à créer au cas où :wink: ) votre thème avec l’extension *.so

Puis dans /config/chroot_local-hooks/, ajoutez le fichier suivant :

#!/bin/sh update-alternatives --install /usr/lib/usplash/leNomDeVotreTheme.so usplash-artwork.so /usr/lib/usplash/leNomDeVotreTheme.so 80 update-alternatives --auto usplash-artwork.so update-initramfs -u -k all

Appelez-le comme vous voulez et rendez-le executable :

Pour éviter d’obtenir un “screen init failed”, ajoutez un fichier config/chroot_local-includes/etc/usplash.conf avec pour contenu :

[code]# Usplash configuration file

These parameters will only apply after running update-initramfs.

xres=1024
yres=768
[/code]

Si vous n’en avez pas sous la main, en voici un bricolé vite fait :

open-web.fr/lh/usplash-anatomicos.so

Il y en a plein également sur gnome-look ou kde-look.

Je me suis créé une clé USB avec ton tuto, ca marche nickel (avec une squeeze)
J’en ai profité pour rajouter un installateur.

J’ai voulu le tester mais celui-ci plante systématiquement lors de la recherche de cdroms.
En effet, l’installateur doit aller chercher des composants sur le cdrom mais vu que j’ai booté sur une clé, le cd n’est pas présent, ce qui empêche tout installation ou réparation…

Une solution serait de lier la clé avec un point de montage virtuel du cdrom mais je sais pas du tout comment faire ca, ni executer cela systématiquement.

[quote=“eol”]si dans ta commande lh_config tu rajoute l’option

ou dans le fichier /config/binary, tu mets “live” à l’option

ça devrait t’installer ta liste de paquets maison à la place du système de base.[/quote]
Tu as procédé comme ça h2osiden, pour l’installateur ? Sinon essaie et raconte-nous.

Je pense qu’en fait l’installateur essaie d’installer des paquets que tu n’as pas inclus, ce qui serait le même problème que moi à la base : la version installée et la live ne sont pas les mêmes si tu mets juste enabled à LH_DEBIAN_INSTALLER. Donc essaie d’y mettre live comme le conseille le remarquable eol, ça devrait aller mieux.

moi je ne peux pas installer studio-gnome, il cherche gnome-cups-manager, ni studio-kde, car il cherche ardour-gtk, qui n’existent pas sous lenny.

Tant pis, je suis bon pour kde =) de toute façon je préfère, mais il est ( je crois ) plus lourd.
Sachant que ma clef ne fait que 2Go…

Ah au fait, merci.
Il est bien utile ce tuto.
Je commençais à chercher un tuto pour ça, car aujourd’hui je viens de reçevoir de la part de mon département une clef usb, et les lociels made for windows qui étaient sur la clef, ça ne m’interesse pas.
Donc, viens de tomber sur ce tuto bien pratique pour les options.

Enfin bref, merci.

Salut,
Merci à vous pour ce très utile T&A !

Ma participation, pour les fainéants : Live-magic
Le même chose, mais avec juste quelques clics (peut même se faire au clavier pour les allergiques de la souris :mrgreen: tab/enter…)

[quote=“lol”]Ma participation, pour les fainéants : Live-magic
Le même chose, mais avec juste quelques clics (peut même se faire au clavier pour les allergiques de la souris tab/enter…)[/quote]
La même chose mais avec un bon paquet d’options en moins quand même…

[quote=“eol”][quote=“lol”]Ma participation, pour les fainéants : Live-magic
Le même chose, mais avec juste quelques clics (peut même se faire au clavier pour les allergiques de la souris tab/enter…)[/quote]
La même chose mais avec un bon paquet d’options en moins quand même…[/quote]
Pas sur…
Il est possible je pense de préparer une configuration plus personnalisée :

Je suppose (seulement… je n’ai pas essayé) qu’il est possible de personnaliser à souhait…

[quote=“lol”]
Pas sur…
Il est possible je pense de préparer une configuration plus personnalisée :

Je suppose (seulement… je n’ai pas essayé) qu’il est possible de personnaliser à souhait…[/quote]
Oui enfin… Je crois que le principe c’est justement de tout faire à la souris là. Tant qu’à se farcir des commandes de trois lignes, autant se servir de la plus appropriée.

Ok ok … Je crois que le messages est BIEN passé là :mrgreen:

[quote=“L0u!$”]moi je ne peux pas installer studio-gnome, il cherche gnome-cups-manager, ni studio-kde, car il cherche ardour-gtk, qui n’existent pas sous lenny.

Tant pis, je suis bon pour kde =) de toute façon je préfère, mais il est ( je crois ) plus lourd.
Sachant que ma clef ne fait que 2Go…

Ah au fait, merci.
Il est bien utile ce tuto.
Je commençais à chercher un tuto pour ça, car aujourd’hui je viens de reçevoir de la part de mon département une clef usb, et les lociels made for windows qui étaient sur la clef, ça ne m’interesse pas.
Donc, viens de tomber sur ce tuto bien pratique pour les options.

Enfin bref, merci.[/quote]

Salut,

En fait, si. Tout est possible mais ça reste du bricolage.

[ul]Construis ta clé bootable avec les paquets dont tu es sûr que tu pourras les trouver [/ul]
[ul]Ensuite, sur la même clé, tu crées une partition nommée “live-rw”. Tu vas ainsi passer en mode full persistent et tu pourras installer des applications et sauvegarder des préférences de fichier même à la racine[/ul]
[ul]Après avoir testé, t’as plus qu’à renseigner le sources.list ou faire du subversion et en avant mon gars[/ul]

Problème : comment on fait pour changer de noyau lorsqu’il y a un pb grave ? Y a toujours une solution avec ksplice mais très sincèrement, je n’ai pas testé.

Faut voir !

Je pense que le système de live n’est pas pensé pour une utilisation si “poussée”, ça reste un système juste simple à booter de n’importe où pour le dépannage, à mon (humble) avis.

[quote=“seb-ksl”]
[size=150]7) Liens[/size]
Le tuto qui fait du bien[/quote]
Lien mort :

Mais ton t&A fait très bien l’affaire, pas besoin d’un autre… :wink:

Effectivement, paix à son âme. Il reste le document officiel pour ceux qui voudraient aller plus loin.