This page contains a guided tour of Minoca OS. It assumes you've downloaded the image, fired it up, and are sitting at the green Minoca OS command prompt. The tour was designed for you to type the commands along with us.
The Shell Environment
Minoca OS is quite similar in outward appearance to Unix-based operating systems. The "~# " prompt suggests (correctly) that you're sitting at the prompt for a Bourne-compatible shell.
Type "ls" and let's take a look around:
This looks familiar to the Unix directory structure, but is only the result of changing the root directory during system initialization. Take a look at "dev/Volume/Volume1/minoca/config/init.sh" (you can use "cat" or "nano") to see how the system initialized the environment. Here's the shortened output:
The root of the Minoca OS file hierarchy is actually the root of the kernel Object Manager's hierarchy, which tracks a global hierarchy of all processes, threads, devices, volumes, and other core objects belong to. This, however, is not accessible from the current environment.
After making some careful modifications to init.sh, you could end up in the native Minoca OS environment that would look something like this:
OK, this is definitely not Unix. We leave the init.sh modifications as an exercise to the reader.
Moving on, let's see what's currently running:
Whoa, a little quieter than we're used to. Well, that's not quite fair as this output doesn't enumerate each thread running in the kernel process. In a Minoca OS build with networking, USB, and a video console, there are about ten kernel threads, total. On my Ubuntu system at home, there are about fifty kernel tasks, and at least twenty-odd user processes running.
In preparation for the next sections, let's install some packages to play with. Minoca comes with opkg, so installing new software is easy:
Let's continue our tour through the system by running Python, one of our favorite interpreted languages:
Enter the following commands:
All we did there was create a file and write to it, but of course most of your favorite Python built-in libraries are available.
Back at the shell, let's edit that file in nano:
Use the arrow keys to navigate, and change the word Python to C. Hit Control-O and then Enter to save the file, and Control-X to exit out of nano.
Make sure your file looks okay:
Now let's build it:
Finally, let's give your first Minoca OS program a test drive:
And there you have it. You just used Python to write a C program, compiled it, and ran it on Minoca OS. The OS comes preloaded with a core set of applications, with more coming all the time. Now you've got one more.
If you want more information, head to the documentation page. You can learn about what makes Minoca OS unique, get involved in the effort, and download the toolchain to build your own apps and drivers.