I travelled to Raipur, Chhattisgarh on the evening of 20th January, 2017 to conduct a “Linux kernel workshop” at NIT, Raipur. It was my first time travelling to Chhattisgarh. Lalit [student of the university and program co-ordinator] reached out to me sometime during October, 2016 for having a talk on Linux kernel at their university as part of Codeutsava 1.0. Based on my previous experience of conducting kernel workshop(s), I told them to have a full day session so that I can have enough time to solve the queries of participants.
Usually for the kernel first patch workshop I followed a structure of having 1st session as a talk Linux kernel and related things. And then in the other session I go through the process of creating first patch along with the participants. But the issue with the structure was that participants have to build and install latest kernel by themselves as compiling kernel takes lot of time. This usually turns out too much to be a prerequisite as most of university students do not use Linux in their day to day life. So, this time I decided to include the building and installing part in the workshop itself and planned it as a full-day session. The idea was to have morning session as a talk and meanwhile helping participants with the issues to setup things. And then practical afternoon session where I along with participants can go for creating and sending first patch in the LKML.
Although planning can always help, there are certain things which are out of your hands. On my way to University from the airport, students told me that they will not have internet next day because of some issues from the local service provider. Thankfully I had evening flight on Sunday, so we decided to have first session during the Saturday afternoon and practical session on Sunday morning. For the Saturday morning, we decided to go for an interactive session with the Girls. Anyway interacting with the Girl students’ is my favorite part whenever I visit any university for taking sessions. This helps me to understand their perspective [and correct some of wrong myths associated with that] about computer science, technology, open source and STEM in general.
So, Saturday began with an interactive session with the Girls. I talked about Outreachy and my journey of becoming a Linux kernel engineer. Initially they were bit hesitant but slowly they opened up I guess. Most of them didn’t know anything about Outreachy and GSoC. So, it was good to have such session there, specifically when application of the Outreachy will be open very soon.
After the lunch, I started a session with giving a talk on ‘Introduction to Linux kernel hacking’. I started the session with introducing the fun world of open source, some common practices, introduction to tools like Git and ways of contributing to the open source projects. After that I wanted them to play a bit with Git and explore the kernel code with that. But it turned out that most of them didn’t have kernel source code and some of them were running Windows [Although Linux, Linux kernel source and Git were pre-requisites]. Eventually organizers announced that on facebook event and not all participants checked that. But anyway I already told them to have few USB keys in case some of them don’t have source code. So, eventually we were good to go after some initial issues. Like any university, here also students had only definition of the Linux kernel in their text books. So, it was fun to talk about what is Linux kernel, what part it plays in the OS, why it is important etc. I also talked about the Linux kernel development process and how it works. Next day we had first patch session which went well too. I was happy that they had questions for me. [And I hope my answers helped them to understand the things]. Slides and other material of the workshop can be found here.
I also spent some time with girls of the university on Saturday evening and had share of my fun by connecting with them. Overall, I think I really got a lot out of this experience, and I hope students gained something from my experience & perspectives as well. Huge thanks to the organizers and volunteers for organising the workshop, and being a good host. Also, thanks to everyone who participated in the workshop and hope to see more traffic in the LKML!
 I really hope that universities will offer course on Linux kernel or kernel in general some day. As far as I know, only one Indian university[IIT Bombay] offers such course. Check it out here if you are interested. I think they have good list of assignments and projects.
 I recently saw good talk by Greg on the same. This is informative for newbies.