Armadilloフォーラム

9.4.3. Alpine Linux ルートファイルシステムをビルドするの質問

mitsuyuki_noto

2022年4月11日 11時11分

能戸です。 お世話になります。
「9.4.3. Alpine Linux ルートファイルシステムをビルドする」にてネットワークからのダウンロードが必要とのことですが、環境をスタンドアローンで構築したい為、
(別PCで当該ダウンロードして、USBメモリ等でファイルをコピーする)手順を教えて頂けないでしょうか?

コメント

at_dominique.m…

2022年4月11日 11時30分

能戸さん、

お世話になっています、
アットマークテクノのマルティネです。

> 「9.4.3. Alpine Linux ルートファイルシステムをビルドする」にてネットワークからのダウンロードが必要とのことですが、環境をスタンドアローンで構築したい為、
> (別PCで当該ダウンロードして、USBメモリ等でファイルをコピーする)手順を教えて頂けないでしょうか?

そうですね、今の手順ではalpineのリポジトリからパッケージをダウンロードしますので、ネットワーク接続のある前提で書かれています。

すべての必要なパッケージをダウンロードして、ローカルにリポジトリを作ればofflineで作成できるかもしれませんが、かなりの手間がかかります…

アットマークで用意したあるルートファイルシステムをダウンロードして、そちらに変更を加えたらどうでしょうか?
https://armadillo.atmark-techno.com/resources/software/armadillo-iot-g4… の「Armadillo Base OSアーカイブ」です。

最終的な目的を教えていただけたら相談になれるかもしれません。

よろしくお願いします。

能戸です。 お世話になっております。

最終目的・・・という点では、例えばデバイスツリーの更新や、GPIO制御の信号定義設定などを行って、Armadilli-G4基板へアップデートさせるのが目的ですが、
既に貴社提供のパッチだったり、既にカスタマイズした.dtsファイルが有ったりしていてそれらの資産を活用して、弊社で開発している拡張基板(-G4と繋ぎます)の製品検査を行う際にスムーズにアップデートさせる があります。

スタンドアローンである理由は、実験室で使用している評価用PCのためでネットワークへの接続が出来ない(制限)為にあります。
自分が使用している事務用PCでは、環境が構築できないための処置です。(セキュリティの制限)

> アットマークで用意したあるルートファイルシステムをダウンロードして、そちらに変更を加えたらどうでしょうか?
> https://armadillo.atmark-techno.com/resources/software/armadillo-iot-g4… の「Armadillo Base OSアーカイブ」です。
→こちらを使用する場合は、どの様に環境構築すれば良いですか?(マニュアルの?章)

> 能戸さん、
>
> お世話になっています、
> アットマークテクノのマルティネです。
>
> > 「9.4.3. Alpine Linux ルートファイルシステムをビルドする」にてネットワークからのダウンロードが必要とのことですが、環境をスタンドアローンで構築したい為、
> > (別PCで当該ダウンロードして、USBメモリ等でファイルをコピーする)手順を教えて頂けないでしょうか?
>
> そうですね、今の手順ではalpineのリポジトリからパッケージをダウンロードしますので、ネットワーク接続のある前提で書かれています。
>
> すべての必要なパッケージをダウンロードして、ローカルにリポジトリを作ればofflineで作成できるかもしれませんが、かなりの手間がかかります…
>
> アットマークで用意したあるルートファイルシステムをダウンロードして、そちらに変更を加えたらどうでしょうか?
> https://armadillo.atmark-techno.com/resources/software/armadillo-iot-g4… の「Armadillo Base OSアーカイブ」です。
>
>
> 最終的な目的を教えていただけたら相談になれるかもしれません。
>
> よろしくお願いします。

at_dominique.m…

2022年4月11日 16時38分

能戸さん

> スタンドアローンである理由は、実験室で使用している評価用PCのためでネットワークへの接続が出来ない(制限)為にあります。
> 自分が使用している事務用PCでは、環境が構築できないための処置です。(セキュリティの制限)

こういう制限は以前あったのでよく分かっています、今回そういう環境に対応できなくて申し訳ございません。
build-rootfsでは、alpineのアップストリームのアップデートをもらうような仕組みなので、ネットワークにつないでないと走らせるメリットが少ない(また走らせても同じ結果になるだけ)と思っていました。
こういう環境であれば、やはりtarアーカイブをあらかじめダウンロードするか、ネットワークに接続されてるパソコンから一度ビルドして、これをソースとして扱って欲しいです。
セキュリティの面では、アットマークテクノで作成したアーカイブを署名していますので、リポジトリの署名されたパッケージと同じ扱いで認めてくれると思います。自分でビルドしても、自分の鍵で署名できます。
具体的に、以下の手順で確認できます:

$ curl -O https://armadillo.atmark-techno.com/files/downloads/armadillo-iot-g4/baseos/baseos-x2-3.15.4-at.5.tar.zst
$ curl -O https://armadillo.atmark-techno.com/files/downloads/armadillo-iot-g4/baseos/baseos-x2-3.15.4-at.5.tar.zst.sig
$ curl -O https://armadillo.atmark-techno.com/files/downloads/armadillo-iot-g4/baseos/swupdate-atmark-1.pem
$ openssl cms -verify -inform DER -in "baseos-x2-3.15.4-at.5.tar.zst.sig" \
                -content "baseos-x2-3.15.4-at.5.tar.zst" \
                -nosmimecap -binary -CAfile "swupdate-atmark-1.pem" > /dev/null
Verification successful
baseos-x2-3.15.4-at.5.tar.zst: OK

> 最終目的・・・という点では、例えばデバイスツリーの更新や、GPIO制御の信号定義設定などを行って、Armadilli-G4基板へアップデートさせるのが目的ですが、
> 既に貴社提供のパッチだったり、既にカスタマイズした.dtsファイルが有ったりしていてそれらの資産を活用して、弊社で開発している拡張基板(-G4と繋ぎます)の製品検査を行う際にスムーズにアップデートさせる があります。

こう言う要求であれば、やはりbaseosに変更をする必要がないと思います。
OSのアップデートと、カネールやdtbのアップデートを別々に行えば、baseosをこのまま使っていただいて自分の手を加えたものだけをアップデートすればいいです。

アットマークのbaseosのswuを使えない場合には、tarの中身を確認してから自分でswupdateイメージに入れれます。
(その場合に、/usr/share/mkswu/examples/ ディレクトリの OS_update.desc を参考にして、自分の変更を後でswdesc_files等で追加可能です)

今ちょうど Armadillo G4 開発ガイドにDTSの入れ替え方の説明を書いたところですが、
まだ公開してないので申し訳ないがちょっと待っていただけたらそれでわかりやすいと思います…

不明な点があったらまた質問してください。

よろしくお願いします。