Installing software in genode
Sebastian Sumpf
Sebastian.Sumpf at genode-labs.com
Fri Mar 24 10:25:30 CET 2023
Hi Divya,
On 3/23/23 13:44, Divya Sharma wrote:
> 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
> <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)
>
> 2) 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-terminal>PART 2
> https://genodians.org/nfeske/2019-12-22-goa-unix-pipes
> <https://genodians.org/nfeske/2019-12-22-goa-unix-pipes>PART 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 at genode-labs.com
> <mailto:martin.stein at 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 at alternateapproach.com <mailto:devuser at alternateapproach.com>
> <mailto:devuser at alternateapproach.com <mailto:devuser at 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 at alternateapproach.com <mailto:devuser at alternateapproach.com>
> <mailto:devuser at alternateapproach.com <mailto:devuser at alternateapproach.com>>
> >
> > _______________________________________________
> > Genode users mailing list
> > users at lists.genode.org <mailto:users at lists.genode.org>
> <mailto:users at lists.genode.org <mailto:users at lists.genode.org>>
> > https://lists.genode.org/listinfo/users
> <https://lists.genode.org/listinfo/users>
> >
> >
> > _______________________________________________
> > Genode users mailing list
> > users at lists.genode.org <mailto:users at lists.genode.org>
> > https://lists.genode.org/listinfo/users
> <https://lists.genode.org/listinfo/users>
> >
>
> _______________________________________________
> Genode users mailing list
> users at lists.genode.org <mailto:users at lists.genode.org>
> https://lists.genode.org/listinfo/users
> <https://lists.genode.org/listinfo/users>
>
>
> _______________________________________________
> Genode users mailing list
> users at 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
More information about the users
mailing list