Vous aimez préparer des gâteaux ? Alors vous aimerez PiBakery 🙂 Mmm …. gâteau!
PiBakery est une nouvelle façon de préparer une image pour le Raspberry Pi. Un peu comme pour un gâteau… Vous mélangez les ingrédients et quand c’est prêt hop! on met au four (on écrit la carte micro SD, quoi).
PiBakery a été créé par David FERGUSON, un étudiant écossais de 17 ans.
Au sommaire :
- 1 PiBakery : configurez facilement votre Raspbian
- 2 Mise en oeuvre de PiBakery
- 3 Un exemple, un exemple, UN EXEMPLE !!
- 4 Paramétrage du WiFi
- 5 Modifier une carte micro SD créée par PiBakery
- 6 Et après
- 7 Conclusion
- 8 Sources
PiBakery : configurez facilement votre Raspbian
Quelques conseils avant de commencer
- Ne négligez pas la qualité des cartes micro SD que vous utilisez (voir cet article)
- Préférez les carte de marque, vous aurez moins de surprises
- Utilisez des cartes micro SD de 8 Go au minimum
- Si vous pouvez, prévoyez 2 cartes micro SD, ça vous permet d’en préparer une autre pendant les tests de la précédente 😉
Comment ça marche ?
PiBakery est un programme astucieux qui permet aux utilisateurs de préparer une version personnalisée de Raspbian en lui ajoutant des ingrédients supplémentaires. Et vous n’avez besoin d’absolument aucune expérience avec les ordinateurs pour configurer votre image personnalisée de Raspbian.
Dans PiBakery, vous glissez-déposez les blocs (comme dans Scratch) pour ajouter des composants supplémentaires. PiBakery prépare ensuite la dernière version de Raspbian avec les modifs que vous avez faites, et écrit le résultat directement sur une carte microSD.
Comment l’idée a-t-elle germé ?
« L’idée de PiBakery m’est venue lorsque j’ai participé à un événement Raspberry Pi« , dit David. « Il fallait que je connecte mon RasPi au réseau, mais je n’avais ni moniteur, ni clavier ni souris. Il me fallait un moyen d’ajouter un réseau à mon Raspberry Pi sans devoir le démarrer et me connecter dessus.«
« PiBakery résout ce problème, » explique t-il. « Vous pouvez simplement faire glisser les blocs que vous souhaitez utiliser avec votre Raspberry Pi, et il créera la carte micro SD pour vous. »
« Si vous avez déjà fait une carte micro SD en utilisant PiBakery, vous pouvez insérer cette carte dans votre lecteur de cartes SD connecté à votre ordinateur, et reprendre l’édition des blocs pour ajouter des logiciels supplémentaires, configurer de nouveaux réseaux sans fil, et modifier différents paramètres« , dit David. « Tout cela sans avoir à trouver un moniteur, un clavier ou une souris.«
PiBakery est disponible pour Mac et Windows, avec une version Linux en préparation. Il peut être téléchargé directement à partir de son site Web d’origine. En plus des scripts et de l’interface permettant d’ajouter des bloc, il contient également Raspbian, ce qui fait que le téléchargement initial prend un certain temps (1 Go à télecharger). Par contre il rend le processus de construction de votre distribution et son écriture sur la carte micro SD remarquablement simple.
David a écrit un guide pour la création de cartes SD personnalisés avec PiBakery (en anglais). PiBakery est un programme très facile à utiliser, et en suivant ce guide vous construirez rapidement une version personnalisée de Raspbian qui, par exemple, se connectera directement à votre réseau local WiFi… Et qui fonctionnera du premier coup 🙂
En arrière plan, PiBakery crée un ensemble de scripts qui s’exécutent lorsque le Raspberry Pi est démarré (soit juste la première fois, soit à chaque fois qu’il est mis sous tension). Ces scripts peuvent être utilisés pour paramétrer le réseau WiFi et s’y connecter et activer SSH.
D’autres options incluent l’installation d’Apache, le changement du mot de passe de l’utilisateur, l’exécution de scripts Python ou de scripts en ligne de commande.
L’utilisateur contrôle les scripts qui sont utilisés grâce à l’interface à base de blocs. Vous glissez-déposez les tâches que vous voulez le Raspberry Pi effectue à la mise sous tension. C’est du gâteau 😉
Moi j’aime bien PiBakery… et les gâteaux. Au fait, je vous ai parlé des gâteaux ? 😆
Mise en oeuvre de PiBakery
[stextbox id= »info » caption= »Attention : QWERTY »]PiBakery applique ses modifications à une distribution Raspbian originale. Elle est donc en anglais et le clavier en QWERTY. Ceci ne pose pas de problème si vous vous connectez à distance. Mais pensez y si vous vous connectez directement sur le Raspberry Pi ![/stextbox]
Télécharger Pi Bakery
C’est sur le site de PiBakery que ça se passe. Rendez vous à la page Download.
Choisissez la version qui vous intéresse. Ici à défaut de version Linux ce sera Windows… En fonction de la vitesse de votre liaison Internet, attendez le temps que le gigaoctet de données soit téléchargé. Si c’est aussi rapide que chez moi, vous avez tout le temps de siroter une bière un café…
Vous devriez alors disposer d’un fichier exécutable que vous retrouverez selon votre configuration dans le dossier Téléchargements ou dans un dossier que vous aurez choisi.
Installer PiBakery
Double-cliquez sur PiBakery.Setup.exe pour démarrer l’installation. Autorisez ce programme à apporter des modifications à votre ordinateur…
PiBakery est distribué sous licence GNU. acceptez la licence et validez en cliquant sur le bouton Next >.
A moins d’avoir de bonnes raisons de faire autrement, acceptez le dossier d’installation proposé par PiBakery. Au passage notez en bas de la fenêtre que cette installation nécessite au moins 4,5 Go de place libre sur le disque… C’est bon, on peut y aller ? Cliquez sur Next >.
Si vous souhaitez que le programme installe un raccourci vers PiBakery sur votre bureau, cochez la case correspondante
Icône de PiBakery sur le bureau
et cliquez ensuite sur Next >.
Allez un dernier effort ! On vérifie que les choix sont corrects. Si vous voulez modifier quelque chose cliquez sur le bouton < Back pour revenir en arrière, sinon cliquez sur Install.
Et c’est parti, l’installation commence. Le programme commence par extraire les fichiers nécessaires, en particulier l’image de Raspbian…
Après quelques minutes de patience (même pas le temps de finir ma bière mon café 😉 ) l’installation est terminée. Si vous souhaitez lancer PiBakery immédiatement laissez la case cochée et cliquez sur le bouton Finish.
Utiliser PiBakery
Et c’est parti ! PiBakery se lance…
Bon… sur ma machine impossible d’agrandir la fenêtre (l’icône est grisée) et la fenêtre est donc figée à la dimension de 626×472… Pourquoi tant de haine ?
Ce qui réduit la zone utilisable à 610×460 pixels (à peu près). Bon, faudra faire avec 😉
Au passage notez dans la barre du haut les 3 icônes disponibles :
Vous pouvez exporter votre configuration pour la réutiliser plus tard avec Export. L’importation d’une configuration existante se fait avec Import. L’utilisation de ces deux fonctions est tout à fait classique et fait appel aux fonctions habituelles du système d’exploitation.
L’icône Write écrit le Raspbian personnalisé sur la carte micro SD.
Les blocs
Les blocs sont repérés (comme dans Scratch) par des couleurs. Amis daltoniens vous ferez comme moi, ignorez les couleurs et démerbrouillez-vous pour faire sans 🙂
La première série de blocs concerne le moment où les actions seront exécutées. Lors du premier démarrage (First Boot) ou à chaque démarrage (Every Boot).
La série de blocs suivants vous permet d’installer un serveur LAMP (Apache-MySQL-PHP), ou un paquet dont il faudra saisir le nom à la place de package-name. Vous pouvez aussi installer VNC (en indiquant un mot de passe) et lancer VNC sur le port par défaut, ou sur le port de votre choix.
Avec les blocs Network, vous pouvez récupérer un fichier en ligne (Download File) ou configurer le WiFi.
Settings donne accès à la configuration du nom de l’ordinateur (Set hostname), au démarrage en ligne de commande ou sur le bureau (Boot Option) et au paramétrage du mot de passe de l’utilisateur.
Pi Zero OTG permet de définir le fonctionnement de l’OTG du Raspberry Pi Zero : En liaison Ethernet, relié à une mémoire de masse (Clé USB, disque dur USB), relié à une interface MIDI, en liaison série. On peut aussi dévalider l’OTG. Chacune de ces options nécessite un redémarrage.
Enfin les blocs Other (Autres) vous permettent de lancer une commande, de supprimer fichiers ou dossiers, de redémarrer ou d’éteindre le RasPi ou encore d’exécuter un script Python.
Le bloc Reboot a une fonction particulière puisque pour les blocs qui nécessitent un redémarrage, c’est lui qui va relancer le système pour prendre en compte les changements.
Un exemple, un exemple, UN EXEMPLE !!
Le cahier des charges
PiBakery s’adresse à des novices pour leur permettre de configurer facilement leur Raspbian.
Voici le cahier des charges que je vous propose :
Au premier démarrage
- Changer le nom de la machine pour qu’elle s’appelle pibakery
- Modifier le mot de passe utilisateur en pibakery
- Démarrer en mode graphique sans être loggué (desktop)
Par défaut la connexion est faite sur l’écran graphique. Ce choix permet de vérifier le fonctionnement de PiBakery ce qui ne serait pas le cas si on ne changeait rien 😉 - Installer VNC Server avec comme mot de passe pibakery (pourquoi faire compliqué?)
- Lancer VNC Server
Sauvegarder la configuration en l’exportant.
Tester la configuration.
Changer le nom de la machine
Dans la rubrique Startup, cliquez (bouton gauche) sur le bloc On First Boot. Maintenez le bouton enfoncé et faites glisser le bloc dans la zone claire.
Dans la rubrique Settings, faites glisser le bloc Set hostname to sous le bloc On First Boot. Lorsque vous êtes dans la zone d’attractivité du bloc On First Boot la pointe qui se trouve sous celui-ci s’illumine. Vous pouvez lâcher le bouton de la souris, votre bloc va venir s’accrocher sous le bloc supérieur. Cliquez dans la zone de texte et remplacez le texte existant par pibakery. Validez la modification du nom de machine avec la touche Entrée.
En cas d’erreur sur le bloc choisi, cliquez sur le bloc à supprimer et emmenez le en bas de la fenêtre, vers la poubelle. Le couvercle de celle-ci s’ouvre, lâchez le bloc, il disparait dans la poubelle… Essayez… Juste pour voir comment ça fonctionne 🙂
Modifier le mot de passe utilisateur
Dans la rubrique Settings, prenez le bloc Set user password to et amenez le sous le bloc précédent. Modifiez le mot de passe en pibakery.
Démarrer en mode desktop
Toujours dans Settings, amenez le bloc Set Boot Option sous le bloc précédent. Mettez le mode de démarrage en mode graphique (Desktop).
Installer VNC Server avec comme mot de passe pibakery (pourquoi faire compliqué?)
Dans la rubrique Programs, prenez le bloc Install VNC Server et amenez le sous le bloc précédent. Modifiez le mot de passe en pibakery. Ensuite amenez le bloc Run VNC Server sous le précédent, laissez le port par défaut.
Préparer la distribution
Comme un des blocs nécessite un redémarrage, allez dans la rubrique Other.
Amenez le bloc Reboot sous le précédent. Notre « script » est prêt.
Sauvegarder la configuration
Cliquez sur l’icône Export. Par défaut PiBakery vous propose le nom de fichier recipe.xml. Remplacez le par un nom qui représente mieux votre configuration, ce sera plus facile quand vous en aurez plusieurs. Par exemple pibakery_vnc_mode-texte.xml.
Tester la configuration
Cliquez sur l’icône Write. (je ne sais pas si c’est dû à ma machine, vous me direz si ça fait pareil chez vous… mais ici les délais sont très longs entre le clic, l’apparition de la fenêtre de lancement d’écriture, l’affichage du nom de la clé…)
[stextbox id= »alert » caption= »ATTENTION ! »]Il vous appartient de vérifier PLUTÔT DEUX FOIS QU’UNE que la lettre affichée correspond bien à la carte micro USB que vous souhaitez préparer. TOUTES les données présentes sur la carte micro SD seront écrasées. Si la lettre est celle d’un disque dur ou d’une clé USB ce sont les données présentes sur ces supports qui seront effacées !
EN AUCUN CAS FRAMBOISE314 NE POURRA ÊTRE TENU POUR RESPONSABLE DE PERTES DE DONNÉES CONSÉCUTIVES A L’UTILISATION DE PiBakeri…[/stextbox]
Ici la carte micro SD est bien en J: (vérifié dans l’explorateur de fichiers) et le nom de volume est boot car elle a déjà été utilisée sur un Raspberry Pi.
Cliquez sur Start Write pour lancer l’écriture de la distribution personnalisée sur la carte.
Une fenêtre d’avertissement s’ouvre. Elle correspond à l’avertissement ci-dessus concernant l’effacement des données. Soyez certain(e) d’avoir bien vérifié avant de cliquer sur OUI !
L’écriture des données sur la carte commence, elle prend quelques minutes (nan ça vaut pas le coup d’ouvrir une bière de faire couler un café).
Après quelque temps Write successful apparait. Yessss
Mais avec une erreur ! Damned !
Mais qu’a-t-il bien pu se produire ?
Après réflexion et pas envie de réinstaller PiBakery comme conseillé, je décide de
- Redémarrer ma machine
- Lancer PiBakery en mode administrateur (sous Win32DiskImager il faut être en admin sinon pas d’accès à la carte micro SD !
Après un reboot du PC je relance PiBakery, importe la config précédemment sauvegardée (oups c’était une bonne idée 🙂 ) et on y retourne Start Write…
Bon, cette fois Write Sucessful mais pas de message d’horreur euh… d’erreur.
Démarrage du Raspberry Pi
Après le démarrage redimensionnement de la partition, reboot
Redémarrage et ouverture d’une fenêtre mode texte avec en titre PiBakery qui me dit qu’elle traite le premier script et install VNC Server.
Reboot… Démarrage normal.
Sur le PC démarrage de RealVNC Viewer, connexion sur le port 5901, mot de passe pibakery et…
[stextbox id= »info » caption= »Pour Info »]Un répertoire PiBakery a été créé dans la partition FAT sur la carte micro SD. Vous pouvez y accéder à partir d’une machine Windows si vous souhaitez décortiquer les modifications amenées par PiBakery :)[/stextbox]
Retour à la case config pour essayer d’ajouter le paramétrage du réseau WiFi
Paramétrage du WiFi
PiBakery permet de préconfigurer le WiFi. Le test suivant consistera donc à insérer le bloc de configuration du WiFi dans la séquence First Boot. A l’issue de la configuration First Boot, il faudra redémarrer le Raspberry Pi pour prendre les changements en compte.
Cela signifie qu’il faut penser à lancer le serveur VNC lors de chaque boot suivant (Every Boot) sinon… il ne fonctionnera pas 🙂
Préparation de la configuration
Je vous laisse préparer la configuration en suivant la copie d’écran ci-dessous :
Dans les paramètres WiFi indiquez le nom de votre réseau (ici MAISON) et votre mot de passe (ici 🙂 non mais vous ne croyez quand même pas que j’allais vous le donner 😀 ).
J’ai laissé le lancement de VNC Server au premier démarrage, vous pouvez l’enlever si vous voulez, puisque le Raspberry Pi va redémarrer à la fin de cette configuration On First Boot.
Allez on y croit ! envoyez la config sur la carte micro SD :
Test de la configuration
Pour vérifier la configuration du WiFi, pas de demi-mesure ! j’ai débranché le câble Ethernet… Il ne reste donc comme possibilité de liaison que le WiFi.
Insérez la carte dans le connecteur micro SD du Raspberry Pi et mettez sous tension.
Au tout premier démarrage de Raspbian, le système de fichiers est étendu à la totalité de la carte micro SD, puis la machine redémarre.
PiBakery joue bien son rôle et commence la config First Boot
Ma foi, ça correspond bien au script que nous avons écrit pour le First Boot.
Le serveur VNC est lancé par le script Every Boot.
Et on aboutit enfin au bureau avec l’obligation de s’authentifier pour accéder à Raspbian. c’est bien le choix que nous avions fait…
[stextbox id= »warning » caption= »Attention : QWERTY »]Si vous testez directement sur le Raspberry Pi, souvenez vous qu’il est toujours
en QWERTY 🙂 le login est pi mais le mot de passe est pibqkery ! et non pas pibakery ;)[/stextbox]
Connexion depuis un PC avec Real VNC pour vérifier que VNC fonctionne ainsi que le WiFi :
La connexion se passe bien depuis le PC avec VNC Viewer.
Et le WiFi a été correctement configuré par PiBakery, puisqu’on voit ici que le câble Ethernet est débranché (eth0 : Link is down) et que le Raspberry Pi est bien connecté au réseau MAISON sur lequel il a pris une adresse IP.
Modifier une carte micro SD créée par PiBakery
Insérez la carte micro SD dans votre lecteur de carte SD. Lancez PiBakery :
Cette fenêtre vous indique que PiBakery a détecté une carte de sa « fabrication ». Il vous demande si vous souhaitez y apporter des modifications. Répondez Oui.
PiBakery recharge et réaffiche vos scripts, sauf le First Boot qui a déjà été exécuté.
Et après
Vous avez maintenant des bases pour commencer à vous amuser avec PiBakery. Tenez compte que cette solution est encore jeune et que parfois il y a des choses qui demandent à être améliorées.
N’hésitez pas à laisser un message à David pour lui faire part de vos remarques…
Conclusion
Comme Denis j’ai cherché comment lancer une mise à jour de Raspbian à chaque démarrage… Mais sans succès.
J’ai essayé
sudo apt-get udate && sudo apt-get upgrade -y
sur une seule ligne ou sur 2 lignes séparées mais sans résultat.
PiBakery est ouvert et il est possible de créer des blocs qui seront disponibles pour tous les utilisateurs. Un des premiers blocs additionnels pourrait être celui de la mise à jour 🙂
Et puis si on peu émettre un souhait ? J’aimerais bien aussi un bloc qui installe Samba et partage /home/pi 🙂
Merci à Nicolas qui m’a signalé ce projet vu sur Korben.info et à Denis qui m’a informé de l’existence de son article (paru sur Pi4You) sur Facebook 🙂
Sources
- http://www.pibakery.org/index.html
- http://www.pibakery.org/docs/create.html
- https://www.raspberrypi.org/blog/pibakery/
- http://korben.info/configurer-facilement-raspberry-pi-pibakery.html
Test de PiBakery, Logiciel d’aide à l’installation de Raspbian
Merci pour ces exemples, ça donne envie de tester ça. Parfait pour reproduire des scénarios !
oui je pense qu’on peut s’amuser d’autant qu’on peut créer ses propres blocs… à suivre 🙂
La fondation a même fait un article dessus 😉
En tout cas c’est un bonne app !
oups! merci Olivier
j’ai utilisé la traduction de leur article pour le début de mon article et j’ai oublié de mettre un lien
je corrige ça tout de suite 😉
cordialement
François
ps : si, finalement il y était mais WordPress a affiché la page 🙂
Thank you so much for your excellent article on PiBakery! I’m glad that you like it!
I’m looking into the write error that you got and will try and release a fix for that soon. I’ll also be adding in blocks for updating the Pi, and for installing SAMBA file sharing.
It’s a good point that you made about the differences in the UK version of Raspbian compared to Raspbian for other countries – I have an idea of how I can fix this, but for the immediate future I’ll also be adding in a block to set the keyboard layout and language to what you want.
Thanks again for your article!
David Ferguson
Creator of PiBakery
Hello David
yes i like it ! and many readers do as the feedback on facebook show : https://www.facebook.com/Framboise314/photos/a.366505533448547.78218.365454566886977/1019610994804661/?type=3&theater
it’s a young project but i think it will grow up because it’s an answer for beginners and really a good idea! congratulations 🙂
I clone the git and began to work on my idea to install Samba and a text zone to choose wich directory to share.
I usually share /home/pi but others would like to share another directory and so create the directory if not exist.
Actually when dragging the folder containing my test files I cannot put it in the working zone of PiBakery
and CTRL SHIFT + do not open anything but … I go on 😉
very happy to read you
best regards
François
Merci pour cet article. Je viens d’expérimenter cet outil pour initialiser un Pi Zero tout beau, tout neuf. Cela a marché du premier coup pour la configuration du wifi (donc sans avoir à se connecter en filiaire lors du premier boot). Par contre pour le changement du HostName, j’ai du le faire à la main, l’initialisation par PiBakery n’ayant pas fonctionné.
Olivier
Bonjour Olivier
merci pour le retour
ici j ai fait plusieurs essais et le changement de hostname et de password a fonctionné à tous les coups…
c est un projet qui démarre il faut être magnanime….
cordialement
François
Absolument. Pas bien grave au final et comme vous le dites, le projet n’en est qu’à ses début. Merci!