Hello Genodians
Since we rolled out the update to 24.11 we see the above message about
once or twicw a day in the logs of our testing pipeline.
It happens on different hardware (Up-Xtreme and imx8mp_iot_gate in the
last two days) and in different run scripts. The run scripts range from
a fairly simple TPM run script to complicated run scripts that test the
resilience of the operating system to stopping/starting of whole
subsystems and reboots.
Currently we don't have a case where this …
[View More]happens reproducible. It could
be related to https://github.com/genodelabs/genode/issues/5382 but also
something completely different.
How could we narrow down the issue and gather logs to identify the cause
of it?
Kind regards,
Pirmin
[View Less]
Hi Genode people,
I tried to follow the sculpt documentation up to "Tools -> system shell"
The "system shell" displayed on screen,BUT I canNOT type any commands.
when I click on the said shell/window, it canNOT be in the "foreground" or
be an "active window".
Sources: https://genode.org/documentation/articles/sculpt-24-10
File QEMU/KVM: https://genode.org/files/sculpt/sculpt-24-10.img
File VirutalBox: https://genode.org/files/sculpt/sculpt-24-10.ova
Host A
Desktop: i7-8700 32Gb
OS: …
[View More]Gentoo GNU/Linux
Emulation: QEMU 9.2.0
Trial 1:
Note: -cpu remove due to error, -m 1024 too small, use ram fs
qemu-system-x86_64 -display sdl -machine q35 \
-m 6144 -drive format=raw,file=sculpt-24-10.img \
-netdev user,id=net0 -device e1000,netdev=net0
Trial 2:
Note: -cpu remove due to error, formated ahci-1.fs sculpt.qcow2 20Gb
qemu-system-x86_64 -display sdl -machine q35 \
-m 6144 -drive format=raw,file=sculpt-24-10.img \
-drive format=raw,file=sculpt.qcow2 \
-netdev user,id=net0 -device e1000,netdev=net0
Host B
Desktop: i7-9700 32Gb
OS Windows 11
Emulation: VirtualBox 7.0.22
Trial: imported as Appliance sculpt-24-10.ova
VB guest hangs during adding Tools->system shell
Note: did NOT test on a desktop PC (no spare)
[View Less]
Hello,
I am facing a problem when using the Bit_array class.
I have a class called L1Dir which contains the property freemask which is a Bit_array with L1_SIZE bits. I want to initialize every bit to value 1 in freemask. However, when I try to call freemask.set(0, L1Dir) outside of the L1Dir default constructor the following error is thrown: 'Genode::Bit_array_base::Invalid_index_access'.
I have tried changing the call to freemask.set(1,2) but I still get the same exception. I have also …
[View More]tried with freemask.get(...) and freemask.clear(...) with no success.
I have initialized freemask with enough space:
Genode::Bit_array<L1_SIZE> freemask;
This leads me to believe that the problem has something to do with the underlying memory of Bit_array_base. If you know what I am doing wrong, please let me know!
Best,
Rumen
P.S. If you need more context, you can find the current state of my code here: https://github.com/rumenmitov/genode-squid/tree/a726c5da3099a7f5de1d4d3d98a…
[View Less]
Hello everyone,
the turn of years is approaching, which prompts me to pick up our fine
tradition of jointly brainstorming the topics of the year to come.
Below, I'm not speaking for the project but share my personal
perspective. Let me start with a brief reflection on 2024, followed by
my ambitions for 2025.
Review of 2024
Following our past year's discussion, we settled on "Sculpt OS
usability" as the primary focus for 2024. The items on the roadmap
envisioned a broad variety of …
[View More]topics, ranging from challenging low-level
mechanisms to end-user conveniences.
From my perspective, the two biggest breakthroughs had been
suspend/resume on x86 (added in May) and multi-monitor support (added in
October). Both topics were not merely approached as singular features
but as architectural enhancements. Suspend/resume challenged our
perspective on driver life-cycles, externalizing state, device
re-acquisition, up to the dynamic driver management by Sculpt OS. Our
desire for multi-monitor support culminated in a largely redesigned GUI
stack, as a system-holistic endeavor. Both lines of work made the
architecture of Sculpt OS much stronger.
Regarding my original plans for user conveniences (file browser etc.), I
must declare defeat. Instead of working on these user-visible features,
I turned a significant part of my attention to consolidation work:
Gradually removing the use of C++ exceptions, cultivating C++20,
improving code safety, and accelerating our workflows be refining our
build system and tools.
Outside my own working topics, I vastly enjoyed watching our team
embracing DDE-Linux to full extent. Reflecting upon our small team's
ability to track the current Linux kernel for our large driver base with
such an agility makes me more than happy. A similar source of happiness
is the way of how the Goa SDK and the new Applications book evolved. It
reveals plainly and clearly how all the parts of the machinery fit super
nicely together.
Any regrets? Two things come into mind. First, my over-promising to
deliver user conveniences. Topics like the on-target docs view or a file
manager are user-visible and fun to build. But I was not able to justify
prioritizing those over the work on framework internals as my core
expertise. I somewhat regret having promised too much. Second, the
PinePhone hasn't become a regular part of my life. That's not the fault
of the PinePhone. But I came to terms that I may simply not be a phone
person, never having owned a smart phone after all. Once I called the
exciting ride of bringing Genode to the PinePhone a success, my personal
motivation to push things further forward plummeted somewhat.
My plans for 2025
I want to focus my Genode work on rigidity, clarity, and performance.
1. Following my consolidation work of 2024, I long for getting the
C++ runtime removed from the base framework. Another tempting
idea for simplification is the merging of core's CPU service
into the PD service. This work will make Genode more simple and
thereby more trustworthy.
2. I'm very curious to explore the idea of replacing XML, outlined at
https://genodians.org/nfeske/2024-12-20-moving-on-from-xml
If this goes as intended, Genode and Sculpt OS will gain in terms
of interactive ergonomics, clarity, and joy to develop for.
3. Given how easy the porting of software has become, thanks to Goa,
I'd strive for moving more of my work outside a Linux VM. For
this, libraries like the libc and VFS require further optimization.
This goes hand in hand with the need for better tools for analysing
performance bottlenecks of complex dynamic workloads.
As an iconic goal, it would be fantastic to have a simple version
of Goa running directly on Sculpt OS by the end of 2025.
In addition, I'd like to catch up on my plans of 2024 regarding
user-visible Sculpt OS features, introducing a documentation view, a
simple file manager, and a convenient way to save settings. I will also
definitely wrap up the multi-monitor window management that I have built
during the past two months.
My wishes for 2025
Outside the realm of my own working topics, I'd love to eventually
switch to the base-hw kernel on my Framework laptop. I'd also highly
appreciate an update of the Chromium engine for the Falkon web browser.
Don't we all want to participate in https://genode.discourse.group using
a browser directly on Sculpt OS? ;-)
What is your perspective on Genode in 2024 and for 2025?
- Has Genode's development during 2024 been in your interest?
- Or do you find important aspects neglected?
- How was your practical experience with Genode in 2024?
- Which directions would you regard as most exciting or pressing?
- What are your personal interests and plans for 2025?
I'm looking forward to learn about your experiences, plans, and ideas.
Like every year, I'll do my best to distill a rough plan for 2025 out
from our joint discussion. The road map will be finalized around mid of
January.
Cheers
Norman
Dr.-Ing. Norman Feske
Genode Labs
https://www.genode-labs.com · https://genode.org
Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden
Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth
[View Less]
Hi,
We plan to convert world from a Genode repository into a repository
housing goa [1] projects and while doing so tidy things up. At the
moment there is no ample schedule, so treat this announcement as a
heads-up, but we would like to finish the restructuring process by the
beginning of 2026. The following text briefly goes into the reasoning
behind this decision and outlines the process.
[1] https://github.com/genodelabs/goa
The world repository was created as a gathering place for …
[View More]interesting
components that enrich the Genode ecosystem but are not strictly placed
under the same scrutiny as the ones in the base repositories. This
lowers the bar for community contributions and makes it the perfect fit
for ported applications and their dependencies.
By now the recommended way to bring existing applications over to Genode
is by using goa instead of imposing Genode's build-system on the contrib
sources. We would like to reinforce that and anticipate that down the road
goa will play a vital role also in creating new and non-ported Genode
components.
The restructuring is thus intended to give goa projects that should be
maintained by and large by the community a focal point and keeps the
spirit of the world repository alive.
As a first step we are going to move the existing content of the world
repository into the newly created 'legacy' sub-directory and will adapt
the documentation, e.g.
REPOSITORIES += $(GENODE_DIR)/repos/world/legacy
retains the current state.
Next we would like to convert components into goa projects on a case by
case basis choosing which we would like to keep maintaining, e.g. Java,
and which are eventually destined for removal.
And this brings the community, i.e. you, into focus - please get in touch
if there are components in world that you are currently use and plan on
keep using, potentially becoming the custodian yourself.
Regards
Josef
--
Josef Söntgen
Genode Labs
http://www.genode-labs.com/ · http://genode.org/
[View Less]
Hello,
I have been trying to create a Goa project from the Dialog Test
component, but I'm bumping into the limits of my Genode abilities.
I'm trying to use "dialog.run" as a template for what to include, using
the "import_from_depot" section as a rough guide to "used_apis" and the
config for the "runtime" file.
1. Is this the right basic idea?
2. Is there already a minimal example of a Goa project for a Nitpicker
and/or Dialog API component, so I don't have to reinvent the wheel?
3. I …
[View More]have tried various combinations of depot packages, but the compiler
can't find "dialog/runtime.h". Is the Dialog API exposed in a depot
package, and if so, which one? I have tried various potential
candidates (e.g., "pkg/gems", "pkg/nitpicker_session", "src/nitpicker",
etc. ), but without success.
Thanks and Happy Sculpting!
--
John J. Karcher
devuser(a)alternateapproach.com
[View Less]