Haiku Alpha 1 Status Update (#1)
This is the first Haiku alpha 1 status update. The goal of this status update is to provide information on how the project is going. There has recently been an consensus that it was about time to start preparing a first alpha for a myriad of reasons. To me personally, the fact that it is about time to show off the enormous amount of work that has been put in the project the past number of years. Another good reason - in my opinion - is to get everyone behind one goal: preparing the code for a first release.
So what's the goal of this status update? Well, with a large number of developers actually working on the different components of the operating system, it is easy to lose track of what is going on. You can consider this a news update.
Finally, I cannot guarantee that there will be regular updates, or whether there will be an update at all, but feel free to encourage me!
#1268 (closed) - Live CD support in the build script.
A much requested feature was to be able to boot Haiku from a CD. This also was one of the requirements for a working alpha release: it should be distributable by CD. Once upon a time there were a set of scripts on BeBits that would generate a CD image. Unfortunately these scripts stopped working - for a long time actually - and another solution had to be found.
Luckily, François Revol took the task upon him. He first created a rule that made a boot
floppy. This actually has been a request for a while, and it was implemented in
revision 24198. You can use
jam haiku-boot-floppy to create a boot floppy. From there he continued
integrating CD support. The only new external dependency is
almost all modern Linux distributions have packages for. To actually create the necessary
files for burning on CD, use the
jam haiku-cd-image command. For exact
instructions, I would like to refer you to the
ReadMe that is
distributed with the source.
Now it is good to understand that this will boot Haiku from a CD, but there are a few issues. First of all, it is not very small. Some tricks have been applied (like changing the default block size of the disks), but it still needs work. Also, the CD is not a live CD like we might know from Linux distributions. These apply a trick that uses the RAM to emulate write support to the hard disk. The Haiku 'Live CD' does not do that. Because it has been untested for so long, applications or system services that depend on writing to the disk (which is usually the hard drive), might not be able to perform certain operations or just downright crash. Finally, there has been a report of the boot CD not being able to actually find the Haiku image on that CD. If you experience this problem, please see if it is similar to ticket 1364.
On a final note, I would urge everyone with a spare CD-R (or CD-RW) and a computer that is known to boot Haiku on real hardware, to try to build the CD source and test the CD to see where it breaks.
#1739 - Generate a proper 'develop' directory
One of the other major requirements was that there was a way to 'self-host'. Strictly, this means that it should be able to check out the source from the subversion repository, and to be able to compile Haiku from within Haiku. Michael Lotz had been working on a new heap implementation (a part of the memory manager of the kernel), which he finished in revision 23939. After that, it was reported that it was possible to perform these steps (though it did not work all at one go).
That was the strict definition. However, to be able to use Haiku on a more regular basis as a development platform, it needs to be easily possible to get gcc and the binutils, as well as the system headers and the libraries. In revision 23895, Ingo Weinhold began implementing a 'Development' package, which allows the build system to copy all the headers and libraries that are needed to compile on Haiku. That was a good first step.
Currently, Ingo is working on porting gcc and the binutils to Haiku, and he wants to
have these available as an optional package which can be automatically installed by
the build system, so that a fresh Haiku installation can be used to compile Haiku
easily. As for such, there is a special note: the current
is under development, and a fresh checkout might not work. It has already been
reported that it does not work on Linux
PPC. Ingo advised to use revision 24507 (
svn up -r24507) if you want
to build the legacy tools (gcc 2.95.3) for now.
Trac Milestone statistics
To get the most recent statistics, go to the alpha 1 milestone page. To keep a clear overview of which tickets need to be fixed before releasing Haiku alpha 1, the following rules apply:
- Tickets that absolutely have to be resolved before alpha 1 can be released, should have a blocker priority.
- Tickets that would be on the should-be-fixed list, should have the high priority.
- In between is the critical priority. When a ticket that is assigned to this milestone has this priority, it is a request for a fellow developer to have a look at that ticket and determine whether it should be high or blocker.