Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/genodelabs/goa
Tool for streamlining the development of Genode applications
https://github.com/genodelabs/goa
cplusplus cpp gcc genode goa linux osdev sculpt-os tool
Last synced: 2 days ago
JSON representation
Tool for streamlining the development of Genode applications
- Host: GitHub
- URL: https://github.com/genodelabs/goa
- Owner: genodelabs
- License: agpl-3.0
- Created: 2019-11-25T19:29:50.000Z (almost 5 years ago)
- Default Branch: master
- Last Pushed: 2024-10-30T19:06:35.000Z (8 days ago)
- Last Synced: 2024-10-30T20:19:53.864Z (8 days ago)
- Topics: cplusplus, cpp, gcc, genode, goa, linux, osdev, sculpt-os, tool
- Language: Tcl
- Homepage:
- Size: 401 KB
- Stars: 21
- Watchers: 13
- Forks: 17
- Open Issues: 7
-
Metadata Files:
- Readme: README
- License: LICENSE
Awesome Lists containing this project
README
===========================================
Goa - goal, but reached a little bit sooner
===========================================Goa is a command-line-based workflow tool for the development of applications
for the [https://genode.org - Genode OS Framework]. It streamlines the work of
cross-developing Genode application software using a GNU/Linux-based host
system for development, in particular* Importing 3rd-party source code,
* Building software using commodity build systems such as CMake,
* Test-running software on the host system,
* Crafting runtime configurations for deployment, and
* Packaging and publishing the software for the integration into Genode
systems like [https://genode.org/download/sculpt - Sculpt OS].Goa is solely geared towards application software. It does _not_ address the
following topics:* Integration of complete Genode systems,
* Test automation,
* Continuous testing and integration (CI).
Those topics are covered by the tools that come with the Genode project and
are described in Chapter 5 of the Genode Foundations book:
[https://genode.org/documentation/genode-foundations/23.05/development/index.html]Installation
------------# Install the latest Genode tool chain on a GNU/Linux OS on a 64-bit x86 PC.
It is recommended to use the latest long-term support (LTS) version of
Ubuntu. Make sure that your installation satisfies the following
requirements.* _libSDL-dev_ needed to run system scenarios directly on your host OS,
* _tclsh_ and _expect_ needed by the tools,
* _xmllint_ for validating configurations,# Clone the Goa repository:
! git clone https://github.com/genodelabs/goa.git
The following steps refer to the directory of the clone as ''.
# Enable your shell to locate the 'goa' tool by either
* Creating a symbolic link in one of your shell's binary-search
locations (e.g., if you use a 'bin/' directory in your home directory,
issue 'ln -s /bin/goa ~/bin/'), or alternatively* Add '/bin/>' to your 'PATH' environment variable, e.g.,
(replace '' with the absolute path of your clone):! export PATH=$PATH:/bin
# Optionally, enable bash completion by adding the following line to your
'~/.bashrc' file:! source /share/bash-completion/goa
Usage
-----Once installed, obtain further information about the use of Goa via
the 'goa help' command.Step-by-step tutorials
----------------------The following article series gets you started with using Goa.
:Streamlining the development of Genode applications:
[https://genodians.org/nfeske/2019-11-25-goa]
:Sticking together a little Unix (part 1):
[https://genodians.org/nfeske/2019-12-13-goa-unix-bash]
:Sticking together a little Unix (part 2):
[https://genodians.org/nfeske/2019-12-19-goa-unix-terminal]
:Sticking together a little Unix (part 3):
[https://genodians.org/nfeske/2019-12-22-goa-unix-pipes]
:Publishing packages:
[https://genodians.org/nfeske/2020-01-16-goa-publish]