Armadilloフォーラム

Armadillo-IoT A6EにATDE経由でjavaをインストールしたい

t.iwata

2023年11月21日 12時15分

お世話になっております。

下記記事を参考にArmadillo-IoT A6EにJavaのインストールを試みております。
https://armadillo.atmark-techno.com/blog/10899/17512

そこで1点確認をさせてください。
ATDEでJavaコンテナを取得する際、
Armadillo-IoT A6Eに合わせて、arm32v7版のコンテナを取得しようとしていますが、イメージがないとエラーになってしまいます。
podman pull docker.io/arm32v7/eclipse-temurin:17-jre ⇒ NG
podman pull docker.io/eclipse-temurin:17-jre ⇒ OK

ATDEがamd64なので取得できていないのだと思っています。
ATDE経由でArmadillo-IoT A6E用のJavaコンテナを取得してインストールする方法はありますでしょうか?

下記の記事(G4ですが)だとarm64v8のコンテナが取得できているようなので、Javaコンテナも取得できると考えていました。
https://armadillo.atmark-techno.com/index.php/blog/15349/11506

取得したいJavaコンテナの画像を添付します。
URL:https://hub.docker.com/_/eclipse-temurin/tags?page=1&name=17-jre

ご確認をお願い致します。

ファイル ファイルの説明
スクリーンショット 2023-11-21 121443.png
コメント

at_shinya.koga

2023年11月21日 14時34分

アットマークテクノの古賀です。

t.iwataさん:
>下記記事を参考にArmadillo-IoT A6EにJavaのインストールを試みております。
>https://armadillo.atmark-techno.com/blog/10899/17512
>
>そこで1点確認をさせてください。
>ATDEでJavaコンテナを取得する際、
>Armadillo-IoT A6Eに合わせて、arm32v7版のコンテナを取得しようとしていますが、イメージがないとエラーになってしまいます。
>podman pull docker.io/arm32v7/eclipse-temurin:17-jre ⇒ NG
>podman pull docker.io/eclipse-temurin:17-jre ⇒ OK
>
>ATDEがamd64なので取得できていないのだと思っています。
>ATDE経由でArmadillo-IoT A6E用のJavaコンテナを取得してインストールする方法はありますでしょうか?

arm32v7 アーキテクチャの eclipse-temurin コンテナイメージですが、以下にあるものを、指定するタグを変えることで ATDE9 にインストールできました:
 https://hub.docker.com/r/arm32v7/eclipse-temurin
このページの "Supported tags and respective Dockerfile links" にある "Shared Tags" の一覧を見ると、amd64 の場合と同様、"17-jre" というタグが存在するように書かれていますが、このタグを指定しても、同じようにエラーします。
 https://hub.docker.com/r/amd64/eclipse-temurin/
しかし、"17-jre-jammy" というタグを指定した場合は、エラーなくイメージを pull できました:

atmark@atde9:~$ podman pull docker.io/arm32v7/eclipse-temurin:17-jre-jammy

>取得したいJavaコンテナの画像を添付します。
>URL:https://hub.docker.com/_/eclipse-temurin/tags?page=1&name=17-jre

こちらのページでも、17-jre タグと 17-jre-jammy タグのどちらにも、linux/arm/v7 のイメージがあるように表示されますね。
A6E 上で podman pull を実行してみたところ、
 podman pull docker.io/eclipse-temurin:17-jre
でインストールでき、podman inspect で見ると、RepoTags の値が
 "docker.io/library/eclipse-temurin:17-jre"
になっていますので、こちらのリポジトリからインストールされているようです。
一方、ATDE 9 で docker.io/arm32v7/eclipse-temurin からインストールした方のイメージは、RepoTags の値が
 "docker.io/arm32v7/eclipse-temurin:17-re-jammy"
になっています('docker.io/library' ではなく 'docer.io/arm32v7' になっています)。

>下記の記事(G4ですが)だとarm64v8のコンテナが取得できているようなので、Javaコンテナも取得できると考えていました。
>https://armadillo.atmark-techno.com/index.php/blog/15349/11506

ということで、ATDE で docker.io/arm32v7/eclipse-temurin の arm32v7/armhf 用イメージをインストールする場合は、podman pull に指定するイメージのタグを、'17-jre' から '17-jre-jammy' に変えてみてください。

t.iwata

2023年11月21日 15時53分

ご回答ありがとうございます。
無事にJavaコンテナのイメージを取得することが出来ました。

https://armadillo.atmark-techno.com/index.php/blog/15349/11506
上記サイトに沿って、ATDEでダウンロードしてコミット、tarファイル作成をして、Armadilloに配置しました。
この後runを実行することになりますが、サイトには
「podman runコマンドの引数には、実際のデバイスやディレクトリ、ポートフォワーディング等を追加します。」
という記載があります。

これはATDEに接続するための設定が必要という事でしょうか?
設定例を教えて頂けると幸いです。

at_shinya.koga

2023年11月22日 9時58分

アットマークテクノの古賀です。

t.iwataさん:
>https://armadillo.atmark-techno.com/index.php/blog/15349/11506
>上記サイトに沿って、ATDEでダウンロードしてコミット、tarファイル作成をして、Armadilloに配置しました。
>この後runを実行することになりますが、サイトには
>「podman runコマンドの引数には、実際のデバイスやディレクトリ、ポートフォワーディング等を追加します。」
>という記載があります。
>
>これはATDEに接続するための設定が必要という事でしょうか?

いえ。ホスト OS から隔離された実行環境であるコンテナの中から、ホスト OS 上のデータにアクセスしたり、コンテナの外からコンテナ内で動作するプログラムにネットとワーク接続したりするためには設定が必要、ということです。

>設定例を教えて頂けると幸いです。

podman run を直接実行するのではなく、Base OS の podman_start コマンド経由で実行するやり方になりますが、マニュアルの「コンテナ起動設定ファイルを作成する」と「コンテナの基本的な操作」をご覧になってみてください:
 https://manual.atmark-techno.com/armadillo-iot-a6e/armadillo-iotg-a6e_p…
 https://manual.atmark-techno.com/armadillo-iot-a6e/armadillo-iotg-a6e_p…

Java コンテナで動かすアプリケーションが、どのような動作を行うかにより、コンテナに使用許可を与える必要のあるデバイスやディレクトリが決まってくると思います。