4 242
modifications
Aucun résumé des modifications |
|||
(28 versions intermédiaires par le même utilisateur non affichées) | |||
Ligne 2 : | Ligne 2 : | ||
[[category:desktop]] | [[category:desktop]] | ||
[[category:debian]] | [[category:debian]] | ||
Manuel complet : | Manuel complet : https://live-team.pages.debian.net/live-manual/html/live-manual/index.en.html | ||
=Paquets nécessaires= | =Paquets nécessaires= | ||
Ligne 21 : | Ligne 20 : | ||
--archive-areas "main contrib non-free" --apt-indices false \ | --archive-areas "main contrib non-free" --apt-indices false \ | ||
--memtest memtest86+ --security true --updates true --backports true \ | --memtest memtest86+ --security true --updates true --backports true \ | ||
--mirror-bootstrap http:// | --mirror-bootstrap http://ftp.fr.debian.org/debian/ --mirror-binary http://deb.debian.org/debian/ \ | ||
--bootappend-live "boot=live components timezone=Europe/Paris locales=en_US.UTF-8 keyboard-layouts=fr hostname=rescue \ | --bootappend-live "boot=live components timezone=Europe/Paris locales=en_US.UTF-8 keyboard-layouts=fr hostname=rescue \ | ||
username=user noprompt noeject autologin" | username=user noprompt noeject autologin" | ||
Ligne 31 : | Ligne 30 : | ||
--archive-areas "main contrib non-free" --apt-indices false \ | --archive-areas "main contrib non-free" --apt-indices false \ | ||
--memtest memtest86+ --security true --updates true --backports true \ | --memtest memtest86+ --security true --updates true --backports true \ | ||
--mirror-bootstrap http://deb.debian.org/debian/ --mirror-binary http://deb.debian.org/debian/ \ | --mirror-bootstrap http://ftp.fr.debian.org/debian/ --mirror-binary http://deb.debian.org/debian/ \ | ||
--bootappend-live "boot=live components timezone=Europe/Paris locales=en_US.UTF-8 keyboard-layouts=fr hostname=rescue \ | |||
username=user noprompt noeject autologin" | |||
</pre> | |||
==Pour debian buster :== | |||
<pre> | |||
lb config --distribution buster --binary-images iso-hybrid --architectures amd64 --linux-flavours amd64 \ | |||
--archive-areas "main contrib non-free" --apt-indices false \ | |||
--memtest memtest86+ --security true --updates true --backports true \ | |||
--mirror-bootstrap http://ftp.fr.debian.org/debian/ --mirror-binary http://deb.debian.org/debian/ \ | |||
--bootappend-live "boot=live components timezone=Europe/Paris locales=en_US.UTF-8 keyboard-layouts=fr hostname=rescue \ | --bootappend-live "boot=live components timezone=Europe/Paris locales=en_US.UTF-8 keyboard-layouts=fr hostname=rescue \ | ||
username=user noprompt noeject autologin" | username=user noprompt noeject autologin" | ||
Ligne 38 : | Ligne 47 : | ||
=Tunning= | =Tunning= | ||
==Autologin pour debian jessie uniquement== | ==Notes générales== | ||
==Bugfix== | |||
===Autologin fix pour debian jessie uniquement=== | |||
Pour debian jessie avec systemd, afin d'activer l'autologin, il faut créer un script personnalisé dans <code>config/hooks/autologin.hook.chroot</code> : | Pour debian jessie avec systemd, afin d'activer l'autologin, il faut créer un script personnalisé dans <code>config/hooks/live/autologin.hook.chroot</code> : | ||
<pre> | <pre> | ||
cat > config/hooks/autologin.hook.chroot << EOF | cat > config/hooks/live/autologin.hook.chroot << EOF | ||
#!/bin/sh | #!/bin/sh | ||
set -e | set -e | ||
Ligne 54 : | Ligne 67 : | ||
Ce fichier sera exécuté au moment de la création de notre image. | Ce fichier sera exécuté au moment de la création de notre image. | ||
===keymap fix debian stretch/buster=== | |||
== | |||
Un [https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=818065 bug] empêche debian stretch/buster de démarrer avec la keymap que vous avez défini lors de l'étape de configuration.<br> | |||
Pour le régler | Pour le régler ce problème, nous allons créer un fichier exécutable qui sera lancé par live-config lors du démarrage de l'iso et qui va charger la bonne keymap : | ||
<pre> | <pre> | ||
mkdir -p config/includes.chroot/lib/live/config/ | mkdir -p config/includes.chroot/lib/live/config/ | ||
Ligne 72 : | Ligne 83 : | ||
==MOTD au shell== | ==MOTD au shell== | ||
Un peu de tunning : <code>config/hooks/motd.hook.chroot</code> : | Un peu de tunning : <code>config/hooks/live/motd.hook.chroot</code> : | ||
<pre> | <pre> | ||
cat > config/hooks/motd.hook.chroot << EOF | cat > config/hooks/live/motd.hook.chroot << EOF | ||
#!/bin/sh | #!/bin/sh | ||
set -e | set -e | ||
Ligne 83 : | Ligne 94 : | ||
EOF | EOF | ||
</pre> | </pre> | ||
Notez qu'on utilise un hook lancé durant la construction de notre image, technique qui a l'avantage de préserver le contenu d'origine du fichier <code>/etc/issue</code> installé par debian (généralement, la version de la distribution, qui change donc selon votre configuration à <code>lb config</code>).<br> | |||
Une alternative, quoi que parfois moins fiable, et ne permettant pas de conserver le contenu du fichier d'origine, aurait été de créer un fichier <code>config/includes.chroot_after_packages/etc/issue</code> contenant directement le motd. | |||
==keymap du clavier et configuration de l'utilisateur== | ==keymap du clavier et configuration de l'utilisateur== | ||
Ligne 94 : | Ligne 108 : | ||
zerofree ethtool net-tools testdisk gddrescue smartmontools hdparm lvm2 psmisc freeipmi ipmitool openipmi gdisk bzip2 zsync > config/package-lists/mypackage.list.chroot</pre> | zerofree ethtool net-tools testdisk gddrescue smartmontools hdparm lvm2 psmisc freeipmi ipmitool openipmi gdisk bzip2 zsync > config/package-lists/mypackage.list.chroot</pre> | ||
== | Pour installer un package depuis les dépots backports (sous réserve que vous ayez activez ces dépots à l'opération <code>lb config</code> : | ||
<pre>echo "smartmontools/bullseye-backports" > config/package-lists/mypackage-bpo.list.chroot</pre> | |||
==Pinner un package depuis les dépots backports== | |||
Pendant le chroot uniquement : | |||
<pre> | <pre> | ||
cat >> config/archives/backports.pref.chroot << EOF | cat >> config/archives/backports.pref.chroot << EOF | ||
Package: smartmontools | Package: smartmontools | ||
Pin: release a= | Pin: release a=bullseye-backports | ||
Pin-Priority: 600 | Pin-Priority: 600 | ||
EOF | |||
</pre> | |||
Package: | Dans l'image définitive : | ||
Pin: release a= | <pre> | ||
cat >> config/archives/backports.pref.binary << EOF | |||
Package: smartmontools | |||
Pin: release a=bullseye-backports | |||
Pin-Priority: 600 | Pin-Priority: 600 | ||
EOF | EOF | ||
</pre> | </pre> | ||
==Ajouter un | ==Ajouter un dépôt personnalisé== | ||
Pour que le dépôt soit accessible durant la création de l'image (permettant donc d'installer un paquet sur l'image) : | |||
<pre> | |||
echo "deb http://mirror/debian/ sid main" > config/archives/sid.list.chroot | |||
</pre> | |||
Pour que le dépôt soit accessible sur le système définitif créé (après avoir booté l'iso) : | |||
<pre> | <pre> | ||
echo "deb http://mirror/debian/ sid main" > config/archives/sid.list. | echo "deb http://mirror/debian/ sid main" > config/archives/sid.list.binary | ||
</pre> | </pre> | ||
==boot automatique== | Si ce dépôt requiert une clé gpg, déposez sa version texte (armored) dans <code>config/archives/sid.key.chroot</code> et/ou <code>config/archives/sid.key.binary</code> | ||
Pour ajouter un boot automatique au bout de 30secondes | |||
==Modification du boot== | |||
Les différents bootloaders utilisés sont situés dans <code>/usr/share/live/build/bootloaders/</code><br> | |||
Vous pouvez les copier intégralement ou partiellement dans <code>config/bootloaders/</code><br> | |||
Par défaut, pour les images iso et iso-hybrid, c'est isolinux qui est utilisé, agrémenté en supplément des fichiers situés dans le dossier <code>syslinux_common</code> | |||
===boot automatique isolinux=== | |||
Pour ajouter un boot automatique au bout de 30secondes : | |||
<pre> | <pre> | ||
mkdir config/bootloaders/ | mkdir config/bootloaders/ | ||
Ligne 123 : | Ligne 160 : | ||
Un timeout de 0 signifie infini, les unités sont des dixièmes de secondes. | Un timeout de 0 signifie infini, les unités sont des dixièmes de secondes. | ||
===Modifier les entrées du boot isolinux=== | |||
<pre> | |||
mkdir config/bootloaders/ | |||
cp -R /usr/share/live/build/bootloaders/syslinux_common/ config/bootloaders/syslinux_common/ | |||
</pre> | |||
Puis éditez le fichier <code>config/bootloaders/syslinux_common/live.cfg.in</code> | |||
==openssh== | ==openssh== | ||
On peut ajouter des clés ssh de la même manière : | On peut ajouter des clés ssh de la même manière : | ||
<pre> | <pre> | ||
cat > config/hooks/addsshkey.hook.chroot << EOF | cat > config/hooks/live/addsshkey.hook.chroot << EOF | ||
#!/bin/sh | #!/bin/sh | ||
set -e | set -e | ||
Ligne 142 : | Ligne 187 : | ||
Les clés serveurs openssh seront automatiquement supprimés après l'installation par le fichier <code>config/hooks/0160-remove-openssh-server-host-keys.hook.chroot</code>, puis régénéré lors du boot par live-config. | Les clés serveurs openssh seront automatiquement supprimés après l'installation par le fichier <code>config/hooks/0160-remove-openssh-server-host-keys.hook.chroot</code>, puis régénéré lors du boot par live-config. | ||
Dans le cas ou vous installez un serveur ssh, il | Dans le cas ou vous installez un serveur ssh, il peut être préférable de changer le mot-de-passe utilisateur. Vous pouvez vous inspirer du fichier <code>/usr/share/doc/live-config/examples/hooks/passwd</code> pour créer une hook réalisant cela.<br> | ||
Notez tout de même que par défaut, au démarrage de l'iso, le login password ssh est désactivé (fichier <code>/lib/live/config/1160-openssh-server</code>) | |||
<br>Note : | |||
* Pour l'ajout de la clé ssh, nous aurions aussi pu créer un fichier <code>config/includes.chroot_after_packages/root/.ssh/authorized_keys</code> | |||
* Néanmoins, pour exécuter la commande sed qui modifie la configuration openssh, nous sommes obligé de passer par une hook/live afin d'éditer la configuration après que le système du chroot ait été installé (et donc après que openssh soit installé et configuré). | |||
* Alternativement, il serait également possible d'utiliser le dossier <code>config/includes.chroot_after_packages/</code> afin de remplacer totalement la configuration de openssh (ce qui implique également que vous assumiez totalement les mises à jour de la configuration de openssh de version en version de debian) | |||
==Un petit README pour terminer ?== | ==Un petit README pour terminer ?== | ||
Les dossiers <code>config/includes.chroot_after_packages/</code> et <code>config/includes.chroot_before_packages/</code> permettent d'ajouter des dossiers et fichiers qui sont incorporés au système de fichier créé. Ces fichiers sont transférés soit avant l'installation des paquets, soit après. | |||
<pre> | <pre> | ||
mkdir config/includes. | mkdir config/includes.chroot_after_packages/root/ | ||
chmod 750 config/includes. | chmod 750 config/includes.chroot_after_packages/root/ | ||
cat > config/includes. | cat > config/includes.chroot_after_packages/root/README << EOF | ||
Vous pouvez créer les fichiers que vous voulez de cette manière afin de les inclures dans le système de fichier de linux | Vous pouvez créer les fichiers que vous voulez de cette manière afin de les inclures dans le système de fichier de linux | ||
EOF | EOF | ||
</pre> | </pre> | ||
Attention, ces fichiers écrasent les fichiers pré-existant installés automatiquement par debian ! | |||
==Un petit README a la root de l'iso ?== | ==Un petit README a la root de l'iso ?== | ||
Ligne 168 : | Ligne 221 : | ||
==Executer des hooks personnalisée lors du boot== | ==Executer des hooks personnalisée lors du boot== | ||
Il faut | Il faut créer des fichiers exécutables dans <code>config/includes.chroot/lib/live/config/</code><br> | ||
Ces fichiers seront exécutés lors du démarrage de l'iso, juste avant que vous obteniez un prompt. | |||
=Création de l'image= | =Création de l'image= |