How I got involved with Toaster
I work for Mentor Graphics. For my routine tasks bitbake command plays a vital role. Below is a small glimpse of how I landed up working on Toaster and how it matters a lot to me.
Let me rewind a bit. John Cherry who was leading MEL, visited India, Bangalore during 2015, to meet our small team. I got a chance to have a discussion with him. During our discussion, I mentioned about my past experience with FOSS community and my participation with Akadem(https://akademy.kde.org). I realized that we ( me and John ) had some interests in common. So I initiated a discussion with him regarding, my interest to work on python related projects. John replied immediately, “Why don’t you contribute to bitbake? :)”. I always believe that one needs an itch or reason to start working on a FOSS project. I insisted that I am looking for some kind of activity which involves more development.I was in need of a fresh air.
After team visit, John went back to USA. A discussion started on who would be interested in working with Toaster and about its integration with MEL. I was not part of initial discussion, but later it was communicated to me that I am assigned to work with toaster. So I thank a bunch to John, for considering our discussion and giving me an opportunity to work with toaster team.
First step, which I prefer, prior to working on any FOSS project is google : for a mailing list and irc channel. I got the first one couldn’t find the later for Toaster. But that was fine to me, because most contributors (in fact all) are available on #yocto. Team Toaster conducts a weekly meeting. I started joining the meeting regularly. I shared Mentor Graphics plan to integrate Toaster with MEL (Mentor Embedded Linux) with community. My first step was to build images using toaster in the build mode. I was able to build core-image-sato and core-image-minimal with toaster successfully. It gave me some confidence to move ahead and try to toast Mentor image(s), with toaster. I had foreseen that this process would eventually end up in integrating Toaster with MEL.
There were 2 approaches to integrate Toaster wih MEL. One was to use layerindex approach and other with toasterconf.json file. I preferred to use toasterconf.json. Belen helped me by sharing web links about this file. I struggled initially ( some joyful moments ) and learned to tailor toasterconf.json file. I also remember Ed, helping me for a day to get localhostbecontroller work with MEL setup. Later on patch was posted for review. There is always an etiquette I love to follow, when community helps you. That is, you as a user should have moral responsibility to give something back. Isn’t it same with society too 🙂 ? Hence I posted a few patches to toaster, apart from my normal task with toaster.
One of the key challenges I found during integration was, toaster trying to clone layers by itself after reading the data from toasterconf.json. I had to stop that. Because Mentor had its pre-cloned layers to use. With minor changes, I was able to get it working. I remember the day when I had to demo, toaster executing MEL image. I was able to trigger an image using toaster successfully.
Belen helped in validating my changes. The machine which I use for development would take a minimum of 3-4 hours to build a sato-image. Belen helped me a lot by triggering build on her machine and sharing the results quickly.
When my changes got stabilized with MEL images, I submitted them for review in poky-contrib. Michael Wood had helped in reviewing those changes. I also remember Alex who was part of toaster team, helped in reviewing my changes. Brian helped me a lot by sharing his thoughts about my changes and also by sharing results with my changes. Toaster community had also helped me by sharing a public server to ease my work.Builds which take around 4 hours to finish now take less than 30 minutes to complete.
It was too late for my changes to get into Jethro branch. Integration of my patches to toaster is planned for future release. Toaster is an amazing community to work with. It’s a community with like-minded people who understand the dynamics of FOSS and help users to use Toaster.
If there is a chance to meet you all (Toaster team) in future, I owe entire team with Beer(s) 🙂