Hello Genodian,
How to install special-purpose software/Apps in genode? Like we create/install the software in windows. Please suggest some document
Thanks & regards Divya
On 3/6/23 12:12, Divya Sharma wrote:
Hello Genodian,
How to install special-purpose software/Apps in genode? Like we create/install the software in windows. Please suggest some document
As you can imagine, due to Genode's more secure design, the software installation process is somewhat different than traditional OSes. One of the main differences is that everything is broken into smaller components (rather than large, monolithic packages), which you are free to configure in various combinations as you see fit.
A couple of times a year, they release pre-built Sculpt disk images, and along with these they include a nice step-by-step introduction to using the system. The latest of these is at:
https://genode.org/documentation/articles/sculpt-22-10
This covers installing various software components, as well as how to use other basic features of the system.
I hope this helps!
Happy Sculpting!
John J. Karcher devuser@alternateapproach.com
hello everyone,
1) thanks for the suggestion, but the thing is we build genode for arm (virt_qemu) and currently, we are unable to configure nic driver, so there is no network, but in the above article, we need to fetch and download packages from repos.
so is it possible to run a third party without the internet?
2) how to run a simple C program on an even on top of the GENODE x86 system?
Thanks & regards Divya
On Wed, Mar 8, 2023 at 8:43 AM John J. Karcher < devuser@alternateapproach.com> wrote:
On 3/6/23 12:12, Divya Sharma wrote:
Hello Genodian,
How to install special-purpose software/Apps in genode? Like we create/install the software in windows. Please suggest some document
As you can imagine, due to Genode's more secure design, the software installation process is somewhat different than traditional OSes. One of the main differences is that everything is broken into smaller components (rather than large, monolithic packages), which you are free to configure in various combinations as you see fit.
A couple of times a year, they release pre-built Sculpt disk images, and along with these they include a nice step-by-step introduction to using the system. The latest of these is at:
https://genode.org/documentation/articles/sculpt-22-10
This covers installing various software components, as well as how to use other basic features of the system.
I hope this helps!
Happy Sculpting!
John J. Karcher devuser@alternateapproach.com
Genode users mailing list users@lists.genode.org https://lists.genode.org/listinfo/users
Hi Divya,
There is the "DEPOT" env variable for gems/run/sculpt.run that can be used for equipping your Sculpt with a TAR archive of packages you reference in the deploy config (see depot_archive in gems/run/sculpt.run and [5]).
You most likely want to use the GOA tool [1-3] in order to bring your C program to Sculpt. Of course, there is also the alternative of publishing your own program from your Genode repo using the depot tooling [4], but it requires more Genode-specific knowledge.
I hope this helped?
Cheers, Martin
[1] https://genodians.org/nfeske/2019-11-25-goa [2] https://genodians.org/nfeske/2020-05-27-autoconf-git [3] https://github.com/nfeske/goa [4] https://genode.org/documentation/developer-resources/package_management [5] https://genode.org/documentation/release-notes/22.02#Framework_for_special-p...
On 16.03.23 08:24, Divya Sharma wrote:
hello everyone,
- thanks for the suggestion, but the thing is we build genode for arm
(virt_qemu) and currently, we are unable to configure nic driver, so there is no network, but in the above article, we need to fetch and download packages from repos.
so is it possible to run a third party without the internet?
- how to run a simple C program on an even on top of the GENODE x86 system?
Thanks & regards Divya
On Wed, Mar 8, 2023 at 8:43 AM John J. Karcher <devuser@alternateapproach.com mailto:devuser@alternateapproach.com> wrote:
On 3/6/23 12:12, Divya Sharma wrote: > Hello Genodian, > > How to install special-purpose software/Apps in genode? > Like we create/install the software in windows. > Please suggest some document As you can imagine, due to Genode's more secure design, the software installation process is somewhat different than traditional OSes. One of the main differences is that everything is broken into smaller components (rather than large, monolithic packages), which you are free to configure in various combinations as you see fit. A couple of times a year, they release pre-built Sculpt disk images, and along with these they include a nice step-by-step introduction to using the system. The latest of these is at: https://genode.org/documentation/articles/sculpt-22-10 This covers installing various software components, as well as how to use other basic features of the system. I hope this helps! Happy Sculpting! John J. Karcher devuser@alternateapproach.com <mailto:devuser@alternateapproach.com> _______________________________________________ Genode users mailing list users@lists.genode.org <mailto:users@lists.genode.org> https://lists.genode.org/listinfo/users
Genode users mailing list users@lists.genode.org https://lists.genode.org/listinfo/users
hello guys,
1) going through all the documents but facing the below error while trying to run a simple "hello" program using GOA https://genodians.org/nfeske/2019-11-25-goa
[init -> hello] Error: LD: Non-RW/RX segment [init -> hello] Error: LD: exception during program load: 'Linker::Invalid_file' [init -> hello] Error: Uncaught exception of type 'Linker::Invalid_file'
And Also language used here is quite different from c++. so is there any document for that?
2) going through this goa document also http://genodians.org/nfeske/2019-12-13-goa-unix-bash PART 1 https://genodians.org/nfeske/2019-12-19-goa-unix-terminal PART 2 https://genodians.org/nfeske/2019-12-22-goa-unix-pipes PART 3 https://genodians.org/nfeske/2020-01-16-goa-publish Publish Package but didn't get it how can I generate a custom app like "we create a simple window using java in windows like buttons and simple input area" please guide me in this area also
If the question seems foolish, please be patient with it.
Thanks and Regards Divya.
On Fri, Mar 17, 2023 at 2:50 PM Martin Stein martin.stein@genode-labs.com wrote:
Hi Divya,
There is the "DEPOT" env variable for gems/run/sculpt.run that can be used for equipping your Sculpt with a TAR archive of packages you reference in the deploy config (see depot_archive in gems/run/sculpt.run and [5]).
You most likely want to use the GOA tool [1-3] in order to bring your C program to Sculpt. Of course, there is also the alternative of publishing your own program from your Genode repo using the depot tooling [4], but it requires more Genode-specific knowledge.
I hope this helped?
Cheers, Martin
[1] https://genodians.org/nfeske/2019-11-25-goa [2] https://genodians.org/nfeske/2020-05-27-autoconf-git [3] https://github.com/nfeske/goa [4] https://genode.org/documentation/developer-resources/package_management [5]
https://genode.org/documentation/release-notes/22.02#Framework_for_special-p...
On 16.03.23 08:24, Divya Sharma wrote:
hello everyone,
- thanks for the suggestion, but the thing is we build genode for arm
(virt_qemu) and currently, we are unable to configure nic driver, so there is no network, but in the above article, we need to fetch and download packages from repos.
so is it possible to run a third party without the internet?
- how to run a simple C program on an even on top of the GENODE x86
system?
Thanks & regards Divya
On Wed, Mar 8, 2023 at 8:43 AM John J. Karcher <devuser@alternateapproach.com mailto:devuser@alternateapproach.com> wrote:
On 3/6/23 12:12, Divya Sharma wrote: > Hello Genodian, > > How to install special-purpose software/Apps in genode? > Like we create/install the software in windows. > Please suggest some document As you can imagine, due to Genode's more secure design, the software installation process is somewhat different than traditional OSes.
One
of the main differences is that everything is broken into smaller components (rather than large, monolithic packages), which you are
free
to configure in various combinations as you see fit. A couple of times a year, they release pre-built Sculpt disk images, and along with these they include a nice step-by-step introduction to
using
the system. The latest of these is at: https://genode.org/documentation/articles/sculpt-22-10 This covers installing various software components, as well as how to use other basic features of the system. I hope this helps! Happy Sculpting! John J. Karcher devuser@alternateapproach.com <mailto:
devuser@alternateapproach.com>
_______________________________________________ Genode users mailing list users@lists.genode.org <mailto:users@lists.genode.org> https://lists.genode.org/listinfo/users
Genode users mailing list users@lists.genode.org https://lists.genode.org/listinfo/users
Genode users mailing list users@lists.genode.org https://lists.genode.org/listinfo/users
Divya,
but didn't get it how can I generate a custom app like "we create a simple
window using java in windows like buttons and simple input area" please guide me in this area also
If you're willing to put aside java for the minute and use Qt, there is support in goa for that. In the past I had pretty good success with the goa/Qt combination, but this was a while ago, I suspect things have only gotten better since as more features have been added to the Qt port.
Hope it helps -CP
Collin,
On 3/23/23 14:38, Colin Parker wrote:
Divya,
but didn't get it how can I generate a custom app like "we create a simple window using java in windows like buttons and simple input area" please guide me in this area also
If you're willing to put aside java for the minute and use Qt, there is support in goa for that. In the past I had pretty good success with the goa/Qt combination, but this was a while ago, I suspect things have only gotten better since as more features have been added to the Qt port.
FYI: Qt project builds are currently broken in Goa, fixes are in the pipe.
Cheers,
Sebastian
Respected @martin @sebastian Yes I'm Trying to follow Norman Hello code to get exposure of goa And this is objdump -ph var/run/hello
On Fri, Mar 24, 2023 at 2:57 PM Sebastian Sumpf < Sebastian.Sumpf@genode-labs.com> wrote:
Collin,
On 3/23/23 14:38, Colin Parker wrote:
Divya,
but didn't get it how can I generate a custom app like "we create a
simple
window using java in windows like buttons and simple input area" please guide me in this area also
If you're willing to put aside java for the minute and use Qt, there is
support
in goa for that. In the past I had pretty good success with the goa/Qt combination, but this was a while ago, I suspect things have only gotten
better
since as more features have been added to the Qt port.
FYI: Qt project builds are currently broken in Goa, fixes are in the pipe.
Cheers,
Sebastian
-- Sebastian Sumpf Genode Labs
http://www.genode-labs.com · http://genode.org
Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth
Genode users mailing list users@lists.genode.org https://lists.genode.org/listinfo/users
Hi Divya,
On 3/27/23 07:55, Divya Sharma wrote:
Respected @martin @sebastian Yes I'm Trying to follow Norman Hello code to get exposure of goa And this is objdump -ph var/run/hello
we observed a regression in Goa. Could you try out my qt5 Goa branch [1] and see if it fixes your problems?
[1] https://github.com/ssumpf/goa/tree/qt5
Cheers,
Sebastian -- Sebastian Sumpf Genode Labs
http://www.genode-labs.com · http://genode.org
Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth
hello sir,
Tried with branch [1] but still getting same error?
[init -> hello] Error: LD: Non-RW/RX segment [init -> hello] Error: LD: exception during program load: 'Linker::Invalid_file' [init -> hello] Error: Uncaught exception of type 'Linker::Invalid_file' [init -> hello] Warning: abort called - thread: ep
[1] https://github.com/ssumpf/goa/tree/qt5
On Mon, Mar 27, 2023 at 7:16 PM Sebastian Sumpf < Sebastian.Sumpf@genode-labs.com> wrote:
Hi Divya,
On 3/27/23 07:55, Divya Sharma wrote:
Respected @martin @sebastian Yes I'm Trying to follow Norman Hello code to get exposure of goa And this is objdump -ph var/run/hello
we observed a regression in Goa. Could you try out my qt5 Goa branch [1] and see if it fixes your problems?
[1] https://github.com/ssumpf/goa/tree/qt5
Cheers,
Sebastian
Sebastian Sumpf Genode Labs
http://www.genode-labs.com · http://genode.org
Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth
Genode users mailing list users@lists.genode.org https://lists.genode.org/listinfo/users
Hello Divya,
On 3/30/23 07:39, Divya Sharma wrote:
hello sir,
Tried with branch [1] but still getting same error?
[init -> hello] Error: LD: Non-RW/RX segment [init -> hello] Error: LD: exception during program load: 'Linker::Invalid_file' [init -> hello] Error: Uncaught exception of type 'Linker::Invalid_file' [init -> hello] Warning: abort called - thread: ep
[1] https://github.com/ssumpf/goa/tree/qt5 https://github.com/ssumpf/goa/tree/qt5
Could you delete the "var" directory in the project please and build "--verbose" so you can tell if everything is compiled and linked again?
Cheers,
Sebastian
On Mon, Mar 27, 2023 at 7:16 PM Sebastian Sumpf <Sebastian.Sumpf@genode-labs.com mailto:Sebastian.Sumpf@genode-labs.com> wrote:
Hi Divya, On 3/27/23 07:55, Divya Sharma wrote: > Respected @martin @sebastian > Yes I'm Trying to follow Norman Hello code to get exposure of goa > And this is objdump -ph var/run/hello we observed a regression in Goa. Could you try out my qt5 Goa branch [1] and see if it fixes your problems? [1] https://github.com/ssumpf/goa/tree/qt5 <https://github.com/ssumpf/goa/tree/qt5> Cheers, Sebastian -- Sebastian Sumpf Genode Labs http://www.genode-labs.com <http://www.genode-labs.com> · http://genode.org <http://genode.org> Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth _______________________________________________ Genode users mailing list users@lists.genode.org <mailto:users@lists.genode.org> https://lists.genode.org/listinfo/users <https://lists.genode.org/listinfo/users>
Genode users mailing list users@lists.genode.org https://lists.genode.org/listinfo/users
Able to solve this problem thanks @sabastian On Thu, Mar 30, 2023 at 3:16 PM Sebastian Sumpf < Sebastian.Sumpf@genode-labs.com> wrote:
Hello Divya,
On 3/30/23 07:39, Divya Sharma wrote:
hello sir,
Tried with branch [1] but still getting same error?
[init -> hello] Error: LD: Non-RW/RX segment [init -> hello] Error: LD: exception during program load:
'Linker::Invalid_file'
[init -> hello] Error: Uncaught exception of type 'Linker::Invalid_file' [init -> hello] Warning: abort called - thread: ep
[1] https://github.com/ssumpf/goa/tree/qt5 https://github.com/ssumpf/goa/tree/qt5
Could you delete the "var" directory in the project please and build "--verbose" so you can tell if everything is compiled and linked again?
Cheers,
Sebastian
On Mon, Mar 27, 2023 at 7:16 PM Sebastian Sumpf <
Sebastian.Sumpf@genode-labs.com
mailto:Sebastian.Sumpf@genode-labs.com> wrote:
Hi Divya, On 3/27/23 07:55, Divya Sharma wrote: > Respected @martin @sebastian > Yes I'm Trying to follow Norman Hello code to get exposure of goa > And this is objdump -ph var/run/hello we observed a regression in Goa. Could you try out my qt5 Goa branch
[1] and
see if it fixes your problems? [1] https://github.com/ssumpf/goa/tree/qt5 <https://github.com/ssumpf/goa/tree/qt5> Cheers, Sebastian -- Sebastian Sumpf Genode Labs http://www.genode-labs.com <http://www.genode-labs.com> ·
<http://genode.org> Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth _______________________________________________ Genode users mailing list users@lists.genode.org <mailto:users@lists.genode.org> https://lists.genode.org/listinfo/users <https://lists.genode.org/listinfo/users>
Genode users mailing list users@lists.genode.org https://lists.genode.org/listinfo/users
-- Sebastian Sumpf Genode Labs
http://www.genode-labs.com · http://genode.org
Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth
Genode users mailing list users@lists.genode.org https://lists.genode.org/listinfo/users
Hello Genodians,
Try to follow articles on a goa by norman, at https://genodians.org/nfeske/2020-01-16-goa-publish [Goa Publishing package]
"Now that our little Unix scenario has become publicly available in the form of downloadable depot content, it is ready to be deployed by users of Sculpt OS."
can you elaborate more about how to client-side works? or how users can find/download the custom apps in genode os? do we need to change the script in the "depot" directory?
Thanks & Regards Divya
On Fri, Mar 31, 2023 at 9:54 AM Divya Sharma divyasharma26546@gmail.com wrote:
Able to solve this problem thanks @sabastian On Thu, Mar 30, 2023 at 3:16 PM Sebastian Sumpf < Sebastian.Sumpf@genode-labs.com> wrote:
Hello Divya,
On 3/30/23 07:39, Divya Sharma wrote:
hello sir,
Tried with branch [1] but still getting same error?
[init -> hello] Error: LD: Non-RW/RX segment [init -> hello] Error: LD: exception during program load:
'Linker::Invalid_file'
[init -> hello] Error: Uncaught exception of type 'Linker::Invalid_file' [init -> hello] Warning: abort called - thread: ep
[1] https://github.com/ssumpf/goa/tree/qt5 https://github.com/ssumpf/goa/tree/qt5
Could you delete the "var" directory in the project please and build "--verbose" so you can tell if everything is compiled and linked again?
Cheers,
Sebastian
On Mon, Mar 27, 2023 at 7:16 PM Sebastian Sumpf <
Sebastian.Sumpf@genode-labs.com
mailto:Sebastian.Sumpf@genode-labs.com> wrote:
Hi Divya, On 3/27/23 07:55, Divya Sharma wrote: > Respected @martin @sebastian > Yes I'm Trying to follow Norman Hello code to get exposure of goa > And this is objdump -ph var/run/hello we observed a regression in Goa. Could you try out my qt5 Goa
branch [1] and
see if it fixes your problems? [1] https://github.com/ssumpf/goa/tree/qt5 <https://github.com/ssumpf/goa/tree/qt5> Cheers, Sebastian -- Sebastian Sumpf Genode Labs http://www.genode-labs.com <http://www.genode-labs.com> ·
<http://genode.org> Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth _______________________________________________ Genode users mailing list users@lists.genode.org <mailto:users@lists.genode.org> https://lists.genode.org/listinfo/users <https://lists.genode.org/listinfo/users>
Genode users mailing list users@lists.genode.org https://lists.genode.org/listinfo/users
-- Sebastian Sumpf Genode Labs
http://www.genode-labs.com · http://genode.org
Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth
Genode users mailing list users@lists.genode.org https://lists.genode.org/listinfo/users
Hello Divya,
On 2023-04-02 15:27, Divya Sharma wrote:
... "Now that our little Unix scenario has become publicly available in the form of downloadable depot content, it is ready to be deployed by users of Sculpt OS."
can you elaborate more about how to client-side works? or how users can find/download the custom apps in genode os? do we need to change the script in the "depot" directory?
the Sculpt system needs two ingredients to install a custom software package as published via Goa: A download location and a public GPG key. Once you make Sculpt aware of those two pieces of information, the package manager takes care about the installation.
For example, if you have followed the steps of the Goa tutorial using the depot-user name "divya", and uploaded the content of the 'var/public/' directory - containing the signed results of the publishing step - to a web server, let's say to the hypothetical place "https://divyasharma.org/genode/divya/", you should add a directory named "divya" to your depot/ directory on the Sculpt partition and add the following two files to this directory:
depot/divya/download
This one contains the download URL without the last path element. So in the example, that would be "https://divyasharma.org/genode" (without the quotes).
depot/divya/pubkey
Your public PGP key matching the private key that you used for Goa's publish step. The key should be in ASCII-armored form.
With these precaution taken, Sculpt knows where to download software provided by "divya" and how to validate the integrity of downloads.
Now, in order to deploy an actual component, there are multiple options.
- You may add a launcher that refers to a package from you as 'pkg' attribute. You may take the examples at /config/laucher/ as blueprint. With a new launcher file created, you will see a new menu entry appear at the '+' menu. The package will be downloaded and started as soon as you click on the new menu entry.
- You may manually add a <start> node referring to your package as 'pkg' attribute in your /config/deploy file. Once you save the file, the package will be downloaded automatically.
For both approaches, you need to specify the session routing, which may be difficult. Alternatively, you may prompt Sculpt to serve you the nice session-routing dialog as follows:
- Add a depot index that refers to your pkg. I recommend placing a file named depot/local/index/22.04 (the actual file name has to match your Sculpt version number) with content like this:
<index> <supports arch="x86_64"/> <pkg path="divya/pkg/unix_example/2023-04-03" info="Divya's Unix"/> </index>
With the file added, you will find a new depot user "local" in the Depot section of the '+' menu. This local user will offer you the menu entry "Divya's Unix". Once selected, you can install and configure the package similar to how you already did for the various genodelabs packages.
Should you want to create a custom Sculpt Image with your download location and public key added by default, you can add this information at 'repos/*/sculpt/depot/divya/' (see [1] for reference) and add your name to 'repos/gems/sculpt/default-pc.sculpt' under the 'depot' tag (see the last line of [2]).
[1] https://github.com/genodelabs/genode/tree/master/repos/gems/sculpt/depot [2] https://github.com/genodelabs/genode/blob/master/repos/gems/sculpt/default-p...
This avoids the need for manually adding the 'download' and 'pubkey' files.
Cheers Norman
hello guys,
as suggested follow all the steps required, now the system downloads the necessary package and appears as a subnode next to GUI but doesn't show an open "bash terminal". and got this error in the log (attached screenshot) is there any solution for "rom session denied" problem?
regards Divya
On Mon, Apr 3, 2023 at 10:11 PM Norman Feske norman.feske@genode-labs.com wrote:
Hello Divya,
On 2023-04-02 15:27, Divya Sharma wrote:
... "Now that our little Unix scenario has become publicly available in the form of downloadable depot content, it is ready to be deployed by users of Sculpt OS."
can you elaborate more about how to client-side works? or how users can find/download the custom apps in genode os? do we need to change the script in the "depot" directory?
the Sculpt system needs two ingredients to install a custom software package as published via Goa: A download location and a public GPG key. Once you make Sculpt aware of those two pieces of information, the package manager takes care about the installation.
For example, if you have followed the steps of the Goa tutorial using the depot-user name "divya", and uploaded the content of the 'var/public/' directory - containing the signed results of the publishing step - to a web server, let's say to the hypothetical place "https://divyasharma.org/genode/divya/", you should add a directory named "divya" to your depot/ directory on the Sculpt partition and add the following two files to this directory:
depot/divya/download
This one contains the download URL without the last path element. So in the example, that would be "https://divyasharma.org/genode" (without the quotes).
depot/divya/pubkey
Your public PGP key matching the private key that you used for Goa's publish step. The key should be in ASCII-armored form.
With these precaution taken, Sculpt knows where to download software provided by "divya" and how to validate the integrity of downloads.
Now, in order to deploy an actual component, there are multiple options.
You may add a launcher that refers to a package from you as 'pkg' attribute. You may take the examples at /config/laucher/ as blueprint. With a new launcher file created, you will see a new menu entry appear at the '+' menu. The package will be downloaded and started as soon as you click on the new menu entry.
You may manually add a <start> node referring to your package as 'pkg' attribute in your /config/deploy file. Once you save the file, the package will be downloaded automatically.
For both approaches, you need to specify the session routing, which may be difficult. Alternatively, you may prompt Sculpt to serve you the nice session-routing dialog as follows:
Add a depot index that refers to your pkg. I recommend placing a file named depot/local/index/22.04 (the actual file name has to match your Sculpt version number) with content like this:
<index> <supports arch="x86_64"/> <pkg path="divya/pkg/unix_example/2023-04-03" info="Divya's Unix"/> </index>
With the file added, you will find a new depot user "local" in the Depot section of the '+' menu. This local user will offer you the menu entry "Divya's Unix". Once selected, you can install and configure the package similar to how you already did for the various genodelabs packages.
Should you want to create a custom Sculpt Image with your download location and public key added by default, you can add this information at 'repos/*/sculpt/depot/divya/' (see [1] for reference) and add your name to 'repos/gems/sculpt/default-pc.sculpt' under the 'depot' tag (see the last line of [2]).
[1] https://github.com/genodelabs/genode/tree/master/repos/gems/sculpt/depot [2]
https://github.com/genodelabs/genode/blob/master/repos/gems/sculpt/default-p...
This avoids the need for manually adding the 'download' and 'pubkey' files.
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
Genode users mailing list users@lists.genode.org https://lists.genode.org/listinfo/users
Hello Divya,
as suggested follow all the steps required, now the system downloads the necessary package and appears as a subnode next to GUI but doesn't show an open "bash terminal". and got this error in the log (attached screenshot) is there any solution for "rom session denied" problem?
the error message tells me that the 'bash' subsystem requires the 'init' executable binary but it is not supplied with the pkg.
I guess that either the 'archives' file lacks an entry for 'init', or that no corresponding <rom> node exists in the <content> declaration of the pkg's 'runtime' file. It should contain an entry like this:
<content> ... <rom label="init"/> ... </content>
Cheers Norman
Goa is mainly written in TCL/Expect [1-3] if you are referring to that. The project files, however, are in parts Make [4] (make_args, import), in parts Genode package management [5] (used_api, artifacts, LICENSE, pkg, var, version) and in parts the app-own non-Genode toolchain (src, configure_args, ...).
With regards to the error, I cannot say anything useful without further information (project files, execution setup). Are you using the hello tutorial from the Genodians article by Norman Feske?
Cheers, Martin
[1] https://wiki.tcl-lang.org/page/Expect [2] https://www.tcl.tk/man/expect5.31/expect.1.html [3] https://en.wikipedia.org/wiki/Expect [4] https://en.wikipedia.org/wiki/Make_(software) [5] https://genode.org/documentation/developer-resources/package_management
On 23.03.23 13:44, Divya Sharma wrote:
hello guys,
- going through all the documents but facing the below error while
trying to run a simple "hello" program using GOA https://genodians.org/nfeske/2019-11-25-goa
[init -> hello] Error: LD: Non-RW/RX segment [init -> hello] Error: LD: exception during program load: 'Linker::Invalid_file' [init -> hello] Error: Uncaught exception of type 'Linker::Invalid_file'
And Also language used here is quite different from c++. so is there any document for that?
- going through this goa document also
http://genodians.org/nfeske/2019-12-13-goa-unix-bash PART 1 https://genodians.org/nfeske/2019-12-19-goa-unix-terminal https://genodians.org/nfeske/2019-12-19-goa-unix-terminalPART 2 https://genodians.org/nfeske/2019-12-22-goa-unix-pipes https://genodians.org/nfeske/2019-12-22-goa-unix-pipesPART 3 https://genodians.org/nfeske/2020-01-16-goa-publish Publish Package but didn't get it how can I generate a custom app like "we create a simple window using java in windows like buttons and simple input area" please guide me in this area also
If the question seems foolish, please be patient with it.
Thanks and Regards Divya.
Hi Divya,
On 3/23/23 13:44, Divya Sharma wrote:
hello guys,
- going through all the documents but facing the below error while trying to
run a simple "hello" program using GOA https://genodians.org/nfeske/2019-11-25-goa https://genodians.org/nfeske/2019-11-25-goa
[init -> hello] Error: LD: Non-RW/RX segment [init -> hello] Error: LD: exception during program load: 'Linker::Invalid_file' [init -> hello] Error: Uncaught exception of type 'Linker::Invalid_file'
This looks like the "hello" is not an ELF. Could you send the output of
! objdump -ph var/run/hello
- of your Goa project?
And Also language used here is quite different from c++. so is there any document for that?
TCL (documentation can be found on the Internet)
- going through this goa document also
http://genodians.org/nfeske/2019-12-13-goa-unix-bash http://genodians.org/nfeske/2019-12-13-goa-unix-bash PART 1 https://genodians.org/nfeske/2019-12-19-goa-unix-terminal https://genodians.org/nfeske/2019-12-19-goa-unix-terminalPART 2 https://genodians.org/nfeske/2019-12-22-goa-unix-pipes https://genodians.org/nfeske/2019-12-22-goa-unix-pipesPART 3 https://genodians.org/nfeske/2020-01-16-goa-publish https://genodians.org/nfeske/2020-01-16-goa-publish Publish Package but didn't get it how can I generate a custom app like "we create a simple window using java in windows like buttons and simple input area" please guide me in this area also
If the question seems foolish, please be patient with it.
In principle you could build a simple window application on Windows. You would have to put the generated Byte-code *.jar in a *.tar (like done for hello.tar). Also you would need to update or replace the classes.tar with your version [1] and add the generic Java classes for the UI. This might not work because additional shared libraries might have to be ported. You will see. Currently only a subset of the standard Java modules [2] are present (extracted classes.tar). If I were you I would not use Goa at the moment since you will have to change the JDK packages or even sources, this would be a follow up in case you got your scenario working, but rather adjust the "java.run" for you purpose.
Regards,
Sebastian
[1] contrib/jdk_gnerated-<hash>/./src/app/jdk/bin/classes.tar [2] ./java.base ./java.base/com ./java.base/com/sun ./java.base/com/sun/crypto ./java.base/com/sun/crypto/provider ./java.base/com/sun/java ./java.base/com/sun/java/util ./java.base/com/sun/java/util/jar ./java.base/com/sun/java/util/jar/pack ./java.base/com/sun/net ./java.base/com/sun/net/ssl ./java.base/com/sun/net/ssl/internal ./java.base/com/sun/net/ssl/internal/ssl ./java.base/com/sun/net/ssl/internal/www ./java.base/com/sun/net/ssl/internal/www/protocol ./java.base/com/sun/net/ssl/internal/www/protocol/https ./java.base/com/sun/security ./java.base/com/sun/security/cert ./java.base/com/sun/security/cert/internal ./java.base/com/sun/security/cert/internal/x509 ./java.base/com/sun/security/ntlm ./java.base/java ./java.base/java/io ./java.base/java/lang ./java.base/java/lang/annotation ./java.base/java/lang/invoke ./java.base/java/lang/module ./java.base/java/lang/ref ./java.base/java/lang/reflect ./java.base/java/math ./java.base/java/net ./java.base/java/net/spi ./java.base/java/nio ./java.base/java/nio/channels ./java.base/java/nio/channels/spi ./java.base/java/nio/charset ./java.base/java/nio/charset/spi ./java.base/java/nio/file ./java.base/java/nio/file/attribute ./java.base/java/nio/file/spi ./java.base/java/security ./java.base/java/security/acl ./java.base/java/security/cert ./java.base/java/security/interfaces ./java.base/java/security/spec ./java.base/java/text ./java.base/java/text/spi ./java.base/java/time ./java.base/java/time/chrono ./java.base/java/time/format ./java.base/java/time/temporal ./java.base/java/time/zone ./java.base/java/util ./java.base/java/util/concurrent ./java.base/java/util/concurrent/atomic ./java.base/java/util/concurrent/locks ./java.base/java/util/function ./java.base/java/util/jar ./java.base/java/util/regex ./java.base/java/util/spi ./java.base/java/util/stream ./java.base/java/util/zip ./java.base/javax ./java.base/javax/crypto ./java.base/javax/crypto/interfaces ./java.base/javax/crypto/spec ./java.base/javax/net ./java.base/javax/net/ssl ./java.base/javax/security ./java.base/javax/security/auth ./java.base/javax/security/auth/callback ./java.base/javax/security/auth/login ./java.base/javax/security/auth/spi ./java.base/javax/security/auth/x500 ./java.base/javax/security/cert ./java.base/jdk ./java.base/jdk/internal ./java.base/jdk/internal/jimage ./java.base/jdk/internal/jimage/decompressor ./java.base/jdk/internal/jmod ./java.base/jdk/internal/jrtfs ./java.base/jdk/internal/loader ./java.base/jdk/internal/logger ./java.base/jdk/internal/math ./java.base/jdk/internal/misc ./java.base/jdk/internal/module ./java.base/jdk/internal/org ./java.base/jdk/internal/org/objectweb ./java.base/jdk/internal/org/objectweb/asm ./java.base/jdk/internal/org/objectweb/asm/commons ./java.base/jdk/internal/org/objectweb/asm/signature ./java.base/jdk/internal/org/objectweb/asm/tree ./java.base/jdk/internal/org/objectweb/asm/tree/analysis ./java.base/jdk/internal/org/objectweb/asm/util ./java.base/jdk/internal/org/xml ./java.base/jdk/internal/org/xml/sax ./java.base/jdk/internal/org/xml/sax/helpers ./java.base/jdk/internal/perf ./java.base/jdk/internal/ref ./java.base/jdk/internal/reflect ./java.base/jdk/internal/util ./java.base/jdk/internal/util/jar ./java.base/jdk/internal/util/xml ./java.base/jdk/internal/util/xml/impl ./java.base/jdk/internal/vm ./java.base/jdk/internal/vm/annotation ./java.base/jdk/internal/vm/cds ./java.base/jdk/internal/vm/cds/resources ./java.base/META-INF ./java.base/META-INF/services ./java.base/sun ./java.base/sun/invoke ./java.base/sun/invoke/empty ./java.base/sun/invoke/util ./java.base/sun/launcher ./java.base/sun/launcher/resources ./java.base/sun/net ./java.base/sun/net/dns ./java.base/sun/net/ext ./java.base/sun/net/ftp ./java.base/sun/net/ftp/impl ./java.base/sun/net/idn ./java.base/sun/net/sdp ./java.base/sun/net/smtp ./java.base/sun/net/spi ./java.base/sun/net/util ./java.base/sun/net/www ./java.base/sun/net/www/content ./java.base/sun/net/www/content/text ./java.base/sun/net/www/http ./java.base/sun/net/www/protocol ./java.base/sun/net/www/protocol/file ./java.base/sun/net/www/protocol/ftp ./java.base/sun/net/www/protocol/http ./java.base/sun/net/www/protocol/http/ntlm ./java.base/sun/net/www/protocol/https ./java.base/sun/net/www/protocol/jar ./java.base/sun/net/www/protocol/jmod ./java.base/sun/net/www/protocol/jrt ./java.base/sun/net/www/protocol/mailto ./java.base/sun/nio ./java.base/sun/nio/ch ./java.base/sun/nio/cs ./java.base/sun/nio/fs ./java.base/sun/reflect ./java.base/sun/reflect/annotation ./java.base/sun/reflect/generics ./java.base/sun/reflect/generics/factory ./java.base/sun/reflect/generics/parser ./java.base/sun/reflect/generics/reflectiveObjects ./java.base/sun/reflect/generics/repository ./java.base/sun/reflect/generics/scope ./java.base/sun/reflect/generics/tree ./java.base/sun/reflect/generics/visitor ./java.base/sun/reflect/misc ./java.base/sun/security ./java.base/sun/security/action ./java.base/sun/security/internal ./java.base/sun/security/internal/interfaces ./java.base/sun/security/internal/spec ./java.base/sun/security/jca ./java.base/sun/security/pkcs ./java.base/sun/security/pkcs10 ./java.base/sun/security/pkcs12 ./java.base/sun/security/provider ./java.base/sun/security/provider/certpath ./java.base/sun/security/provider/certpath/ssl ./java.base/sun/security/rsa ./java.base/sun/security/ssl ./java.base/sun/security/timestamp ./java.base/sun/security/tools ./java.base/sun/security/tools/keytool ./java.base/sun/security/util ./java.base/sun/security/validator ./java.base/sun/security/x509 ./java.base/sun/text ./java.base/sun/text/bidi ./java.base/sun/text/normalizer ./java.base/sun/text/resources ./java.base/sun/text/resources/cldr ./java.base/sun/text/spi ./java.base/sun/util ./java.base/sun/util/calendar ./java.base/sun/util/cldr ./java.base/sun/util/locale ./java.base/sun/util/locale/provider ./java.base/sun/util/logging ./java.base/sun/util/resources ./java.base/sun/util/resources/cldr ./java.base/sun/util/spi ./jdk.httpserver ./jdk.httpserver/com ./jdk.httpserver/com/sun ./jdk.httpserver/com/sun/net ./jdk.httpserver/com/sun/net/httpserver ./jdk.httpserver/com/sun/net/httpserver/spi ./jdk.httpserver/sun ./jdk.httpserver/sun/net ./jdk.httpserver/sun/net/httpserver
Thanks and Regards Divya.
On Fri, Mar 17, 2023 at 2:50 PM Martin Stein <martin.stein@genode-labs.com mailto:martin.stein@genode-labs.com> wrote:
Hi Divya, There is the "DEPOT" env variable for gems/run/sculpt.run that can be used for equipping your Sculpt with a TAR archive of packages you reference in the deploy config (see depot_archive in gems/run/sculpt.run and [5]). You most likely want to use the GOA tool [1-3] in order to bring your C program to Sculpt. Of course, there is also the alternative of publishing your own program from your Genode repo using the depot tooling [4], but it requires more Genode-specific knowledge. I hope this helped? Cheers, Martin [1] https://genodians.org/nfeske/2019-11-25-goa <https://genodians.org/nfeske/2019-11-25-goa> [2] https://genodians.org/nfeske/2020-05-27-autoconf-git <https://genodians.org/nfeske/2020-05-27-autoconf-git> [3] https://github.com/nfeske/goa <https://github.com/nfeske/goa> [4] https://genode.org/documentation/developer-resources/package_management <https://genode.org/documentation/developer-resources/package_management> [5] https://genode.org/documentation/release-notes/22.02#Framework_for_special-purpose_Sculpt-based_operating_systems <https://genode.org/documentation/release-notes/22.02#Framework_for_special-purpose_Sculpt-based_operating_systems> On 16.03.23 08:24, Divya Sharma wrote: > hello everyone, > > 1) thanks for the suggestion, but the thing is we build genode for arm > (virt_qemu) and currently, we are unable to configure nic driver, so > there is no network, but in the above article, we need to fetch and > download packages from repos. > > so is it possible to run a third party without the internet? > > 2) how to run a simple C program on an even on top of the GENODE x86 system? > > Thanks & regards > Divya > > On Wed, Mar 8, 2023 at 8:43 AM John J. Karcher > <devuser@alternateapproach.com <mailto:devuser@alternateapproach.com> <mailto:devuser@alternateapproach.com <mailto:devuser@alternateapproach.com>>> > wrote: > > On 3/6/23 12:12, Divya Sharma wrote: > > Hello Genodian, > > > > How to install special-purpose software/Apps in genode? > > Like we create/install the software in windows. > > Please suggest some document > > As you can imagine, due to Genode's more secure design, the software > installation process is somewhat different than traditional OSes. One > of the main differences is that everything is broken into smaller > components (rather than large, monolithic packages), which you are free > to configure in various combinations as you see fit. > > A couple of times a year, they release pre-built Sculpt disk images, > and > along with these they include a nice step-by-step introduction to using > the system. The latest of these is at: > > https://genode.org/documentation/articles/sculpt-22-10 <https://genode.org/documentation/articles/sculpt-22-10> > > This covers installing various software components, as well as how to > use other basic features of the system. > > I hope this helps! > > Happy Sculpting! > > John J. Karcher > devuser@alternateapproach.com <mailto:devuser@alternateapproach.com> <mailto:devuser@alternateapproach.com <mailto:devuser@alternateapproach.com>> > > _______________________________________________ > Genode users mailing list > users@lists.genode.org <mailto:users@lists.genode.org> <mailto:users@lists.genode.org <mailto:users@lists.genode.org>> > https://lists.genode.org/listinfo/users <https://lists.genode.org/listinfo/users> > > > _______________________________________________ > Genode users mailing list > users@lists.genode.org <mailto:users@lists.genode.org> > https://lists.genode.org/listinfo/users <https://lists.genode.org/listinfo/users> > _______________________________________________ Genode users mailing list users@lists.genode.org <mailto:users@lists.genode.org> https://lists.genode.org/listinfo/users <https://lists.genode.org/listinfo/users>
Genode users mailing list users@lists.genode.org https://lists.genode.org/listinfo/users