Navigation

There are many ways for people to start out in Linux kernel development. One good place to start is the KernelJanitors project, where you can become familiar with the Linux kernel source tree and development style by making small cleanups and bug fixes all over the tree, together with the other kernel janitors.

For Kernel Hackers

Please add suitable projects here to help Computer Science students do something useful in the time they need to spend on projects anyway. Suitable projects:

Are relatively self contained, so the code could be merged into the kernel after the student is done with the project.

Have clearly defined functionality, so the student has goals and can determine whether (s)he achieved them.

Can be of various sizes. Students need projects anywhere from 6 weeks part-time to 6 months full-time effort.

If possible, are useful to the Linux kernel. Maybe something from your own TODO list that you did not get around to?

Small Linux features

A good next step is to implement small, relatively self contained, features that the Linux kernel needs but have not been implemented yet. When you "take" such a feature, please add your name in the "Developer" column and the date you decided to take the project in the "Date taken" column.

Larger projects

Alternatively, there are some larger projects. Again, when you "take" such a project, please add your name in the "Developer" column and the date you decided to take the project in the "Date taken" column.

Being able to map different types of virtual disk formats to appear as blockdevice or as real ide/scsi device. For example, being able to mount VMware .vmdk virtual disks or use them as blockdevice. replace ancient/unstable vmware-mount.pl. See http://communities.vmware.com/message/749768 . news on 12/26/07: Apparently, it looks vmware is adressing this. Latest beta for their hosted products has a fuse based replacement for vmware-mount.pl/vmware-loop which is able to map a virtual disk to a flat file. mapping that file to a blockdevice is easy then (losetup or device-mapper) . closed source, though.

devzero (at) web.de

?

Real mode emulation for virtualization

Real mode support: VT support for real mode is terrible, so we need to do it in software. This means extending the x86 emulator (x86_emulate.c) to handle more instructions, and changing the execution loop to call the emulator for real mode

dor.laor (at) qumranet.com

9

Mohammed Gamal - m.gamal005[at]gmail[dot]com

Guest shared memory

Add a qemu interface for sharing memory between guests. Using a pci device to expose the shared memory is probably a good starting point.

The Linux1394 project has a seemingly ever-growing to-do list of bugs and other items, ranging from small cleanups to implementation of full drivers (e.g. IP over FireWire). If you have FireWire hardware, working on these drivers may be a good entry into kernel hacking because most FireWire specs are open, some even gratis. See the Wiki at linux1394.org for the to-do list and links to specifications.

OpenSSI is a comprehensive clustering solution offering a full, highly available single-system image (SSI) environment for Linux. Development involves porting to newer kernels, regression testing, and fixing bugs in the clustering file system, process management, networking, IPC, shared memory, and init as well as userspace system utilities in a distributed computing environment.

There are more than 1000 open bugreports in kernel bugzilla. The bugs to fix are of difficulty level 1-10 and there`s a lot to learn there, because nearly every part of the kernel gets touched. Please help identifying and fixing Linux kernel bugs.

The Linux kernel evolves at a breath-taking speed. But while adding new features and fixing others, developers often break things and introduce regression. Some call that ....progress. Please help finding bugs and regression in the kernel. Be part of the QA-team. - "Don't feel bad about being a pest, because we need more pests to keep all of us kernel developers in line" ( Greg K-H at OLS2006 )