Tuesday, 3 June 2008
Kernel Index page from LWN.net
Monday, 26 May 2008
Linux Config Archive
Sunday, 25 May 2008
Maintainers File in Kernel and SCM tools for the kernel
I have just had a look at the maintener file in the linux kernel Tree.
I have noticed that there are a number of orphaned project. The question is whether any of these orphaned project really needs to be taken care of.
Another interesting thing was to learn about the different scm and patching tools used in kernel development: git, quilt and hg.
Here is an interesting overview of the reason for the development of git and quilt.
I really start to like the patch approach, and the article linked above gives a good idea of the reasons to use this approach. I should try to summarise in a future post the advantages and disadvantages of the different source code management approaches.
Kernel Stuff
I did some little things with kernel programming (or more compiling) these days.
Part of the things I did were compiling kernel because I wanted to try UML (user mode linux).
So that's what I did:
- Download the kernel configs from: http://uml.nagafix.co.uk/kernels/.
- Download kernels from kernel.org.
- untar the kernels to some directory
- cd into the main directory of the kernel
- copy the config of the kernels into main directory as .config file
- $ make ARCH=um oldconfig
- answered the necessary questions as good as I could
- $ make ARCH=um
At that point some errors appeared, so I tried to correct them.
- to help me in the debugging process I used $ make V=1 ARCH=um
- when I had some things that did not work well I used the gcc output to call it right away. For example, sometimes the architecture files would not be found right so I used -Iinclude sometimes a precompiler marks was not set correctly so I used -D__someprecompilermarks__. At some point I removed some problematic definition by using this together with a #ifndef in the header file. $ gcc ..... -Iinclude -D__someprecompilermarks__ ...
- then I also downloaded a few kernel repositories using git, though I still need to perfect this.
- I read (or skipped/read) quite a few Documentation files from the kernel or from the internet.
- I familiarised myself with the git web interface, this together with having a kernel RSS feed in my thunderbird.
And all this in one day and half together with other things.