doc/create_live_usb_fr.md

4.7 KiB
Raw Blame History

Créer une Live ISO de YunoHost

Testé sur Debian Wheezy (devrait marcher sur Ubuntu également). Tutoriel original : http://willhaley.com/blog/create-a-custom-debian-live-environment/

Attention : toutes les sections où vous devrez être dans un environnement chroot sont surlignées.

  1. Installation des applications nécessaires à la compilation de lenvironnement
sudo apt-get install debootstrap syslinux squashfs-tools genisoimage memtest86+ rsync
  1. Configuration de lenvironnement de base Debian. Debian wheezy et une architecture i386 ont été utilisés pour effectuer les tests. Changer le mirroir si vous nêtes pas aux Pays Bas ou que vous connaissez un mirroir plus proche.
mkdir live_boot && cd live_boot
sudo debootstrap --arch=i386 --variant=minbase wheezy chroot http://ftp.nl.debian.org/debian/
  1. Deux étapes importantes avant de chroot :
sudo mount -o bind /dev chroot/dev && sudo cp /etc/resolv.conf chroot/etc/resolv.conf
  1. Chroot lenvironnement Debian :
sudo chroot chroot
  1. chroot Configuration de variables et doptions système de lenvironnement Debian :
mount none -t proc /proc && 
mount none -t sysfs /sys && 
mount none -t devpts /dev/pts && 
export HOME=/root && 
export LC_ALL=C && 
apt-get install dialog dbus --yes && 
dbus-uuidgen > /var/lib/dbus/machine-id && 
apt-get update
  1. chroot Configuration du mot de passe root de yunohost :
passwd root
  1. chroot Installation des paquets requis, remplacement du noyau si nécessaire :
apt-get install --no-install-recommends \
linux-image-3.2.0-4-486 live-boot \
net-tools wireless-tools wpagui tcpdump wget openssh-client \
xserver-xorg-core xserver-xorg xinit xterm \
pciutils usbutils gparted ntfsprogs hfsprogs rsync dosfstools syslinux partclone nano pv \
chromium-browser libnss3-tools openbox git ca-certificates openssl
  1. chroot Le NetworkManager peut casser la configuration de votre environnement chroot. Il est possible de linstaller à posteriori et dannuler en pressant CTRL-C pendant linstallation.
apt-get --no-install-recommends install network-manager
  1. chroot Installation de YunoHost :
git clone https://github.com/YunoHost/install_script /tmp/yunohost_install
cd /tmp/yunohost_install && ./autoinstall_yunohostv2
  1. chroot Configuration des paramètres :
echo "127.0.0.1 yunohost.org" >> /etc/hosts
echo "chromium --user-data-dir=/root/.config/chromium --app=https://yunohost.org/yunohost/admin/" >> /etc/xdg/openbox/autostart
echo -e "if [ -z \"\$DISPLAY\" ] && [ \$(tty) == /dev/tty1 ]; \nthen \n    startx \nfi" >> /root/.bashrc
certutil -d sql:$HOME/.pki/nssdb -A -t "C,," -n YunoHostCA  -i /etc/yunohost/certs/yunohost.org/ca.pem
certutil -d sql:$HOME/.pki/nssdb -A -t "P,," -n YunoHostCrt -i /etc/yunohost/certs/yunohost.org/crt.pem
  1. chroot Éditer /etc/inittab pour se connecter automatiquement :
nano /etc/inittab
# Remplacer la ligne suivante :
1:2345:respawn:/sbin/getty 38400 tty1
# par :
1:2345:respawn:/bin/login -f root tty1 </dev/tty1 >/dev/tty1 2>&1
  1. chroot Nettoyage de lenvironnement Debian avant de quitter :
rm -f /var/lib/dbus/machine-id && 
apt-get clean && 
rm -rf /tmp/* && 
rm /etc/resolv.conf && 
umount -lf /proc && 
umount -lf /sys && 
umount -lf /dev/pts
# Puis exit
exit
  1. Démonter dev du chroot :
sudo umount -lf chroot/dev
  1. Créer les répertoires qui seront copiés dans le média bootable :
mkdir -p image/{live,isolinux}
  1. Compresser lenvironnement chroot dans un système de fichier Squash :
sudo mksquashfs chroot image/live/filesystem.squashfs -e boot
  1. Préparer le bootloader USB/CD :
cp chroot/boot/vmlinuz-3.2.0-4-486 image/live/vmlinuz1 && 
cp chroot/boot/initrd.img-3.2.0-4-486 image/live/initrd1
  1. Créer le menu image/isolinux/isolinux.cfg pour le bootloader.
UI menu.c32

prompt 0
menu title YunoHost Live

timeout 300

label YunoHost Live
menu label ^YunoHost Live
menu default
kernel /live/vmlinuz1
append initrd=/live/initrd1 boot=live

Compiler le .iso

Copier les fichiers nécessaires au démarrage de lISO et créer lISO :

cp /usr/lib/syslinux/isolinux.bin image/isolinux/ && 
cp /usr/lib/syslinux/menu.c32 image/isolinux/
cd image && genisoimage -rational-rock -volid "YunoHost Live" -cache-inodes -joliet -full-iso9660-filenames -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -output ../yunohost-live.iso . && cd ..

Félicitations ! LISO peut désormais être gravée ou utilisée avec Unetbootin pour la copier sur une clé USB.