----BEGIN CLASS---- [14:29] #startclass [14:29] Roll Call [14:29] Prashant Sharma [14:29] Naman Sharma [14:29] Rayan Das [14:29] Shiva Saxena [14:29] Bhavin Gandhi [14:29] <__rex__> Rakshit Airani [14:29] Kumar Vipin Yadav [14:29] Prabhu Sharan Singh [14:29] Prashant Jamkhande [14:29] Vivek Shukla [14:29] sahil [14:29] Jaysinh Shukla [14:29] Rishikesh Bamdale [14:29] tabrez [14:29] Kushal Das [14:29] Mayank Singhal [14:29] Mansi Agrawal [14:29] avik mukherjee [14:30] Anu Kumari Gupta [14:30] Ashish Kumar Mishra [14:30] Priyanka saggu [14:30] Rajat Gupta [14:30] Aman Verma [14:30] Souvik Haldar [14:30] Vishal Kushwaha [14:30] Muhammad Zeeshan Qazi [14:30] Anyone left? [14:30] Pawan [14:31] Shubham Sharma [14:31] vaishali, Welcome to dgplug :) [14:31] vaishali, The stage is yours :) [14:31] kushal: Thanks :) [14:32] Hi Everyone, I'm Vaishali Thakkar. Currently I'm working as a Freelance Linux Kernel Engineer and co-organizer of RGSoC [3-months open source paid scholarship program for women and non-binary people]. I am also a volunteer Linux Kernel co-coordinator for Outreachy. Previously I worked as a Kernel engineer at Oracle and Linux Kernel intern under Outreachy program. Feel free to ask any questions related to Linux Kernel, Open source, programs I'm part of [14:32] etc. [14:32] pooja kumari singh [14:32] ! [14:32] next [14:32] ! [14:33] ! [14:33] What is alpine linux? How good is it to build minimal container? [14:33] <__rex__> ! [14:33] ! [14:33] souvikhaldar, Please ask questions related to the session. [14:33] souvikhaldar: I've never used it. So, no idea. Sorry about that. [14:34] ! [14:34] next [14:34] souvikhaldar, You can type the same question in a search engine. [14:34] hi, what part of the kernel do you work on? how did you get interested in it [14:34] kushal: It was regarding container. [14:34] ! [14:34] Shrimadhav U [14:35] j605: I read by Robert Love and Greg on Kernel and device drivers after operating system course. That's how I got interested in it. Started contributing via Outreachy program. [14:35] ! [14:35] ! [14:36] j605: Currently I'm working in core, i2c, multimedia part for the SoCs of the company I work with. [14:36] next [14:36] How did you start your career as Linux kernel engineer? What was your motivation towards it? [14:36] s/read/read a book [14:37] [14:37] ! [14:38] ! [14:38] ! [14:38] ann: Frankly, there wasn't any motivation when I started it. I started it because it looked cool and also I liked how gcc worked. At university we were used to use Turbo C. So, using GCC, breaking and building kernel was something I would say touching raw parts of the os. Later I fell in love with open source community and decided to stay. [14:39] ! [14:39] next [14:39] ! [14:39] <__rex__> what are your thoughts on micro kernels, do you think there are categories where they are better suited than monolithic kernels? [14:40] back [14:40] __rex__: I guess yes. Specifically for some IoT systems. I don't hack much on micro kernels so I don't think I'm suitable to answer that when it comes to which is better. [14:41] next [14:41] What are your advice for people who want to start with kernel building and making tools? [14:42] ! [14:42] ! [14:42] nightwarriorxxx: Start with small patches, be patient, find the subsystem you're interested in. Git and kernel source code is your friend. Also, LWN articles :) [14:43] ! [14:43] ! [14:44] prokbird: I would not rely on the book itself only. The concepts are same. You can use the book fro concept and use LWN articles, source code, conf talks etc to under latest development. [14:44] next [14:44] How did you start contributing to open source? [14:45] prabhuss: I started as part of an application period for Outreachy program [https://www.outreachy.org/]. [14:45] next [14:47] next [14:47] vaishali, got resolved from above questions, thank you :) [14:47] next [14:48] What is the easiest way to contribute to kernel? [14:49] ! [14:49] souvikhaldar: There is no easy way. :) You can start with this tutorial we have prepared for kernelnewbies and can follow from there: https://kernelnewbies.org/FirstKernelPatch [14:50] vaishali: Thanks! [14:50] P.S. Sorry the website is down since the morning. I've asked concerned person to look into it. [14:50] next [14:50] I recently had an issue with broadcom wireless drivers where they print a warning for a certain state. I only allow errors to be printed in logs so when I recieved so much logspam I was intrigued. How do you decide whether something is a error or a warning since it did not affect the performance of wireless anyway. [14:53] sorry got disconnected [14:53] j605: In my dictionary, warnings are something where you are just able to use stuff despite of having a problem. Error is something when it just doesn't work. If it's not affecting the performance, it might be affecting some resources associated with it. [14:53] You need to dig into it. [14:54] There are bunch of networking tools that can be helpful for the same. [14:54] next [14:54] Can you share the significance of initramfs in linux boot process ? [14:54] ! [14:57] gauravsitlani: initramfs is basically a bunch of directories for the filesystem. You need it to access the system from the user side. It can be as minimal as having just bunch of things like bash, sys files etc to having userspace applications. [14:59] For example, for the embedded systems with limited memory you need to run the kernel with minimal initramfs but for the desktop systems it contains lot of other things. You can check more online. [14:59] next [14:59] Can the contributions to kernels be made only in C language? [15:00] sidntrivedi012: Core kernel parts, yes. Because it's written in C. But Kernel's source code consists of bunch of other things like scripts, tools etc written in all sort of languages ranging from assembly, shell to python, Ocaml etc. [15:01] vaishali: ok. Thanks. [15:02] sidntrivedi012: Funny enough, but kernel developer highly reply on 2 perl scripts [checkpatch.pl and get_maintainer.pl] and uses it almost everyday. [15:02] s/reply/rely [15:02] next [15:02] vaishali: What is the best method for compile the kernel given by distro with some custom flags and re-share the entire distro as a raw disk image (.iso)? [15:02] ! [15:03] thebigj: I didn't get the question. You want to compile stable kernel by distro or vanilla kernel? [15:03] ! [15:04] vaishali: A stable kernel by distribution. For example If I have kernel which isn't enabled "n_gsm" module. [15:04] vaishali: I re-compiled the kernel by unabling that flag. [15:05] vaishali: Now, I want to update the raw disk image (.iso, .img) of original distro with that updated change [15:05] thebigj: Right. So, after compilation you need to install it. [15:05] vaishali: Should I fork the distro, update .config and use utils given by distro for generating raw disk image/ [15:05] ? [15:06] vaishali: I agree! I need to share it like ISO [15:06] vaishali: Assume istallation is done. What if you want to update the same thing for 100 devices? [15:07] thebig: You don't need to fork whole distro if you just want to update/add a single module. Just compile, install and update your bootloader. And there it is your distro with updated kernel. Make an iso and share across the devices. [15:08] You can also do mass-patching across devices. [15:08] vaishali: Okay. Thanks! [15:08] next [15:08] Q 1. for a beginner how much time it will take to understand the linux kernel (i mean necessary modules) to prepare myself to contribute to it? Q2. is there any prerequisite required to contribute other than git and to have linux on my system? [15:10] Sourabh1031: A1: It little bit depends on your background [how much you know already] and what areas of kernel you're interested in. No kernel developer knows about all areas. [15:11] You are right but how can one judge himself to which part he will be able to work upon? [15:12] part == area [15:13] Sourabh1031: That's where the book my Robert Love comes to the rescue. It introduces you with different parts of the kernel. You can play with the code, hack around a bit and then see what interests you. [15:14] For example, your normal desktop systems have bunch of chips ranging from common functionalities like wireless cards, GPU cards etc. You can check those drivers, how memory managememt, power mangement etc is working from user side and then check the code. [15:14] Do the changes to the code and see how it affects to the performance etc. [15:15] You can also try all of these things in VMs. [15:15] ! [15:15] ahh i need to take into account concept of memory mangement as well [15:16] is it necessary because pointers are too complex to handle [15:16] ? [15:16] Q2: There aren't many just basic packages mentioned in the First patch tutorial I shared [like GNU make, ssl etc]. [15:17] Sourabh1031: What is necessary? Pointers are everywhere in the kernel code and they're that complex once you get them. :) [15:18] okay thanks :) any book or resources which you would like to share [15:18] Sourabh1031, please allow others to talk here. [15:18] sorry kushal [15:18] Sourabh1031, Robert Love ^^ [15:18] [15:18] Sourabh1031: Here, I have written bunch of answers on the same. You can check them: https://www.quora.com/profile/Vaishali-Thakkar-1/answers/Linux-Kernel [15:19] nex [15:19] next [15:19] kernel hacking is really a complicated stuff? And what are your advice for those who want to build their career as Linux kernel engineer? [15:21] poojaencoded: Try to find if you really like hacking on Linux Kernel and on which parts. For example, embedded Linux [device drivers etc] is whole another world. So do security, mm, tooling, testing etc. [15:23] poojaencoded: To build a career as a kernel engineer, contribute to the mainline. That's the best way because then you can just put the links to the patches in your resume and you can often find jobs from the contacts you make in the community. [15:23] vaishali:okay i will do some google search on it :) [15:23] next [15:23] Thank you Vaishali :) I wish to know Is Outreachy only for people who are experienced and knows stuff in a particular domain? Apart from Outreachy internship, is there any program for newbies? Also, how can I prepare myself for Outreachy that can assure me selection? [15:24] vaishali: thanks :) [15:25] ann: You don't need to be experienced person to take part in the Outreachy. I had never sent a patch in the kernel before I decided to take part in it. It has application period during which you can get involved with the orga/project. [15:27] ann: There are bunch of other programs like GSoC, RGSoC etc. Sometimes some organizations decides to have their own summer of code programs too. [15:27] ann: You can keep an eye on announcements. [15:27] vaishali Thank you [15:28] next [15:28] 1)which part of multimedia you are currently working? [15:28] 2)What one should do if someone(beginner) who do not understand what the maintainer is saying(in email or did something in wrong way)? How to tackle that? [15:28] 3)what are the tools generally used in development? [15:28] 4) what are the challenges and problem you faced while working with the kernel community? [15:28] I got disconnected for few min if something already answered please skip. [15:29] prokbird: 1) Display, GPU DRM [15:31] prokbird: 2) Ask them again that you didn't understand their point. If there are technical words you don't understand, search for them. [15:31] ! [15:32] 3) Text editor of your choice, Git, Kernel source. Then depending upon person's work area boards, Relatedtesting tools etc. [15:33] There is an automated system in the kernel which checks each patch sent in the mailing list over 20 different architectures. And send back the log of errors [if there are any] [15:33] s/send/sends [15:35] vaishali, except GPU i don't find anywhere(other subsystem) where todo list is defined. [15:36] 4) Sometime when I decide to dive into the different subsystem, I need to figure out maintainer's preferred style. It can be done via observing mailing lists, reading archives etc but that's still a bit challenging and long known issue in the community. [15:37] prokbird: Here, I've put together bunch of things: https://github.com/nerdyvaishali/kernelbridge/blob/master/README.md [15:37] prokbird: If you have Kernel source code, you can find many other TODO files in there. [15:37] next [15:37] Hello vaishali, this is ever so slightly long and I apologise to both you and kushal, but I know the young folks would want to know. (Also this is the closest I’m going to get to pick your brains over coffee :)) [15:37] you seem pretty happy with your lot in life currently. I was discussing something along these lines with a colleague earlier in the evening. [15:37] Could you share your through line from budding graduate to working on one of the most important things we foss folk depend on? [15:37] vaishali, that is interesting.Thanks. :) [15:38] Did you always know where you were going? [15:38] Or was it a case of several happy accidents? [15:38] Or were you always looking for the next big challenge and falling in love with it no matter what? Like you’d be as happy working on activist tools like kushal does if it appealed to you? [15:38] How do you build your skillset? [15:38] How do you focus? [15:38] How do you stay hungry? [15:38] And also on behalf of my young female friends, how do you push through, through our prevalent “girl engineers are not quite up to snuff” culture? Or the daily snubs a looking down upon by men? [15:38] [15:41] jasonbraganza: I think it's little bit of both. Happy accidents and finding your interest. I was never looking for the next big challenge before I started contributing to the Linux Kernel. But once I got into it, it was just this whole new world. [15:42] jasonbraganza: You see different people with the different motivation sharing this passion. [15:42] jasonbraganza: It's so amazing. I think I get most of my motivation from there. [15:44] jasonbraganza: Like when I go to conferences, there are just talk after talks and BoFs and people keep discussing it without eating. It's kind of funny when in the middle of the talk, someone from the community reminds a speaker that they haven't eaten and their lunch is right there. And speaker continues with the talk with a food in other hand. [15:44] It's so cool to see such passion for things :) [15:46] prokbird, https://en.wikipedia.org/wiki/Birds_of_a_feather_(computing) [15:46] bhavin192, thanks :) [15:47] jasonbraganza: For building skillset, it really depends. I try to like use bunch of tools and questions for myself. And then see if learning something will answer those questions. [15:47] Hope that makes sense. [15:47] it does yes, tinkering works :) [15:48] jasonbraganza: For being focused, I set deadlines. Works best for me :D [15:50] ! [15:51] jasonbraganza: I have bunch of interests and I try to work on different things. Like even outside of tech. I would get bored if I focus on only one interest at a time. So, that's my way of staying hungry. Eat from all different interesting looking plates but don't finish it until it's needed :P [15:51] :) [15:51] jasonbraganza: And on that note, I'm actually hungry now. :) Did I answer all your questions? [15:52] just the one left. advice for my youg female colleagues. please! [15:52] *young [15:54] jasonbraganza: Ah, yes. I would just say you can't change the culture without being part of it. Just follow your heart. If something interests you, just go for it. Do not think that's it's not worthy if there aren't many people who looks, thinks like you. You can always start the line. [15:55] I have *so* many follow up questions, but I’m not going to push my luck tonight :) Thank you so, so much. You are amazing! [15:55] And at the end, well, works speaks for itself as always. :) [15:55] Thanks [15:55] next [15:56] Not sure if someone kicked me or I just disconnected myself [15:56] :-/ [15:56] maxking, session is going on. [15:56] What are your advices for a beginner stud ent for Linux drivers and tools? Should be start them learn building them in bash or in C? [15:57] nightwarriorxxx: I have never come across a fully functional driver written in BASH. So.. :) [15:58] next [15:58] vaishali, Since you have spoken in a lot of Conferences can you mention some points on how to prepare for your first conference talk? How do I stage my proposal in case I have no prior experience as a conference speaker ? [15:59] Also can you share very briefly about your experience in your first Conference Talk and what it was ? [16:00] ananyo: For the abstracts/proposals you can check the previous year's talks. Abstracts are public most of the time. There is a good book by Lara Hogan on public speaking. "Demystifying Public Speaking' [16:02] ananyo: I spoke at the kernel meetup for the first time. And my first ever conference talk was actually 1.5 hour long tutorial on the tool named Coccinelle. It's a whole another story for some other time but I think checking otehr talks online, reading people's experiences and checking on what style suits you for preparing a presentation works. [16:03] ! [16:03] Folks, I'll have to leave in another 5 minutes so I'll take one last question only. Sorry about that. [16:03] But you can always check the resources online. [16:03] next [16:03] hello, vaishali ! I apologize for being so damn late. (overslept) I just wished to ask you : What are your thoughts on Android being based on linux, and then being used just for Front-end like usecases inspite of laptop-level specs? It must drive you crazy as a Linux kernel maintainer how they misuse/under-use the power of linux! Q2. How do I get a username for http://li.st ? I couldn't find it anywhere :( [16:03] P.S: Thank you for sticking so long with us! [16:04] vaishali, No problem thanks for joining us [16:06] brute4s99: I've slightly different opinion when it comes to Android. I don't have time right now to explain everything. Although I'll be at devconf and we have Kernel BoF and AOSP BoF. Feel free to continue the discussion or ask questions there [if you're attedning]. [16:06] s/attedning/attending [16:07] vaishali, Thank you for your time. [16:07] It was an wonderful session. [16:07] I will end the session now if you are okay. [16:07] kushal: Sure, thanks for inviting. It was fun. [16:07] vaishali, thanks for the session :) ----END CLASS----