User Tools

Site Tools


gsoc:2021-gsoc-kworkflow

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

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 contextsWe 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 filesEtc; 
 +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 testsand 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.
 +
gsoc/2021-gsoc-kworkflow.1615911106.txt.gz · Last modified: 2021/03/16 16:11 by siqueira