Skip to content

Commit 0b8c875

Browse files
olyagplban-mi
authored andcommitted
[GR-64786] Revisit Oracle Linux support and installation guides to add OL 10.
PullRequest: graal/20738
2 parents 97f9263 + f37cd72 commit 0b8c875

File tree

5 files changed

+101
-69
lines changed

5 files changed

+101
-69
lines changed

docs/getting-started/container-images/graalvm-ce-container-images.md

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,10 @@ To support container-based development, GraalVM Community Edition container imag
1414

1515
There are different GraalVM Community Edition container images provided depending on the architecture and the Java version, and have `-community` as part of their names.
1616
These are: **native-image-community**, **jdk-community**, **truffleruby-community**, **nodejs-community**, and **graalpy-community**.
17-
The container images are multi-arch, for x64 and AArch64 processor architectures, with a choice of Oracle Linux versions 8 or 9.
17+
The container images are multi-arch, for x64 and AArch64 processor architectures, with a choice of Oracle Linux versions 8, 9, and 10.
1818

1919
GraalVM is installed in _/usr/lib64/graalvm/graalvm-community-java&lt;$FeatureVersion&gt;/_ where `<$FeatureVersion>` is `17`, `21`, `24`, and so on.
20-
For instance, GraalVM for JDK 24 is installed in _/usr/lib64/graalvm/graalvm-community-java24/_.
20+
For instance, GraalVM for JDK 24 is installed in _/usr/lib64/graalvm/graalvm-community-java24/_.
2121
All binaries, including `java`, `javac`, `native-image`, and other binaries are available as global commands via the `alternatives` command.
2222

2323
> Note: For GraalVM non-RPM based images (**graalvm-community**, **python-community**, **truffleruby-community**), the installation location is under _/opt/_ (_/opt/graalvm-community-java&lt;$FeatureVersion&gt;/_, _/opt/truffleruby-&lt;$GRAALVM_VERSION&gt;/_, and _/opt/graalpy-&lt;$GRAALVM_VERSION&gt;/_ respectively).
@@ -28,13 +28,13 @@ See a full list of GraalVM Community Edition container images [here](https://git
2828

2929
## Tags
3030

31-
Each repository provides multiple tags that let you choose the level of stability you need including the Java version, build number, and the Oracle Linux version.
31+
Each repository provides multiple tags that let you choose the level of stability you need including the Java version, build number, and the Oracle Linux version.
3232
Image tags use the following naming convention:
3333
```bash
3434
$version[-muslib(for native image only)][-$platform][-$buildnumber]
3535
```
3636

37-
The following tags are listed from the most-specific tag (at the top) to the least-specific tag (at the bottom).
37+
The following tags are listed from the most-specific tag (at the top) to the least-specific tag (at the bottom).
3838
The most-specific tag is unique and always points to the same image, while the less-specific tags point to newer image variants over time.
3939
For example:
4040
```
@@ -51,23 +51,23 @@ For example:
5151
```bash
5252
docker pull ghcr.io/graalvm/jdk-community:24
5353
```
54-
54+
5555
Alternatively, to use the container image as the base image in your Dockerfile, use:
5656
```bash
5757
FROM ghcr.io/graalvm/jdk-community:24
5858
```
5959
You have pulled a size compact GraalVM Community Edition container image with the GraalVM JDK and the Graal compiler preinstalled.
6060

61-
2. To pull the container image with the `native-image` utility for a specific JDK feature version, such as _24_, run:
61+
2. To pull the container image with the `native-image` utility for a specific JDK feature version, such as _24_, run:
6262
```bash
6363
docker pull ghcr.io/graalvm/native-image-community:24
6464
```
65-
65+
6666
Alternatively, to pull the container image with the `native-image` utility with the `musl libc` toolchain to create fully statically linked executables, use:
6767
```bash
6868
docker pull ghcr.io/graalvm/native-image-community:24-muslib
6969
```
70-
70+
7171
Alternatively, to use the container image as the base image in your Dockerfile, use:
7272
```bash
7373
FROM ghcr.io/graalvm/native-image-community:24-muslib
@@ -88,7 +88,7 @@ For example:
8888
```bash
8989
java -version
9090
```
91-
91+
9292
To check the `native-image` version, run:
9393
```bash
9494
native-image --version
@@ -99,10 +99,10 @@ For example:
9999
docker pull --platform linux/aarch64 ghcr.io/graalvm/native-image-community:24
100100
```
101101

102-
## Oracle GraalVM Container Images
102+
## Oracle GraalVM Container Images
103103

104-
Oracle GraalVM container images are published in the [Oracle Container Registry](https://container-registry.oracle.com/ords/ocr/ba/graalvm) under the [GraalVM Free Terms and Conditions (GFTC) license](https://www.oracle.com/downloads/licenses/graal-free-license.html).
105-
Learn more at the [Oracle Help Center](https://docs.oracle.com/en/graalvm/jdk/24/docs/getting-started/container-images/).
104+
Oracle GraalVM container images are published in the [Oracle Container Registry (OCR)](https://container-registry.oracle.com/ords/ocr/ba/graalvm) and include [GFTC-licensed](https://www.oracle.com/downloads/licenses/graal-free-license.html) Oracle GraalVM.
105+
Learn more in the [Oracle GraalVM Container Images documentation](https://docs.oracle.com/en/graalvm/jdk/24/docs/getting-started/container-images/).
106106

107107
### Related Documentation
108108

docs/getting-started/container-images/oracle-graalvm-container-images.md

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -7,18 +7,18 @@ permalink: /getting-started/container-images/
77

88
## Oracle GraalVM Container Images
99

10-
Oracle GraalVM container images are available in [Oracle Container Registry (OCR)](https://container-registry.oracle.com/ords/ocr/ba/graalvm) under the [GraalVM Free Terms and Conditions (GFTC) license](https://www.oracle.com/downloads/licenses/graal-free-license.html).
10+
Oracle GraalVM container images are published in the [Oracle Container Registry (OCR)](https://container-registry.oracle.com/ords/ocr/ba/graalvm) and include [GFTC-licensed](https://www.oracle.com/downloads/licenses/graal-free-license.html) Oracle GraalVM.
1111

1212
## Repositories
1313

14-
Oracle GraalVM container images are published in two OCR repositories: **jdk** and **native-image**.
14+
Oracle GraalVM container images are published in two OCR repositories: **jdk** and **native-image**.
1515

1616
| Repository | Description |
1717
|------------------|-------------|
1818
| **jdk** | Provides container images with Oracle GraalVM JDK (without the `native-image` utility) which can be used to both compile and deploy a Java application. Use the container image tags to select the appropriate Java version and Oracle Linux version. |
1919
| **native-image** | Provides Oracle GraalVM container images with the `native-image` utility along with all tools required to compile an application into a native Linux executable. These images are commonly used in multistage builds to compile an application into an executable that is then packaged in a lightweight container image. Use the container image tags to select the Java version and Oracle Linux version as well as variants that include the `musl` toolchain for the creation of a fully statically linked executable. |
2020

21-
Both repositories provide container images for x64 and AArch64 processor architectures, with a choice of Oracle Linux versions 8 or 9.
21+
Both repositories provide container images for x64 and AArch64 processor architectures, with a choice of Oracle Linux versions 8, 9, and 10.
2222

2323
Oracle GraalVM is installed in _/usr/lib64/graalvm/graalvm-java&lt;$FeatureVersion&gt;/_ where `<$FeatureVersion>` is `17`, `21`, `24`, and so on.
2424

@@ -27,13 +27,13 @@ All binaries, including `java`, `javac`, `native-image`, and other binaries are
2727

2828
## Tags
2929

30-
Each repository provides multiple tags that let you choose the level of stability you need including the Java version, build number, and the Oracle Linux version.
30+
Each repository provides multiple tags that let you choose the level of stability you need including the Java version, build number, and the Oracle Linux version.
3131
Oracle GraalVM container image tags use the following naming convention:
3232
```bash
3333
$version[-muslib(for native image only)][-$platform][-$buildnumber]
3434
```
3535

36-
The following tags are listed from the most-specific tag (at the top) to the least-specific tag (at the bottom).
36+
The following tags are listed from the most-specific tag (at the top) to the least-specific tag (at the bottom).
3737
The most-specific tag is unique and always points to the same container image, while the less-specific tags point to newer container image variants over time.
3838
```
3939
24.0.1-ol9-20250318
@@ -49,27 +49,27 @@ The most-specific tag is unique and always points to the same container image, w
4949
```bash
5050
docker pull container-registry.oracle.com/graalvm/jdk:24
5151
```
52-
52+
5353
Alternatively, to use the container image as the base image in your Dockerfile, use:
5454
```bash
5555
FROM container-registry.oracle.com/graalvm/jdk:24
5656
```
5757

58-
2. To pull the container image for Oracle GraalVM `native-image` utility for a specific JDK feature version, such as _24_, run:
58+
2. To pull the container image for Oracle GraalVM `native-image` utility for a specific JDK feature version, such as _24_, run:
5959
```bash
6060
docker pull container-registry.oracle.com/graalvm/native-image:24
6161
```
62-
62+
6363
Alternatively, to pull the container image for Oracle GraalVM `native-image` utility with the `musl libc` toolchain to create fully statically linked executables, run:
6464
```bash
6565
docker pull container-registry.oracle.com/graalvm/native-image:24-muslib
6666
```
67-
67+
6868
Alternatively, to use the container image as the base image in your Dockerfile, use:
6969
```bash
7070
FROM container-registry.oracle.com/graalvm/native-image:24-muslib
7171
```
72-
72+
7373
3. To verify, start the container and enter a Bash session:
7474
```bash
7575
docker run -it --rm --entrypoint /bin/bash container-registry.oracle.com/graalvm/native-image:24
@@ -86,13 +86,13 @@ The most-specific tag is unique and always points to the same container image, w
8686
java -version
8787
```
8888
The output shows the installed Oracle GraalVM Java runtime environment and version information.
89-
89+
9090
To check the `native-image` version, run the following command from the Bash prompt:
9191
```bash
9292
native-image --version
9393
```
9494
The output shows the installed Oracle GraalVM `native-image` utility version information.
95-
95+
9696
4. A `docker pull` command that omits a processor architecture pulls a container image for the processor architecture that matches your Docker client. To pull a container image for a different platform architecture, specify the desired platform architecture with the `--platform` option and either `linux/amd64` or `linux/aarch64` as follows:
9797
```bash
9898
docker pull --platform linux/aarch64 container-registry.oracle.com/graalvm/native-image:24

docs/getting-started/oci/installation-compute-instance-with-OL.md

Lines changed: 60 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ permalink: /getting-started/oci/compute-instance/
55

66
# Oracle GraalVM on an OCI Compute Instance with Oracle Linux
77

8-
This guide describes how to install Oracle GraalVM on an Oracle Cloud Infrastructure (OCI) Compute instance with Oracle Linux 7, 8, and 9.
8+
This guide describes how to install Oracle GraalVM on an Oracle Cloud Infrastructure (OCI) Compute instance with Oracle Linux 7, 8, 9, and 10.
99
For complete beginners, [start with this tutorial to create and launch your first Linux instance](https://docs.oracle.com/iaas/Content/GSG/Reference/overviewworkflow.htm).
1010

1111
> Note: Oracle GraalVM license and support are included in the Oracle Cloud Infrastructure subscription at no additional cost.
@@ -30,51 +30,28 @@ ssh -i .ssh/id_rsa opc@INSTANCE_PUBLIC_IP
3030
Where `.ssh/id_rsa` is the full path and name of the file containing your private SSH key; `opc` is the default name for the Oracle Linux image; and `INSTANCE_PUBLIC_IP` is the instance IP address provisioned from the console.
3131
For more details, refer to the [Connecting to Your Linux Instance Using SSH](https://docs.cloud.oracle.com/iaas/Content/GSG/Tasks/testingconnection.htm) tutorial.
3232

33-
The installation steps may differ per Oracle Linux version or package manager.
33+
The installation steps may differ per Oracle Linux version or package manager.
3434

35-
### Oracle Linux 7
36-
37-
1. Install a newer devtoolset with GCC version 10 (required by Oracle GraalVM Native Image):
38-
```bash
39-
sudo yum -y install oracle-softwarecollection-release-el7
40-
```
41-
```bash
42-
sudo yum install devtoolset-10
43-
```
44-
2. Enable the newer devtoolset by default:
45-
```bash
46-
echo 'source scl_source enable devtoolset-10' >> ~/.bashrc
47-
```
48-
3. Enter a new bash session with the newer devtoolset enabled:
49-
```
50-
bash
51-
```
52-
4. Install the latest Oracle GraalVM:
53-
```
54-
sudo yum install graalvm-24-native-image
55-
```
56-
Confirm that the installed package size is correct by entering `yes` at the prompt.
35+
### Oracle Linux 10
5736

58-
### Oracle Linux 8
59-
60-
On Oracle Linux 8 with the `yum` package manager, run these commands one by one:
37+
On Oracle Linux 10 with the `yum` package manager, run these commands one by one:
6138
```bash
62-
sudo yum update -y oraclelinux-release-el8
39+
sudo yum update -y oraclelinux-release-el10
6340
```
6441
```bash
65-
sudo yum config-manager --set-enabled ol8_codeready_builder
42+
sudo yum config-manager --set-enabled el10_codeready_builder
6643
```
6744
```bash
6845
sudo yum install graalvm-24-native-image
6946
```
7047
Confirm that the installed package size is correct by entering `yes` at the prompt.
7148

72-
On Oracle Linux 8 with `dnf` or `microdnf` default package managers, run these commands one by one:
49+
On Oracle Linux 10 with `dnf` or `microdnf` default package managers, run these commands one by one:
7350
```bash
74-
sudo dnf update -y oraclelinux-release-el8
51+
sudo dnf update -y oraclelinux-release-el10
7552
```
7653
```bash
77-
sudo dnf config-manager --set-enabled ol8_codeready_builder
54+
sudo dnf config-manager --set-enabled el10_codeready_builder
7855
```
7956
```bash
8057
sudo dnf install graalvm-24-native-image
@@ -105,9 +82,58 @@ sudo dnf config-manager --set-enabled ol9_codeready_builder
10582
sudo dnf install graalvm-24-native-image
10683
```
10784

108-
### Configure Environment Variables
85+
### Oracle Linux 8
86+
87+
On Oracle Linux 8 with the `yum` package manager, run these commands one by one:
88+
```bash
89+
sudo yum update -y oraclelinux-release-el8
90+
```
91+
```bash
92+
sudo yum config-manager --set-enabled ol8_codeready_builder
93+
```
94+
```bash
95+
sudo yum install graalvm-24-native-image
96+
```
97+
Confirm that the installed package size is correct by entering `yes` at the prompt.
98+
99+
On Oracle Linux 8 with `dnf` or `microdnf` default package managers, run these commands one by one:
100+
```bash
101+
sudo dnf update -y oraclelinux-release-el8
102+
```
103+
```bash
104+
sudo dnf config-manager --set-enabled ol8_codeready_builder
105+
```
106+
```bash
107+
sudo dnf install graalvm-24-native-image
108+
```
109+
110+
### Oracle Linux 7
111+
112+
1. Install a newer devtoolset with GCC version 10 (required by Oracle GraalVM Native Image):
113+
```bash
114+
sudo yum -y install oracle-softwarecollection-release-el7
115+
```
116+
```bash
117+
sudo yum install devtoolset-10
118+
```
119+
2. Enable the newer devtoolset by default:
120+
```bash
121+
echo 'source scl_source enable devtoolset-10' >> ~/.bashrc
122+
```
123+
3. Enter a new bash session with the newer devtoolset enabled:
124+
```
125+
bash
126+
```
127+
4. Install the latest Oracle GraalVM:
128+
```
129+
sudo yum install graalvm-24-native-image
130+
```
131+
Confirm that the installed package size is correct by entering `yes` at the prompt.
132+
133+
134+
## Configure Environment Variables
109135

110-
Configure environment variables to point to the Oracle GraalVM installation for this SSH session.
136+
Configure environment variables to point to the Oracle GraalVM installation for this SSH session.
111137
After installation, the package files are placed in the _/usr/lib64/graalvm_ directory, and binaries in _bin_ accordingly.
112138

113139
1. Set the values of the `PATH` and `JAVA_HOME` environment variables in the bash configuration to point to the location of the Oracle GraalVM installation with the following commands:

docs/getting-started/oci/installation-devops-build-pipeline.md

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ This guide describes how to use Oracle GraalVM in the Oracle Cloud Infrastructur
1010

1111
> Note: Oracle GraalVM license and support are included in the Oracle Cloud Infrastructure subscription at no additional cost.
1212
13-
OCI DevOps service provides build runners with Oracle Linux 7 as the base container image along with a number of [runtimes and tools](https://docs.oracle.com/en-us/iaas/Content/devops/using/runtime_details.htm).
13+
OCI DevOps service provides build runners with Oracle Linux 8 as the base container image along with a number of [runtimes and tools](https://docs.oracle.com/en-us/iaas/Content/devops/using/runtime_details.htm).
1414

1515
Oracle GraalVM RPMs are available in the Oracle YUM repository.
1616
Each RPM is self-contained and will automatically pull in all its required dependencies.
@@ -26,12 +26,13 @@ To work with a Build Pipeline, add statements to a [build specification file](ht
2626
The DevOps CI/CD platform reads the file and runs the commands one by one.
2727
You do not need to run a YUM package manager command manually.
2828

29-
The RPM package for Oracle GraalVM for JDK 24 is available with the package name `graalvm-24-native-image`.
29+
RPMs for Oracle GraalVM are available with the package names `graalvm-17-native-image`, `graalvm-21-native-image`, and `graalvm-24-native-image`.
3030
Each package includes the JDK and the Native Image tool.
3131

3232
To install and use Oracle GraalVM in your DevOps Build Pipeline, update your build specification file as shown in the following example.
3333

3434
1. Add a command to install Oracle GraalVM for JDK 24 with Native Image and Java Development Kit (JDK):
35+
3536
```yml
3637
steps:
3738
- type: Command
@@ -41,13 +42,15 @@ To install and use Oracle GraalVM in your DevOps Build Pipeline, update your bui
4142
```
4243

4344
2. Add a command to set the value of the `JAVA_HOME` environment variable for Oracle GraalVM for JDK 24:
45+
4446
```yml
4547
env:
4648
variables:
4749
"JAVA_HOME" : "/usr/lib64/graalvm/graalvm-java24"
4850
```
4951

5052
3. Add the command to set the value of the `PATH` environment variable:
53+
5154
```yml
5255
env:
5356
variables:
@@ -71,7 +74,7 @@ yum list graalvm-24*
7174
...
7275
```
7376

74-
To try this feature out, use the sample project: [Using Oracle GraalVM in OCI DevOps Build Pipelines](https://github.com/oracle-devrel/oci-devops-examples/tree/main/oci-build-examples/oci_devops_build_with_graalenterprise).
77+
To try this feature out, use the sample project: [Using Oracle GraalVM in OCI DevOps Build Pipelines](https://github.com/oracle-devrel/oci-devops-examples/tree/main/oci-build-examples/oci_devops_build_with_graalenterprise).
7578
It describes how to set up Oracle GraalVM in OCI DevOps service, create a Build Pipeline, add build stages, and so on.
7679

7780
### Related Documentation

0 commit comments

Comments
 (0)