---
title: Howto OpenBSD/Flashinstall
categories: openbsd
---

## Introduction

L'idée ici est d'installer OpenBSD sur une mémoire flash type clé USB ou carte SD avec /var en read only afin de préserver le support.

## Mise en place

**1. Démarrer sur le CD d'installation d'OpenBSD**

Dans le cas d'une APU, on peut copier minirootXX.fs sur la carte SD (avec dd).

Puis au prompt `boot>` on indique au système que c'est une console série

~~~
boot> stty com0 115200
boot> set tty com0
~~~

Cela peut également être précisé dans le fichier de configuration `/etc/boot.conf`, avec la partition montée sur une autre machine :

~~~
# echo "set tty com0" > /mnt/etc/boot.conf
# echo "stty com0 115200" >> /mnt/etc/boot.conf
~~~

Puis on peut passer à l'installation

**2. Installer OpenBSD sur la Clé USB ou carte SD par exemple**

Pour un support de 8G, on utilise ce type de partitionnement :

~~~
/ 1G (a)
swap 512M (b)
/var 1536M (d)
/usr 2G (e)
/home lereste (f)
~~~

**3. Une fois la machine redémarrée on applique les modifications suivantes :**

~~~
# mkdir /var_persistent
# vi /etc/fstab
~~~

On modifie le fichier /etc/fstab afin qu'il ressemble à cela :

~~~
7c9d38374e397267.b none swap sw
7c9d38374e397267.a / ffs rw,softdep,noatime 1 1
7c9d38374e397267.f /home ffs rw,softdep,noatime,nodev,nosuid 1 2
7c9d38374e397267.e /usr ffs rw,softdep,noatime,nodev 1 2
7c9d38374e397267.d /var_persistent ffs ro,softdep,noatime,nodev,nosuid 1 2
swap    /var    mfs   rw,nodev,nosuid,-P=/var_persistent,-s1536m   0 0
swap    /tmp    mfs   rw,nodev,nosuid,-s64m   0 0
~~~

Ici on utilise mfs qui le gros avantage d'avoir l'option -P qui permet de recupérer le contenu d'un dossier !

On redémarre…

~~~
# Reboot
~~~

**4. Une fois la machine de nouveau disponible**

~~~
pkg_add rsync
~~~

**5. On rajoute le rsync de synchronisation vers la partition persistante**

Lors d'un shutdown propre :

~~~
# cat /etc/rc.shutdown
mount -u -w /var_persistent
sync
sleep 1
echo "Syncing /var (MFS) to Flash, please be patient..."
/usr/local/bin/rsync -aqH --delete --delete-excluded --exclude='run/*' --exclude='cache/*' --exclude='cron/tabs/*.sock' /var/ /var_persistent/
~~~

En cron une fois par semaine :

~~~
30      4       *       *       6       /bin/sh /etc/rc.shutdown >/dev/null && /sbin/mount -u -r /var_persistent
~~~

**6. On redémarre pour tester !**

## Liens utiles

* <https://sites.google.com/site/bsdstuff/mfs>
* <https://www.mimar.rs/en/sysadmin/2015/how-to-increase-openbsds-resilience-to-power-outages/>
* <http://wiki.gcu.info/doku.php?id=openbsd:install_soekris>
* <http://man.openbsd.org/newfs.8>
