Notes d'installation de Yunohost sur un Olinuxino-Lime (version 1, avec processeur A20)

Préparation de la carte SD

$ wget https://build.yunohost.org/yunohost-stretch-3.4.2.4-lime-stable.img.zip #télécharge l'image du système
$ wget https://build.yunohost.org/yunohost-stretch-3.4.2.4-lime-stable.img.zip.sha256sum #télécharge la somme de contrôle
$ sha256sum -c yunohost-stretch-3.4.2.4-lime-stable.img.zip.sha256sum #vérifie l'intégrité de l'image téléchargée
$ unzip yunohost-stretch-3.4.2.4-lime-stable.img.zip #extrait l'image de l'archive

Formater la carte sd card en ext4 avec Gparted.

$ sudo dd if=/tmp/labriqueinternet.img of=/dev/SDNAME bs=1M #copie le système sur la carte sd
$ sync

Si cela ne fonctionne pas, vérifier les droits en écriture sur la carte SD.

Premier démarrage et procédure de post-installation

Insérer la carte SD dans la carte Olinuxino et connecter l'éventuel disque dur (alimentation et données).

Se connecter au serveur sur son IP locale à travers un navigateur et lancer la procédure de post-installation qui est proposée.

Déplacer la racine sur un disque dur SATA

source1, source2

$ sudo blkid #identifier l'UUID des partitions

Modifier le fichier /etc/fstab qui définit les partitions à monter au démarrage. Exemple :

UUID=794701f3-9606-4562-b8c8-6c54531b4bee /boot ext4 defaults 0 1 #/boot on the sd card
UUID=f444f305-de62-404b-8742-be19fc01422c / ext4 defaults 0 1 # root on SATA HDD
tmpfs /tmp tmpfs defaults,nosuid 0 0

Arrêter les services en cours afin d'éviter une éventuelle corruption des bases de données MySQL. Exemple :

$ service nginx stop
$ service mysql stop
$ service postfix stop
$ service dovecot stop

Modifier le fichier /boot/armbianEnv.txt afin de changer l'emplacement de la partition contenant la racine. Ce fichier est chargé au démarrage.

$ sudo mkdir -p /tmp2/sata #il y a déjà un dossier tmp pour le système
$ sudo mount /dev/sda1 /tmp2/sata #monter la partition qui contiendra la racine
$ sudo rsync -aAXv --exclude={"/dev/*","/proc/*","/sys/*","/tmp/*","/tmp2/*","/run/*","/mnt/*","/media/*","/lost+found"} / /tmp2/sata #copie la racine de la carte SD sur le disque SATA
$ cd /tmp2/sata
$ sudo mv boot boot.old
$ sudo mkdir boot
$ sudo mount /dev/mmcblk0p1 boot #monte la carte SD dans le dossier boot du disque SATA
$ sudo rsync -av boot.old/ boot/ #copie le contenu du dossier boot à la racine de la carte SD
$ sudo reboot

Après le redémarrage :

$ cd /boot
$ rm -rf * #vide le contenu du dossier boot, c'est-à-dire de la carte SD qui est désormais montée à cet emplacement mais qui contenait les fichiers du dossier boot + le contenu de la racine qui n'a plus lieu d'être ici puisqu'elle a été copiée sur le disque SATA
$ mv /boot.old/* . #copie uniquement les fichiers du dossier boot sur la carte SD à partir de la sauvegarde effectuée précédemment
$ rmdir /boot.old

Configurer un swap sur un disque dur SATA

$ sudo swapon -s #liste les partitions actuellement utilisées pour le swap (zram est utilisée pour optimiser la RAM)
$ sudo mkswap /dev/sda2 #attribue une partition pour le swap
$ sudo swapon /dev/sda2 #démarre le swap sur la partition /dev/sda2

Modifier le fichier /etc/fstab pour ajouter la partition swap. Exemple :

UUID=3075f748-0853-4bc0-a366-101bd92a8e0f none swap sw 0 0

Redémarrer.