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

152 lines
4.9 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Créer une Live ISO de YunoHost
<div class="alert alert-danger">This page is deprecated / obsolete / outdated. Information
it contains should be updated (or should be removed).</div>
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
```bash
sudo apt-get install debootstrap syslinux squashfs-tools genisoimage memtest86+ rsync
```
2. 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.
```bash
mkdir live_boot && cd live_boot
sudo debootstrap --arch=i386 --variant=minbase wheezy chroot http://ftp.nl.debian.org/debian/
```
3. Deux étapes importantes avant de chroot :
```bash
sudo mount -o bind /dev chroot/dev && sudo cp /etc/resolv.conf chroot/etc/resolv.conf
```
4. Chroot lenvironnement Debian :
```bash
sudo chroot chroot
```
5. **chroot**
Configuration de variables et doptions système de lenvironnement Debian :
```bash
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
```
6. **chroot** Configuration du mot de passe root de **yunohost** :
```bash
passwd root
```
7. **chroot** Installation des paquets requis, remplacement du noyau si nécessaire :
```bash
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
```
8. **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.
```bash
apt-get --no-install-recommends install network-manager
```
9. **chroot** Installation de YunoHost :
```bash
git clone https://github.com/YunoHost/install_script /tmp/yunohost_install
cd /tmp/yunohost_install && ./install_yunohost -a
```
10. **chroot** Configuration des paramètres :
```bash
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
```
11. **chroot** Éditer `/etc/inittab` pour se connecter automatiquement :
```bash
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
```
12. **chroot** Nettoyage de lenvironnement Debian avant de quitter :
```bash
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
```
13. Démonter dev du chroot :
```bash
sudo umount -lf chroot/dev
```
14. Créer les répertoires qui seront copiés dans le média bootable :
```bash
mkdir -p image/{live,isolinux}
```
15. Compresser lenvironnement chroot dans un système de fichier Squash :
```bash
sudo mksquashfs chroot image/live/filesystem.squashfs -e boot
```
16. Préparer le bootloader USB/CD :
```bash
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
```
17. Créer le menu `image/isolinux/isolinux.cfg` pour le bootloader.
```bash
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 :
```bash
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](http://unetbootin.sourceforge.net/) pour la copier sur une clé USB.