Modifying an Existing Kernel?

Question about which tools to use, bugs, the best way to implement a function, etc should go here. Don't forget to see if your question is answered in the wiki first! When in doubt post here.
Post Reply
geezusfreeek

Modifying an Existing Kernel?

Post by geezusfreeek »

My ultimate goals include making an operating system, not specifically a kernel, so it occurred to me that I could modify an open sourced kernel for my purposes. Another factor in this realization is the fact that I am currently taking a college course on modifying the Linux kernel specifically.

My reasoning here is basically that I care much more about the higher-levels of how an operating system works, and it seems that it would be so easy to just modify an existing kernel to suit my needs. Many operating systems out there have taken this approach of using a kernel that is already out there. I know that there are several BSD licensed or non-licensed kernels out there (I'm aiming for something a bit more "convenient" that a full GPLed OS). I'm mostly looking at the Mach microkernel.

I know it would still be a good idea for me to learn as much as I can about the architecture(s) I will be targeting and even implement some baby kernels of my own regardless of the fact that I wouldn't be messing with those lower details so much if I was to ultimately go with this approach, but I wanted to know what you guys think of this... shortcut. Input, please.
User avatar
Colonel Kernel
Member
Member
Posts: 1437
Joined: Tue Oct 17, 2006 6:06 pm
Location: Vancouver, BC, Canada
Contact:

Re:Modifying an Existing Kernel?

Post by Colonel Kernel »

It depends on what aspects of OS design you want to explore. If you want to build the World's Greatest File System or something like that, then go ahead and work with an existing kernel. There are lots of research OSes out there built on the L4 microkernel, for example.

On the other hand, if you want to explore something really exotic like OSes built on managed code, then you're probably better off writing your own kernel.

I'm sort of the opposite of you -- I'm more interested in kernel design and implementation specifically, rather than all the other trappings of OS-hood. That said, even my "baby kernel" has been a work in progress for over 18 months and doesn't even have memory management yet... That's what happens when you have a full-time job and a social life I guess... :P
Top three reasons why my OS project died:
  1. Too much overtime at work
  2. Got married
  3. My brain got stuck in an infinite loop while trying to design the memory manager
Don't let this happen to you!
osbios

Re:Modifying an Existing Kernel?

Post by osbios »

Try LFS: http://www.linuxfromscratch.org/

Linux is full GNU and I think its powerfull, too. ;)
geezusfreeek

Re:Modifying an Existing Kernel?

Post by geezusfreeek »

I forgot about the L4 kernels completely. How did I do that? Thanks for reminding me!

Most of the modifications I think are higher level things, though there are many that I plan to make. I might even end up refactoring whatever kernel I choose a good bit to make it work cleanly. :o

I have seen LFS before, but it doesn't suit my needs. Firstly, the Linux kernel is not the kind of kernel I need; I really need a more "pure" microkernel for a few of my ideas. Secondly, Linux is GPL, and, as I stated before, I am not really looking for a GPL solution; it may be "free," but it's not unrestricted. Thirdly, most of the modifications I plan to make would make a new set of system calls that would render most existing programs unusable before modifying them, so the other offerings of LFS would be useless to me.
User avatar
Solar
Member
Member
Posts: 7615
Joined: Thu Nov 16, 2006 12:01 pm
Location: Germany
Contact:

Re:Modifying an Existing Kernel?

Post by Solar »

Osbios wrote: Linux is full GNU...
Linux is under the GPL. "GNU" refers to the user-space toolset (make, binutils, gcc, sed, grep, ...) - which is also GPL, but also available on Windows, *BSD etc.
Every good solution is obvious once you've found it.
JAAman

Re:Modifying an Existing Kernel?

Post by JAAman »

Solar wrote:
Osbios wrote: Linux is full GNU...
Linux is under the GPL. "GNU" refers to the user-space toolset (make, binutils, gcc, sed, grep, ...) - which is also GPL, but also available on Windows, *BSD etc.
are you sure linux is under GPL? i know it didn't use to be (linus had some big problems with the GPL -- including control issues as the GPL is incompatable with the linux kernel development system)

but i've heard several places recently that it is, so mabey that has changed?
AxelDominatoR

Re:Modifying an Existing Kernel?

Post by AxelDominatoR »

Linux kernel is licensed under GPL v2. It was licensed under another license in it's first incarnations ( versions 0.10 - 0.90 or something similar )
Post Reply