GSOC 2011 proposal: Linux kernel library
Lucian Adrian Grijincu
lucian.grijincu at gmail.com
Sun Apr 3 17:56:39 EDT 2011
I'd like to work for GSOC on a Linux Kernel project.
The Linux Foundation says that for stuff that's not
LSB/a11y/drivers/wireless/printing I should contact you guys.
= Introduction =
A few years ago, me and a teacher of mine worked on something we call
Linux Kernel Library (LKL).
LKL is a pseudo-architecture (more similar to user mode linux, than to
x86, arm, sparc). The build result of LKL is a library that you can
embed in other programs.
You have a project and you need to access data from an
ext2/3/4/reiser/btrfs/etc. disk image?
You want your project to run in userspace in any OS
(Linux/BSD/Windows/Mac/Haiku or another OS which provides some
Then link to LKL and you can add that disk image as a LKL device,
LKL-mount it, and call LKL-system calls to interact with data from
You want to build a FS driver for another OS? You can build a driver
and link (statically) LKL into it. Proof-of-concept implementations of
FS drivers for Windows and Haiku have been implemented.
= What I'd like to do for GSOC =
The version of LKL we have now is old. It was hacked together based on
2.6.27, and forward ported by me a couple of times, but along the way
I managed to mess some things up and introduced some bugs.
I'd like to start over and rewrite it from scratch hoping to push it
The version we have now has some limitations and works on 32 bit
archs. I'll make it support 64bit arch too.
The embedded Linux kernel sees a uni-processor virtual system. SMP
support will have to be added.
Mapping from real-devices (a disk image file, a disk partition, an
ethernet card) to virtual LKL devices have to be added to be able to
use LKL. While we have some drivers right now more will be needed to
be able to make LKL more useful.
There are other todos, but this email is getting too large.
I'd like to know whether anyone here is interested in this project and
would like to mentor it for GSOC.
If there's some positive feedback on this I'll write an application
describing all of these in detail.
= About me =
I'm a masters student at Politehnica University of Bucharest.
Apart from non-kernel jobs, I worked for a year months as a contractor
for a company in Romania doing (in-house) Linux kernel development
related to network scalability.
I have started working with upstream a bit too (last patch series sent
if you're interested:
More information about the Kernelnewbies