[haiku-development] Re: Introduction

  • From: Axel Dörfler <axeld@xxxxxxxxxxxxxxxx>
  • To: haiku-development@xxxxxxxxxxxxx
  • Date: Sun, 7 May 2017 16:51:38 +0200

Am 07/05/2017 um 16:10 schrieb Rahul Jain:

I Found Haiku recently and found it very interesting. Hence Started
Exploring it. I am very interested to work on Driver Development in Free
time.

Welcome!

Currently i am searching for some bugs which can help me in
understanding Haiku internals.

Lucky for you we have planted quite a lot of them over the years :-)

If you want to get dirty with driver development directly, you'll probably find some equipment or device that doesn't yet work with Haiku flawlessly or not at all.

Another option would be to add a missing feature to an existing driver, for example the AHCI driver doesn't support command queuing yet.
There also isn't an NVMe driver yet; porting an existing driver, or writing one from specs can also be a satisfying experience :-)

Working directly with the hardware is a lot trial and error, though, but some people certainly like working on that level.

A bit further from the metal would be stuff in the kernel, for example search for a simple (read: easily reproducible) bug, and try to find its root cause. Following the code paths involved is a good way to get accustomed to the source code.

If you're into optimization, there is lots of stuff that you can time, and improve considerably (be sure to disable kernel debugging mode, though) :-)

Also, you should spend some time on your development environment when you picked something of interest; for example, if possible, you should always work in emulation when doing kernel development. It speeds up the development/test rounds considerably. It's also great to be able to see both sides of a device. But for driver development, you often have to use a real machine -- in that case, setting up a PXE network booting environment is the best way to lower the turnaround times (although, IIRC in that case your first job would be to get that to work again).

Anyway, have fun!

Bye,
   Axel.


Other related posts: