- Notifications
You must be signed in to change notification settings - Fork6
A custom Build of OpenJDK 9/10/11/12/13/14/15 for EV3, a Lego Mindstorms Brick using ARM Soft Float
License
ev3dev-lang-java/openjdk-ev3
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
Custom build of OpenJDK providing Java support for ev3dev on the following devices:
- LEGO Mindstorms EV3, featuring a ARM926EJ-S CPU
Builds for older boards should work on newer boards, the performance might just be a bit lower.
| OpenJDK version | Platform | Type | VM | ev3dev-stretch | ev3dev-buster |
|---|---|---|---|---|---|
| OpenJDK 9 | EV3 | x86→ARM | C1 JIT | archived | N/A |
| OpenJDK 10 | EV3 | x86→ARM | C1 JIT | archived | N/A |
| OpenJDK 11 | EV3 | ARM→ARM | C1 JIT | ||
| OpenJDK 12 | EV3 | ARM→ARM | C1 JIT | ||
| OpenJDK 13 | EV3 | ARM→ARM | C1 JIT | ||
| OpenJDK 14 | EV3 | ARM→ARM | C1 JIT | ||
| OpenJDK 15 | EV3 | ARM→ARM | C1 JIT | ||
| OpenJDK tip (dev) | EV3 | ARM→ARM | C1 JIT |
SeeDocs
The build process produces these files:
| Name | File name | Summary | Where it runs | Who is it for | What is it useful for |
|---|---|---|---|---|---|
| JRI | jri-ev3.zip | Minimal runtime | Brick | Java developer | Running Java programs on ev3dev. |
| JDK | jdk-ev3.zip | Full JDK | Brick | ev3dev power user | Compiling Java programs directly on the brick. |
| JMODs | jmods-ev3.zip | Runtime modules | Developer PC | both | Creating custom JRIs. |
JRI stands for "Java Runtime Image". The term itself is not specific to this project,it is equivalent toModular Run-Time Image.To see which modules are included in our case, take a look at theJRI_MODULES variable inscripts/config.sh.
- InstallDocker for your operating system.
- Follow this script:
# define parametersTARGET_WORKSPACE="$(pwd)/build"# 10 GB of free space should be sufficient, probably lessTARGET_DEBIAN_VERSION="stretch"# stretch or busterTARGET_OPENJDK_VERSION="11"# 9, 10, 12, 13, 14 - retired, may not be working# 11, 15 - most likely working# loom or tip - experimental, may be broken# clone repositorygit clone https://github.com/ev3dev-lang-java/openjdk-ev3.gitcd openjdk-ev3# prepare working directorymkdir -p"$TARGET_WORKSPACE"chmod -R 777"$TARGET_WORKSPACE"# docker may not share UID with the current user# build base system containerdocker build --build-arg DEBIAN_RELEASE="$TARGET_DEBIAN_VERSION" \ --build-arg ARCH="armel" \ --tag"ev3dev-lang-java:jdk-cross-$TARGET_DEBIAN_VERSION" \ --file ./system/Dockerfile.cross \ ./system# on top of that, create a build scripts containerdocker build --build-arg commit="$(git rev-parse HEAD)" \ --build-arg extra="Manual build by$(whoami)" \ --build-arg DEBIAN_RELEASE="$TARGET_DEBIAN_VERSION" \ --build-arg BUILD_TYPE="cross" \ --tag"ev3dev-lang-java:jdk-cross-build" \ ./scripts# now run the builddocker run --rm \ --interactive \ --tty \ --volume"$TARGET_WORKSPACE:/build" \ --env JDKVER="$TARGET_OPENJDK_VERSION" \ --env JDKVM="client" \ --env JDKPLATFORM="ev3" \ --env JDKDEBUG="release" \ --env AUTOBUILD="1" \ ev3dev-lang-java:jdk-cross-build# finally, make workspace accessible for all users (i.e. current one too) and list files in its rootchmod -R 777"$TARGET_WORKSPACE"# and list the output directory (now it should contain three *-ev3.tar.gz files)ls"$TARGET_WORKSPACE"
About
A custom Build of OpenJDK 9/10/11/12/13/14/15 for EV3, a Lego Mindstorms Brick using ARM Soft Float
Topics
Resources
License
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Packages0
Uh oh!
There was an error while loading.Please reload this page.
Contributors2
Uh oh!
There was an error while loading.Please reload this page.