doc/create_live_usb_fr.md
Alexandre Aubin 7a80a1232a git status
2018-06-14 23:38:45 +02:00

4.9 KiB
Raw Blame History

Créer une Live ISO de YunoHost

This page is deprecated / obsolete / outdated. Information it contains should be updated (or should be removed).

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 miroir si vous nêtes pas aux Pays-Bas ou que vous connaissez un miroir 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 a 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 && ./install_yunohost -a
  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.