Rendez-vous sur Arrakis

C'est lorsque nous croyons savoir quelque chose qu'il faut justement réfléchir un peu plus profondément. F. Herbert

Comment créer une iso d'OpenBSD personnalisée?

Depuis la publication d'isotop, je me dis que ça serait intéressant d'expliquer un peu comment cette “non-distribution” est faîte. Vous allez, voir, c'est enfantin.
Je vais décrire la procédure en détaillant les commandes utilisées, sachant qu'en réalité tout ceci est mis dans des scripts pour se simplifier la vie.

Isotop n'est qu'une OpenBSD personnalisée. Pour ça, on récupère d'abord une image d'installation iso depuis un miroir.

ftp -o install6.2.iso https://ftp.fr.openbsd.org/pub/OpenBSD/6.2/amd64/install62.iso

Ensuite, on décompresse cette iso pour pouvoir modifier son contenu :

    mkdir -p loopdir
     mkdir -p ./install6.2
     if [ "$(uname)" = "OpenBSD" ]; then
         vnconfig vnd0 install6.2.iso
         mount -t cd9660 /dev/vnd0c loopdir/
         cp -r loopdir/* ./install6.2
         umount loopdir/
         vnconfig -u vnd0
     else
         mount -o loop install6.2.iso loopdir
         cp -r loopdir/* ./install6.2
         umount loopdir/
     fi
     rm -r loopdir/
 

Selon si on est sous OpenBSD ou Linux, la procédure n'est pas tout à fait la même. Ces commandes n'ont rien de magique, on trouve facilement sur le web comment extraire une iso.

Nous voilà donc avec un dossier install6.2 qui contient tout le nécessaire pour installer OpenBSD. C'est maintenant que la personnalisation commence. On peut configurer l'installation grâce à 3 mécanismes :

C'est parti, on crée un dossier “site” dans lequel on va mettre tout notre bazar :

mkdir site

Allez, pour l'exemple, je vais ajouter un set d'icônes dedans :

mkdir -p site/usr/local/share/icons
 cp -r /usr/local/share/icons/Arc site/usr/local/share/icons

J'y met aussi un script “install.site” qui va activer la gestion d'énergie juste après l'installation :

echo "rcctl enable apmd" >> site/install.site
 echo "rcctl set apmd status on" >> site/install.site
 echo "rcctl set apmd flags -A">> site/install.site
 chmod +x site/install.site
 

Enfin, je mets dans le script lancé au premier démarrage de quoi installer un environnement de bureau :

echo "pkg_add xfce" >> site/etc/rc.firsttime
 chmod +x site/etc/rc.firsttime
 

Allez zou, on met ces configurations dans une archive comme prévu :

cd site
 tar cvzf ../site62.tgz *
 

Ne reste plus qu'à copier cette archive dans l'iso extraite :

cp site62.tgz install6.2/6.2/amd64/site62.tgz 

Lors de l'installation, il sera proposé d'installer le set site62 afin de profiter de cette configuration.

Enfin, on reconstruit l'iso. Remplacez genisoimage par mkisofs selon ce qui est disponible sur votre système :

genisoimage -r -no-emul-boot -b 6.2/amd64/cdbr -c boot.catalog -o ./CustomOBSD.iso install6.2 

Et voilà ;)
Fastoche non ?

Pour plus de détails ou d'idées, je vous invite à aller regarder le code source d'isotop, en particulier les scripts qui servent à la génération des images. Ces derniers permettent notamment de générer une iso personnalisée d'OpenBSD même à partir d'un sysètme Linux.

le 31/10/2017 à 21:28:52, kobol a dit :

Pourquoi, tu ne propose pas ton “site62.tgz” tout seul ?. Ce serait plus simple pour tout le monde.

Un coup de -all cd et un coup de -site62.tgz disk et hop !. L'affaire est dans le sac !.

le 31/10/2017 à 22:12:32, thuban a dit :

@kobol : https://framagit.org/3hg/isotop/tree/master/site

le 31/10/2017 à 23:48:45, Truc de Fortunio a dit :

Article super intéressant ! Je vais tester ça de suite. Merci beaucoup. Ça paraît tellement simple une fois tout expliqué !

le 01/11/2017 à 21:53:07, kobol a dit :

De plus, tu pourrais faire la liaison entre ton bouquin et ton idée de isotop.

“Maintenant, que vous avez réussi l'installation (félicitation), vous disposez de tous les outils utiles pour suivre correctement ce livre génialisme "OpenBSD pour tous”!.

le 02/11/2017 à 08:22:14, fassil a dit :

‘LLo,

“Plutôt que donner du poisson, apprendre à pêcher”

J'adore cette formule qui pourrait amha être un remède au “distro-hopping” compulsif/stérile mais qui ne donne finalement que beaucoup de bidules inutiles, en tout cas sous Linux.
Montre-moi ton skel, je te dirais qui tu es..! ;-)

Ca donne effectivement envie (OpenBSD, ultime but?)

le 04/11/2017 à 12:11:17, tTh a dit :

Peut-on (presque aveuglément) suivre la même procédure pour l'architecture sparc64 ? J'ai quelques machines Soleil qui aimeraient bien revivre un peu, et c'est l'occasion de les rallumer…

le 05/11/2017 à 09:00:51, thuban a dit :

@tTh : Je ne vois aucune raison pour que ça ne fonctionne pas :)

le 05/11/2017 à 22:17:04, kobol a dit :

@tTh :

Sparc qu'on arrive en 2018, il faudrait évolué en bécance !.

le 06/11/2017 à 19:45:39, DrWhoWatchYou a dit :

@kobol, si des gens peuvent utiliser encore leur “vieille” station Sparc aujourd'hui, toi tu proposes qu'ils brûlent leur vieux matos sur l'autel de la modernité?
ps : “il faut” c'est pas une raison :P

le 06/11/2017 à 21:43:50, kobol a dit :

J'ai eu du sparc, c'est merveilleux :) !. Mais, en 2017 le rapport performance/consommation c'est une catastrophe.