Haiku Alpha 1 Status Update (#1)

Blog post by nielx on Sat, 2008-03-22 21:16

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 mkisofs which 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 buildutils/trunk 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.

There are currently six blockers nominated for the alpha 1 release, four critical and six high open tickets.


Re: Haiku Alpha 1 Status Update (#1)

I just wanted to clarify for any people reading this who don't understand how the LiveCD currently works: mkisofs is only used here to convert the floppy image to a bootable ISO track (employing standard El Torito) - you still must burn the CD such that the second track is not ISO9660 - but rather a raw BFS haiku image.

Of course, this information is in the Readme, but the number of people who don't understand this, don't read readmes, and screw up their first couple CD burns is relatively high in my experience.

To sum it up: It cannot be burned easily like ISO Linux as everyone seems to expect initially.

Linux PPC thing doesn't have to do with buildtools changes

An additional note - the Linux PPC build issue isn't related to the build tools changes being done by Ingo - but rather to the bfs_shell compilation failure on a PPC host due to byte order problems.

Re: Haiku Alpha 1 Status Update (#1)

Has haiku considered using squashfs? with gzip or lzma support?
I know many linux distros using it....
I support for squashfs would probably need to come from both sides of the fence since i doubt that squashfs supports BFS also aufs might be interesting.

some sites: http://www.filesystems.org/
http://www.am-utils.org/project-unionfs.html << somthing like unionfs would be needed for the livecd to *act* like an installed system prehaps this should be a GSoC 2008 project?