-
FOSDEM 2024 aftermath
This year's FOSDEM was once again an eventful experience. By now, most presentations have become available. Yet I took the opportunity to re-record a more complete version of my talk that I want to share with you. Continue...
-
What's new in Sculpt OS 23.10
My personal highlights and a few technical tidbits about the just released Sculpt OS version 23.10, putting the spotlight on the Framework laptop, the PinePhone, and the MNT Reform laptop. Continue...
-
What's new in Sculpt OS 23.04
With Sculpt OS 23.04 being in the wild since almost two weeks, it's time to put the spotlight on the most prominent changes. Continue...
-
First system image of mobile Sculpt OS
At FOSDEM 2023, I'm going to introduce the mobile version of Sculpt OS at the "FOSS on mobile" developer room - the perfect opportunity to kick off a first public field test. Continue...
-
Mobile user interface, not in the face!
When approaching the user interface for a Genode-based phone, we started with the vague idea to mirror time-tested user-interface paradigms established in the worlds of Android and iOS, but we ultimately diverged from this beaten track. Instead, we took the opportunity to reflect the unique security architecture of our operating system at the user-interface level, giving the user an extremely strong sense of control over the device. This article presents our rationale and the initial scope of functionality. Continue...
-
Pine fun - How low can we go...
One of the most pressing practical concerns of mobile phones is battery lifetime. We wondered, what can we expect from a Genode-based PinePhone? To find out, we took our custom SCP firmware as instrument to poke all the dials and knobs and we could find deep in the device. Continue...
-
Pine fun - Cutting Linux-driver competencies
The previous episodes of the article series covered the challenges of transplanting complex driver code from the Linux kernel into Genode components. Once running happily in its new habitat, however, the driver code needs a heavy dose of domestication. This article shows how to curb the driver code from the overarching access of power, reset, pin, and clock controls. Continue...
-
Darling, I FORTHified my PinePhone!
This is my experience story behind Genode's forthcoming custom firmware for the PinePhone's AR100 system-control processor (SCP). It makes a case for using Forth for implementing SCP functionality and describes the process of bringing Forth to the OpenRISC instruction-set architecture. Continue...
-
Pine fun - Touchscreen
On our mission to enable the PinePhone hardware for Genode piece by piece, let's turn our attention to the touchscreen device, which is the gateway to interactive system scenarios. Continue...
-
Genode's Browser Odyssey
This article tells the twisted story behind Genode's native web browser, which is one of the most prominent achievements of the project during the past year. It is going to cover our motivation behind this undertaking, the rationale behind the choice of the browser engine, and many technical tidbits. Continue...
-
Pine fun - Display
Having switched the development workflow from the Pine-A64-LTS board to the real deal - the PinePhone - in the previous article, it is time to turn our attention to the arguably most challenging parts of the hardware, namely the display subsystem. Continue...
-
Pine fun - Booting Genode on the PinePhone
Until now, my exploration of the Allwinner A64 SoC was mainly concerned with the Pine-A64-LTS board, which offers developer conveniences like booting over the network, or easily accessible reset and GPIO pins. Now, it's time to switch gears by moving the development workflow over to the PinePhone. Continue...
-
Pine fun - Networking
This article walks through the challenge of porting a network driver from the Linux kernel to Genode. It thereby exemplifies Genode's device-driver environment approach for the reuse of unmodified Linux kernel code, touches crucial technicalities of the Linux kernel, and provides practical clues. Continue...
-
Pine fun - Taking Linux out for a Walk
In preparation of the porting of drivers from Linux to Genode, we have to gather knowledge about the drivers' natural habitat. This article goes through the steps of building a custom Linux system that is tailored to a driver of our choice. Continue...
-
Pine fun - Device access from the user level
Genode's peripheral device drivers live outside the kernel and have the form of regular user-level components. This article presents how the device-hardware access works under these conditions, while taking the general-purpose I/O pins of the Pine-A64-LTS single-board computer as playground. Continue...
-
Pine fun - Kernel packaging and testing
With our toes still a bit frozen from testing the waters of the user land, we now take the remaining steps towards a cultivated Genode life, largely automating our work flow, packaging the kernel, and testing the platform like there is no tomorrow. Continue...
-
Pine fun - Excursion to the user land
Equipped with the rudimentary debugging skills presented in the previous article, it is time to conquer the remaining stumbling blocks on our way to the user land. Continue...
-
Pine fun - How did we come here?
Some kids from the city once told me about programs called "debuggers". They also use a technology named "green light" to cross the streets. City kids. As we are still far away from urban territory, we are in need of the rural ways of debugging. What are our options? Continue...
-
Pine fun - Kernel skeleton
Of the several kernels supported by the Genode OS framework, the so-called base-hw kernel is our go-to microkernel for ARM-based devices. Section Execution on bare hardware of the Genode Foundations book goes into detail about its underlying software design. This article describes the process of porting this kernel to a new board, specifically the Pine-A64-LTS single-board computer. Continue...
-
Pine fun - Bare-metal serial output
For low-level kernel-bootstrapping work, we need a primitive way to print debug messages over a serial connection. This article goes through the steps of executing custom code on bare-metal hardware with no kernel underneath, and attaining serial output by poking UART device registers directly. Continue...
-
Warming up for some Pine fun
I recently got my hands on a PinePhone along with a Pine64 board and have the aspiration to bring Sculpt OS to this platform. This is a very welcome opportunity to document the process of such a porting effort. Continue...