Installer debian sur clé usb

obsolète voir

installation de deboostrap

#apt install debootstrap

Création d’un fichier qui va contenir l’image du système

# dd if=/dev/zero of=debian.img bs=100M count=12

Formater le fichier

# echo -e "o\nn\np\n1\n\n\nw" | fdisk debian.img

# echo -e "a\nw\n" | fdisk debian.img

Obtenir le nom du périphérique retourné par la commande suivante

# losetup --partscan --show --find debian.img

dans mon cas il s’agit de /dev/loop0

Nous créons un systeme de de fichier

# mkfs.ext4 /dev/loop0p1

Montage de la partition

# mkdir -p /mnt/debian
# mount /dev/loop0p1 /mnt/debian

install par deboostrap (~3mn)

# debootstrap --arch=amd64  --variant=minbase stretch /mnt/debian http://ftp.fr.debian.org/debian/

montage des périphériques spéciaux

mount -t proc /proc /mnt/debian/proc
mount -t sysfs /sys /mnt/debian/sys
mount -o bind /dev /mnt/debian/dev

Changer la racine du système

# chroot /mnt/debian

chroot

maj des packets d’installation

# apt update
# apt install --no-install-recommends linux-image-amd64 systemd-sysv grub2-common grub-pc

il faut que le montage de la racine / s’appuie sur une étiquette de disk (label) et non le UUID ni le nom de disk monté sur un système démarré de type /dev/sdX

parcque le nom du péripherique (/dev/sdX) peut varier d’un systeme à l’autre et l’UUID va dépendre de la clé cible

# echo "LABEL=DEBIAN-USB / ext4 defaults 0 1" > /etc/fstab

mot de passe root (root)

passwd root

Install grub (i386 ????)

grub-install --target=i386-pc --boot-directory=/boot --force-file-id --skip-fs-probe --recheck /dev/loop0

Sortie du chroot

# exit

édition grub.cfg

vi /mnt/debian/boot/grub/grub.cfg

copie de la conf ci dessous:

# grub.cfg 
set default="0"
set timeout=10
menuentry "Debian" {
linux /vmlinuz root=/dev/disk/by-label/DEBIAN-USB quiet initrd /initrd.img
}

Etiquetter l’image de la partition avec le nom du volume

e2label /dev/loop0p1 DEBIAN-USB

Définir le hostname dans l’image

echo "debian-usb" | sudo tee /mnt/debian/etc/hostname

Démonter les volumes spéciaux

umount /mnt/debian/{dev,sys,proc}

Demonter l’image

umount /mnt/debian

Demonter l’image du fichier comme périphérique

losetup -d /dev/loop0

maintenant nous disposons d’une image d’installation que nous pouvons déployer sur autant de périphérique que nous le souhaitons

Ecrire sur une clef USB

dd if=debian.img of=/dev/sdz

source: https://willhaley.com/blog/install-debian-usb/

avec quelques ajustements mineurs