logo Debian Debian Debian-France Debian-Facile Debian-fr.org Forum-Debian.fr Debian ? Communautés logo inclusivité

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).

#1 09-05-2016 22:55:44

AbdelQahar
Membre
Lieu : Marmande
Distrib. : Arch
(G)UI : i3wm
Inscription : 14-08-2014
Site Web

Live Build + clé USB multibootable

Modeste projet de tuto relatif à une approche automatisé de l'utilisation de live-build, puis création d'une clé USB bootable via grub contenant plusieurs images iso.

On installe le jouet :

apt-get install live-build



On RTFM (on lit le fameux manuel, ou plutôt la documentation en l’occurrence) :


iceweasel /usr/share/doc/live-manual/html/live-manual.fr.html


ou

iceweasel /usr/share/doc/live-manual/html/live-manual/about-manual.fr.html



Quelque citations :

EDIT : AVERTISSMENT !!!
IL EST TRÈS IMPORTANT DE LIRE ATTENTIVEMENT CET SECTION POUR POUVOIR COMPRENDRE CORRECTEMENT LA SUITE.
JE VOUS INVITE ÉGALEMENT À PRATIQUER LES EXEMPLES PROPOSÉS AFIN DE VOUS FAMILIARISER AVEC LA PROCÉDURE.

1.1 Pour les impatients



Mais c'est nous ça !!!

[...]Tout d'abord, lisez ce chapitre À propos de ce manuel dès le début et finissant avec la section Terminologie. Ensuite, passez aux trois tutoriels à l'avant de la section Exemples destinée à vous apprendre la construction de l'image et les bases de la personnalisation. Lisez en premier En utilisant les exemples, puis Tutoriel 1: Une image par défaut, Tutoriel 2: Un logiciel de navigateur Web et finalement Tutoriel 3: Une image personnalisée. À la fin de ces tutoriels, vous aurez un avant-goût de ce qui peut être fait avec les systèmes live. [...]



18.2 Tutoriel 1: Une image par défaut

Cas d'utilisation: Créer une image simple d'abord, en apprenant les bases de live-build.
Dans ce tutoriel, nous construirons une image ISO hybride par défaut contenant uniquement des paquets de base (pas de Xorg) et quelques paquets de prise en charge live, en guise de premier exercice dans l'utilisation de live-build.

Vous ne pouvez pas faire plus simple que cela:

$ mkdir tutorial1 ; cd tutorial1 ; lb config

Examinez le contenu du répertoire config/ si vous le souhaitez. Vous verrez stockés ici une arborescence de configuration, prête à être personnalisée ou, dans ce cas, utilisée immédiatement pour construire une image par défaut.

Maintenant, en tant que superutilisateur, construisez l'image en enregistrant un journal avec tee.

# lb build 2>&1 | tee build.log

En supposant que tout se passe bien, après un certain temps, le répertoire courant contiendra live-image-i386.hybrid.iso. Cette image ISO hybride peut être démarrée directement dans une machine virtuelle comme décrit dans Test d'une image ISO avec QEMU et Test d'une image ISO avec VirtualBox, ou bien copiée sur un support optique ou un périphérique USB comme décrit dans Graver une image ISO sur un support physique et Copie d'un image ISO hybride sur une clé USB, respectivement.


18.3 Tutoriel 2: Un utilitaire d'un navigateur Web

Cas d'utilisation: Créer l'image d'un utilitaire de navigation Web, en apprenant à appliquer des personnalisations.

Dans ce tutoriel, nous allons créer une image utilisable comme un utilitaire de navigation web, ce qui servira d'introduction à la personnalisation d'images live.

$ mkdir tutorial2
$ cd tutorial2
$ lb config
$ echo "task-lxde-desktop iceweasel" >> config/package-lists/my.list.chroot
$ lb config

Notre choix de LXDE pour cet exemple reflète notre volonté de fournir un environnement de bureau minimal, puisque le but de l'image est l'utilisation unique que nous avons à l'esprit, le navigateur web. On pourrait aller encore plus loin et offrir une configuration par défaut pour le navigateur web dans config/includes.chroot/etc/iceweasel/profile/, ou des paquets de prise en charge supplémentaires pour visualiser différents types de contenu web, mais nous laissons cela en exercice pour le lecteur.

Construisez l'image, encore une fois en tant que superutilisateur, et gardez un journal comme dans Tutoriel 1:

# lb build 2>&1 | tee build.log

Encore une fois, vérifiez que l'image est OK et faites un test, comme dans Tutoriel 1:

18.4 Tutoriel 3: Une image personnalisée

Cas d'utilisation: Créer un projet pour construire une image personnalisée, contenant vos logiciels préférés à emporter avec vous sur une clé USB où que vous alliez, et évoluant dans des révisions successives selon les changements de vos besoins et de vos préférences.

Puisque nous allons changer notre image personnalisée pendant un certain nombre de révisions, et que nous voulons suivre ces changements, essayer des choses expérimentalement et éventuellement les annuler si les choses ne fonctionnent pas, nous garderons notre configuration dans le populaire système de contrôle de version git. Nous allons également utiliser les meilleures pratiques d'autoconfiguration via auto scripts tel que décrit dans Gestion d'une configuration.

18.4.1 Première révision

$ mkdir -p tutorial3/auto
$ cp /usr/share/doc/live-build/examples/auto/* tutorial3/auto/
$ cd tutorial3

Éditez auto/config comme suit:

#!/bin/sh

lb config noauto \
     --architectures i386 \
     --linux-flavours 686-pae \
     "${@}"

Exécutez lb config pour générer l'arbre de configuration, en utilisant le script auto/config qu'on a créé:

$ lb config

Remplissez maintenant votre liste de paquets locaux:

$ echo "task-lxde-desktop iceweasel xchat" >> config/package-lists/my.list.chroot

Tout d'abord, --architectures i386 assure que sur notre système de construction amd64, nous construisons une version de 32 bits qui peut être utilisée sur la plupart des machines. Deuxièmement, nous utilisons --linux-flavours 686-pae parce que nous ne prévoyons pas d'utiliser cette image sur des systèmes très anciens. Troisièmement, nous avons choisi le métapaque de la tâche lxde pour nous donner un bureau minimal. Et enfin, nous avons ajouté deux premiers paquets préférés: iceweasel et xchat.

Maintenant, construisez l'image:

# lb build

Notez que contrairement aux deux premiers tutoriels, nous n'avons plus besoin de taper 2>&1 | tee build.log parce que cela est maintenant inclus dans auto/build. [...]



9.1.1 Live/chroot local includes

Les chroot local includes peuvent être utilisés pour ajouter ou remplacer des fichiers dans le système de fichiers chroot/Live afin qu'ils puissent être utilisés dans le système Live. Une utilisation typique est de peupler l'arborescence du répertoire de l'utilisateur (/etc/skel) utilisée par le système live pour créer le répertoire home de l'utilisateur Live. [...]

Pour inclure des fichiers, il suffit de les ajouter à votre répertoire config/includes.chroot. Ce répertoire correspond au répertoire racine / du système live. Par exemple, pour ajouter un fichier /var/www/index.html dans le système live, utilisez:

$ mkdir -p config/includes.chroot/var/www
$ cp /path/to/my/index.html config/includes.chroot/var/www

Votre configuration aura alors le schéma suivant:

-- config
    [...]
     |-- includes.chroot
     |   `-- var
     |       `-- www
     |           `-- index.html
    [...]

Les chroot local includes sont installés après l'installation de paquets de sorte que les fichiers installés par les paquets sont remplacés.



Ce qu'il faut bien comprendre, c'est qu'il faut donc créer dans config/includes.chroot un répertoire etc, puis à l'intérieur un répertoire skel, puis à l'intérieur mettre les fichiers et répertoires cachés contenus dans le /home (ceux commençant par un .) tel que .config pour pouvoir retrouver la même configuration (thème, icônes, fond d'écran, raccourcis, lanceurs personnalisés, tableau de bord...) dans le live de l'iso que celle de son utilisateur courant (et aussi la conserver à l'installation lorsque la bonne option est activée, à savoir "--debian-installer live" ; voir plus bas).

À partir de là...

Dernière modification par AbdelQahar (10-05-2016 10:02:52)

Hors ligne

#2 09-05-2016 23:15:58

AbdelQahar
Membre
Lieu : Marmande
Distrib. : Arch
(G)UI : i3wm
Inscription : 14-08-2014
Site Web

Re : Live Build + clé USB multibootable

Je propose la chose suivante :

mkdir /var/live_build_work
chown $user /var/live_build_work


(Remplacez $user par le nom de votre utilisateur courant)

cd /var/live_build_work
mkdir test-1



Je trouve cela plus propre que de travailler dans le /home...

Et là, voilà ce que je propose, alternativement à git, et qui pour moi a grandement simplifié la gestion des choses (mais ce n'est qu'une proposition...) :

mkdir -p triggers/{auto,scripts}
cp /usr/share/doc/live-build/examples/auto/* triggers/auto/



On se retrouve avec la chose suivante :

ls -R


.:
test-1  triggers

./test-1:

./triggers:
auto  scripts

./triggers/auto:
build  clean  config

./triggers/scripts:
 



De cette manière on centralise les 3 scripts principaux : config, build et clean. On pourra donc les mettre à jour indépendamment de ce qui se passe dans chacun des répertoires de travail que l'on créera par la suite.
Ce qu'on va faire, c'est que l'on va faire des petits scripts qui vont copier coller ces 3 scripts automatiquement dans les répertoires de travail à chaque fois que l'on voudra mettre à jour quelque chose, puis qui nous les afficheront et nous donneront la possibilité de la modifier juste après la copie.

Cela va être plus clair par la suite je pense.

Voyons tout de suite les scripts que j'ai mis au point et qui fonctionnent...

Hors ligne

#3 09-05-2016 23:26:52

AbdelQahar
Membre
Lieu : Marmande
Distrib. : Arch
(G)UI : i3wm
Inscription : 14-08-2014
Site Web

Re : Live Build + clé USB multibootable

Je commence par vous dévoiler ma configuration personnelles des 3 scripts principaux :

config :

#!/bin/sh

# Fichier de configuration Live Build

set -e

lb config noauto \
    --architecture i386 \
    --linux-flavours "686-pae 586" \
    --backports false \
    --binary-images iso \
    --debian-installer live \
    --apt-source-archives false \
    --bootappend-live "boot=live components autologin" \
        "${@}"
 


Pour du 32 bit par défaut, pae et non-pae. (Ne pas oublier autologin !!!)
J'ai préféré une iso classique plutôt qu'une iso hybride. De toute façon on va faire une clé bootable avec grub...
L'option --debian-installer live permet de faire que ce soit le contenu du système live qui soit copié lors de l'installation ! C'est juste génial !

build :

#!/bin/sh

set -e

time -p lb build noauto "${@}" 2>&1 | tee build.log


Il affiche le temps d'exécution en seconde une fois terminé...

clean :

#!/bin/sh

# Fichier de nettoyage Live Build

set -e

lb clean noauto "${@}"

rm -rvf config
rm -vf build.log


Il efface complètement le fichier config, chose que je trouve plus propre, et qui est également plus en harmonie avec la stratégie de scripts "copier-coller-modifier-exécuter" que l'on va mettre en place par la suite.

Dernière modification par AbdelQahar (10-05-2016 16:31:17)

Hors ligne

#4 09-05-2016 23:46:29

AbdelQahar
Membre
Lieu : Marmande
Distrib. : Arch
(G)UI : i3wm
Inscription : 14-08-2014
Site Web

Re : Live Build + clé USB multibootable

On va créer dans triggers un fichier live.list.chroot avec une contenu de ce genre (à modifier selon vos convenance) :

# Liste des paquets supplémentaires à ajouter à l'iso Live Build

# Noyau(x)
linux-image-686-pae
linux-image-586
# Live
live-boot
live-config
live-config-systemd
live-tools
# Tasks
task-xfce-desktop
task-laptop
# Apparence
faenza-icon-theme
fonts-cantarell
murrine-themes
# Bureau
chromium
gigolo
isomaster
klavaro
menulibre
xfce4-whiskermenu-plugin
xpdf
# Système
clamav
baobab
debian-installer-launcher
gksu
gnome-disk-utility
gnome-system-monitor
gparted
synaptic



On va rentrer dans notre répertoire de test :

cd test-1



et maintenant, premier script maison :

sh ../triggers/scripts/prep.sh



Son contenu :

prep.sh :

#!/bin/bash

echo "\nScript de préparation Live Build\n"

# S'il n'existe pas de répertoire auto, le créer
if [ ! -e auto ] || [ ! -d auto ]
then
    mkdir -v auto
fi

cp -v ../triggers/auto/config auto/
editor auto/config
lb config

cp -v ../triggers/live.list.chroot config/package-lists/live.list.chroot
editor config/package-lists/live.list.chroot



Il se trouve donc dans le répertoire scripts, lui-même dans le répertoire triggers. Mais si vous voulez vous organiser autrement parce que cela vous semble tordu., je ne vous en veux pas !

Il va tout simplement crée un repertoire auto s'il n'est pas déjà dans les parages, puis y déposé une version récente du script config en provenance de votre répertoire triggers/auto, puis il va vous l'afficher avec votre éditeur par défaut (vim chez moi) et vous laisser la possibilité de faire un ajustement. Si vous voulez du 64 bit par exemple il vous suffira de remplacer i386 et "i686-pae 586" par amd64.

Puis ensuite il va faire la même chose avec le fichiers live.list.chroot. Si vous voulez une noyau 64 bit, ne gardez qu'une seule ligne et effectuez le même remplacement.

Vous pouvez également mettre "true" pour l'option --backports dans le auto/config puis mettre un noyau plus récent du coup dans le config/package-lists/live.list.chroot (en ce moment c'est le 4.5 dans les backports).

Dernière modification par AbdelQahar (10-05-2016 16:35:25)

Hors ligne

#5 10-05-2016 00:12:45

AbdelQahar
Membre
Lieu : Marmande
Distrib. : Arch
(G)UI : i3wm
Inscription : 14-08-2014
Site Web

Re : Live Build + clé USB multibootable

Et la deuxième scripts maison :

sh ../triggers/scripts/gen.sh



Comment est-il fait ?

gen.sh :

#!/bin/bash

echo "\nScript de génération d'image iso Live Build\n"

mkdir -pv config/includes.chroot/etc/skel
sh ../triggers/scripts/remplissage_home.sh

sudo mkdir -v config/includes.chroot/root
sudo sh ../triggers/scripts/remplissage_root.sh

echo "\nRemplissage de config/includes.chroot effectué"

cp -v ../triggers/auto/build auto/
echo "\nVoulez vous exécuter lb build maintenant ? (O/N)"
read rep2
if [ $rep2 = "O" ]
then
    reset
    sudo lb build
fi



Il fait appelle à deux autres scripts, voilà leur contenu :

remplissage_home.sh :

#!/bin/bash

for file in `cat ../triggers/scripts/remplissage_home.txt`
do
    cp -vpR ~/$file config/includes.chroot/etc/skel/
done



Il va prendre l'ensemble des fichiers du l'utilisateur courant défini dans le fichiers remplissage_home.txt.

Voici ce que j'y ai mis :

.bash_logout
.bashrc
.config
.dmrc
.mozilla
.profile
.vim
.vimrc



Ça pèse 150 Mo à peu près chez moi. À vous de voir ce que vous voulez mettre... Évitez .local, et essayer de ne pas que ça fasse trop, sinon votre iso en sortie va peser trop lourd.

EDIT : La limitie est de 4 Go, ne la dépassez pas. En effet, comme on va faire un clé multibootable formatée en fat 32, il faut tenir compte de l'une des limitations du fat 32 qui est qu'il peut pas accpeter un fichier unique pesant plus de 4 Go.

remplissage_root.sh :


#!/bin/bash

for file in `cat ../triggers/scripts/remplissage_root.txt`
do
    cp -vLR /root/$file config/includes.chroot/root/$file
done

sudo cp -v /etc/bash.bashrc config/includes.chroot/etc/



Même combat :

remplissage_root.txt :


.bashrc
.vim
.vimrc



À vous de cerner les fichiers de configuration qui vous semblent essentiels...

Dernière modification par AbdelQahar (10-05-2016 18:08:10)

Hors ligne

#6 10-05-2016 00:38:05

AbdelQahar
Membre
Lieu : Marmande
Distrib. : Arch
(G)UI : i3wm
Inscription : 14-08-2014
Site Web

Re : Live Build + clé USB multibootable

Après une heure environ (en fonction de la puissance de votre machine et la qualité de votre connexion) vous voilà avec votre iso custom. Essayez-là dans un premier temps avec qemu, comme proposé dans la doc.

Ensuite, si on veut tout nettoyer pour repartir sur une base propre :


sh ../triggers/scripts/clean.sh



Avant de vous dévoiler le contenu un peu de RTFM :

man lb_clean



NAME
       lb clean - Clean build directory

SYNOPSIS
       lb clean [live-build options]

DESCRIPTION
       lb  clean  is  a  high-level command (porcelain) of live-build(7), the live
       systems tool suite.

       lb clean is responsible for cleaning up after a system is built. It removes
       the  build directories, and removes some other files including stage files,
       and any detritus left behind by other live-build commands.

OPTIONS
       In addition to its  specific  options  lb  clean  understands  all  generic
       live-build  options.  See  live-build(7) for a complete list of all generic
       live-build options.

       --all
           removes chroot, binary, stage, and source. The cache directory is kept.
           This  is  the default operation and will be performed if no argument is
           given.

       --cache
           removes the cache directories.

       --chroot
           unmounts and removes the chroot directory.

       --binary
           removes all binary  related  caches,  files,  directories,  and  stages
           files.
       files.

       --purge
           removes everything, including all caches. The config directory is kept.

       --remove
           removes  everything,  including  package cache but not stage cache. The
           config directory is kept.

       --stage
           removes all stage files.

       --source
           removes all source related caches, files, directories, and stage files.

FILES
       auto/clean

SEE ALSO
       live-build(7)

       This program is a part of live-build.
[...]
 



Il est important de bien cerné cela.

clean.sh :

!/bin/bash

echo "\nScript de nettoyage Live Build"

echo "\nFaut-il supprimer chroot/etc/skel ? (O/N)"
read rep1

if [ $rep1 = 'O' ]
then
    sudo rm -rvf chroot/etc/skel
fi

cp -v ../triggers/auto/clean auto/
echo "\nEntrée la commande lb clean qui convient à la situation :"
read clean
sudo $clean
 



C'est en fonction de ce que vous voulez retailler dans votre iso...

J'ai un autre script concernant plus fin sur ce point là en tête, mais je ne l'ai pas encore rédigé ni testé...


Mais bon, allez, pour finir dans la joie et la bonne humeur, pourquoi ne pas chaîner tout ça ???


sh ../triggers/scripts/auto.sh



auto.sh :


#!/bin/bash

reset

sh ../triggers/scripts/clean.sh
sh ../triggers/scripts/prep.sh
sh ../triggers/scripts/gen.sh



Fastoche !

De cette manière, vous pouvez adapter selon vos besoins chaque étape de la génération de votre iso, et améliorer/modifier selon vos besoin/envies chaque script indépendamment les uns des autres (comme dans le modèle OSI pour ceux qui ont fait du réseau).

N'hésitez surtout à faire des backups du répertoire triggers (avec git par exemple, mais lá je ne peut pas vous aider, je ne m'en suis jamais servi... Il faudrait sans doute que je m'y mette...) et à renommer et déplacer systématiquement les iso obtenues !!!



À suivre : la clé multiboot.
En fait, ce sera juste la synthèse du résultat final du topic suivant : https://debian-facile.org/viewtopic.php?id=11493
Mais en étant plus clair et concis, orienté twiki, avec un joli exemple tout beau tout propre in cha Allah.

Dernière modification par AbdelQahar (10-05-2016 00:51:30)

Hors ligne

#7 10-05-2016 07:09:59

Thuban
aka prx
Distrib. : OpenBSD
Noyau : current
(G)UI : cwm
Inscription : 09-01-2009
Site Web

Re : Live Build + clé USB multibootable

Beau boulot smile
Si cela t'intéresse, tu peux consulter les notes de construction d'handylinux, qui est réalisée avec live-build : https://git.framasoft.org/handylinux/ha … O-build.md et https://git.framasoft.org/handylinux/ha … ylinux.odt .
Plus modeste, mais qui parle de session persistante : https://yeuxdelibad.net/Logiciel-libre/ … build.html

Hors ligne

#8 10-05-2016 08:05:31

Severian
Membre
Distrib. : Debian GNU/Linux 9.4 (stretch)
Noyau : Linux 4.14.0-0.bpo.3-amd64
(G)UI : Openbox 3.6.1-4
Inscription : 13-12-2014

Re : Live Build + clé USB multibootable

AbdelQahar a écrit :

Modeste projet de tuto relatif à une approche automatisé de l'utilisation de live-build, puis création d'une clé USB bootable via grub contenant plusieurs images iso.

On installe le jouet :

apt-get install live build



À partir de là...



très beau travail

une petite correction à apporter (post #1)

apt-get install live-build


(ne pas oublier le "-" dans live-build wink

Hors ligne

#9 10-05-2016 10:25:43

AbdelQahar
Membre
Lieu : Marmande
Distrib. : Arch
(G)UI : i3wm
Inscription : 14-08-2014
Site Web

Re : Live Build + clé USB multibootable

@ Thuban :
Merci pour les liens. In cha Allah je les mettrai à la fin du wiki en liens externes.

Tiens d'ailleurs, tu viens de me donner une idée : je vais mettre ici tous les liens utiles sur ce sujet. Cela me fera une archive de documentation. (éventuellement j'éditerai certes parti pour rajouter ou enlevés des liens, ou bien les classer en fonction de leur utilité et de leur qualité).

AVERTISSEMENT : faites attention avec les tutos des version antérieures (wheezy, squeeze), car il y a certaines options de live config qui sont obsolètes...

https://packages.debian.org/jessie/all/ … l/download (pour télécharger le manuel officiel au format html)
http://linuxmao.org/tiki-index.php?page … live-build (très simple et très clair)
https://git.framasoft.org/handylinux/ha … O-build.md
https://git.framasoft.org/handylinux/ha … ylinux.odt
https://yeuxdelibad.net/Logiciel-libre/ … build.html


Par contre, la persistance, je ne suis pas pour. Il y a un certains nombres de désavantages...
Je préfère l'organisation de la distribution Tails : une partition de la clé USB pour l'iso live, et autre une partition (cryptée) pour les données.


@ Severian : Merci, c'est corrigé.



@ tous : Je précise que c'est aussi pour moi que je fais ça. Lorsque  je suis arrivé à un résultat concluant, je me suis dit : la meilleure façon pour ne pas perdre tout ça, c'est  pas de faire des backups : c'est de le poster sur debian-facile ! En plus, ça profitera à d'autres !

Dernière modification par AbdelQahar (10-05-2016 10:28:15)

Hors ligne

#10 10-05-2016 10:29:10

smolski
quasi...modo
Lieu : AIN
Distrib. : backports (buster) 10
Noyau : Linux 4.19.0-8-amd64
(G)UI : gnome
Inscription : 21-10-2008

Re : Live Build + clé USB multibootable

@AbdelQahar

Excellente idée !
Tu peux aussi te créer une page perso dans le wiki df pour ça :
https://debian-facile.org/utilisateurs:utilisateurs

Ce sera mieux que dans un post. smile

saque eud dun (patois chtimi : fonce dedans)

Hors ligne

#11 10-05-2016 10:54:28

AbdelQahar
Membre
Lieu : Marmande
Distrib. : Arch
(G)UI : i3wm
Inscription : 14-08-2014
Site Web

Re : Live Build + clé USB multibootable

Bon comme promis dernière étape : la clé multibootable.

On branche la clé puis on la repère :


blkid -o list


device       fs_type label    mount point      UUID
------------------------------------------------------------------------------------
/dev/mapper/sda6_crypt
             LVM2_member      (in use)         cgROvo-NJ7W-FkNE-Rjkj-Gdhc-cmrB-RCBwR6
/dev/mapper/Debian-Root
             ext4    Root     /                55983c2b-1f05-4999-baf4-4738191e170f
/dev/sda1    ntfs    vista    (not mounted)    50EA4C3AEA4C1F1A
/dev/sda5    ext2    Boot     /boot            aa355a48-3f8b-4408-965b-628a3e7d2c90
/dev/sda6    crypto_LUKS      (in use)         cd2cb288-dbc5-47be-aa87-0e243b22135d
/dev/sda7    ntfs    Data     (not mounted)    443D00D14ED64939
/dev/sda8    swap    LinuxMint-Swap (not mounted) dce0a446-814f-4084-9b27-f7fae6cbc1c0
/dev/sda9    ext4    LinuxMint (not mounted)   4da79dd8-7131-45a5-b4a8-b04dc300f101
/dev/mapper/Debian-Swap
             swap             <swap>           e89eafdd-eca7-4bcf-aba0-cd4dd86a4ea8
/dev/mapper/Debian-Home
             ext4    Home     /home            ab81849a-f215-47d5-822f-f8dadc5456e1
/dev/sdb1    vfat    BLUE     (not mounted)    8A9D-522C
 



Si la clé est déjà formatée (comme c'est le cas ici), on peut faire mieux :

blkid -o list | grep vfat


/dev/sdb1    vfat    BLUE     (not mounted)    8A9D-522C
 




Donc /dev/sdb dans ce cas. Mais si pour vous c'est ailleurs, alors adaptez les commandes suivantes en conséquences...

Bon, on peut reformaté histoire de repartir sur une base propre (attention : toutes les données présentes sur la clé seront effacées ; transférer vos données sur une autre support avant d'exécuter cette commande) :

mkfs.vfat -I /dev/sdb


Cela va créer une nouvelle partition en fat 32 utilisant la totalité de l'espace de la clé.

On va lui donner un petit nom :

fatlabel /dev/sdb1  MULTI-DEB



On monte la clé. Bon, je pense qu'on va le faire en graphique ici (cliquez sur "MULTI-DEB" dans votre gestionnaire de fichiers)
On repère le point de montage, qui devrait être : /media/$user/MULTI-DEB (où $user et votre nom d'utilisateur)
La preuve :


sudo blkid -o list | grep -e vfat -e point


/dev/sdb1    vfat    BLUE     /media/yahya/MULTI-DEB 8A9D-522C



On se place dedans :

cd /media/yahya/MULTI-DEB



Maintenant, on va installer grub dans un dossier boot à la racine de la clé USB :

grub-install --recheck --boot-directory=boot /dev/sdb



Vous pouvez vérifier que cela a fonctionné en inspecter le contenu du répertoire boot (celui de la clé USB je veux dire) :

ls -R boot
 


boot:
grub

boot/grub:
fonts  grubenv  i386-pc  locale

boot/grub/fonts:
unicode.pf2

boot/grub/i386-pc:
915resolution.mod     gcry_whirlpool.mod        password_pbkdf2.mod
acpi.mod              gdb.mod                   pata.mod
adler32.mod           geli.mod                  pbkdf2.mod
affs.mod              gettext.mod               pbkdf2_test.mod
afs.mod               gfxmenu.mod               pcidump.mod
ahci.mod              gfxterm_background.mod    pci.mod
all_video.mod         gfxterm_menu.mod          plan9.mod
aout.mod              gfxterm.mod               play.mod
archelp.mod           gptsync.mod               png.mod
ata.mod               gzio.mod                  priority_queue.mod
at_keyboard.mod       halt.mod                  probe.mod
backtrace.mod         hashsum.mod               procfs.mod
bfs.mod               hdparm.mod                progress.mod
biosdisk.mod          hello.mod                 pxechain.mod
bitmap.mod            help.mod                  pxe.mod
bitmap_scale.mod      hexdump.mod               raid5rec.mod
blocklist.mod         hfs.mod                   raid6rec.mod
boot.img              hfspluscomp.mod           read.mod
boot.mod              hfsplus.mod               reboot.mod
bsd.mod               http.mod                  regexp.mod
btrfs.mod             hwmatch.mod               reiserfs.mod
bufio.mod             iorw.mod                  relocator.mod
cat.mod               iso9660.mod               romfs.mod
cbfs.mod              jfs.mod                   scsi.mod
cbls.mod              jpeg.mod                  search_fs_file.mod
cbmemc.mod            keylayouts.mod            search_fs_uuid.mod
cbtable.mod           keystatus.mod             search_label.mod
cbtime.mod            ldm.mod                   search.mod
chain.mod             legacycfg.mod             sendkey.mod
cmdline_cat_test.mod  legacy_password_test.mod  serial.mod
cmosdump.mod          linux16.mod               setjmp.mod
cmostest.mod          linux.mod                 setjmp_test.mod
cmp.mod               loadenv.mod               setpci.mod
command.lst           loopback.mod              sfs.mod
configfile.mod        lsacpi.mod                signature_test.mod
core.img              lsapm.mod                 sleep.mod
cpio_be.mod           lsmmap.mod                sleep_test.mod
cpio.mod              ls.mod                    spkmodem.mod
cpuid.mod             lspci.mod                 squash4.mod
crc64.mod             luks.mod                  syslinuxcfg.mod
cryptodisk.mod        lvm.mod                   tar.mod
crypto.lst            lzopio.mod                terminal.lst
crypto.mod            macbless.mod              terminal.mod
cs5536.mod            macho.mod                 terminfo.mod
datehook.mod          mda_text.mod              test_blockarg.mod
date.mod              mdraid09_be.mod           testload.mod
datetime.mod          mdraid09.mod              test.mod
diskfilter.mod        mdraid1x.mod              testspeed.mod
disk.mod              memdisk.mod               tftp.mod
div_test.mod          memrw.mod                 tga.mod
dm_nv.mod             minicmd.mod               time.mod
drivemap.mod          minix2_be.mod             trig.mod
echo.mod              minix2.mod                tr.mod
efiemu32.o            minix3_be.mod             truecrypt.mod
efiemu64.o            minix3.mod                true.mod
efiemu.mod            minix_be.mod              udf.mod
ehci.mod              minix.mod                 ufs1_be.mod
elf.mod               mmap.mod                  ufs1.mod
eval.mod              moddep.lst                ufs2.mod
exfat.mod             modinfo.sh                uhci.mod
exfctest.mod          morse.mod                 usb_keyboard.mod
ext2.mod              mpi.mod                   usb.mod
extcmd.mod            msdospart.mod             usbms.mod
fat.mod               multiboot2.mod            usbserial_common.mod
file.mod              multiboot.mod             usbserial_ftdi.mod
font.mod              nativedisk.mod            usbserial_pl2303.mod
freedos.mod           net.mod                   usbserial_usbdebug.mod
fshelp.mod            newc.mod                  usbtest.mod
fs.lst                nilfs2.mod                vbe.mod
functional_test.mod   normal.mod                verify.mod
gcry_arcfour.mod      ntfscomp.mod              vga.mod
gcry_blowfish.mod     ntfs.mod                  vga_text.mod
gcry_camellia.mod     ntldr.mod                 video_bochs.mod
gcry_cast5.mod        odc.mod                   video_cirrus.mod
gcry_crc.mod          offsetio.mod              video_colors.mod
gcry_des.mod          ohci.mod                  video_fb.mod
gcry_dsa.mod          part_acorn.mod            videoinfo.mod
gcry_idea.mod         part_amiga.mod            video.lst
gcry_md4.mod          part_apple.mod            video.mod
gcry_md5.mod          part_bsd.mod              videotest_checksum.mod
gcry_rfc2268.mod      part_dfly.mod             videotest.mod
gcry_rijndael.mod     part_dvh.mod              xfs.mod
gcry_rmd160.mod       part_gpt.mod              xnu.mod
gcry_rsa.mod          partmap.lst               xnu_uuid.mod
gcry_seed.mod         part_msdos.mod            xnu_uuid_test.mod
gcry_serpent.mod      part_plan.mod             xzio.mod
gcry_sha1.mod         part_sun.mod              zfscrypt.mod
gcry_sha256.mod       part_sunpc.mod            zfsinfo.mod
gcry_sha512.mod       parttool.lst              zfs.mod
gcry_tiger.mod        parttool.mod
gcry_twofish.mod      password.mod

boot/grub/locale:
ast.mo        de.mo           en@piglatin.mo  fr.mo  ja.mo  pt_BR.mo  uk.mo
ca.mo         en@arabic.mo    en@quot.mo      gl.mo  lt.mo  ru.mo     vi.mo
da.mo         en@cyrillic.mo  eo.mo           hu.mo  nl.mo  sl.mo     zh_CN.mo
de_CH.mo      en@greek.mo     es.mo           id.mo  pa.mo  sv.mo     zh_TW.mo
de@hebrew.mo  en@hebrew.mo    fi.mo           it.mo  pl.mo  tr.mo
 



Bon maintenant on va placer des iso à la racine de la clé USB, et ont va créer et éditer le fichier boot/grub/grub.cfg pour pouvoir avoir un joli menu nous permettant de lancer l'image iso de notre choix, avec les options de notre choix...

Hors ligne

#12 10-05-2016 11:04:31

AbdelQahar
Membre
Lieu : Marmande
Distrib. : Arch
(G)UI : i3wm
Inscription : 14-08-2014
Site Web

Re : Live Build + clé USB multibootable

En sachant la chose suivante :

Tip: To install debian from any stock install medium on a non-optical medium (e.g. usb stick, HDD), it's necessary to use a different initramfs instead of the default one on the installation medium which is located at (loop)/install.amd/initrd.gz. If you boot with the default one, the installer will unable to find or mount the proper iso image for installation. Please download the initramfs for hard disk installation from an official mirror site, put it in the same directory with the image file and give it a suitable name (debian-7.8.0-amd64-DVD-1.hdd.initrd.gz in this example).



source : https://wiki.archlinux.org/index.php/Mu … ive#Debian

En gros : les images iso de debian on besoin d'un fichier initrd.gz différent pour pouvoir démarrer depuis un support non optique. Il faut alller chercher ce dernier c'est un mirroir debian.

On aurait pu éventuellement essayer l'option --binary-image hdd dans le script config pour éviter cela, sauf que lorsque j'ai essayé (depuis Jessie) j'ai été confronté à des erreurs lors de la génération de l'iso... Point d'interrogation donc. Peut-être que je ressaierai plus tard...

Pour les 32 bit c'est ici :
https://mirrors.kernel.org/debian/dists … /hd-media/

Et pour les 64 bit c'est là :
https://mirrors.kernel.org/debian/dists … /hd-media/

Cliquez simplement sur "initrd.gz" pour télécharger ce fichier, mettez-le sur la racine de la clé USB on lui donnant comme nom : "initrd-i386.gz" pour les iso 32 bit ou "initrd-amd64.gz" pour les iso 64 bit, ça évite de les confondre ou qu'ils ne s'écrasent l'un l'autre si vous voulez avoir des iso des deux architectures sur votre clé MULTI-DEB.

Hors ligne

#13 10-05-2016 11:28:35

AbdelQahar
Membre
Lieu : Marmande
Distrib. : Arch
(G)UI : i3wm
Inscription : 14-08-2014
Site Web

Re : Live Build + clé USB multibootable

On va faire un grub.cfg pour 4 iso :

1 - live custom 32 bit avec deux noyaux : 586 et 686-pae ;
2 - live custom 64 bit ;
3 - le DVD officiel 32 bit ;
4 - le DVD officiel 64 bit.

Ce qui nous fait environ 10 Go voire plus si vous avez mis beaucoup de logiciels et de fichiers de configuration dans vos iso custom.

Voila le fichier que je vous propose :

set timeout=-1

menuentry "##### DEBIAN JESSIE #####"{
 set timeout=-1
}

menuentry "# 1) Custom Live :" {
 set timeout=-1
}

menuentry "- i586" {
  set isofile='/live-image-i386.iso'
  loopback loop $isofile
  linux  (loop)/live/vmlinuz2 boot=live config fromiso=/dev/sdb1/$isofile
  initrd (loop)/live/initrd2.img
}

menuentry "- i686-pae" {
  set isofile='/live-image-i386.iso'
  loopback loop $isofile
  linux  (loop)/live/vmlinuz1 boot=live config fromiso=/dev/sdb1/$isofile
  initrd (loop)/live/initrd1.img
}

menuentry "- amd64" {
  set isofile='/live-image-amd64.iso'
  loopback loop $isofile
  linux  (loop)/live/vmlinuz boot=live config fromiso=/dev/sdb1/$isofile
  initrd (loop)/live/initrd.img
}

menuentry "# 2) Custom Install :" {
 set timeout=-1
}

menuentry "- i386" {
  set isofile='/live-image-i386.iso'
  loopback loop $isofile
  linux (loop)/install/vmlinuz priority=low
  initrd '/initrd-i386.gz'
}

menuentry "- amd64" {
  set isofile='/live-image-amd64.iso'
  loopback loop $isofile
  linux (loop)/install/vmlinuz priority=low
  initrd  '/initrd-amd64.gz'
}

menuentry "# 3) Official DVDs :" {
 set timeout=-1
}

menuentry "- i386" {
  set isofile='/debian-8.4.0-i386-xfce-CD-1.iso'
  loopback loop $isofile
  linux (loop)/install.386/vmlinuz priority=low
  initrd '/initrd-i386.gz'
}

menuentry "- amd64" {
  set isofile='/debian-8.4.0-amd64-DVD-1.iso'
  loopback loop $isofile
  linux (loop)/install.amd/vmlinuz priority=low
  initrd '/initrd-amd64.gz'
}


Pour l'essayer avec simplicité démonter la clé une fois le grub.cfg éditer et utiliser qemu :

umount /dev/sdb1
qemu-system-i386 -hdc /dev/sdb


En ayant d'abord installer qemu comme suit :


apt-get install qemu-system-x86


Pas besoin d'installer la totale qemu dans le cas qui nous occupe.

Dernière modification par AbdelQahar (10-05-2016 11:58:00)

Hors ligne

#14 10-05-2016 11:48:39

AbdelQahar
Membre
Lieu : Marmande
Distrib. : Arch
(G)UI : i3wm
Inscription : 14-08-2014
Site Web

Re : Live Build + clé USB multibootable

Pour un installation en mode graphique, dupliquez un entrée de type install, changer le titre (ou réorganiser les sections) et remplacez la ligne

  linux (loop)/install/vmlinuz priority=low


par :

  linux (loop)/install/gtk/vmlinuz priority=low



Pour le mode rescue, même combat mais avec un entrée DVD par contre (j'ai l'impression que cette option n'est pas présente pour les iso custom) :

  linux (loop)/install/vmlinuz priority=low rescue/enable=true


Pour le mode rescue en mode graphique :

  linux (loop)/install/gtk/vmlinuz priority=low rescue/enable=true


Pour l'installation automatisée :

  linux (loop)/install/vmlinuz auto=true priority=critical


Automatisée en mode graphique :

  linux (loop)/install/gtk/vmlinuz auto=true priority=critical


Pour la synthèse vocale :

  linux (loop)/install/vmlinuz priority=low speakup.synth=soft

Hors ligne

#15 10-05-2016 11:56:39

AbdelQahar
Membre
Lieu : Marmande
Distrib. : Arch
(G)UI : i3wm
Inscription : 14-08-2014
Site Web

Re : Live Build + clé USB multibootable

Vous avez peut-être remarqué que j'utilise systématiquement le mode expert (priority=low) pour les entrées install.
Ce n'est pas pour rien ; si vous lancer l'installation en mode normal, arrivé à l'étape de détection de l'iso, l'installateur va se mettre à monter TOUTES les partitions qu'il a à sa disposition pour voir s'il n'y a pas une iso à la racine, ce qui fait perdre du temps...
Tandis qu'en mode expert, il vous proposera de définir un partition sur laquelle chercher, vous définissez alors la bonne (/dev/sdb1 pour moi) et il vous donnera le choix entre celle qu'il a trouvée (celle que vous aurez mis à la racine de la clé USB et qui sont de la même architecture que le noyau de l'installateur que vous avez lancé).
Une fois passer cette étape vous pouvez à votre guise aller dans le menu "changer les priorités des questions de configuration" (ou quelque chose comme ça) et repassé sur "élevée" (mode standart)

De même vous aussi avez sans doute remarqué l'option fromiso=/dev/sdb1/$isofile pour les entrées live.
Le concept est le même : sans cela toutes les partitions seront monté et inspectées pour voir s'il n'y a pas un iso à lancer pour le live. (Chez moi ça ne fait pas que ralentir l'opération : ça ne boot pas du tout !!! Donc il faut penser à mettre cette option).

Dernière modification par AbdelQahar (10-05-2016 11:59:54)

Hors ligne

#16 10-05-2016 13:08:36

AbdelQahar
Membre
Lieu : Marmande
Distrib. : Arch
(G)UI : i3wm
Inscription : 14-08-2014
Site Web

Re : Live Build + clé USB multibootable

@ smolski

Je connaissais pas ! C'est vachement pratique !
C'est marrant parce que justement, souvent j'ai besoin de revenir sur certains de mes topics pour aller chercher de la doc ou des liens, donc à chaque fois j'allais sur l'option recherche par auteur et je tapais mon pseudo pour tout trouver.

Mais là c'est beaucoup plus pratique :

https://debian-facile.org/utilisateurs: … ens-utiles

Merci Debian-Facile !

Hors ligne

#17 10-05-2016 14:35:18

AbdelQahar
Membre
Lieu : Marmande
Distrib. : Arch
(G)UI : i3wm
Inscription : 14-08-2014
Site Web

Re : Live Build + clé USB multibootable

On va faire une petite explication de fonctionnement des 3 scripts principaux (config, build et clean) de manière à bien comprendre la procédure.

On va se placer de le cadre suivant :

18.2 Tutoriel 1: Une image par défaut

Cas d'utilisation: Créer une image simple d'abord, en apprenant les bases de live-build.
Dans ce tutoriel, nous construirons une image ISO hybride par défaut contenant uniquement des paquets de base (pas de Xorg) et quelques paquets de prise en charge live, en guise de premier exercice dans l'utilisation de live-build.

Vous ne pouvez pas faire plus simple que cela:

$ mkdir tutorial1 ; cd tutorial1 ; lb config

Examinez le contenu du répertoire config/ si vous le souhaitez. Vous verrez stockés ici une arborescence de configuration, prête à être personnalisée ou, dans ce cas, utilisée immédiatement pour construire une image par défaut.

Maintenant, en tant que superutilisateur, construisez l'image en enregistrant un journal avec tee.

# lb build 2>&1 | tee build.log


source : la doc officielle (voir post1)

Donc, on commence par :

mkdir tutorial1 ; cd tutorial1 ; lb config


[2016-05-10 15:24:45] lb config
P: Creating config tree for a debian/jessie/amd64 system
P: Symlinking hooks...
 


(C'est parce que je l'ai lancé depuis un système 64 bit)

Voilà le résultat :

ls -AR


.:
auto  .build  config  local

./auto:

./.build:
config

./config:
apt        chroot            includes.binary     package-lists    rootfs
archives   common            includes.bootstrap  packages         source
binary     debian-installer  includes.chroot     packages.binary
bootstrap  hooks             includes.installer  packages.chroot
build      includes          includes.source     preseed

./config/apt:

./config/archives:

./config/debian-installer:

./config/hooks:
0010-disable-kexec-tools.hook.chroot
0020-create-mtab-symlink.hook.chroot
0100-remove-adjtime-configuration.hook.chroot
0110-remove-backup-files.hook.chroot
0120-remove-dbus-machine-id.hook.chroot
0130-remove-gnome-icon-cache.hook.chroot
0140-remove-log-files.hook.chroot
0150-remove-mdadm-configuration.hook.chroot
0160-remove-openssh-server-host-keys.hook.chroot
0170-remove-python-py.hook.chroot
0180-remove-systemd-machine-id.hook.chroot
0190-remove-temporary-files.hook.chroot
0195-remove-ssl-cert-snakeoil.hook.chroot
0200-remove-udev-persistent-cd-rules.hook.chroot
0300-remove-udev-persistent-net-rules.hook.chroot
0400-update-apt-file-cache.hook.chroot
0410-update-apt-xapian-index.hook.chroot
0420-update-glx-alternative.hook.chroot
0430-update-mlocate-database.hook.chroot
0440-update-nvidia-alternative.hook.chroot

./config/includes:

./config/includes.binary:

./config/includes.bootstrap:

./config/includes.chroot:

./config/includes.installer:

./config/includes.source:

./config/package-lists:
live.list.chroot

./config/packages:

./config/packages.binary:

./config/packages.chroot:

./config/preseed:

./config/rootfs:

./local:
bin

./local/bin:
 


On se retrouve avec toute cette arborescence là.

Le fichier où indiquer les paquets supplémentaires souhaités est : /config/package-lists/live.list.chroot
Son contenu par défaut :

live-boot
live-config
live-config-systemd


Il n'y a qu'à ajouter ce que l'on veut.

Le fichier où ajouter les fichiers supplémentaires est : /config/includes.chroot
On peut créer un répertoire /etc/skel ou mettre les fichier de configuration pour l'user live :

mkdir -p /config/includes.chroot/etc/skel


Ensuite, on peut aller coller en graphique copier/coller ce que l'on a besoin depuis son répertoire utilisateur (.config, .mozilla, .vimrc, .vim/, ou bien .emacs et .emacs.d/ pour ceux qui utilisent emacs...)

Voilà, de cette manière je pense que c'est très clair pour lb config.

Dernière modification par AbdelQahar (10-05-2016 16:16:59)

Hors ligne

#18 10-05-2016 14:43:13

AbdelQahar
Membre
Lieu : Marmande
Distrib. : Arch
(G)UI : i3wm
Inscription : 14-08-2014
Site Web

Re : Live Build + clé USB multibootable

Maintenant lb build :

lb build 2>&1 | tee build.log


[2016-05-10 15:39:18] lb build
P: live-build 4.0.3
P: Building config tree for a debian/jessie/amd64 system
[2016-05-10 15:39:18] lb bootstrap
P: Setting up cleanup function
[2016-05-10 15:39:18] lb bootstrap_cache restore
P: Restoring bootstrap stage from cache...
[2016-05-10 15:39:18] lb bootstrap_cdebootstrap
[2016-05-10 15:39:18] lb bootstrap_debootstrap
P: Begin bootstrapping system...
P: If the following stage fails, the most likely cause of the problem is with your mirror configuration or a caching proxy.
P: Running debootstrap (download-only)...
I: Retrieving Release
I: Retrieving Release.gpg
I: Checking Release signature
I: Valid Release signature (key id 75DDC3C4A499F1A18CB5F3C8CBF8D6FD518E17E1)
I: Retrieving Packages
I: Validating Packages
I: Resolving dependencies of required packages...
I: Resolving dependencies of base packages...
 


À ce niveau-là va être créé un répertoire chroot dans laquelle la Debian minimale va être install via bootstrap.

I: Found additional required dependencies: acl adduser dmsetup insserv libaudit-common libaudit1 libbz2-1.0 libcap2 libcap2-bin libcryptsetup4 libdb5.3 libdebconfclient0 libdevmapper1.02.1 libgcrypt20 libgpg-error0 libkmod2 libncursesw5 libprocps3 libsemanage-common libsemanage1 libslang2 libsystemd0 libudev1 libustr-1.0-1 procps systemd systemd-sysv udev
I: Found additional base dependencies: libdns-export100 libffi6 libgmp10 libgnutls-deb0-28 libgnutls-openssl27 libhogweed2 libicu52 libidn11 libirs-export91 libisc-export95 libisccfg-export90 libmnl0 libnetfilter-acct1 libnettle4 libnfnetlink0 libp11-kit0 libpsl0 libtasn1-6
I: Checking component main on http://ftp.debian.org/debian...
I: Retrieving acl 2.2.52-2
I: Validating acl 2.2.52-2
I: Retrieving libacl1 2.2.52-2
I: Validating libacl1 2.2.52-2
I: Retrieving adduser 3.113+nmu3
I: Validating adduser 3.113+nmu3
I: Retrieving apt 1.0.9.8.3
I: Validating apt 1.0.9.8.3
I: Retrieving apt-utils 1.0.9.8.3
I: Validating apt-utils 1.0.9.8.3
I: Retrieving libapt-inst1.5 1.0.9.8.3
 


[...]


I: Validating liblzma5 5.1.1alpha+20120614-2+b3
I: Retrieving zlib1g 1:1.2.8.dfsg-2+b1
I: Validating zlib1g 1:1.2.8.dfsg-2+b1
P: If the following stage fails, the most likely cause of the problem is with your mirror configuration or a caching proxy.
P: Running debootstrap...
I: Retrieving Release
I: Retrieving Release.gpg
I: Checking Release signature
I: Valid Release signature (key id 75DDC3C4A499F1A18CB5F3C8CBF8D6FD518E17E1)
I: Validating Packages
I: Resolving dependencies of required packages...
 


Ici va être créer un dossier cache dans lequelle vont sont trouver tous les paquets .deb. Cela permettra plus tard de refaire le chroot avec deboostrap sans avoir à tout retélécharger.

I: Resolving dependencies of base packages...
I: Found additional required dependencies: acl adduser dmsetup insserv libaudit-common libaudit1 libbz2-1.0 libcap2 libcap2-bin libcryptsetup4 libdb5.3 libdebconfclient0 libdevmapper1.02.1 libgcrypt20 libgpg-error0 libkmod2 libncursesw5 libprocps3 libsemanage-common libsemanage1 libslang2 libsystemd0 libudev1 libustr-1.0-1 procps systemd systemd-sysv udev
I: Found additional base dependencies: libdns-export100 libffi6 libgmp10 libgnutls-deb0-28 libgnutls-openssl27 libhogweed2 libicu52 libidn11 libirs-export91 libisc-export95 libisccfg-export90 libmnl0 libnetfilter-acct1 libnettle4 libnfnetlink0 libp11-kit0 libpsl0 libtasn1-6
I: Checking component main on http://ftp.debian.org/debian...
I: Validating acl 2.2.52-2
I: Validating libacl1 2.2.52-2
I: Validating adduser 3.113+nmu3
I: Validating apt 1.0.9.8.3
I: Validating apt-utils 1.0.9.8.3
I: Validating libapt-inst1.5 1.0.9.8.3
I: Validating libapt-pkg4.12 1.0.9.8.3
I: Validating libattr1 1:2.4.47-2
 


[...]

On va laisser travailler la commande tranquillement un certain temps

Dernière modification par AbdelQahar (10-05-2016 14:50:49)

Hors ligne

#19 10-05-2016 15:04:55

AbdelQahar
Membre
Lieu : Marmande
Distrib. : Arch
(G)UI : i3wm
Inscription : 14-08-2014
Site Web

Re : Live Build + clé USB multibootable

[...]

[2016-05-10 15:56:41] lb binary
P: Setting up cleanup function
[2016-05-10 15:56:41] lb binary_chroot
P: Begin copying chroot...
P: This may take a while.
[2016-05-10 15:56:55] lb chroot_devpts install
P: Begin mounting /dev/pts...
[2016-05-10 15:56:56] lb chroot_proc install
P: Begin mounting /proc...
[2016-05-10 15:56:56] lb chroot_selinuxfs install
[2016-05-10 15:56:56] lb chroot_sysfs install
P: Begin mounting /sys...
[2016-05-10 15:56:56] lb chroot_hosts install
P: Configuring file /etc/hosts
[2016-05-10 15:56:56] lb chroot_resolv install
P: Configuring file /etc/resolv.conf
[2016-05-10 15:56:56] lb chroot_hostname install
P: Configuring file /etc/hostname
P: Configuring file /bin/hostname
[2016-05-10 15:56:56] lb chroot_sysv-rc install
P: Configuring file /usr/sbin/policy-rc.d
[2016-05-10 15:56:56] lb chroot_upstart install
[2016-05-10 15:56:57] lb chroot_apt install-binary
P: Configuring file /etc/apt/apt.conf
[2016-05-10 15:56:57] lb chroot_archives chroot install
P: Configuring file /etc/apt/sources.list
Ign http://ftp.debian.org jessie InRelease
Hit http://ftp.debian.org jessie Release.gpg
Hit http://ftp.debian.org jessie Release
Get:1 http://ftp.debian.org jessie/main Sources [7059 kB]
Hit http://ftp.debian.org jessie/main amd64 Packages
Hit http://ftp.debian.org jessie/main Translation-en
Fetched 7059 kB in 6s (1167 kB/s)
Reading package lists...
Reading package lists...
Building dependency tree...
debian-archive-keyring is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Ign http://ftp.debian.org jessie InRelease
Hit http://ftp.debian.org jessie Release.gpg
Hit http://ftp.debian.org jessie Release
Hit http://ftp.debian.org jessie/main Sources
Hit http://ftp.debian.org jessie/main amd64 Packages
Hit http://ftp.debian.org jessie/main Translation-en
Reading package lists...
Reading package lists...
Building dependency tree...
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Reading package lists...
Building dependency tree...
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Reading package lists...
Building dependency tree...
[2016-05-10 15:57:17] lb binary_rootfs
P: Begin building root filesystem image...
Reading package lists...
Building dependency tree...
The following extra packages will be installed:
  liblzo2-2
The following NEW packages will be installed:
  liblzo2-2 squashfs-tools
0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded.
Need to get 151 kB of archives.
After this operation, 392 kB of additional disk space will be used.
Get:1 http://ftp.debian.org/debian/ jessie/main liblzo2-2 amd64 2.08-1.2 [54.6 kB]
Get:2 http://ftp.debian.org/debian/ jessie/main squashfs-tools amd64 1:4.2+20130409-2 [96.1 kB]
Fetched 151 kB in 0s (568 kB/s)
                               Selecting previously unselected package liblzo2-2:amd64.
(Reading database ... 9741 files and directories currently installed.)
Preparing to unpack .../liblzo2-2_2.08-1.2_amd64.deb ...
Unpacking liblzo2-2:amd64 (2.08-1.2) ...
Selecting previously unselected package squashfs-tools.
Preparing to unpack .../squashfs-tools_1%3a4.2+20130409-2_amd64.deb ...
Unpacking squashfs-tools (1:4.2+20130409-2) ...
Processing triggers for man-db (2.7.0.2-5) ...
Setting up liblzo2-2:amd64 (2.08-1.2) ...
Setting up squashfs-tools (1:4.2+20130409-2) ...
Processing triggers for libc-bin (2.19-18+deb8u4) ...
P: Preparing squashfs image...
P: This may take a while.
 


Ici va être créer un répertoire binary qui va servie à généré l'image iso. Tout d'abord, le chroot va être comprimer dans un squashfs (méthode de compression xz) qui sera le système live. Pendant que cette partie (This may take a while.) le squashfs être en train d'être créé dans le répertoire chroot sous le nom "filesystem.squashfs". Vous pouvez suivre son évolution en mode graphique pour le voir grossir. Il sera ensuite déplacé vers le répertoire binary.

Parallel mksquashfs: Using 2 processors
Creating 4.0 filesystem on filesystem.squashfs, block size 131072.

Exportable Squashfs 4.0 filesystem, xz compressed, data block size 131072
  compressed data, compressed metadata, compressed fragments, compressed xattrs
  duplicates are removed
Filesystem size 180312.99 Kbytes (176.09 Mbytes)
  30.71% of uncompressed filesystem size (587079.32 Kbytes)
Inode table size 166110 bytes (162.22 Kbytes)
  25.93% of uncompressed inode table size (640623 bytes)
Directory table size 165122 bytes (161.25 Kbytes)
  41.63% of uncompressed directory table size (396625 bytes)
Xattr table size 78 bytes (0.08 Kbytes)
  97.50% of uncompressed xattr table size (80 bytes)
Number of duplicate files found 407
Number of inodes 19056
Number of files 14913
Number of fragments 1647
Number of symbolic links  1887
Number of device nodes 37
Number of fifo nodes 0
Number of socket nodes 0
Number of directories 2219
Number of ids (unique uids + gids) 12
Number of uids 2
  root (0)
  man (6)
Number of gids 12
  root (0)
  tty (5)
  kmem (15)
  disk (6)
  shadow (42)
  netdev (108)
  utmp (43)
  crontab (107)
  unknown (110)
  staff (50)
  adm (4)
  mail (8)
[2016-05-10 16:03:38] lb chroot_archives binary remove
P: Deconfiguring file /etc/apt/sources.list
Ign http://http.debian.net jessie InRelease
Get:1 http://http.debian.net jessie Release.gpg [2373 B]
Get:2 http://http.debian.net jessie Release [148 kB]
Get:3 http://http.debian.net jessie/main Sources [7059 kB]
Get:4 http://http.debian.net jessie/main amd64 Packages [6763 kB]
Get:5 http://http.debian.net jessie/main Translation-en [4581 kB]
Fetched 18.6 MB in 12s (1472 kB/s)
Reading package lists...
 


[...]

Hors ligne

#20 10-05-2016 15:13:52

AbdelQahar
Membre
Lieu : Marmande
Distrib. : Arch
(G)UI : i3wm
Inscription : 14-08-2014
Site Web

Re : Live Build + clé USB multibootable

[...]

The following extra packages will be installed:
  adwaita-icon-theme dconf-gsettings-backend dconf-service fontconfig
  fontconfig-config fonts-dejavu-core glib-networking glib-networking-common
  glib-networking-services gsettings-desktop-schemas hicolor-icon-theme
  libatk-bridge2.0-0 libatk1.0-0 libatk1.0-data libatspi2.0-0 libavahi-client3
  libavahi-common-data libavahi-common3 libcairo-gobject2 libcairo2 libcolord2
  libcroco3 libcups2 libdatrie1 libdconf1 libfontconfig1 libfreetype6
  libgdk-pixbuf2.0-0 libgdk-pixbuf2.0-common libgraphite2-3 libgssapi-krb5-2
  libgtk-3-0 libgtk-3-bin libgtk-3-common libharfbuzz0b libjasper1 libjbig0
  libjpeg62-turbo libjson-glib-1.0-0 libjson-glib-1.0-common libk5crypto3
  libkeyutils1 libkrb5-3 libkrb5support0 liblcms2-2 libpango-1.0-0
  libpangocairo-1.0-0 libpangoft2-1.0-0 libpixman-1-0 libpng12-0 libproxy1
  librest-0.7-0 librsvg2-2 librsvg2-common libsoup-gnome2.4-1 libsoup2.4-1
  libsqlite3-0 libthai-data libthai0 libtiff5 libwayland-client0
  libwayland-cursor0 libx11-6 libx11-data libxau6 libxcb-render0 libxcb-shm0
  libxcb1 libxcomposite1 libxcursor1 libxdamage1 libxdmcp6 libxext6 libxfixes3
  libxi6 libxinerama1 libxkbcommon0 libxrandr2 libxrender1 ucf xkb-data
Suggested packages:
  xorriso cups-common krb5-doc krb5-user gvfs libjasper-runtime liblcms2-utils
Recommended packages:
  at-spi2-core colord krb5-locales
The following NEW packages will be installed:
  adwaita-icon-theme dconf-gsettings-backend dconf-service fontconfig
  fontconfig-config fonts-dejavu-core glib-networking glib-networking-common
  glib-networking-services gsettings-desktop-schemas hicolor-icon-theme
  isolinux libatk-bridge2.0-0 libatk1.0-0 libatk1.0-data libatspi2.0-0
  libavahi-client3 libavahi-common-data libavahi-common3 libcairo-gobject2
  libcairo2 libcolord2 libcroco3 libcups2 libdatrie1 libdconf1 libfontconfig1
  libfreetype6 libgdk-pixbuf2.0-0 libgdk-pixbuf2.0-common libgraphite2-3
  libgssapi-krb5-2 libgtk-3-0 libgtk-3-bin libgtk-3-common libharfbuzz0b
  libjasper1 libjbig0 libjpeg62-turbo libjson-glib-1.0-0
  libjson-glib-1.0-common libk5crypto3 libkeyutils1 libkrb5-3 libkrb5support0
  liblcms2-2 libpango-1.0-0 libpangocairo-1.0-0 libpangoft2-1.0-0
  libpixman-1-0 libpng12-0 libproxy1 librest-0.7-0 librsvg2-2 librsvg2-bin
  librsvg2-common libsoup-gnome2.4-1 libsoup2.4-1 libsqlite3-0 libthai-data
  libthai0 libtiff5 libwayland-client0 libwayland-cursor0 libx11-6 libx11-data
  libxau6 libxcb-render0 libxcb-shm0 libxcb1 libxcomposite1 libxcursor1
  libxdamage1 libxdmcp6 libxext6 libxfixes3 libxi6 libxinerama1 libxkbcommon0
  libxrandr2 libxrender1 syslinux-common ucf xkb-data
0 upgraded, 84 newly installed, 0 to remove and 0 not upgraded.
Need to get 30.0 MB of archives.
After this operation, 92.6 MB of additional disk space will be used.
Get:1 http://ftp.debian.org/debian/ jessie/main libkeyutils1 amd64 1.5.9-5+b1 [12.0 kB]
Get:2 http://ftp.debian.org/debian/ jessie/main libkrb5support0 amd64 1.12.1+dfsg-19+deb8u2 [59.1 kB]
Get:3 http://ftp.debian.org/debian/ jessie/main libk5crypto3 amd64 1.12.1+dfsg-19+deb8u2 [115 kB]
Get:4 http://ftp.debian.org/debian/ jessie/main libkrb5-3 amd64 1.12.1+dfsg-19+deb8u2 [303 kB]
Get:5 http://ftp.debian.org/debian/ jessie/main libgssapi-krb5-2 amd64 1.12.1+dfsg-19+deb8u2 [152 kB]
Get:6 http://ftp.debian.org/debian/ jessie/main libsqlite3-0 amd64 3.8.7.1-1+deb8u1 [438 kB]
Get:7 http://ftp.debian.org/debian/ jessie/main libpng12-0 amd64 1.2.50-2+deb8u2 [173 kB]
 


[...]

Un certains nombre de paquets vont être télécharger pour pouvoir finaliser l'image iso (isolinux surtout !)
À l'issue de l'installation on aura un répertoire isolinux dans notre répertoire binary pour pouvoir faire booter notre système live squashfs

[...]

xorriso 1.3.2 : RockRidge filesystem manipulator, libburnia project.

Drive current: -outdev 'stdio:live-image-amd64.hybrid.iso'
Media current: stdio file, overwriteable
Media status : is blank
Media summary: 0 sessions, 0 data blocks, 0 data, 17.8g free
xorriso : NOTE : -as mkisofs: Ignored option '-cache-inodes'
xorriso : WARNING : -volid text problematic as automatic mount point name
xorriso : WARNING : -volid text is too long for Joliet (28 > 16)
xorriso : WARNING : -volid text does not comply to ISO 9660 / ECMA 119 rules
Added to ISO image: directory '/'='/binary'
xorriso : UPDATE : 24 files added in 1 seconds
xorriso : UPDATE : 24 files added in 1 seconds
xorriso : NOTE : Copying to System Area: 432 bytes from file '/usr/lib/ISOLINUX/isohdpfx.bin'
libisofs: NOTE : Aligned image size to cylinder size by 83 blocks
xorriso : UPDATE :  7.73% done
xorriso : UPDATE :  23.19% done
xorriso : UPDATE :  38.65% done, estimate finish Tue May 10 14:08:57 2016
xorriso : UPDATE :  61.84% done, estimate finish Tue May 10 14:08:56 2016
xorriso : UPDATE :  77.29% done, estimate finish Tue May 10 14:08:57 2016
xorriso : UPDATE :  92.75% done
ISO image produced: 105984 sectors
Written to medium : 105984 sectors at LBA 0
Writing to 'stdio:live-image-amd64.hybrid.iso' completed successfully.
 


Et voilà ! notre iso est prète ! Dernière étape de lb build : zsync (je ne sais pas à quoi ça sert...)

The following packages will be REMOVED:
  isolinux* xorriso*
0 upgraded, 0 newly installed, 2 to remove and 0 not upgraded.
                                                              After this operation, 249 kB disk space will be freed.
(Reading database ... 21970 files and directories currently installed.)
Removing isolinux (3:6.03+dfsg-5+deb8u1) ...
Removing xorriso (1.3.2-1.1) ...
Processing triggers for man-db (2.7.0.2-5) ...
[2016-05-10 16:09:02] lb binary_netboot
[2016-05-10 16:09:02] lb binary_tar
[2016-05-10 16:09:02] lb binary_hdd
[2016-05-10 16:09:02] lb binary_zsync
P: Begin building zsync control files...
Reading package lists...
Building dependency tree...
Reading state information...
The following packages were automatically installed and are no longer required:
  adwaita-icon-theme dconf-gsettings-backend dconf-service fontconfig
  fontconfig-config fonts-dejavu-core glib-networking glib-networking-common
  glib-networking-services gsettings-desktop-schemas hicolor-icon-theme
  libatk-bridge2.0-0 libatk1.0-0 libatk1.0-data libatspi2.0-0 libavahi-client3
  libavahi-common-data libavahi-common3 libburn4 libcairo-gobject2 libcairo2
  libcolord2 libcroco3 libcups2 libdatrie1 libdconf1 libfontconfig1
  libfreetype6 libgdk-pixbuf2.0-0 libgdk-pixbuf2.0-common libgraphite2-3
  libgssapi-krb5-2 libgtk-3-0 libgtk-3-bin libgtk-3-common libharfbuzz0b
  libisoburn1 libisofs6 libjasper1 libjbig0 libjpeg62-turbo libjson-glib-1.0-0
  libjson-glib-1.0-common libjte1 libk5crypto3 libkeyutils1 libkrb5-3
  libkrb5support0 liblcms2-2 libpango-1.0-0 libpangocairo-1.0-0
  libpangoft2-1.0-0 libpixman-1-0 libproxy1 librest-0.7-0 librsvg2-2
  librsvg2-common libsoup-gnome2.4-1 libsoup2.4-1 libsqlite3-0 libthai-data
  libthai0 libtiff5 libwayland-client0 libwayland-cursor0 libx11-6 libx11-data
  libxau6 libxcb-render0 libxcb-shm0 libxcb1 libxcomposite1 libxcursor1
  libxdamage1 libxdmcp6 libxext6 libxfixes3 libxi6 libxinerama1 libxkbcommon0
  libxrandr2 libxrender1 ucf xkb-data
Use 'apt-get autoremove' to remove them.
The following NEW packages will be installed:
  zsync
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 115 kB of archives.
After this operation, 250 kB of additional disk space will be used.
Get:1 http://ftp.debian.org/debian/ jessie/main zsync amd64 0.6.2-1 [115 kB]
Fetched 115 kB in 0s (471 kB/s)
                               Selecting previously unselected package zsync.
(Reading database ... 21942 files and directories currently installed.)
Preparing to unpack .../zsync_0.6.2-1_amd64.deb ...
Unpacking zsync (0.6.2-1) ...
Processing triggers for man-db (2.7.0.2-5) ...
Setting up zsync (0.6.2-1) ...
Reading package lists...
Building dependency tree...
Reading state information...
Reading package lists...
Building dependency tree...
Reading state information...
The following packages were automatically installed and are no longer required:
  adwaita-icon-theme dconf-gsettings-backend dconf-service fontconfig
  fontconfig-config fonts-dejavu-core glib-networking glib-networking-common
  glib-networking-services gsettings-desktop-schemas hicolor-icon-theme
  libatk-bridge2.0-0 libatk1.0-0 libatk1.0-data libatspi2.0-0 libavahi-client3
  libavahi-common-data libavahi-common3 libburn4 libcairo-gobject2 libcairo2
  libcolord2 libcroco3 libcups2 libdatrie1 libdconf1 libfontconfig1
  libfreetype6 libgdk-pixbuf2.0-0 libgdk-pixbuf2.0-common libgraphite2-3
  libgssapi-krb5-2 libgtk-3-0 libgtk-3-bin libgtk-3-common libharfbuzz0b
  libisoburn1 libisofs6 libjasper1 libjbig0 libjpeg62-turbo libjson-glib-1.0-0
  libjson-glib-1.0-common libjte1 libk5crypto3 libkeyutils1 libkrb5-3
  libkrb5support0 liblcms2-2 libpango-1.0-0 libpangocairo-1.0-0
  libpangoft2-1.0-0 libpixman-1-0 libproxy1 librest-0.7-0 librsvg2-2
  librsvg2-common libsoup-gnome2.4-1 libsoup2.4-1 libsqlite3-0 libthai-data
  libthai0 libtiff5 libwayland-client0 libwayland-cursor0 libx11-6 libx11-data
  libxau6 libxcb-render0 libxcb-shm0 libxcb1 libxcomposite1 libxcursor1
  libxdamage1 libxdmcp6 libxext6 libxfixes3 libxi6 libxinerama1 libxkbcommon0
  libxrandr2 libxrender1 ucf xkb-data
Use 'apt-get autoremove' to remove them.
The following packages will be REMOVED:
  zsync*
0 upgraded, 0 newly installed, 1 to remove and 0 not upgraded.
                                                              After this operation, 250 kB disk space will be freed.
(Reading database ... 21952 files and directories currently installed.)
Removing zsync (0.6.2-1) ...
Processing triggers for man-db (2.7.0.2-5) ...
[2016-05-10 16:13:02] lb chroot_apt remove
P: Deconfiguring file /etc/apt/apt.conf
[2016-05-10 16:13:02] lb chroot_hostname remove
P: Deconfiguring file /etc/hostname
P: Deconfiguring file /bin/hostname
[2016-05-10 16:13:02] lb chroot_resolv remove
P: Deconfiguring file /etc/resolv.conf
[2016-05-10 16:13:03] lb chroot_hosts remove
P: Deconfiguring file /etc/hosts
[2016-05-10 16:13:03] lb chroot_upstart remove
[2016-05-10 16:13:03] lb chroot_sysv-rc remove
P: Deconfiguring file /usr/sbin/policy-rc.d
[2016-05-10 16:13:03] lb chroot_dpkg remove
P: Deconfiguring file /sbin/start-stop-daemon
[2016-05-10 16:13:03] lb chroot_debianchroot remove
P: Deconfiguring file /etc/debian_chroot
[2016-05-10 16:13:03] lb chroot_sysfs remove
P: Begin unmounting /sys...
[2016-05-10 16:13:03] lb chroot_selinuxfs remove
P: Begin unmounting /sys/fs/selinux...
[2016-05-10 16:13:03] lb chroot_proc remove
P: Begin unmounting /proc...
[2016-05-10 16:13:04] lb chroot_devpts remove
P: Begin unmounting /dev/pts...
P: Begin unmounting filesystems...
P: Saving caches...
Reading package lists...
Building dependency tree...
Reading state information...
[2016-05-10 16:13:04] lb source
 


FINI !!!!!

De 15h39 à 16h13 comme vous le voyez, sachant que j'ai fait beaucoup de CTRL-Z puis fg pour pouvoir décrire toute la procédure, et sachant aussi ma config : dualcore @ 2 Ghz, 3 Go de RAM DDR2, disque dur standart (non SDD), connection wifi bonne (> 2 Go/s en moyenne).

Dernière modification par AbdelQahar (10-05-2016 15:17:06)

Hors ligne

#21 10-05-2016 15:27:40

AbdelQahar
Membre
Lieu : Marmande
Distrib. : Arch
(G)UI : i3wm
Inscription : 14-08-2014
Site Web

Re : Live Build + clé USB multibootable

Maintenant pour lb clean, je vous rappelle les option issue du man :

--all
           removes chroot, binary, stage, and  source.  The  cache  directory  is
           kept.  This is the default operation and will be performed if no argu‐
           ment is given.

       --cache
           removes the cache directories.

       --chroot
           unmounts and removes the chroot directory.

       --binary
           removes all binary related  caches,  files,  directories,  and  stages
           files.

       --purge
           removes  everything,  including  all  caches.  The config directory is
           kept.

       --remove
           removes everything, including package cache but not stage  cache.  The
           config directory is kept.

       --stage
           removes all stage files.

       --source
           removes  all  source  related  caches,  files,  directories, and stage
           files.
 


lb clean --binary va simplement effacer le contenu du fichier binary ainsi que l'image iso. Si vous relancer lb build après cela vous allez reprendre à l'étape de la compression du chroot en squashfs.

lb clean va supprimer le chroot et le binary mais pas le cache, ni le config. De cette manière, vous pouvez relancer lb config avec des options différentes, et reprendre à l'étape du bootstrap sans avoir à retélécharger les paquets (puisqu'il se trouve dans le cache).

Personnellement, pour assurer la cohérence avec les scripts que je propose, je préfère supprimer le binary, le config mais pas le cache. Et pour ce qui est du chroot cela dépend des changements effectués.

Je conseille de faire deux répertoires différents pour chaque architecture : un pour le 64 et un pour le 32.
De cette manière vous avez deux caches distincts, et à chaque fois que vous générez une nouvelle iso, vous la renommez puis vous la déplacez, vous nettoyez avec lb clean et vous passez à l'iso suivante.

Hors ligne

#22 10-05-2016 16:29:21

AbdelQahar
Membre
Lieu : Marmande
Distrib. : Arch
(G)UI : i3wm
Inscription : 14-08-2014
Site Web

Re : Live Build + clé USB multibootable

Une dernière remarque importante : si vous définissez des paquets supplémentaires dans config/package-list/config/package-lists/live.list.chroot, ils seront installés après la fin de l'installation minimale dans le chroot et avant la compression de ce dernier en squashfs
De plus, lb bluild vérifiera à chaque fois cette liste pour installer ce qui manque qu cas où vous ayez rajouté des choses depuis la dernière fois, même si vous n'avez pas effacer le chroot avec lb clean (si vous avez juste lb clean --binary par exemple).

C'est bon à savoir car cela évite d'avoir a refaire le chroot depuis le début (même si un squelette du chroot se trouve dans cache/debootstrap).

Pour ce qui est des fichiers de configurations placé dans config/includes.chroot, je ne suis pas sûr. Ils semblerait que cela soit également fait avant la phase du squashfs, mais je ne suis pas sûr que cela soit vérifier à chaque lb build si le chroot a été conservé... Il se peut également que cela rentre en conflit avec ceux qui ont déjà été placé dans le chroot lors du dernier lb build...

Personnellement j'efface le chroot complètement si les modifications sont vraiment importantes...
De même, c'est la raison pour laquelle, dans mon script clean.sh, on trouve la portion :

echo "\nFaut-il supprimer chroot/etc/skel ? (O/N)"
read rep1

if [ $rep1 = 'O' ]
then
    sudo rm -rvf chroot/etc/skel
fi


Bien que cela ne soit pas forcément le seul répertoire qui mériterait d'être purgé, dans la plupart des cas selon devrait suffire.
Sinon on lance lb clean sans option, et on repart avec un chroot neuf.

Comme je l'ai dit, à cette étape je pense qu'il y a quelque chose de plus fin à mettre en place, il faut que je travaille dessus.

Quoi qu'il en soit, ce que j'ai proposé fonctionne !

Hors ligne

#23 10-05-2016 17:58:31

AbdelQahar
Membre
Lieu : Marmande
Distrib. : Arch
(G)UI : i3wm
Inscription : 14-08-2014
Site Web

Re : Live Build + clé USB multibootable

Avec les scripts et les fichiers tels que je les ai décrits sans chroot ni cache préalable :

real 4595.15
user 2651.28
sys 330.45
 


Soit un plus d'une heure et quart, et l'iso fait environ 1,2 Go.

Dernière modification par AbdelQahar (10-05-2016 18:05:23)

Hors ligne

#24 10-05-2016 19:37:24

deuchdeb
Moderato ma non troppo
Distrib. : Debian11-KDE-Plasma, LinuxMintCinnamon, DFLinux11
Noyau : Noyau stable
(G)UI : KDE Plasma 5.20
Inscription : 13-01-2010
Site Web

Re : Live Build + clé USB multibootable

Bonjour,

Bravo pour tes recherches et merci pour tes retours.

Il y a aussi des pages dans le wiki sur live build mais qui datent un peu Squeeze ou Wheezy de mémoire 4 ou 5 ans:

https://debian-facile.org/doc:install:d … persistant
https://debian-facile.org/doc:install:live-build

A l'époque j'avais réussi à faire pas mal de choses mais pas réussi à mettre l'installateur.
Le principe ne semble pas si différent qu'a l'époque.


AbdelQahar a écrit :

Je précise que c'est aussi pour moi que je fais ça. Lorsque  je suis arrivé à un résultat concluant, je me suis dit : la meilleure façon pour ne pas perdre tout ça, c'est  pas de faire des backups : c'est de le poster sur debian-facile ! En plus, ça profitera à d'autres !




Du coup si tu veux les mettre à jour ce sera avec plaisir.


Une fleur, c'est magique non? smile
Association Debian Facile

Hors ligne

#25 10-05-2016 21:01:18

AbdelQahar
Membre
Lieu : Marmande
Distrib. : Arch
(G)UI : i3wm
Inscription : 14-08-2014
Site Web

Re : Live Build + clé USB multibootable

Le deuxième je l'avais vu, et j'avais dans l'idée de contacter l'auteur pour lui proposer gentiment si je pouvais le mettre à jour, mais comme tu m'as devancé ce sera avec grand plaisir !
Mais du coup, je ne pense pas que je vais mettre mes scripts maisons dedans finalement. Je me rends compte que cela ne colle pas vraiment à l'esprit du wiki qui est plutôt de rester le plus généraliste possible. J'aurais pu les poster dans la section script du forum plutôt.

Pour ce qui est de la persistance, je ne suis pas fan, comme je l'ai dit plus haut :

Par contre, la persistance, je ne suis pas pour. Il y a un certains nombres de désavantages...
Je préfère l'organisation de la distribution Tails : une partition de la clé USB pour l'iso live, et autre une partition (cryptée) pour les données.

Du coup je ne compte pas vraiment faire des recherches ou des essais là-dessus, désolé...

Non effectivement, ce n'est pas très différent, il y à juste quelques options qui ont disparus (--tasks, --packages-lists...), et le fait d'avoir un simple fichier pour faire son script config c'est quand même beaucoup plus pratique que d'avoir à chaque fois à retaper :

lb config --telle-option
lb config --machin true

etc...

De même avoir un fichier dans lequel écrire les paquets supplémentaires désirés !

En fait, tout est dans la documentation officielle ! C'est une vraie mine d'or ! Elle était consultable en ligne auparavant, désormais pour l'obtenir il faut faire :

apt-get install live-manual-html

Dernière modification par AbdelQahar (10-05-2016 21:07:38)

Hors ligne

Pied de page des forums