Rather than going through the arduous process of writing a custom system kernel, I will be doing something different. I recently downloaded FreeBSD (http://www.freebsd.org/), a command-line only UNIX based operating system, and will be modifying it to create my own operating system. I will using FreeBSD instead of the more popular Linux for the following reasons:
- It already has a proven foundation as a part of Mac OS X and
- its licensing is less restrictive than the GPL frequently used under Linux.
I'll start by installing FreeBSD to a computer and configuring the network connection. From there I'll install the X Window System and a lightweight desktop environment with a custom, modified window manager and my own program launcher. From there I'll come up with a use for it and then distribute it.
Sounds simple, yet the project will test my abilities. Hopefully if all goes well then version 2.0 will be better, faster and capable of more heavy lifting. My goals for the project are:
- Create a functional operating system with two parts: a desktop environment and an edition with only a command line;
- Allow both versions to inter-operate, that is, an administrator on one edition can boot another user from the system, showing the usual message on the command line environment and a "Shutdown Warning" dialog box for users of the desktop;
- Tweak the desktop enough so it is useable by users coming from all kinds of backgrounds: Mac or PC - this may mean adding to capability to allow switching from a panel based interface like Windows and most Linux desktops to one with solely a Dock-like application and panels that displays stuff like the system time;
- And finally, create an operating system that ships with the best software that is needed to perform nearly all tasks - a web browser, file manager, etc. A few of these are already implemented in open source software.