======2021 GSoC - Kworkflow====== [[:gsoc:google-summer-code-2021|Go back to the main GSoC Linux Foundation page]] Repository: https://github.com/kworkflow/kworkflow IRC: #kworkflow on irc.freenode.net Code License: GPLv2 Mentor: Rodrigo Siqueira, aka siqueira (rodrigosiqueiramelo at gmail dot com) =====Brief about kworkflow===== Kworkflow, or just kw, is a tool that intends to simplify the kernel workflow by automating tasks such as: - Manage kernel build; - Manage installation/removal of Linux on a target machine (local, remote, or VMs); - Provide an easy way to collect basic information; - Support working on DRM subsystem (we can expand to other subsystems); - Manage config files. Etc; By using kw we expect to reduce the learning curve for newcomers and speed up everyday tasks executed by kernel developers in their workflow. Finally, the project should be reasonably easy to contribute since it is written in Bash, has extensive test coverage, and is documented from the code level to the user level. =====Pre-requisites (warm-up)===== ** ( ( This section is mandatory for everybody ) ) ** If you are interested in this project, we have a few but essential pre-requisites for you to try before your application: - Setup a virtual machine - https://flusp.ime.usp.br/others/use-qemu-to-play-with-linux/ - Learn how to compile Linux kernel - https://flusp.ime.usp.br/others/Kernel-compilation-and-installation/ - Learn how to install and remove a Linux kernel - https://flusp.ime.usp.br/others/Kernel-compilation-and-installation/ - Learn how to deal with modules - https://flusp.ime.usp.br/others/play_with_modules/ - Basic Bash knowledge - https://www.gnu.org/software/bash/manual/bash.pdf (Read until Chapter 7) =====Send your first patch to kw===== It is highly recommended that you try to send a small contribution to kw. For helping you to see what could be a good start, take a look at this link: * [[https://github.com/kworkflow/kworkflow/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22]] Finally, before you try to submit a patch, take a few minutes to read the following page: * https://siqueira.tech/doc/kw/content/howtocontribute.html =====Project Idea===== We are open to discuss the final project proposal. As guidance, follow some of the areas that we want to improve on kw: - Fix a few bugs, add more tests, and enlarge documentation; - Cleanup output and add verbose mode; - Add support to generate dpkg versions of the kernel; - Speed up kernel deploy to a machine; - Add support to Raspberry pi deploy; - Expand the set of OS supported by kw; kw has many open tickets on the Github web page; feel free to propose some specific projects based on the available tickets. =====How to prepare your project proposal===== The pre-requisites section is mandatory for everyone; for this reason, your final project proposal should have one section per assignment with two or three paragraphs that describe your experience with each task. Additionally, in your application, you must add print screens that follow the below instructions: __Contact Siqueira to get one specific ID__ If you are really interested in this project, send me a message to Siqueira and request one specific ID. You will need it for the next steps. __QEMU Setup__ For demonstrating your QEMU setup, you will need need to take a print screen of your entire desktop with QEMU running and with the following comment in your TTY: #kw 2021 GSoC __For your custom kernel installation__ For showing that you were able to install a custom kernel machine in your VM system, add the following label in your kernel name suffix: Kernel-- (( Replace YOUR_NAME by your first name, and YOUR_ID )) Install it in your QEMU VM; in the TTY, run the following command: uname -a Take a print screen of the entire screen. Finally, make sure that you have the following section in your application: - One or two paragraphs about you; - A couple of sections that describe your interaction with kw; - A list of your contribution to kw; - A project proposal to be executed in the GSoC timeline. Please, make sure that you add three main milestones (it should match with the GSoC evaluation date) and a work breakdown. P.s.: Feel free to share your draft before submit the final version.