Hello,
I have managed to integrate the lwext4 Genode port (https://codeberg.org/jws/genode-wundertuete/src/branch/sculpt-25.04-2025-04-...) in the past with the target.mk approach.
However, recently I have changed my build system to Goa with CMake. From what I understand the only thing I need to add to my build configuration is the path to `<lwext4-repo>/recipes/src/vfs_lwext4` (for reference: https://codeberg.org/jws/genode-wundertuete/src/branch/sculpt-25.04-2025-04-...).
Unfortunately, when I try adding the aforementioned path in my `<project>/pkg/<project>/archives` file, I get the following error: "Error: invalid depot-archive path '_/_/_/wundertuete/recipes/src/vfs_lwext4'".
Could someone kindly let me if I am missing or misunderstood something? I do not need the lwext4 library itself, only the integration of it into the VFS.
Best, Rumen
Hello Rumen,
Unfortunately, when I try adding the aforementioned path in my `<project>/pkg/<project>/archives` file, I get the following error: "Error: invalid depot-archive path '_/_/_/wundertuete/recipes/src/vfs_lwext4'".
Could someone kindly let me if I am missing or misunderstood something? I do not need the lwext4 library itself, only the integration of it into the VFS.
You have to reference archives from within your depot in goa. The recipes are merely there to build depot archives with the depot tools. So you need to build these archives yourself and reference them within the 'archives' file, e.g.
① ./tool/depot/create … rumen/bin/x86_64/vfs_lwext4 ② adding 'rumen/src/vfs_lwext4' to 'archives'
where the archives are then located in the depot directory you specified in your goa configuration.
Best regards, Josef
Thanks, Josef that did it!
I just have a quick follow-up question. Currently when I run `/genode/tool/depot/create rumen/bin/x86_64/vfs_lwext4` the depot is created in /genode/depot/. However, my project is located in /genode/repos/snapper, which has its own depot-dir in /genode/repos/snapper/var/depot. So to make the the `goa run` command work I had to add the /genode/depot path to the /goarc's allowed_paths. I then have to copy the genodelabs "pubkey" file and the genodelabs "download" file from /genode/repos/snapper/var/depot/genodelabs to /genode/depot/genodelabs.
Is there a way to force `/genode/tool/depot/create rumen/bin/x86_64/vfs_lwext4` to create the depot into /genode/repos/snapper as opposed to in /genode? That way I do not have to fiddle with the extra files.
Best, Rumen ________________________________ From: Josef Söntgen josef.soentgen@genode-labs.com Sent: Tuesday, July 8, 2025 3:49 PM To: Genode users mailing list users@lists.genode.org Subject: Re: Using the Lwext4 Project with Goa
CAUTION: This email originated from outside the organization. Do not click links or open attachments unless you recognize the sender and know the content is safe.
Hello Rumen,
Unfortunately, when I try adding the aforementioned path in my `<project>/pkg/<project>/archives` file, I get the following error: "Error: invalid depot-archive path '_/_/_/wundertuete/recipes/src/vfs_lwext4'".
Could someone kindly let me if I am missing or misunderstood something? I do not need the lwext4 library itself, only the integration of it into the VFS.
You have to reference archives from within your depot in goa. The recipes are merely there to build depot archives with the depot tools. So you need to build these archives yourself and reference them within the 'archives' file, e.g.
① ./tool/depot/create … rumen/bin/x86_64/vfs_lwext4 ② adding 'rumen/src/vfs_lwext4' to 'archives'
where the archives are then located in the depot directory you specified in your goa configuration.
Best regards, Josef
-- Josef Söntgen Genode Labs
Is there a way to force `/genode/tool/depot/create rumen/bin/x86_64/vfs_lwext4` to create the depot into /genode/repos/snapper as opposed to in /genode? That way I do not have to fiddle with the extra files.
You can specify 'DEPOT_DIR=/genode/repos/snapper/var/depot' when executing 'tool/depot/create' to point the depot tools to the location where your depot resides. By default it is set to '$(GENODE_DIR)/depot'.
(For publishing there is 'PUBLIC_DIR' that, as one might have guessed, defaults to '$(GENODE_DIR)/public'.)
Best regards, Josef
Hi,
When I run the command with 'DEPOT_DIR=/genode/repos/snapper/var/depot', I get:
Error: incomplete or missing recipe (rumen/src/lwext4)
I tried creating /genode/repos/snapper/recipes/src/lwext4/content.mk with the following content:
SRC_DIR = $(GENODE_DIR)/repos/wundertuete/src/lib/vfs/lwext4
But I then get the same error. Is my recipe wrong?
Best, Rumen ________________________________ From: Josef Söntgen josef.soentgen@genode-labs.com Sent: Thursday, July 10, 2025 11:55 AM To: Genode users mailing list users@lists.genode.org Subject: Re: Using the Lwext4 Project with Goa
CAUTION: This email originated from outside the organization. Do not click links or open attachments unless you recognize the sender and know the content is safe.
Is there a way to force `/genode/tool/depot/create rumen/bin/x86_64/vfs_lwext4` to create the depot into /genode/repos/snapper as opposed to in /genode? That way I do not have to fiddle with the extra files.
You can specify 'DEPOT_DIR=/genode/repos/snapper/var/depot' when executing 'tool/depot/create' to point the depot tools to the location where your depot resides. By default it is set to '$(GENODE_DIR)/depot'.
(For publishing there is 'PUBLIC_DIR' that, as one might have guessed, defaults to '$(GENODE_DIR)/public'.)
Best regards, Josef
-- Josef Söntgen Genode Labs
Managed to solve the issue by doing the following:
/genode/tool/ports/prepare_port lwext4
DEPOT_DIR=/genode/repos/snapper/var/depot goa depot-dir
DEPOT_DIR=/genode/repos/snapper/var/depot /genode/tool/depot/create rumen/bin/x86_64/vfs_lwext4
echo "rumen/src/vfs_lwext4/$(date +%Y-%m-%d)" >> /genode/repos/snapper/pkg/snappertests/archives
________________________________ From: Rumen Mitov Rumen.Mitov@constructor.tech Sent: Thursday, July 10, 2025 1:20 PM To: Genode users mailing list users@lists.genode.org Subject: Re: Using the Lwext4 Project with Goa
Hi,
When I run the command with 'DEPOT_DIR=/genode/repos/snapper/var/depot', I get:
Error: incomplete or missing recipe (rumen/src/lwext4)
I tried creating /genode/repos/snapper/recipes/src/lwext4/content.mk with the following content:
SRC_DIR = $(GENODE_DIR)/repos/wundertuete/src/lib/vfs/lwext4
But I then get the same error. Is my recipe wrong?
Best, Rumen ________________________________ From: Josef Söntgen josef.soentgen@genode-labs.com Sent: Thursday, July 10, 2025 11:55 AM To: Genode users mailing list users@lists.genode.org Subject: Re: Using the Lwext4 Project with Goa
CAUTION: This email originated from outside the organization. Do not click links or open attachments unless you recognize the sender and know the content is safe.
Is there a way to force `/genode/tool/depot/create rumen/bin/x86_64/vfs_lwext4` to create the depot into /genode/repos/snapper as opposed to in /genode? That way I do not have to fiddle with the extra files.
You can specify 'DEPOT_DIR=/genode/repos/snapper/var/depot' when executing 'tool/depot/create' to point the depot tools to the location where your depot resides. By default it is set to '$(GENODE_DIR)/depot'.
(For publishing there is 'PUBLIC_DIR' that, as one might have guessed, defaults to '$(GENODE_DIR)/public'.)
Best regards, Josef
-- Josef Söntgen Genode Labs