Preparation
===========

.. note::
   
   Pour cette partie du tutoriel on aura besoin d'internet sur un post linux

l'ISO
-----

Telechargement
++++++++++++++

On commence par telecharger un iso linux (debian)

.. code-block::

   curl -fLO "https://cdimage.debian.org/debian-cd/current-live/amd64/iso-hybrid/SHA512SUMS"
   curl -fLO "https://cdimage.debian.org/debian-cd/current-live/amd64/iso-hybrid/SHA512SUMS.sign"
   curl -fLO "https://cdimage.debian.org/debian-cd/current-live/amd64/iso-hybrid/$(awk '/xfce.iso$/ {print $2}' SHA512SUMS)"


Verification
++++++++++++

Maintenant on va verifier que l'iso est bien legitime

On commence par recuperer la clee debian

.. code-block::

   gpg --keyserver hkps://keyring.debian.org --recv DF9B9C49EAA9298432589D76DA87E80D6294BE9B

Puis on verifie que le fichier sha est bien signer par la clee que l'on viens de telecharger

.. code-block::

   gpg --verify SHA512SUMS.sign SHA512SUMS
   # gpg: Good signature from "Debian CD signing key <debian-cd@lists.debian.org>"

Et maintenant on verifie que l'iso est le bon

.. code-block::

   grep $(sha512sum debian-live-*-amd64-xfce.iso) SHA512SUMS

.. note::

   Pour plus d'info sur cette partie de la verification d'un iso debian on peut regarder: `Verifying authenticity of Debian CDs`_.

La clee USB
-----------

Deux solution sont possible:
- ecrire l'iso directement sur la clee
- utiliser un system multi iso pour boot celui-ci

Ecrire l'ISO sur une clee USB
+++++++++++++++++++++++++++++

on commence par inserer une clee usb, si votre system l'automount ce n'est pas grave vous devrez juste faire un umount.

.. code-block::

   sudo dmesg | tail
   # usb-storage 3-2:1.0: USB Mass Storage device detected
   # scsi host2: usb-storage 3-2:1.0
   # scsi 2:0:0:0: Direct-Access     TS-RDF5  SD  Transcend    TS3A PQ: 0 ANSI: 6
   # sd 2:0:0:0: Attached scsi generic sg1 type 0
   # sd 2:0:0:0: [sdb] 31116288 512-byte logical blocks: (15.9 GB/14.8 GiB)
   # sd 2:0:0:0: [sdb] Write Protect is off
   # sd 2:0:0:0: [sdb] Mode Sense: 23 00 00 00
   # sd 2:0:0:0: [sdb] Write cache: disabled, read cache: enabled, doesn't support DPO or FUA
   # sdb: sdb1 sdb2
   # sd 2:0:0:0: [sdb] Attached SCSI removable disk

   sudo dd if=debian-live-*-amd64-xfce.iso of=/dev/sdb bs=4M status=progress ; sync
   # 465+1 records in
   # 465+1 records out
   # 1951432704 bytes (2.0 GB, 1.8 GiB) copied, 42.8543 s, 45.5 MB/s

Les system Multi boot
+++++++++++++++++++++

On peut aussi utiliser un system permetant avec une seul clee usb d'avoir plusieur ISO pour boot le system.
L'un deux est `Ventoy`_ je ferais un tuto sur celui-ci et comment l'utiliser bientot.

Si vous voulez utiliser `Ventoy`_ il vous suffira juste de faire une copier coller de l'iso dans le bon peripherique.

Le Live boot
------------

Maintenant on va donc boot sur l'iso qu'on a preparer.

configurer le reseau, on va telecharger les paquer necessaire.

.. code-block::

   sudo apt update

   sudo apt -y upgrade

   sudo apt -y install \
      wget gnupg2 gnupg-agent dirmngr \
      cryptsetup scdaemon pcscd secure-delete \
      yubikey-personalization
    
   curl http://ftp.fr.debian.org/debian/pool/main/h/haskell-hopenpgp-tools/hopenpgp-tools_0.23.7-1_amd64.deb -O

   sudo dpkg -i hopenpgp-tools_0.23.7-1_amd64.deb

   sudo apt -y install yubikey-manager

   sudo service pcscd start

   export GNUPGHOME=$(mktemp -d -t gnupg_$(date +%Y%m%d%H%M)_XXX)

   wget -O $GNUPGHOME/gpg.conf https://doc.g3e.fr/_downloads/58a3422798d8fb93fc663cb2bb0b136c/gpg.conf

   grep -ve "^#" $GNUPGHOME/gpg.conf

.. warning::

   A partir de maintenant on a plus besoin d'internet

   /!\\ On peut donc desactiver internet /!\\



.. _Verifying authenticity of Debian CDs: https://www.debian.org/CD/verify
.. _Ventoy: https://www.ventoy.net/en/index.html