java for arm_v7a
Sebastian Sumpf
Sebastian.Sumpf at genode-labs.com
Sat Apr 22 09:07:58 CEST 2023
Hi Divya,
On 4/22/23 07:35, Divya Sharma wrote:
> Thanks Sebastain.
> I found the "cryptoPolicyPath" [1] and the .policy file which grants the
> permission to use the algorithm.
> But I could not figure out how to add it in the VFS and boot module as you
> suggested .
> So the runtime scenario of java can have access to that policy file.
>
> Also I tried to add that path [3] in INC_DIR+= of jvm.inc and java.inc but
> could not provide the access policy.
> Also during the booting of java i got the error [2] indicating the page fault
> occurs due to thread='pthread.0.
>
> [1]GENODE_DIR]/contrib/jdk_generated-afb22ed3b35d8700b821722d2df871e6e2c53717/src/app/jdk/bin/conf/security/policy/unlimited/default_local.policy.
> [2]no RM attachment (READ pf_addr=0x0 pf_ip=0x2001ad90 from pager_object:
> pd='init -> java' thread='pthread.0')
> Warning: page fault, pager_object: pd='init -> java' thread='pthread.0'
> ip=0x2001ad90 fault-addr=0x0 type=no-page
> [3]$(JDK_GENERATED)/bin/conf/security/policy/unlimited \
Under the assumption that Java is looking for the path
"/conf/security/policy/unlimited" and because the policy file is very small you
could as a first step try to inline the contents of the file in the <vfs> node
of the run script:
! <vfs>
! ....
! <dir name="conf">
! <dir name="security">
! <dir name="policy">
! <dir name="unlimited">
! <inline name="default_local.policy">
! grant {
! // There is no restriction to any algorithms.
! permission javax.crypto.CryptoAllPermission;
! };
! </inline>
! </dir>
! </dir>
! </dir>
! </dir>
!
! ...
! </vfs>
Once this is working you can later add it as a ROM module by modifying [1] and
copy the file into the Java packet from which it can be accessed by the run
script via.
! <rom name="default_local.policy"/>
which would replace the <inline> node above.
[1] repos/world/recipes/raw/jdk/content.mk
Good luck,
Sebastian
> DIvya.
>
> On Thu, Apr 13, 2023 at 12:38 PM Sebastian Sumpf
> <Sebastian.Sumpf at genode-labs.com <mailto:Sebastian.Sumpf at genode-labs.com>> wrote:
>
> Hello Divya,
>
> On 4/13/23 05:55, Divya Sharma wrote:
> > While using the *javax.crypto.** library in a Java application,I got the
> > following error [1] ,[2]saying that "Can not initialize the cryptographic
> > mechanism".
> > While inspecting the default policies got to know that permissions are
> already
> > granted for all algorithms.
> > We also set those to unlimited in java code itself using the [3] and [4].
> > Still could not resolve the issue.Is there anything that we are missing
> out on?
> > kindly give some suggestions on it .
> >
> >
> > [1]java.lang.SecurityException: Can not initialize cryptographic mechanism
> > [2]java.lang.SecurityException: Can't read cryptographic policy
> directory: unlimited
> > [3] Security.setProperty("crypto.policy", "unlimited");
> > [4] System.setProperty("java.security.properties","unlimited");
> >
>
> In [1] I see the following code:
>
> ! if (!Files.isDirectory(cryptoPolicyPath)
> ! || !Files.isReadable(cryptoPolicyPath)) {
> ! throw new SecurityException(
> ! "Can't read cryptographic policy directory: " +
> ! cryptoPolicyProperty);
> ! }
>
> I would try to find out what "cryptoPolicyPath" is, what file is expected, and
> put the expected file at the right place in the run script (in the <vfs>
> node +
> boot modules).
>
> [1] jdk/src/java.base/share/classes/javax/crypto/JceSecurity.java.template
>
> Regards,
>
> Sebastian
>
> >
> > On Mon, Apr 10, 2023 at 6:49 PM Divya Sharma <divyasharma26546 at gmail.com
> <mailto:divyasharma26546 at gmail.com>
> > <mailto:divyasharma26546 at gmail.com <mailto:divyasharma26546 at gmail.com>>>
> wrote:
> >
> > Thanks, Sebastian issue is resolved.
> >
> > I want to run simple java code using java binary into bash shell. To
> achieve
> > it I figured out some modification to the separate run script
> > user_shell_dev.run from bash.run script .But those did not work load
> java
> > vm in shell.
> > While booting in Qemu i got the error [1] ,[3] also i am able to spawn a
> > shell into the terminal but while running java in it got [2].
> > It is not able to initialize the vm to run java.
> > Kindly suggest a way to achieve this .
> >
> >
> > [1][init -> java] Error occurred during initialization of VM
> > init -> java] java.lang.UnsatisfiedLinkError: no zip in
> java.library.path
> > [2]Error occurred during the initialization of vm.
> > Unable to load zip lib "zip.lib.so <http://zip.lib.so>
> <http://zip.lib.so <http://zip.lib.so>>"
> >
> > [3][init -> /bin/bash -> 1] Error: ROM-session creation failed
> > (ram_quota=6144, cap_quota=3, label="zip.lib.so <http://zip.lib.so>
> <http://zip.lib.so <http://zip.lib.so>>")
> >
> >
> > Thanks,
> > DIvya.
> >
> >
> > On Mon, Apr 10, 2023 at 3:52 PM Sebastian Sumpf
> > <Sebastian.Sumpf at genode-labs.com
> <mailto:Sebastian.Sumpf at genode-labs.com>
> <mailto:Sebastian.Sumpf at genode-labs.com
> <mailto:Sebastian.Sumpf at genode-labs.com>>>
> > wrote:
> >
> > Hello Divya,
> >
> > On 4/8/23 07:45, Divya Sharma wrote:
> > > While running the java.run script I got the following error
> > [1]showing out of
> > > memory allocation.
> > > Kindly suggest the way to remove it rather than build all the
> required
> > > dependencies and packages from scratch.
> > >
> > >
> > >
> >
> [1]/usr/local/genode/tool/21.05/bin/../lib/gcc/arm-none-eabi/10.3.0/../../../../arm-none-eabi/bin/as: out of memory allocating 9223372036854841471 bytes after a total of 696320 bytes
> > >
> >
> > This looks like as if it happens when linking the boot modules of
> the image
> > together. Maybe there are too many modules and something got too
> big? By
> > the
> > size of the allocation clearly something did overflow, but it's
> hard to
> > tell
> > without the actual scenario. What did you change in the
> "java.run" script?
> >
> > Regards,
> >
> > Sebastian
> >
> > >
> > >
> > >
> > > On Wed, Apr 5, 2023 at 11:02 PM <ttcoder at netcourrier.com
> <mailto:ttcoder at netcourrier.com>
> > <mailto:ttcoder at netcourrier.com <mailto:ttcoder at netcourrier.com>>
> > > <mailto:ttcoder at netcourrier.com
> <mailto:ttcoder at netcourrier.com> <mailto:ttcoder at netcourrier.com
> <mailto:ttcoder at netcourrier.com>>>> wrote:
> > >
> > >
> > >>
> > >> Hello Genodians,
> > >>
> > >> I am able to run java.run in virt_qemu-arm_v7a. The output is
> > directed to
> > >> log [ stdout="/dev/log" ], is there a way to redirect the
> sdtout to
> > >> terminal [ stdout="/dev/terminal" ] instead of log?
> > >>
> > >>
> > >
> > > My two cents : the way I do it here is to modify the "config"
> > scenario file
> > > this way:
> > > - keep stdout set to "/dev/log"
> > > - modify the routing to : <route> <service name="LOG"> <child
> > > name="terminal_log"> ...
> > > - add a terminal_log component
> > > - add a terminal component.
> > >
> > > It works for me... But if there is a way to specify
> > stdout="/dev/terminal"
> > > instead, that might be of interest to me as well.
> > >
> > > Cedric
> > >
> > >
> > > _______________________________________________
> > > 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>>
> > <mailto: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>
> > <https://lists.genode.org/listinfo/users
> <https://lists.genode.org/listinfo/users>>
> > > <https://lists.genode.org/listinfo/users
> <https://lists.genode.org/listinfo/users>
> > <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>
> <mailto:users at lists.genode.org <mailto:users at lists.genode.org>>
> > > https://lists.genode.org/listinfo/users
> <https://lists.genode.org/listinfo/users>
> > <https://lists.genode.org/listinfo/users
> <https://lists.genode.org/listinfo/users>>
> >
> > --
> > Sebastian Sumpf
> > Genode Labs
> >
> > http://www.genode-labs.com <http://www.genode-labs.com>
> <http://www.genode-labs.com <http://www.genode-labs.com>> ·
> > http://genode.org <http://genode.org> <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 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>
> > <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>
>
> --
> 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 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