Haiku-ARM progress

Blog post by pfoetchen on Tue, 2009-05-19 16:18

I got the kernel to boot “a bit” ;) but since u-boot does not pass the kernel arguments when loading with loadelf I had to fake some kernel arguments etc.. So it’s not realy a working system but serial out works ;) (input does not work yet :( ) and I can see some stuff on my screen.. The kernel runs on a emulated gumstix verdex since there is no emulator for the gumsitx overo we will use and the beagleboard emulator did not really work (no sd card support for example)

Introduction to the (Unnamed) Full Text Searching and Indexing Tool

Blog post by general_maximus on Sun, 2009-05-17 13:29

Hi, I’m Ankur Sethi. I’m a first year Information Technology student at Indraprastha University, New Delhi. I will be working on a full text indexing and search application for Haiku Code Drive 2009.

I use Mac OS X as my primary OS. Before I switched to the Mac, I had been an Ubuntu user for four solid years. I first read about Haiku on OSNews back in 2007 (my profile says my account is 1 year 36 weeks old), and I was hooked. What first caught my attention was the incredibly short boot time, and the low resource usage. When I read up more about what Haiku is like under the hood, this is what I thought: WANT (excuse the meme). I’m waiting for the day I can just pop a Haiku install disk into my PC and use Haiku as my primary OS.

Network Services Kit Introduction

Blog post by antirush on Sun, 2009-05-17 03:20

Hello Haiku World, I’m Tom Fairfield and I’ve been chosen to work on a project for the Code Drive this summer. You’ll see me around IRC and elsewhere as fairfieldt or AntiRush. I’m a 4th year computer science major at Xavier University in Cincinnati, Ohio.

I’ve been interested in operating system development for quite some time and Haiku is a great looking project in that regard.

The project I proposed and was chosen to complete is a Network Services Kit for Haiku.

Locale Kit : status update n.1

Blog post by PulkoMandy on Sun, 2009-05-03 16:34

The work on the Locale Kit as part of the Summer of Code has already started :) This week we have been working on proper integration of my work in the Haiku tree. So you can now checkout Haiku from svn and get the Locale Kit as part of it. Of course, some parts are still broken (or not yet written), but some of the tests seems to be already working.

GCC4 Builds on Haiku-Files

Blog post by sikosis on Thu, 2009-04-30 05:20

Just thought we’d let you know that, Haiku-Files is now hosting GCC4 builds of Haiku in both RAW and VM image formats.

You can obtain these builds in the usual directories and we’ve updated the RSS feeds as well.

We’ve also fixed the VMX file that is distributed with the pre-alpha images to have the correct virtual hard disk name. Sorry for this oversight, I wasn’t aware of it, until I was playing around with VMware Fusion last night.

GSoC 2009 Project: CIFS Client Implementation

Blog post by obaro_ogbo on Wed, 2009-04-22 17:20

Greetings one and all! I am Obaro Ogbo, one of the students selected for GSoC 2009. I also use the name nastee on irc and on Haiku Bug Tracker. I am a 3rd year student of Computer Science and Technology at Bells University of Technology Ota, Nigeria, and it appears I’m the first ever Nigerian GSoC student :-).

I began programming with Java, then learnt C before studying C++. I’ve done little PHP and Perl coding, however I’m learning Lisp presently. I participated in the Nigerian ACM/ICPC in 2007 and 2008 where my team came 3rd and 2nd respectively.

Update DriveSetup/Disk_Device

Blog post by bebop on Wed, 2009-04-22 04:21

I live in Honolulu Hawaii, I enjoy Surfing, Swimming, Sun and Code. I am working on my BS in Computer Science at the University of Hawaii at Manoa and minoring in Geography. Next year will be my senior year. I have taken courses in concurrent programming as well as networking. Next year I will be taking an operating systems course. I also have some experience in machine architecture and optimization. My current side project is writing an application for the Geography Department, that is a complete suite of tools for stereogrammetry. My professional work has been work on an electronic medical health records system based on the United States Veterans Affairs VistA system. I have more recently worked for Nanopoint Imaging Inc. working on live cell imaging and microfluidics software.

Implementing ZeroConf support for Haiku with mDNSResponder

Blog post by majie on Wed, 2009-04-22 03:43

Personal Profile

  • Ma Jie
  • Brief bio
  • My name is Ma Jie, And Jie is my given name. I'm a senior college student from China. Although not majored in Computer Science, I still love to do computer programming in my spare time. I have a National Computer Rank Examination certificate on computer network technology and got third prize of a national Java programming competition. The PoorMan server of Haiku is my first contribution to the open source world. I learned a lot from it, and I think it's time to contribute my knowledge back.

Project idea information

  • Project title
  • Implementing ZeroConf support for Haiku with mDNSResponder
  • List of project goals
    1. porting mDNSResponder to Haiku
    2. a mDNSResponder configuration preflet, which can be integrated into the network preflet in the future
    3. a services browser and notifier, which may be integrated into the Deskbar
    4. making PoorMan server utilize the ZeroConf network
    5. writing test cases and running the tests
  • Project description
  • There are two major implementations of zero configuration networking, Avahi and Apple's Bonjour. mDNSResponder is the underlying component of Bonjour. There are several reasons for me to choose mDNSResponder as the Haiku's ZeroConf engine. First, as Avahi is mainly designed for linux and BSDs, it uses GNU Autotools, while mDNSResponder uses handmade makefiles. Since Haiku's build system consists of a lot of Jamfiles, mDNSResponder will be easier to integrate into the source tree. Second, Avahi lacks porting directions. Finally, Haiku prefers Apache license that is more compatible with Haiku's MIT license to LGPL.

    There may be some difficulties when porting mDNSResponder to Haiku, because the cross platform support is abandoned and some gcc incompatible codes was added to the sources. I need to fix the broken codes during the porting procedure. mDNSResponder will run like other Haiku components. A server runs in the background and clients that want to use the ZeroConf services can communicate with the server by a library.

Porting Haiku to ARM architecture

Blog post by pfoetchen on Tue, 2009-04-21 23:35

Personal Profile

  • Johannes Wischert
  • Brief bio - I'm a computer science student living in Germany. I'm 25 years old now. I wrote my first program with 8 or 9 years or so and never stopped since then... After my studies I want to work somewhere in the embedded systems development but by now I enjoy my studies and take my time to finish.

Project idea information

  • Project title - Port the Haiku Kernel to ARM-Architecture
  • List of project goals -
    • generic u-boot Bootloader using the u-boot apis as far as possible to ease porting to other platforms that use u-boot
    • Kernel that runs on the arm-processor and supports all applicable features that the x86 kernel has
    • Device driver for at least the SD-card and the Serial-Port
    • Working system running on a Beagleboard or similar device
  • Project description -
    • To get the system running on an ARM-CPU we first need a working Haiku ARM toolchain to compile the code I already got the toolchain to run and produce working binaries (tested under qemu) so this part of the system already works more or less. see: https://dev.haiku-os.org/ticket/3633
    • After that done the next step is the boot loader. Since the beagleboard I want to target already has "Das U-boot" bootloader installed I decided to use it to get the kernel loaded. Using the u-boot loader has some advantages since it already provides all the important data and functions for loading the kernel like builtin serial drivers and drivers for all kind of memory to boot from (including a TFTP client) these functions are exposed by a simple platform independent API. By using this API an architecture independent kernel loader could be build, so that porting to other architectures that use u-boot would be much easier.
    • The loader would run as a standalone application on top of u-boot to use it's features and then switch to direct access to the hardware to run the kernel.
    • To allow u-boot to boot the kernel I could either include bfs in u-boot or implement the bfs in the loader programm. If the bfs code is in the loader no change to u-boot is needed so I will probably take this way since changing the u-boot always has the risk to brick a device.
    • I know that this is not everything and I will probably have to ask a lot of questions to get everything right ;)
    • I must admit that I don't know to much about the ARM internals, yet so I can't give much details about how I will port the MMU dependent stuff etc.
    • The device drivers for the serial-port and the sd-card are quite straight forward to implement, since they are interfaced directly by the processor (at least on the beagleboard) and there are a lot of existing open source drivers (of course we would have to pay close attention to the licenses etc...)
    • Since the beagleboard does not have an isa or pci bus it could use code similar to the m68k port to put the onboard devices in the pci bus. Even better would be to write a sort of bus system for the onchip devices this would also help to port to other devices that do not realy have a bus system like many other embedded devices.
    • The next steps would be to write a driver for the onchip usb-controler and a Framebuffer driver if the porting goes much faster than I think ;)
  • Why do you want to work on this project?
    • I love the whole concept of Haiku and would love to see it run on embedded hardware like all these planned linux+arm netbooks. Since ARM-CPUs are used in so many different devices and most of these devices are multimedia devices like netbooks/mediaplayers/smartphones it would make sense to port Haik as an multimedia OS to these devices.
    • I already have experience in embedded programing for example I ported an OS from the MSP430 to the SuperH Architecture for university (it was a nano kernel OS called SmartOS there is a wiki about this project but for whatever reason they have the interesting parts hidden http://www5.informatik.uni-wuerzburg.de/snow5xoops/modules/dokuwiki/doku.php? ) so I know a bit about all the problems that could arise.
    • I know porting such a complex project is quite difficult but I have the time to concentrate on this project and it's not the first embedded project I work on (but probably the biggest ).
    • Other projects I worked on were a device driver for the r4ds flash card to use it under DSLinux on the Nintendo DS and some other smaller stuff like a stepper motor controler board that was controlled by an MSP430.
    • I know that this project is not really helpful to get closer to the first alpha release of haiku but I think an ARM port would be a interresting addition to the Haiku project and perhapse attract some more developpers.

Integrate WebKit in Haiku native browser, My GSoC proposal.

Blog post by maximesimon on Tue, 2009-04-21 14:13

Personal Profile

  • Maxime Simon

  • Brief biography:

    I am currently in my third year studying Computer Science at Rennes 1 University in France.

    I have some experience with development thanks to several academic projects, chiefly written using the Java and C languages.

    Our first big project used an obscure language called “oRis”, an object and agent-oriented language developed as part of the doctoral thesis of Fabrice Harrouet. The project’s objective was to design a simulation of pathfinding robots, with basic behaviour and capable of cooperating to achieve goals in a virtual maze. This project enabled us to learn how to manage a project using Subversion, and how to organise its development. The project was managed at this page: http://code.google.com/p/csr/