Lundi, novembre 21 2016

SmartrapCore, imprimante 3D -1-

  • C'est confirmé, l'imprimante 3D fait maintenant partie de mon outillage courant !

J'ai pu m'en convaincre et faire mes armes depuis un peu plus de deux ans, avec l'excellente Prusa Mendel i3 Rework, imprimante partagée.

J'ambitionne donc d'avoir la mienne, et c'est au détour d'un tweet de Mr@babozor que je découvrais l'existance du modèle Smartrapcore, qui m'a avant tout séduit pour sa simplicité et sa « boite » qui sert également de structure.

300€, c'est le coût total que smartfriendz demandait pour son kit à monter.
Seulement vous connaissez Murphy, j'en suis sûr, et le temps que je me décide à me décider, alors que je débarque enfin pour cliquer « ajouter au panier », pouf, ce modèle a été déprécié par le fabriquant, remplacé par son évolution, qui ne m'intéresse pas.

Zuteu, flûteuuuu, pffff, encore du travail supplémentaire, devoir reconstituer un kit.

Basée sur le concept CoreXY le modèle « bois » par smartfriendz est documentée sur Thingiverse et sourcé sur youmagine, où l'on peut exploiter le design smartcore-v1.2.jscad grâce au site http://openjscad.org/.

  • Avant de procéder à l'impression des pièces, j'ai un peu gratté et trouvé de suite des améliorations pour l'axe Z, car celui d'origine est en porte-à-faux, ce qui n'est pas l'idéal. Ainsi qu'un extrudeur de type bowden (comprendre à tuyau de guidage) pour faire passer du filament de 3 mm plutôt que du 1,5 mm. J'ai réunis tout ça en pièces jointe à ce billet.

Impression de l'imprimante :

Voici les pièces, imprimée en ABS avec la Prusa :

  • En rouge les éléments que se déplace suivant l'axe X, et en vert ceux qui suivent l'axe Y.

dsc01925.jpg dsc01926.jpg

  • En gris les éléments de structure fixe dédiés à XY, et en jaune il s'agit de l'extrudeur bowden.

dsc01930.jpg dsc01932.jpg

  • Et devinez quoi ?? Les pièce pour l'axe Z sont en bleu :)

dsc01935.jpg dsc01939.jpg

Le boîtier :

BoitieEnBois2.png

  • J'ai modélisé vite fait le boîtier avec Sketchup, décidément pratique pour ce genre de truc, afin d'intégrer un double fond capable d'accueillir l'alimentation et l'électronique. S'il reste de la place, j'espère pourvoir y ranger aussi mon vieil eeepc 901 qui servirait pour piloter l'imprimante.

J'ai prévu la découpe pour la mise en place et la ventilation de l'alimentation des deux côtés, ce qui laissera le choix de son emplacement et une bonne circulation d'air.
Quant à la bobine de filament, elle serait accrochée sur le côté.

Liste des composants :

Le plus long travail à faire est de réunir l'intégralité des composants…
Savoir quoi se fournir, et où se fournir !

  • Pour le quoi, c'est en passant du temps à étudier les ressources photos, notes et les sources de l'imprimante.

De me rendre compte trop tard que le source exploité sur openjscad.org est paramétrique et m'aurait permis de choisir des tiges lisse de 8 mm pour le CoreXY au lieu des 6 mm imposés pour les fichiers STL sur la page Thingiverse.
Pas trop tard par contre pour effectuer les calculs utiles aux dimensions du boîtier et à la longueur des tiges, car je désire un volume d'impression de 20 cm³, un peu plus grand donc.

  • Pour la commande, j'ai voulu passer par les marchands Français, comme eMotion Tech et d'autres, sauf qu'au moment où je passais commande, ces sites ne proposaient qu'une partie restreinte du matériel dont j'avais besoin.

Je me suis alors orienté vers Banggood, pour tout le petit matériel, et puis vu les prix pratiqués et la richesse de l'offre, la quasi intégralité du matos… allez je tente, je verrais bien si la qualité est au rendez-vous ou non.


eMotion Tech :
- Roulement linéaire LM6UU × 8 = 15€20
- Lot de 5 Moteur NEMA17 = 60 €
- Frais de port = 7€20

Banggood :
- 5Pcs 100K 1% NTC Single Ended Glass Sealed Thermistor Temperature Sensor = 2€84
- 442pcs M3 Stainless Steel Hex Head Srews Bolt Nuts Hexagon Handle Tool Kit = 15€64
- 10pcs Spring For 3D Printer Extruder Heated Bed Ultimaker Makerbot = 1€54
- GT2 Aluminum Timing Pulley 5M Belt For RepRap Prusa Mendel 3D Printer = 6€58
- LM8UU 8mm Linear Ball Bearing Bush Steel for CNC Router Mill Machine × 4 = 5€39
- 10pcs 608zz 22x8x7mm Miniature Deep Groove Ball Bearings Carbon Steel Bearings × 2 = 9€21
- NPN DC 6-36V Inductive Proximity Sensor Detection Switch = 2€93
- 3D Printer RAMPS 1.4 Controller + MEGA2560 R3 + A4988 With Heat Sink Kit = 21€33
- Standard 3D Printer 3MM MK3 Aluminum Board PCB Heat Bed For Reprap = 12€51
- 0.4mm E3D-V6 Metal 3D Printer Extrusion Head Nozzle With Fan = 8€95
- MK7 Teeth Extruder Gear With M4 Screw For 3D Printer = 1€47
- 3Pcs RAMPS 1.4 Endstop Switch For RepRap Mendel 3D Printer With 70cm Cable = 2€48
- 1 x HY510-CN10 Grey Thermal Conductive Grease Paste For CPU GPU Chipset Cooling = 1€79

Au brico :

- 2 Panneaux de MDF 10mm 80x40 cm = 8€40
- Vis (4 × M8x40, 4 × M8x20); Rondelles (4 × M8, 1 poignée M3); Écrous (4 × M8) = 3 €
- 2 Tiges lisses 1m x 6 mm = 4€70
- 1 Tiges lisses 1m x 8 mm = 2€49
- 1 Tiges filetée 1m x 8 mm = 0€89

Et une alim ATX d'ordinateur, de récupération !

Total : 194€54

Le kit :

Un mois plus tard je recevais donc ma commande Banggood et en seulement 2 jours la commande eMotion Tech.

Voici le tout rassemblé :

  • La tête d'impression 3 mm ((buse 0,4 mm) livrée assemblée avec sa cartouche chauffante, sa thermistance, son ventilo, son tube bowden en PFTE et ses embouts pneumatiques) et la quincaillerie mécanique.

dsc02056.jpg dsc02058.jpg

  • L'électronique et le plateau chauffant.

dsc02065.jpg dsc02060.jpg

  • Les moteurs et une alim ATX.

dsc02063.jpg dsc02067.jpg

Je m'efforcerais de motiver mes choix et d'expliquer au mieux l'assemblage de la SmartRapcore prochainement.

Pour conclure :

Y'a pas photo, se procurer un kit complet auprès d'un fournisseur, est sans doute plus cher, mais on y gagne énormément de temps et de confort !

  • D'autant que j'ai eu quelques mésaventures du genre :

- Pris dans le tumulte des recherches, sans doute fatigué, une erreur de compréhension sur un site et je me retrouve avec un article de 10 mm au lieu de 100 mm.
- Oubli dans ma commande.
- Pièce reçue ne correspondant pas à l'article commandé.
- Qualité des tiges lisse du brico pas au rendez-vous !

  • Tout est rentré dans l'ordre :

- Mon erreur, bah tant pi ^^;
- Pour l'oubli, bah j'ai passé commande, j'attendrais un mois de plus cet article. (la pâte thermique)
- L'erreur de la part de la boutique, arrangée avec elle.
- Et les tiges du brico, rendues, et acheté d'autres.

En effet, je me suis vite aperçu (et j'ai même faillis flinguer un roulement linéaire) que les tiges lisses du brico de 6 mm étaient soient ovales (le diamètre oscillant entre 5,85 mm à 6,20 mm) soit trop épaisse (jusqu'à 6,25 mm)… Alors qu'on veut faire passer un roulement de 6,20 mm dessus.
Une vraie galère dans le magasin, à passer trop de temps à déranger tout le rayon pour mesurer au mieux et discrétos (va expliquer au vigile que le pied à coulisse que t'utilises et que tu ré-enfournes dans ton sac, c'est bien le tiens et pas celui du rayon métrologie) toutes les tiges jusqu'à dégotter celle qui conviendra.


À suivre…

Dimanche, novembre 20 2016

Un Clavier Orthogonal pour le 21ième siècle -1-

  • J'évoquais il y a quelques temps l'envie et le besoin de bricoler un clavier orthogonal en vue notamment de servir comme pièce maitresse à un ordinateur 16Bits like.

- Idéalement il faudrait qu'il soit construit à partir d'un clavier azerty existant afin de réutiliser son chipset électronique et ses touches.
- Il serait inspiré du Typematrix que je possède déjà, un clavier ô combien satisfaisant, et les touches placées selon la disposition bépo.

Pour cela j'ai démonté quelques claviers que j'avais à disposition pour constater qu'ils étaient tous de type « à membrane », une technologie qui n'est pas évidente à hacker au premier abord.
En effet j'ai bien constaté après quelques recherches web, que les claviers customisés par leurs auteurs étaient tous construits à partir de touches mécaniques (et dans le pire des cas, puisqu'achetées pour l'occasion).
J'ai trouvé quelques claviers à touches mécaniques que je pourrais donc aussi recycler.

Clavier mécanique, avantages et inconvénient :

  • Les touches d'un clavier mécanique sont tout simplement soudées sur un circuit électronique (PCB), tandis qu'un cadre et un fond en plastique viennent constituer le boitier du clavier.

C'est simple, fiable, efficace, et à construire c'est facile.
Il suffirait de dessouder toutes des touches, dessiner un nouveau circuit électronique avec Kicad, graver une PCB et y souder les touches. Ensuite en bois ou en plastique, construire le boitier.
20161020_162542.jpg
Cependant ce type de clavier n'a plus court de nos jours, à moins de faire les vides greniers, difficile donc de trouver un clavier de récup à désosser.

dsc02044.jpg
Ensuite il faudrait graver une PCB de plus de 30 cm sur 15, ce qui est loin d'être évident, et peux même s'avérer assez coûteux…

Le clavier à membrane, une toute autre histoire :

  • Les touches ne sont que des morceaux de plastiques qui vont appuyer sur une membrane sur-laquelle est imprimé un circuit électronique. En appuyant sur une touche, on vient alors comprimer ce circuit sur une seconde membrane présentant un autre circuit, et c'est ce contact instantané qui indique au chipset du clavier que la touche est actionnée.

dsc09397.jpg dsc09399.jpg À construire, c'est compliqué…
Il faut produire une plaque de plastique pour accueillir tous les boutons en-clipsables, et ensuite créer un nouveau circuit à connecter au chipset.
Sauf que… La disposition des touches étant pas mal modifiée, le circuit ne sera pas évident à router, que le circuit conducteur d'électricité devra être dessiné sur des feuilles de plastique transparente, et là, tout électronicien adopte alors une attitude de perplexité…

Voilà voilà ^^;
Et devinez quel type de clavier on va hacker ??!
Bah oui, le plus chiant tiens :) Pour la raison simple que ce type de clavier est disponible en très grande quantité tout autour de vous, et que ça ne coûtera pas cher à faire.

Premier test de faisabilité :

  • Tout d'abord, le circuit électronique.

J'ai donc recherché des solutions techniques à cette membrane maison et expérimenté afin de valider la méthode.
Deux solutions possibles :
- Soit utiliser un stylo à encre conductrice comme on en trouve maintenant pour un peu cher. (j'ai essayé de fabriquer de l'encre conductrice, mais les résultats n'ont rien donnés),
- soit reproduire le circuit avec de l'aluminium adhésif (le genre de rouleaux qu'on trouve au rayon isolation thermique et ventilation).
En attendant, j'ai fait un test en collant du papier alu alimentaire sur deux feuilles transparentes avec un simple bâton de colle, séparées par une troisième feuille percée afin d'empêcher un contact permanent… Et ça marche :)

dsc02032.jpg dsc02031.jpg dsc02030.jpg dsc02029.jpg

  • Second test, le support d'une touche.

1touche.png Vous vous doutez bien que pour réaliser cela, l'outil impression 3D s'avère nécessaire, j'ai donc modélisé un support de touche de clavier (un KB-0316 ps2) avec FreeCad, que j'ai ensuite imprimé pour test et ajustement des côtes.

1touche_essais.jpg

Au bout d'une vingtaines d'impressions j'avais enfin la pièce de base à l'élaboration du design complet.

Étude du layout :

J'ai commencé par faire sauter toutes les touches du clavier et de tester diverses solutions de disposition.

  • Je me suis alors arrêté sur celle-ci, et j'en ai profité pour simuler le résultat attendu en retouchant la sérigraphie des touches avec Gimp, pour obtenir une disposition bépo.

Layout_test.jpg Layout_bepo.jpg

  • On remarque alors quelques particularités que j'ai jugé nécessaire de tester de manière isolée, par groupement de touches de diverses natures.

dsc01856.jpg dsc01849.jpg dsc01852.jpg
Et j'ai bien fait, car j'ai dû m'y reprendre quelques fois pour valider un espacement correct des touches entre-elles et les rebords, espacements qui seront très utiles à la modélisation du clavier complet.

  • Après quelques heures de travail supplémentaires, qui m'auront permises d'apprendre à manipuler et apprécier FreeCad pour sa grande précision et sa facilité d'usage dés qu'il s'agit de retoucher les objets (je conseille d'ailleurs la chaîne tutube de CAD Printer), voici le design complet du clavier.

Layout_design3D.jpg

Impression du prototype :

Je l'ai alors coupé en deux parties pour permettre l'impression, avec près de 7h pour chacune des pièces.

  • Voici la partie de gauche…

impression01.jpg
dsc01857.jpg dsc01858.jpg dsc01860.jpg dsc01861.jpg

  • Et la partie de droite terminée.

impression02.jpg dsc01862.jpg dsc01863.jpg dsc01864.jpg

Le prototype aurait-pu être parfait si je n'avais pas commis quelques erreurs dans les espacements entre les touches, ici relevées en rouge :
dsc01865.jpg

Liste des claviers dont les touches sont compatibles pour l'impression 3D :
- hp KU-0316 usb
- hp KU-1156 usb
- hp KB-0316 ps2
- compaq KB-9860 ps2

J'ajouterais d'autres références lorsque j'aurais l'occasion d'en croiser de nouveaux.

À suivre…

Mardi, novembre 8 2016

DIY – Machine à vapeur, double action

Bon, à force de galérer sur les réglages de mon Stirling, j’ai eu besoin de me changer les idées… mais en restant un peu dans la même veine. J’ai toujours aimé les petits moteurs miniatures, et encore plus les moteurs vapeurs.
je possède déjà un petit modèle avec piston simple action (qu’on m’avais offert, pas un diy), mais j’étais nettement plus intrigué par les moteurs double action. J’ai donc décidé d’en réaliser un, et pour vérifier que j’avais tout bien compris, je suis parti direct dans l’idée de concevoir les plans moi-même. Bien sûr, je me suis inspiré de moteurs existants, mais sans en avoir lu aucun plan, celui-là, c’est mon bébé ! Ce qui accessoirement me permet de vous offrir les plans à la fin de l’article.

moteur_vapeur

Malheureusement pour l’article, j’ai assez peu de photos de la construction. En partie car elle s’est étalée sur plusieurs semaines, dans des conditions ne permettant pas toujours de photographier simultanément, mais aussi à cause de soucis avec mon appareil photo. La plupart des pièces ne demandent d’ailleurs pas de précision particulières quand à leur construction, mais nécessitent un peu d’outillage.

Le support a été réalisé en fonderie aluminium, ainsi que le volant d’inertie. A ce sujet, j’ai mis au point un process permettant d’utiliser des pièces d’imprimante 3D en tant que modèle pour le moule en sable qui fonctionne très correctement. Tout d’abord, pour les pièces ayant un plan de joint, le demi plan de joint doit être côté lit chauffant de l’imprimante, et être parfaitement plan (sinon ça ne sera pas parfaitement jointif). S’il y a un très léger défaut, vous pouvez poncer bien à plat, mais si le défaut est trop important (warping), il faut refaire la pièce en trouvant de meilleurs réglages.
Une fois les 2 demi coquilles imprimées, il va falloir faire quelque chose contre les stries dues au procédé fdm, car sinon l’état de surface sera mauvais, si tant est qu’on arrive à sortir la coquille du moule sans tout casser. Pour les lisser, j’utilise de l’appret filler en bombe. 2 couches à quelques dizaines de minutes d’intervalle, en ponçant entre les deux au papier de verre 600. Pour terminer, une couche de peinture en bombe, et on ne croirait pas que la pièce sort d’une imprimante 3D. C’est très pratique, notamment pour réaliser le modèle du support, qui aurait été assez long à faire de manière traditionnelle.

Pièce fonderie

Le volant d’inertie

Sur la suite, pas grand chose à dire, pas mal de tournage, un peu de fraisage… Puis l’assemblage.
tout à d’abord été monté à blanc, histoire de vérifier les ajustements, avant d’être fixé. Les pièces en laiton ont été brasées ensemble (brasure tendre),  les fixations laiton sur alu ont été faites soit par vissage, soit par collage à la super glue. Idem pour les cames sur l’axe, qui ont été fixées à la super glue. C’est pas super « mécano », mais ça fonctionne très bien.

Le résultat final

Le résultat final

Comme je n’ai pas encore fait de chaudière, je l’ai fait fonctionner à l’air comprimée, voici le résultat :

Voilà, et comme promis en début d’article, les plans sont téléchargeables ici

Samedi, octobre 29 2016

Modification d’un four de fonderie industriel

Il y a déjà quelques temps (bientôt 2 ans, pfiouuu ça passe, ça passe…), j’avais récupéré un four de fonderie industriel. Genre, une belle bête :

img_20151028_150949

Mes pérégrinations ont fait que je n’ai pas eu la possibilité de m’en occuper avant ça, mais en ce moment, je fais pas mal de fonderie (avec la petite fonderie au gaz), en j’ai besoin de faire des pièces nécessitant plus de matière que ce que je peux faire avec mon demi extincteur. Là, avec son creuset de 20l, je devrais être tranquille </div>
            
            
                          <p class= aucun rétrolien

Mardi, octobre 18 2016

Une éolienne à axe vertical -6-

dsc01817.jpg Suite de l'ouvrage précédent :


Voici le nouveau jouet que nous avons acquis dans l'atelier, et qui me facilite bien la tâche :)
Avec cette jolie perceuse à colonne, j'ai donc pu continuer agréablement et efficacement l'usinage des croix de fixation des ailes.



  • Après avoir coupé le métal excédent des branches, des trous de 6 mm ont été percés aux extrémités afin d'assurer la fixation des ailes.

Un trou de 4 mm a été pratiqué dans le tube, à destination d'une vis permettant de bloquer la croix sur l'axe de rotation, un tube de 25 mm de diamètre (et 2 m de long) lui même percé pour accueillir la vis.
dsc01790.jpg dsc01793.jpg dsc01794.jpg dsc01795.jpg

  • Après en avoir percé la tôle, les ailes sont fixées avec de simples boulons. Je prévois pour plus tard de renforcer cette structure.

dsc01798.jpg dsc01799.jpg

  • Voici donc le rotor de l'éolienne, avec les ailes ouvertes :

dsc01804.jpg dsc01805.jpg

  • Et en vue de dessous, ailes fermées puis ouvertes :

dsc01801.jpg dsc01808.jpg

dsc01816.jpg
J'ai enfiché le rotor dans un support à roulette bien pratique, récupération d'une chaise ou d'un autre truc qui traînait…



À suivre…

Dimanche, octobre 16 2016

Des bricoles en 3D réelle -6-

Ce billet fait suite à cet autre, voici mes dernières impressions 3D :

Sanwa GT-Y .
Avec cette plaque de remplacement pour joystick Sanwa, le déplacement dans les huit directions est plus agréable et efficace.
dsc01216.jpg dsc01217.jpg
À télécharger ici : http://www.thingiverse.com/thing:1363725

Scanlines Générator Case.
dsc01415.jpg dsc01412.jpg
À télécharger ici : http://www.thingiverse.com/thing:1484483

Porte-Livre Couché.

dsc01440.jpg
À télécharger ici : http://www.thingiverse.com/thing:1636131

5 ou 3 Crochets.

dsc01426.jpg dsc01428.jpg dsc01430.jpg dsc01433.jpg dsc01453.jpg dsc01454.jpg
À télécharger ici : http://www.thingiverse.com/thing:1633526

Doseur de spaghettis.
dsc01500.jpg
À télécharger ici : http://www.thingiverse.com/thing:702605

Mercredi, septembre 14 2016

Une arcade à la maison

Cela fait longtemps que je voulais faire une borne d'arcade home-made. Cependant, cela prend quand même pas mal de place! Mais il y a quelques semaines, tous les éléments se sont réunis pour que je me lance dans le projet.
Tout d'abord, j'ai récupéré un écran de pc 19 pouces avec une sortie DVI. Je me suis rappelé ensuite que j'avais un vieux Raspberry Pi qui traînait.
Je n'avais jamais rien fait avec mon Raspberry, ce dernier ayant une sortie HDMI et  n'ayant à ma disposition que des écrans VGA (la carte permettant de passer du VGA au HDMI vaut une petite fortune).
Le D de DVI veut dire "Digital" comme dans HDMI et pas comme dans VGA. J'ai donc pu vérifier sur internet qu'il est possible facilement de passer du DVI au HDMI juste par un câble (environ 4€) et donc de pouvoir relier cet écran au Raspberry Pi.
J'ai ensuite découvert les BARTOP grâce à mon ami Google. Et là je me suis dit: il faut y aller, c'est génial.

Le principe est simple: l'épaisseur et le poids des écrans ayant radicalement diminués, pourquoi ne pas réduire la taille de l'arcade tout en gardant l'esprit et le look.

Exemple de Bartop:

Le bartop, c'est une borne d'arcade portative en fait.

Une autre idée m'a aussi beaucoup plu. Je la ferai peut-être dans un deuxième temps. Elle est beaucoup plus belle pour moi mais elle a un côté un peu trop "définitif" qui fait que je préfère d'abord m'exercer sur un Bartop. C'est l'arcade murale:




Je vais donc vous présenter ma réalisation en quelques posts: la conception, le matériel, la partie bois, la partie Hard et la partie Soft.

Pour commencer, j'ai réalisé des plans sous Sketchup et j'ai fait voter la famille. Voici quelques exemples:



Le Bartop Gagnant a été le numéro 3, que j'ai ensuite un peu modifié et épuré. Le résultat final ressemblera plus à ça:



Je me suis ensuite mis à la recherche de tout le matériel nécessaire dont voici la liste et le prix:

- un écran 19" 4/3  (Récup)
- un Raspberry PI  B ou plus récent  (de 30 à 45€)
- un câble (HDMI/DVI) (4€)
- 2 kits joystick avec 10 boutons et carte USB (17€ pièce)
- 1 carte SD 32 Go  (5€)
- 1 planche 80X120 de medium 10mm d'épaisseur (6€)
- 1 planche 80X120 de medium 16mm (9€)
- 2 haut-parleurs de voiture (3€ d'occaz à la brocante)
- un kit Ampli audio 2x10watts (4€ sur Ebay)
- des transfos pour alimenter tout ça
- de la colle, des dominos, des chevilles bois, du câble, des vis... (récup)

En fouinant un peu pour récupérer un écran (brocante, leboncoin), on peut réaliser le bartop pour environ 100€.

Dans mon prochain post, je vous montre la prochaine étape du Bartop DIY: la réalisation du châssis

Mercredi, août 24 2016

Live Build : créer une distribution GNU/Linux à base Debian

L'idée est ici de retranscrire les étapes qui m'ont permises de créer l'image ISO de mon système Arcade, à partir de ce qui est décrit dans mon dernier script d'installation du bartop.


1 - Installation de Live-Build et des outils :

apt-get install live-build live-manual live-tools
  • Créer un dossier de travail et s'y rendre :
mkdir livearcade
cd livearcade
  • Lancer la config afin de créer l'arborescence de travail :
lb config

Les dossiers auto, .build, config et local ont donc été ajouté.

2 - Préparation de la session Live :

Il s'agit ici de créer ou d'amender un certains nombre de fichiers qui vont permettre de personnaliser la distribution GNU/Linux Live qui sera générée à l'issue du build.

2.1 - La configuration du build :

  • Le fichier auto/config :
#!/bin/sh

set -e

lb config noauto \
--bootappend-live "boot=live components locales=fr_FR.UTF-8 keyboard-layouts=fr username=arcade autologin" \
--architectures amd64 \
--distribution jessie \
--debian-installer live \
--archive-areas "main contrib non-free" \
	"${@}"

--bootappend-live "…", pour spécifier le type de clavier, le nom d'utilisateur et le login automatique de celui-ci.
--debian-installer live, pour spécifier qu'en cas d'installation, la session live est reproduite à d'identique sur le disque dur.


2.2 - Les packets logiciels qu'on désire proposer :

  • Le fichier config/package-lists/arcade.list.chroot :
#################################
# Liste des packets a installer #
#################################

libsdl-ttf2.0-0 libgtk2.0-0 libqtgui4 libgconf-2-4 xserver-xorg-video-all xfonts-base xinit x11-xserver-utils alsa-base alsa-utils libsdl1.2debian sshfs acpid sudo firmware-linux-nonfree psmisc console-setup console-setup-linux


2.3 - Les fichiers du dossier personnel :
Il suffit de simplement copier le contenu du dossier /home/arcade dans le dossier /includes.chroot/etc/skel qu'on aura préalablement créé,

mkdir config/includes.chroot/etc
mkdir config/includes.chroot/etc/skel

Donc j'ai déposé les fichiers et dossiers qui concernent l'émulation et les roms, à savoir .advance (dossier et sous-dossiers), usb (dossier vide), hiscore.dat et mame.ini.

Et les fichiers pour démarrer la session X et AdvanceMenu automatiquement :

  • Le fichier config/includes.chroot/etc/skel/.profile :
# if running bash
if [ -n "$BASH_VERSION" ]; then
    # include .bashrc if it exists
    if [ -f "$HOME/.bashrc" ]; then
	. "$HOME/.bashrc"
    fi
fi

# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/bin" ] ; then
    PATH="$HOME/bin:$PATH"
fi

tty=`tty`
# Start X only if login in tty1
if [ $tty = '/dev/tty1' ]; then
        startx
fi
  • Le fichier config/includes.chroot/etc/skel/.xinitrc :
advmenu &
xterm -maximized -bg black -fg grey75


2.4 - La customisation du système :
Ici j'ai besoin de xorg.conf pour régler l'affichage, et de fichiers systemd pour permettre le login automatique de la session live.

  • Le fichier config/includes.chroot/etc/X11/xorg.conf
Section "Device"
    Identifier  "Video"
EndSection

Section "Monitor"
        Identifier   "Ecran"
EndSection

Section "Screen"
    Identifier "Default Screen"
    Device     "Video"
    Monitor    "Ecran"
    DefaultDepth     24
    SubSection "Display"
    Depth     24
    Modes    "640x480"
    EndSubSection
EndSection
  • Le fichier config/includes.chroot/etc/systemd/system/getty.target.wants/getty@tty1.service
[Unit]
Description=Getty on %I
Documentation=man:agetty(8) man:systemd-getty-generator(8)
Documentation=http://0pointer.de/blog/projects/serial-console.html
After=systemd-user-sessions.service plymouth-quit-wait.service
After=rc-local.service

Before=getty.target
IgnoreOnIsolate=yes

ConditionPathExists=/dev/tty0

[Service]
ExecStart=-/sbin/agetty -a arcade --noclear %I $TERM
Type=idle
Restart=always
RestartSec=0
UtmpIdentifier=%I
TTYPath=/dev/%I
TTYReset=yes
TTYVHangup=yes
TTYVTDisallocate=yes
KillMode=process
IgnoreSIGPIPE=no
SendSIGHUP=yes

Environment=LANG= LANGUAGE= LC_CTYPE= LC_NUMERIC= LC_TIME= LC_COLLATE= LC_MONETARY= LC_MESSAGES= LC_PAPER= LC_NAME= LC_ADDRESS= LC_TELEPHONE= LC_MEASUREMENT= LC_IDENTIFICATION=

[Install]
WantedBy=getty.target
DefaultInstance=tty1
  • Le fichier config/includes.chroot/etc/systemd/system/getty@tty1.service.d/autologin.conf
[service]
ExecStart=
ExecStart=-/sbin/agetty --autologin arcade --noclear %I 38400 linux
  • Le fichier config/includes.chroot/etc/sudoers
Defaults	env_reset
Defaults	mail_badpass
Defaults	secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"

root	ALL=(ALL:ALL) ALL
%sudo	ALL=(ALL:ALL) ALL
arcade	ALL=NOPASSWD: /sbin/reboot, /bin/mount, /bin/umount


2.5 - Pour installer des packets logiciels tierce :

  • Si un logiciel n'est pas dans les dépôts où qu'il a été compilé soit même, il faut juste les déposer dans le dossier config/packages.chroot/

J'y ai donc placé mon packet advancemenu_2.8-1_amd64.deb.

3 - Génération de l'image :

  • Afin de prendre en compte toutes les modifications effectuées, il faut, depuis le dossier livearcade, lancer à nouveau la commande :
lb config

Et de vérifier qu'aucune erreur ne remonte…

  • Ensuite on peut enfin lancer la construction de l'image iso :
lb build

Le processus est assez long, et il lui faudra entre 30 min et 1h pour s'achever suivant la puissance machine et le débit internet.
Si aucune erreur n'est survenue, une image iso est alors disponible dans le dossier livearcade

live-image-amd64.hybrid.iso
  • Pour rendre une cléUSB bootable avec cette iso et alors tester le système live sur un ordi :
dd if=live-image-amd64.hybrid.iso of=/dev/sdb bs=4M; sync
  • Insatisfait du résultat ? Pour modifier des trucs et relancer une génération de l'image iso, il faut nettoyer auparavant le dossier livearcade avec la commande :
lb clean


4 - Notes, pour aller plus loin :

  • Plutôt que de créer directement des fichiers système dans config/includes.chroot/etc/, comme je l'ai fait pour ces deux-ci :

config/includes.chroot/etc/systemd/system/getty.target.wants/getty@tty1.service
config/includes.chroot/etc/systemd/system/getty@tty1.service.d/autologin.conf

Il est possible d'écrire des scripts d'opérations qui font la même chose et de les déposer dans le dossier config/hooks :

  • Le fichier config/hooks/autologin.chroot
#!/bin/sh
set -e
mkdir /etc/systemd/system/getty@tty1.service.d
echo "[service]" > /etc/systemd/system/getty@tty1.service.d/autologin.conf
echo "ExecStart=" >> /etc/systemd/system/getty@tty1.service.d/autologin.conf
echo "ExecStart=-/sbin/agetty --autologin arcade --noclear %I 38400 linux" >> /etc/systemd/system/getty@tty1.service.d/autologin.conf
sed -i -e "s/sbin\/agetty/sbin\/agetty -a arcade/g" /etc/systemd/system/getty.target.wants/getty@tty1.service

De même on peut customiser la console d’accueil avec ces quelques messages utiles :

  • Le fichier config/hooks/accueil.chroot :
#!/bin/sh
set -e
echo "Bienvenue sur votre Borne d'Arcade" >> /etc/issue
echo "Utilisateur : arcade" >> /etc/issue
echo "Mot de passe : arcade" >> /etc/issue
echo "" >> /etc/issue
# Pour changer le mot de passe de la session LIVE
# sans ces deux commandes, le mot de passe par défaut est : "live"
adduser --disabled-password --gecos "" arcade
echo "arcade:arcade" | chpasswd


Ressources :

http://www.yeuxdelibad.net/Logiciel-libre/Debian/Creer_sa_propre_distribution_avec_live-build.html
https://debian-facile.org/doc:install:live-build
https://debian-facile.org/utilisateurs:abdelqahar:tutos:live-build
https://debian-live.alioth.debian.org/live-manual/stable/manual/html/live-manual.en.html#630
http://complete.sisudoc.org/manual/html/live-manual/customizing-run-time-behaviours.fr.html
https://arpinux.org/public/doc_arp_pdf/
http://man.developpez.com/man7/live-config/
http://wiki.csnu.org/index.php/Debian_live

- page 1 de 91