The coding period of Google Summer of Code 2014(as well as the program itself) ended on Monday August 18, 2014. Here’s an update on the status at the end of the program. I’ve been moving over the past week and thus the delay in the update.
Over the past few weeks, I’ve been working on improving support for ARM. I added a jam target to automatically create a bootable MMC image and fix bugs in the haiku loader and also in the kernel.
Here's a quick update for week 16. I didn't have internet access over the past few days due to a technical issue with my ISP and hence the delayed report.
TL;DR – The patch to prevent the kernel from overwriting the loader was merged last week. The next issues that need to be tackled are the KDL faulting when printing the backtrace and fixing an assertion that fails when initializing virtual memory.
TL;DR - It was decided that reserving space for the kernel instead of moving the entire memory map to a higher location. I’ve been working on that for most of last week and I think it would take a good part of this week to complete it since I seem to be running into many issues.
During the last week, the fixes to prevent the kernel from overwriting the loader were reviewed and it was suggested that instead of moving the entire memory map to a much higher address, it is better to reserve space for the kernel before the loader and adjust the memory map accordingly.
Here’s the update for week 14 of work on the Haiku ARM port. I was travelling for a good part of week 13 and thus couldn’t get much work done during the time.
TL;DR - The problems of kernel overwriting the loader code and the exceptions when setting up framebuffer have been temporarily solved. The framebuffer related code has been disabled for now and the entire memory map moved to a higher address(when FDT support is implemented, a lot of these problems probably won’t arise).
Here’s a quick update for week #12.
TL;DR - The decompression process fails because the archive is present in a location that isn’t mapped by the MMU and subsequently allocated for the zlib output stream. No solutions have been discussed yet. It shouldn’t be long till the kernel is running hopefully :).
Last week, I started investigating why the decompression of the archive by zlib failed. Initial thoughts were that the offsets were somehow being incorrectly passed.
Here’s the update for week #11. TL;DR - Haiku faults when trying to find the floppyboot archive present in stage2 loader. There seems to be a difference in few offsets/sizes, which causes different bytes to be read every time the loader tries to detect the archive.
Last week, the issues with MMU were fixed and boot progressed further. Over the weekend, the beaglebone black(sponsored by Haiku Inc. Thank you for that!
Here’s the update for week #10. Sorry about the delay in posting there - I had some issues logging into the website over past few days.
TL;DR - MMU is enabled and now working! Status at start of the week The bootstrap-mmc target for jam was added 2 weeks ago which greatly pushed things forward in making it easy for others to build Haiku for beaglebone black. However, the image cannot be booted up successfully because of few problems which will be discussed later.
The bootstrap-mmc target is now finally available! What this means is that you can follow all instructions in  except run $ jam -q @boostrap-mmc instead of $ jam -q @bootstrap-raw and you’ll get an image that can be copied to an SD card directly.
BIG DISCLAIMER: Things are not working yet! MMU isn’t operational still and there is still a long way to go till Haiku starts working on a beaglebone black.
Just like week 6, this is another short update.
I’ve been working on creating a bootstrap-mmc target for the build system. The current issues I’m facing are
Downloading MLO and u-boot fails and thus build fails since jam doesn’t know how to create those targets otherwise. I managed to fix this but apparently, the fix breaks the current build system so I need to modify the fix such that it doesn’t break the build system.
Here’s an update on week 6(a relatively short one so no TL;DR :) ). I managed to fix the bootable SD card image generation script that I created last week to use mtools and thus eliminate the need for losetup and root permissions. The script is available in a Github repository Meanwhile, I’ve also been working on adding a bootstrap-mmc target to Jam. Right now, the target generates the haiku_loader_nbsd.