Hello Kapil,

thanks for your interest in HelenOS!

I have recently installed HelenOS and would like to contribute to its
development. This would be my first open source development project, so
could anyone tell me how I should start ?

You should probably start by getting the current mainline branch of HelenOS and compiling it on your host system. This is described on our wiki [1]. You should also spend some time reading our documentation from the 0.2.0 release [2]. It is slightly outdated, but most of the generic facts are still valid. Then, of course, the ultimate source of knowledge about HelenOS is the HelenOS source code itself. Don't be afraid, we try hard to make it understandable. But don't expect to get everything in a couple of hours, though :-)

A basic text describing how to contribute is also on our wiki [3]. In case you have any specific questions, please do not hesitate to send them to the mailing list.

[1] http://trac.helenos.org/wiki/UsersGuide/CompilingFromSource
[2] http://www.helenos.org/documentation
[3] http://trac.helenos.org/wiki/HowToContribute

1. On executing 'exit', it would exit the shell. But nothing happens
after that and I can't do anything, not even restart the shell.

Well, you can always use the F2, F3, etc., keys and switch to an another virtual console. There should be yet another instance of the shell running there.

Once you exit all the shells, there is indeed no easy way how to spawn a new one. This limitation will be mitigated once we will implement the notion of user sessions -- when you exit the shell, you should get a login prompt of some sort and thus the possibility to spawn a new shell.

In the current mainline branch the user interface looks a little bit different, because we have already integrated the initial GUI implementation.

it doesn't even take me to kernel console.

You should be able to press F12 and get to the kernel console at any time.

2. Like above, on executing 'halt' in kcon, kernel halts, but I can't do
anything after that. Either it should shut down or something should
happen, not just freeze out.

If you use the "halt" command in the kernel console, it just halts. That's what you wanted :-)

But seriously, powering off a computer is actually not an easy task. On a PC this usually requires to run some ACPI routine or worse. Due to the microkernel design of HelenOS the kernel is really not supposed to know anything about such things, there should be an user space driver to handle this instead.

But even that is not so easy, because you cannot halt the system in the kernel and then ask an user space device driver to power off the machine, since there is no user space running any more (a chicken-and-egg problem). You see, it is really not so easy as it looks. And because the primary task of an operating system is to run (shutting down is actually just a corner case), we didn't spent much time implementing this properly yet. But I agree with you that it needs to be solved, eventually.

As an aside: The kernel console is actually only a debugging feature, it won't be present on any machine running HelenOS "in production". But there is still a long and winding road to HelenOS running in production.

By the way, is there no option to shut down
the system ?

You can use the "reboot" command from the kernel console. That should at least reboot the system. This is easier that powering it off on a PC.

3. When I executed 'continue' in kernel console, something went wrong.
The shell started, but without display and on executing some commands,
it overlapped with the kernel console. (I've attached the image)

Thanks for letting us know. This bug slipped somehow into the release, but it can be reproduced only if you use the "kcon" shell command to get to the kernel console. If you use the F12 key to get to the kernel console and then use the "continue" command, the user space output redraws fine.

4. I cannot view anything that is outside the qemu window i.e. I cannot
scroll. This may be a problem of qemu(I don't know ?)

It's not a problem of QEMU. There is simply no scrollback functionality implemented in HelenOS yet. You see, there are only a handful of HelenOS developers, thus our manpower is limited. But hey, the release number is 0.5, we don't claim that we can ship it to customers now :-)

Anyway, any contribution will be more than welcomed.

Also, is there any documentation of the HelenOS API ?

Again, the documentation is lacking behind and the most definitive source is the source code. You should look into uspace/lib/c for starters. The API is similar to standard C and POSIX and should not be very surprising if you have say some GNU/Linux experience.


Martin Decky

_______________________________________________
HelenOS-devel mailing list
[email protected]
http://lists.modry.cz/cgi-bin/listinfo/helenos-devel

Reply via email to