Haiku, Inc. is proud to announce being the target of the Icculus Microgrant program for 2020. We would like to thank Icculus, and all of the wonderful folks who have donated to Haiku, Inc. over the years.
Your continued donations help keep us working on what we love, and help us continuously grow and develop the ideal personal computing operating system.
Debugging early bootloader code can be extremely difficult. The lack of printf and other classical black-box debugging tools means you’re limited to one of the following methods of debugging lockups:
Arm chair debugging, Changing code, compiling, booting, repeat. Using GDB or another debugger tool and stepping through code watching outcome. Obviously #2 above is more ideal than #1. Welcome to debugging by attaching gdb to qemu!
The steps below really should apply to any architecture.
Due to the awesome work by long-time developer waddlesplash, nightly images after hrev53079 have read/write NVMe support built-in.
What is NVMe? For those not keeping up with the latest advances in tech, NVMe is a M.2 form-factor flash-based storage device which attaches directly to the system’s PCI Express bus. These flash devices are present in modern desktops and laptops and offer transfer speeds of several GiB/s.
These devices now show up in /dev/disk/nvme/ and are fully useable by Haiku.
Over the last year, I have been slowly pushing patches upstream to Vagrant introducing native Haiku support. Vagrant is an open-source tool to build and maintain portable virtual development environments. Essentially, Vagrant lets you deploy and rapidly customize a Haiku virtual machine with programmatic scripts.
Since we now have a new stable release, I have prepared some updated R1/beta1 images to play with under an official Haiku, Inc. account.
Requirements A linux, OS X, or Windows machine.
This evening a standard operating system upgrade has once again turned fatal.
Our infrastructure still depends on a single bare metal server at Hetzner which continues to be our downfall. This evening a (tested) OS upgrade failed resulting in maui going MIA. I requested KVM access to attempt repair of maui after it was missing for ~15 minutes, however we were stuck waiting almost 2 hours for the KVM from Hetzner.
A small notification that we have updated our repository URL’s in preperation for R1 Beta 1.
This change will ensure that repository links remain consistant through R1 Beta 1 and beyond.
This afternoon, I noticed some strange heavy load on our Postgres database. After some initial investigation, it was discovered that a server misconfiguration left our Postgres database open to the internet since late January 2018.
Impact Translation services (i18n.haiku-os.org) Email addresses Hashed passwords (old accounts sha1, newer accounts pbkdf2_sha256) Trac (dev.haiku-os.org) Usernames Some emails (based on last session age) We got extremely lucky that user passwords were not contained in the database for Trac.
Up until recently, Haiku builds for ARM have targetted individual ARM boards. The compile process for ARM images required two things: an architecture, and a target board (such as the Raspberry Pi 2). This board setting adjusted a large number of defines throughout Haiku at compile time to set the operating system up for the target ARM device. The board selection also handled placing all the propriety bits (a lot of which have sketchy licensing) into the Haiku image during compile.
Haiku released R1 Alpha 4.1 on November 14th, 2012. (5 years ago next month).
Since our last release, we have seen a huge number of groundbreaking new features slip into the nightly code including package management.
Along with the addition of Package Management (which was added pretty shortly after R1A4), we were presented with the massive task of building “all the ports” into packages and maintaining their dependencies within our repositories.
As we work to stabilize Haiku and move closer to the R1 beta releases, USB driver issues are becomming more apparent.
At the moment, bugs with our XHCI (usb 3.0) stack are high on the problem list. New hardware is beginning to ship with XHCI-only controllers, which means we can no-longer fall back to our stable EHCI (usb 2.0) stack.
A large number of bug reports have been opened around these kinds of issues: