This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
gsoc:2021-gsoc-kworkflow [2021/03/16 16:11] siqueira |
gsoc:2021-gsoc-kworkflow [2021/03/24 03:51] (current) siqueira |
||
---|---|---|---|
Line 12: | Line 12: | ||
=====Brief about kworkflow===== | =====Brief about kworkflow===== | ||
- | speed up everyday tasks executed by kernel developers in their workflow | + | Kworkflow, or just kw, is a tool that intends to simplify the kernel workflow by automating tasks such as: |
- | + | - Manage kernel build; | |
- | Kworkflow, or just kw, is a tool that intends to simplify the kernel workflow by automating tasks such as kernel compilation and installation in different contexts. We expect to reduce the learning curve for newcomers and speed up everyday tasks executed by kernel developers in their workflow. Finally, kw is written in Bash, has extensive test coverage, has continuous integration, and is documented from the code level to the user level. | + | - 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)===== | =====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: | If you are interested in this project, we have a few but essential pre-requisites for you to try before your application: | ||
Line 25: | Line 31: | ||
- Learn how to deal with modules - https://flusp.ime.usp.br/others/play_with_modules/ | - 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) | - 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===== | =====Project Idea===== | ||
- | For this year, I suggest the following set of tasks: | + | 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 (First month) | + | - Fix a few bugs, add more tests, and enlarge documentation; |
- | - Add more tests and enlarge the documentation (First month) | + | - Cleanup output and add verbose mode; |
- | - Cleanup output and add verbose mode (Second month) | + | - Add support to generate dpkg versions of the kernel; |
- | - Add support to generate dpkg versions of the kernel (Second month) | + | - Speed up kernel deploy to a machine; |
- | - Speed up kernel deploy to a machine (Third month) | + | - 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. | 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 <ID> | ||
+ | |||
+ | __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-<YOUR_NAME>-<YOUR_ID> | ||
+ | (( 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. | ||
+ |