Tutorials

Welcome to Kernel Debugging Land...

Submitted by Ingo Weinhold on Mon, 2008-02-04 22:01.   Tags: 

One of the most important tools of a Haiku kernel developer is the built-in kernel debugger. Nevertheless also developers more comfortable with userland hacking should not be shy to use it, as it can greatly help with various kinds of bugs and problems. This document sheds some light on its basic and advanced features.

How to Work on the Haiku WebKit Port

Submitted by Ryan Leavengood on Tue, 2007-12-04 05:57.   Tags:  :: ::

PLEASE NOTE: This article is out of date and the code linked should not be used for anything right now. I will resume working on the WebKit port soon and will update this page then.

- Ryan Leavengood, June 8, 2008



To work on the Haiku WebKit port one needs to take some time to get the right environment set up. At the moment the Haiku WebKit port can only be developed on Linux and cross compiled with the GCC4 compiler. So the first step is to follow my tutorial on building Haiku on Ubuntu. On step 5 of the above, please be sure to build the GCC4 cross compiler, not the GCC2 version. If you have already built Haiku with GCC2 on Linux, I recommend renaming your current "generated" directory in the Haiku tree to "generated_gcc2" and then continue with step 5 from the above, setting up the GCC4 cross compiler. Switching between compilers can then be done by just renaming the generated directory, since it contains all compiled build tools and necessary files for each compiler.

Running UserlandFS

Submitted by ZzLeCzZ on Tue, 2007-11-06 16:26.   Tags:  :: :: ::

The UserlandFS is a file system wrapper for the kernel (similar to FUSE on Linux) which loads file system add-ons in userspace. In this way, it is a great tool for developing file system add-ons without unwanted trips to the Kernel Debugging Land. On top of that, several interesting test add-ons already exist for it in the Haiku source tree, including a network file system with full support for extended file attributes (meta data). The API which a file system add-on for UserlandFS has to implement is almost identical to the "real" kernel file system API, so that it is easy to migrate the add-on to the kernel once it is ready.

Using Snapshots For Short Locking Times

Submitted by Stephan Aßmus on Sat, 2007-09-08 15:09.   Tags:  :: :: ::

The primary intention of my previous article was to make it very clear why and when locking is needed in multithreaded applications. In this article, I want to present my experiences in writing a new prototype for a replacement of the document model in WonderBrush and how it is manipulated and rendered asynchronously.

Building Haiku on Ubuntu Linux, Step by Step

Submitted by Ryan Leavengood on Sat, 2007-07-21 04:11.   Tags:  :: :: ::

Another article on this site already describes the basics of building Haiku on Linux. Since my distribution of choice is Ubuntu, I decided to get Haiku building on it and then provide a detailed step-by-step guide for others to follow.

I performed these steps on a fresh Ubuntu 7.04 (Feisty Fawn) install, but they should be similar for other versions and probably the same for most Debian-based distributions.

Haiku Documentation Team How-To

Submitted by Alan Smale on Tue, 2007-04-24 23:58.   Tags:  ::

This how-to describes getting started with contributing to the Haiku documentation and the software you will need. The documentation team has a mailing list that can be found here:

Developing IME Aware Applications

Submitted by anthonylee on Sun, 2006-12-10 20:13.   Tags: 

To support Haiku and do something useful for it, I am pleased to show you how to communicate with the input server in BeOS.

In BeOS, almost everything uses the UTF-8 character encoding for the processing of characters. Thus, if you want to write or display the characters of other languages than English, all you need to do is to find a font able to display the characters properly and an input method add-on to help you at outputting characters to the running application. The input method handling of BeOS was originally found in the Japanese support. It works this way: The input server loads the add-ons located at B_SYSTEM_ADDONS_DIRECTORY /input_server/methods or B_USER_ADDONS_DIRECTORY/input_server/methods, then filter all events generated by the keyboard or mouse with the Filter() method of BInputServerFilter to change them. There are only a few input methods written since the time BeOS R4 was released. Maybe it's because only ERGOSOFT Crop. and just a few developers know how to have method working. In my memory, existing methods are BeCJK, HanBe, Canna, ChineseTool and more recently "Anthy for Zeta".

Syndicate content