4 231
modifications
(48 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 : https://live-team.pages.debian.net/live-manual/html/live-manual/index.en.html | |||
=Paquets nécessaires= | |||
<pre>aptitude install live-build</pre> | <pre>aptitude install live-build</pre> | ||
Ligne 30 : | Ligne 13 : | ||
</pre> | </pre> | ||
==Pour debian | =Préparation de l’environnement= | ||
==Pour debian jessie :== | |||
<pre> | <pre> | ||
lb config --distribution | lb config --distribution jessie --binary-images iso-hybrid --architectures amd64 --linux-flavours amd64 \ | ||
--archive-areas "main contrib non-free" --apt-indices false \ | --archive-areas "main contrib non-free" --apt-indices false \ | ||
--memtest memtest86+ --updates true --backports true \ | --memtest memtest86+ --security true --updates true --backports true \ | ||
--mirror-bootstrap http://ftp.fr.debian.org/debian/ --mirror-binary http:// | --mirror-bootstrap http://ftp.fr.debian.org/debian/ --mirror-binary http://deb.debian.org/debian/ \ | ||
--bootappend-live "boot=live | --bootappend-live "boot=live components timezone=Europe/Paris locales=en_US.UTF-8 keyboard-layouts=fr hostname=rescue \ | ||
username=user noprompt noeject" | username=user noprompt noeject autologin" | ||
</pre> | </pre> | ||
==Pour debian stretch :== | |||
<pre> | |||
lb config --distribution stretch --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 \ | |||
username=user noprompt noeject autologin" | |||
</pre> | |||
==Pour debian | ==Pour debian buster :== | ||
<pre> | <pre> | ||
lb config --distribution | lb config --distribution buster --binary-images iso-hybrid --architectures amd64 --linux-flavours amd64 \ | ||
--archive-areas "main contrib non-free" --apt-indices false \ | --archive-areas "main contrib non-free" --apt-indices false \ | ||
--memtest memtest86+ --updates true --backports true \ | --memtest memtest86+ --security true --updates true --backports true \ | ||
--mirror-bootstrap http://ftp.fr.debian.org/debian/ --mirror-binary http:// | --mirror-bootstrap http://ftp.fr.debian.org/debian/ --mirror-binary http://deb.debian.org/debian/ \ | ||
--bootappend-live "boot=live components 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" | ||
</pre> | </pre> | ||
Pour debian jessie avec systemd, afin d'activer l'autologin, il faut créer un script personnalisé dans <code>config/hooks/autologin.chroot</code> : | =Tunning= | ||
==Autologin 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/live/autologin.hook.chroot</code> : | |||
<pre> | <pre> | ||
cat > config/hooks/autologin.chroot << EOF | cat > config/hooks/live/autologin.hook.chroot << EOF | ||
#!/bin/sh | #!/bin/sh | ||
set -e | set -e | ||
Ligne 64 : | Ligne 61 : | ||
</pre> | </pre> | ||
Ce fichier sera exécuté au moment de la création de notre image. | |||
Cette manœuvre n'est pas nécessaire pour debian stretch. | |||
==hotfix debian stretch/buster afin d'avoir la bonne keymap== | |||
A l'heure ou j'écris ces lignes, un [https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=818065 bug] empêche debian stretch de démarrer avec la keymap que vous avez défini lors de l'étape précédente.<br> | |||
Pour le régler temporairement, nous allons créer le fichier hook qui sera lancé par live-config lors du démarrage de l'iso et qui va charger la bonne keymap : | |||
<pre> | <pre> | ||
cat > config/hooks/motd.chroot << EOF | mkdir -p config/includes.chroot/lib/live/config/ | ||
chmod 755 config/includes.chroot/lib/ config/includes.chroot/lib/live/ config/includes.chroot/lib/live/config/ | |||
cat > config/includes.chroot/lib/live/config/9999-fix-keymap << EOF | |||
#!/bin/sh | |||
#/etc/init.d/console-setup restart | |||
/bin/setupcon | |||
EOF | |||
chmod 755 config/includes.chroot/lib/live/config/9999-fix-keymap | |||
</pre> | |||
==MOTD au shell== | |||
Un peu de tunning : <code>config/hooks/live/motd.hook.chroot</code> : | |||
<pre> | |||
cat > config/hooks/live/motd.hook.chroot << EOF | |||
#!/bin/sh | #!/bin/sh | ||
set -e | set -e | ||
Ligne 76 : | Ligne 93 : | ||
</pre> | </pre> | ||
Pour avoir la console en keymap française, ajoutez les paquets <code>console-setup console-setup-linux</code> dans la liste des paquets a installer | ==keymap du clavier et configuration de l'utilisateur== | ||
<pre>echo console-setup console-setup-linux >> config/package-lists/keymap.list.chroot</pre> | Pour avoir la console en keymap française et assurer la création de l'utilisateur live, ajoutez les paquets <code>console-data console-setup console-setup-linux user-setup</code> dans la liste des paquets a installer | ||
<pre>echo console-data console-setup console-setup-linux user-setup >> config/package-lists/keymap.list.chroot</pre> | |||
==Liste personnalisée de packages== | ==Liste personnalisée de packages== | ||
Pour installer une liste personnalisée de package | Pour installer une liste personnalisée de package, créez un fichier <code>mespackets.list.chroot</code> dans <code>config/package-lists</code> : | ||
<pre>echo whois dnsutils htop jnettop tcpdump mtr telnet git iperf iperf3 wget curl rsync screen patch aptitude lm-sensors lshw \ | <pre>echo whois dnsutils htop jnettop tcpdump mtr telnet git iperf iperf3 wget curl rsync screen patch aptitude lm-sensors lshw \ | ||
parted nmap binutils lsof dosfstools ntfs-3g debootstrap pciutils usbutils lsb-release debian-goodies fancontrol \ | parted nmap binutils lsof dosfstools ntfs-3g debootstrap pciutils usbutils lsb-release debian-goodies fancontrol \ | ||
zerofree ethtool testdisk gddrescue smartmontools hdparm lvm2 psmisc freeipmi ipmitool openipmi > 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> | ||
==installer un package depuis les dépots backports== | ==installer un package depuis les dépots backports== | ||
<pre> | <pre> | ||
cat >> config/archives/ | cat >> config/archives/backports.pref.chroot << EOF | ||
Package: smartmontools | Package: smartmontools | ||
Pin: release a=jessie-backports | |||
Pin-Priority: 600 | |||
Package: e2fsprogs | |||
Pin: release a=jessie-backports | Pin: release a=jessie-backports | ||
Pin-Priority: 600 | Pin-Priority: 600 | ||
EOF | EOF | ||
</pre> | </pre> | ||
==Ajouter un dépôt personnalisé== | |||
Pour qu'il soit accessible (installable) à la création de l'image : | |||
<pre> | |||
echo "deb http://mirror/debian/ sid main" > config/archives/sid.list.chroot | |||
</pre> | |||
Pour qu'il soit accessible (installable) sur le système créé : | |||
<pre> | |||
echo "deb http://mirror/debian/ sid main" > config/archives/sid.list.binary | |||
</pre> | |||
Si ce dépot requiert une clé gpg, déposez sa version texte (armored) dans <code>config/archives/sysbench.key.chroot</code> et/ou <code>config/archives/sysbench.key.binary</code> | |||
==boot automatique== | ==boot automatique== | ||
Pour ajouter un boot automatique (par défaut lb config utilise isolinux comme bootloader) : | Pour ajouter un boot automatique au bout de 30secondes (par défaut lb config utilise isolinux comme bootloader) : | ||
<pre> | <pre> | ||
mkdir config/bootloaders/ | mkdir config/bootloaders/ | ||
cp -R /usr/share/live/build/bootloaders/isolinux/ config/bootloaders/isolinux/ | cp -R /usr/share/live/build/bootloaders/isolinux/ config/bootloaders/isolinux/ | ||
sed -i "s/timeout 0/timeout 300/g" config/bootloaders/isolinux/isolinux.cfg | |||
</pre> | </pre> | ||
Un timeout de 0 signifie infini, les unités sont des dixièmes de secondes. | |||
==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.chroot << EOF | cat > config/hooks/live/addsshkey.hook.chroot << EOF | ||
#!/bin/sh | #!/bin/sh | ||
set -e | set -e | ||
Ligne 116 : | Ligne 152 : | ||
</pre> | </pre> | ||
Notez qu'on modifie en même temps la configuration du serveur openssh afin d'autoriser la connexion root avec des clés.<br> | |||
Tout celà n'a d'intérêt que si on installe aussi openssh : | |||
<pre>echo openssh-server >> config/package-lists/ssh.list.chroot</pre> | <pre>echo openssh-server >> config/package-lists/ssh.list.chroot</pre> | ||
Ligne 124 : | Ligne 161 : | ||
==Un petit README pour terminer ?== | ==Un petit README pour terminer ?== | ||
Le dossier <code>config/includes.chroot/</code> permet d'ajouter des dossiers et fichiers au système de fichier debian qui sera créé pour cette image. | |||
<pre> | <pre> | ||
mkdir config/includes.chroot/root/ | mkdir config/includes.chroot/root/ | ||
chmod 750 config/includes.chroot/root/ | |||
cat > config/includes.chroot/root/README << EOF | cat > config/includes.chroot/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 | ||
Ligne 132 : | Ligne 173 : | ||
==Un petit README a la root de l'iso ?== | ==Un petit README a la root de l'iso ?== | ||
Le dossier <code>config/includes.binary/README</code> permet de créer des fichiers ou dossier à la racine de l'iso (ils seront donc accessible même si vous branchez votre future clé usb / cdrom sous windows par exemple) | |||
<pre> | <pre> | ||
cat > config/includes.binary/README << EOF | cat > config/includes.binary/README << EOF | ||
Ligne 137 : | Ligne 181 : | ||
EOF | EOF | ||
</pre> | </pre> | ||
==Executer des hooks personnalisée lors du boot== | |||
Il faut les créer dans <code>config/includes.chroot/lib/live/config/</code> | |||
=Création de l'image= | |||
Enfin, pour lancer la création de l'image : | Enfin, pour lancer la création de l'image : | ||
Ligne 143 : | Ligne 193 : | ||
</pre> | </pre> | ||
=ajouter memtest : méthode manuelle= | |||
Notez que si vous avez suivi ce wiki, vous devriez déjà avoir memtest installé (<code>--memtest memtest86+</code>), vous n'avez donc rien à faire. Memtest se situ dans le menu advanced au boot. | Notez que si vous avez suivi ce wiki, vous devriez déjà avoir memtest installé (<code>--memtest memtest86+</code>), vous n'avez donc rien à faire. Memtest se situ dans le menu advanced au boot. | ||
Ligne 153 : | Ligne 203 : | ||
lb binary_iso --force | lb binary_iso --force | ||
</pre> | </pre> | ||
=image usb uniquement= | =image usb uniquement= | ||
Ligne 169 : | Ligne 215 : | ||
--archive-areas "main contrib non-free" --apt-indices false \ | --archive-areas "main contrib non-free" --apt-indices false \ | ||
--memtest memtest86+ --updates true --backports true \ | --memtest memtest86+ --updates true --backports true \ | ||
--mirror-bootstrap http:// | --mirror-bootstrap http://deb.debian.org/debian/ --mirror-binary http://deb.debian.org/debian/ \ | ||
--bootappend-live " | --bootappend-live "boot=live persistence components locales=en_US.UTF-8 keyboard-layouts=fr hostname=rescue \ | ||
username=user noprompt noeject autologin" | username=user noprompt noeject autologin" | ||
</pre> | </pre> |