urasue
2023年2月6日 16時45分
いつもお世話になっております。
浦末と申します。
Armadillo X2にUSBメモリを使ってflutterのgui_app_rel_image.swuをインストールしているのですが、
下記のエラーが出てインストール出来なくなってしまいました。
インストール自体は一度、成功していたのですが、podman rmi でイメージを消し、再度インストールしようとしたところ、エラーが起きるようになりました。
何か対処方法はありますでしょうか。
/var/log/message
Feb 6 16:31:58 armadillo kern.info kernel: [ 1414.356642] sda: sda1 Feb 6 16:31:58 armadillo kern.notice kernel: [ 1414.361305] sd 0:0:0:0: [sda] Attached SCSI removable disk Feb 6 16:31:59 armadillo user.notice swupdate-auto-update: Mounting sda1 on /mnt in private namespace Feb 6 16:31:59 armadillo kern.info kernel: [ 1414.683643] EXT4-fs (sda1): mounted filesystem with ordered data mode. Opts: (null) Feb 6 16:31:59 armadillo user.notice swupdate-auto-update: Trying update /mnt/gui_app_rel_image.swu Feb 6 16:31:59 armadillo user.info swupdate: START Software Update started ! Feb 6 16:31:59 armadillo user.err swupdate: FAILURE ERROR : ---------------------------------------------- Feb 6 16:31:59 armadillo user.err swupdate: FAILURE ERROR : /!\ Nothing to do -- failing on purpose to save bandwidth Feb 6 16:31:59 armadillo user.err swupdate: FAILURE ERROR : ---------------------------------------------- Feb 6 16:31:59 armadillo user.err swupdate: FAILURE ERROR : Command failed: sh -c 'sh $1 ' -- /var/tmp/swupdate-usb.Fr9igH//scripts_pre.sh.zst Feb 6 16:31:59 armadillo user.err swupdate: FAILURE ERROR : Error streaming scripts_pre.sh.zst Feb 6 16:31:59 armadillo user.err swupdate: FATAL_FAILURE Image invalid or corrupted. Not installing ... Feb 6 16:31:59 armadillo user.info swupdate: IDLE Waiting for requests...
USBメモリの中身
armadillo:~# mount /dev/sda1 /mnt armadillo:~# ls /mnt gui_app_rel_image.swu lost+found armadillo:~#
コメント
at_shiita.ishigaki
石垣です。
>
> Building an eLinux application with wayland backend in debug mode for arm64 target... 32.7s > Flutter 3.3.10 • channel unknown • unknown source > Framework • revision 135454af32 (8 weeks ago) • 2022-12-15 > 07:36:55 -0800 > Engine • revision 3316dd8728 > Tools • Dart 2.18.6 • DevTools 2.15.0 > atmark@192.168.201.79's password: > atmark@192.168.201.79's password: > atmark@192.168.201.79's password: > No supported devices found with name or id matching > 'Armadillo'. >
gui_app_dev_image.swu は Armadillo の root ユーザーに ssh することを想定しております。
ログでは atmark ユーザーにログインしようとしていますので、
gui-app-project-[version]/ssh_config の User を atmark に変更されていないでしょうか。
変更されている場合は root ユーザーに変更して ssh が繋がるか確認していただけるでしょうか。
> インストール自体は一度、成功していたのですが、podman rmi でイメージを消し、再度インストールしようとしたところ、エラーが起きるようになりました。
swu ファイルはインストールが成功しますと、/etc/sw-versions にその swu のバージョンが記録されます。
次に同じ swu ファイルをインストールするには、/etc/sw-versions のバージョンよりも大きい必要が有ります。
現在 swu ファイルのバージョンは 1 に固定されるようになっていましたので、
今後のアップデートで swu ファイル作成時に自動的にバージョンが上がるように変更したいと思います。
お手数をおかけして申し訳ございません。
以上ご確認のほど、よろしくお願いいたします。
urasue
石垣様
ご回答ありがとうございます。
ssh_configをrootユーザに変更しました。
また、config/id_rsa.pubをArmadillo側の/root/.ssh/へコピーしていませんでしたのでコピーを行いました。
パスワードを聞かれる事は無くなりましたが、「終了コード 1 で終了しました。 」という結果となります。
ご確認の程、よろしくお願いいたします。
●rootユーザに変更しました。
Host Armadillo Hostname 192.168.201.79 User root Port 2222 IdentityFile ../config/ssh/id_rsa
●sshでrootログイン出来る事を確認しております。
Using username "root". root@192.168.201.79's password: Welcome to Alpine! The Alpine Wiki contains a large amount of how-to guides and general information about administrating Alpine systems. See <http://wiki.alpinelinux.org/>. Please note this system is READ-ONLY with a read-write overlayfs, after updating password make sure to save new password with # persist_file /etc/shadow You can change this message by editing /etc/motd. armadillo:~#
●VSCodeからタスク 「App run on Armadillo」を実行。
実行するタスク: cd app && flutter-elinux pub get && flutter-elinux build elinux --target-arch=arm64 --target-compiler-triple=aarch64-linux-gnu --system-include-directories=/usr/aarch64-linux-gnu/include/c++/10/aarch64-linux-gnu --target-compiler-flags="-fms-extensions -DUSE_EGL_IMAGE_DMABUF" --debug && flutter-elinux run -d Armadillo Flutter 3.3.10 • channel unknown • unknown source Framework • revision 135454af32 (8 weeks ago) • 2022-12-15 07:36:55 -0800 Engine • revision 3316dd8728 Tools • Dart 2.18.6 • DevTools 2.15.0 Running "flutter pub get" in app... 3.6s Flutter 3.3.10 • channel unknown • unknown source Framework • revision 135454af32 (8 weeks ago) • 2022-12-15 07:36:55 -0800 Engine • revision 3316dd8728 Tools • Dart 2.18.6 • DevTools 2.15.0 💪 Building with sound null safety 💪 Building an eLinux application with wayland backend in debug mode for arm64 target... 41.7s Flutter 3.3.10 • channel unknown • unknown source Framework • revision 135454af32 (8 weeks ago) • 2022-12-15 07:36:55 -0800 Engine • revision 3316dd8728 Tools • Dart 2.18.6 • DevTools 2.15.0 No supported devices found with name or id matching 'Armadillo'. The following devices were found: Linux (desktop) • linux • linux-x64 • Debian GNU/Linux 11 (bullseye) 5.10.0-21-amd64 eLinux (desktop) • elinux-wayland • flutter-tester • Debian GNU/Linux 11 (bullseye) 5.10.0-21-amd64 eLinux (desktop) • elinux-x11 • flutter-tester • Debian GNU/Linux 11 (bullseye) 5.10.0-21-amd64 * ターミナル プロセス "/usr/bin/bash '-c', 'cd app && flutter-elinux pub get && flutter-elinux build elinux --target-arch=arm64 --target-compiler-triple=aarch64-linux-gnu --system-include-directories=/usr/aarch64-linux-gnu/include/c++/10/aarch64-linux-gnu --target-compiler-flags="-fms-extensions -DUSE_EGL_IMAGE_DMABUF" --debug && flutter-elinux run -d Armadillo'" が終了コード 1 で終了しました。 * ターミナルはタスクで再利用されます、閉じるには任意のキーを押してください。
armadillo:~# podman ps -all CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 1f31490adbd4 localhost/gui_app_dev_image:latest /bin/bash -c /usr... About an hour ago Up About an hour ago 0.0.0.0:2222->22/tcp gui_app armadillo:~#
armadillo:~# podman images REPOSITORY TAG IMAGE ID CREATED SIZE localhost/gui_app_dev_image latest 51cd679bf90f 7 days ago 427 MB armadillo:~#
at_shiita.ishigaki
石垣です。
> また、config/id_rsa.pubをArmadillo側の/root/.ssh/へコピーしていませんでしたのでコピーを行いました。
id_rsa.pub のコピー先は Armadillo の Armadillo Base OS に直接ではなく、コンテナイメージ localhost/gui_app_dev_image の中を想定しています。
これは gui_app_dev_image.swu をインストールすることで自動的に配置されるようになっております。
> ●sshでrootログイン出来る事を確認しております。
> Using username "root". > root@192.168.201.79's password: > Welcome to Alpine!
Flutter のアプリケーションは localhost/gui_app_dev_image で動かすことを想定していますので、
ssh 先を Armadillo Base OS(alpine Linux)ではなく localhost/gui_app_dev_image にする必要が有ります。
localhost/gui_app_dev_image に ssh できるか確かめるため gui-app-project-[version] ディレクトリ上で
下記コマンドを実行して、 config/ssh_config を使用して ssh が繋がるか試して頂けますでしょうか。
[ATDE ~/gui-app-project-[version]$] ssh -F config/ssh_config Armadillo
> ●VSCodeからタスク 「App run on Armadillo」を実行。
> The following devices were found: > Linux (desktop) • linux • linux-x64 • Debian GNU/Linux 11 (bullseye) 5.10.0-21-amd64 > eLinux (desktop) • elinux-wayland • flutter-tester • Debian GNU/Linux 11 (bullseye) 5.10.0-21-amd64 > eLinux (desktop) • elinux-x11 • flutter-tester • Debian GNU/Linux 11 (bullseye) 5.10.0-21-amd64
先ほどの ssh コマンドが通ることが確認できましたら、こちらのデバイスリストに Armadillo と表示されるはずです。
また、デバイスリストに Armadillo が表示されなかった場合は下記コマンドの実行結果を添付して頂けますでしょうか。
[ATDE ~]cat ~/.flutter_custom_devices.json
以上、ご確認の程よろしくお願いいたします。
urasue
お世話になっております。浦末です。
> 下記コマンドを実行して、 config/ssh_config を使用して ssh が繋がるか試して頂けますでしょうか。
atmark@atde9:~/gui-app-project-v1.0.1$ ssh -F config/ssh_config Armadillo root@192.168.201.79's password: Permission denied, please try again.
パスワードを求められるのですが、このパスワードはmkswu --initを実行した時に入力したパスワードでしょうか。
もしそうであれば、パスワードが通らないため、再度mkswuからやり直したいと思います。
at_shiita.ishigaki
石垣です。
> パスワードを求められるのですが、このパスワードはmkswu --initを実行した時に入力したパスワードでしょうか。
config/ssh_config では鍵認証を行うようになっていますので、おそらく Armadillo 側の公開鍵が読み取れなかった、
もしくは、違う公開鍵が保存されているため、パスワードの入力を求められたかと思います。
以下のコマンドを実行して、gui-app-project にある公開鍵とコンテナイメージ側の公開鍵が同じ内容か確認して頂けますでしょうか。
gui-app-project 側
[ATDE ~/gui-app-project-[version]$] cat config/ssh/id_rsa.pub
コンテナイメージ側
[ATDE ~$] podman run -it localhost/gui_app_dev_image bash [container ~#] cat ~/.ssh/authorized_keys
以上、ご確認の程よろしくお願いいたします。
urasue
at_shiita.ishigaki
石垣です。
> どの様にして合わせるのが良いでしょうか。
gui-app-project の config/ssh/id_rsa.pub の中身をコンテナイメージの ~/.ssh/authorized_keys に書き換えて
再度下記コマンドで ssh が繋がるか試して頂けますでしょうか。
[ATDE ~/gui-app-project-[version]$] ssh -F config/ssh_config Armadillo
gui-app-project の config/ssh/id_rsa.pub の公開鍵がどこからコピーされたかお心あたりありますでしょうか。
(例えば、ATDE の ~/.ssh/id_rsa.pub 等)
再発防止のため、もしご存知でしたらお聞かせ頂きたいです。
また、ご質問をして頂いた最初の内容となるのですが
> インストール自体は一度、成功していたのですが、podman rmi でイメージを消し、再度インストールしようとしたところ、エラーが起きるようになりました。
こちらのコンテナイメージを再度インストールする理由についても合わせて教えて頂けると幸いです。
以上、ご確認の程よろしくお願いいたします。
at_shiita.ishigaki
石垣です。
失礼しました。先ほどの内容に誤りが有りました。
> gui-app-project の config/ssh/id_rsa.pub の中身をコンテナイメージの ~/.ssh/authorized_keys に書き換えて
gui-app-project の config/ssh/id_rsa.pub を書き換えると、秘密鍵とのペアが変わってしまいますので、
Armadillo の localhost/gui_app_dev_image コンテナ内の ~/.ssh/authorized_keys を ATDE の config/ssh/id_rsa.pub に書き換える必要が有ります。
お手数をおかけして申し訳ございませんが、よろしくお願いいたします。
urasue
お世話になっております。浦末です。
> gui-app-project の config/ssh/id_rsa.pub の中身をコンテナイメージの ~/.ssh/authorized_keys に書き換えて
> 再度下記コマンドで ssh が繋がるか試して頂けますでしょうか。
書き換えて試してみましたが、繋がりませんでした。
atmark@atde9:~/gui-app-project-v1.0.1/config$ cat ssh_config Host Armadillo Hostname 192.168.201.79 User root Port 2222 IdentityFile ../config/ssh/id_rsa atmark@atde9:~/gui-app-project-v1.0.1/config/ssh$ ls id_rsa id_rsa.pub atmark@atde9:~/gui-app-project-v1.0.1/config/ssh$ atmark@atde9:~/gui-app-project-v1.0.1$ ssh -F config/ssh_config Armadillo no such identity: ../config/ssh/id_rsa: No such file or directory root@192.168.201.79's password:
id_rsaが見つからないと出ますが、ファイルはありました。
sshを実行するパスをconfigディレクトリから実行してみたところ、id_rsaが不一致となりました。
atmark@atde9:~/gui-app-project-v1.0.1/config$ ssh -F ssh_config Armadillo identity_sign: private key ../config/ssh/id_rsa contents do not match public root@192.168.201.79's password:
> gui-app-project の config/ssh/id_rsa.pub の公開鍵がどこからコピーされたかお心あたりありますでしょうか。
> (例えば、ATDE の ~/.ssh/id_rsa.pub 等)
> 再発防止のため、もしご存知でしたらお聞かせ頂きたいです。
>
> また、ご質問をして頂いた最初の内容となるのですが
> > インストール自体は一度、成功していたのですが、podman rmi でイメージを消し、再度インストールしようとしたところ、エラーが起きるようになりました。
> こちらのコンテナイメージを再度インストールする理由についても合わせて教えて頂けると幸いです。
VSCodeからgui_appをArmadillo上で動作させようとした際、うまく行かず最初からやり直すため、
mksw --initを実行したと思います。
工場出荷状態からやり直す事は可能でしょうか。
at_shiita.ishigaki
石垣です。
> sshを実行するパスをconfigディレクトリから実行してみたところ、id_rsaが不一致となりました。
誤った内容を一度お伝えてして申し訳ありません。
> gui-app-project の config/ssh/id_rsa.pub を書き換えると、秘密鍵とのペアが変わってしまいますので、
> Armadillo の localhost/gui_app_dev_image コンテナ内の ~/.ssh/authorized_keys を ATDE の config/ssh/id_rsa.pub に書き換える必要が有ります。
こちらが正しい対処法となっておりました。
現在鍵の組み合わせが合わなくなってる状態だと思いますので、下記コマンドを実行して、
再度、鍵と gui_app_dev_image を作成し、インストールした後に、Flutter アプリが動作するか確認頂けますでしょうか。
# Armadillo にログイン [Armadillo ~#] vi /etc/sw-versions gui_app_dev_image 1 を削除 [Armadillo ~#] persist_file /etc/sw-versions # ATDE で操作 [ATDE ~/gui-app-project-[version]$] rm config/ssh/id_rsa* [ATDE ~/gui-app-project-[version]$] podman rmi localhost/gui_app_dev_image VSCode の task から Setup environment を実行 VSCode の task から Generate development swu を実行 生成された gui-app-project-[VERSION]/container/dev/gui_app_dev_image.swu を Armadillo にインストール VSCode の task から App run on Armadillo を実行
> VSCodeからgui_appをArmadillo上で動作させようとした際、うまく行かず最初からやり直すため、
> mksw --initを実行したと思います。
swu ファイルは Armadillo に podman イメージをインストールすることのみ行っているため、mkswu は問題がないと思われます。
例えば、Setup environment と Generate development swu を実行し、生成された swu ファイルを Armadillo にインストールした後に、
ATDE に保存されている鍵を削除し、もう一度 Setup environment を実行したりすると、
Armadillo 内の公開鍵と、ATDE に保存されている公開鍵が合わなくなってしまいますので、
これに似た状態が起きてしまったのではないかと考えております。
> 工場出荷状態からやり直す事は可能でしょうか。
以下マニュアルに記載されている、初期化インストールディスクを作成し、
Armadillo でインストールディスクを使用することで、初期化することができます。
https://manual.atmark-techno.com/armadillo-x2/armadillo-x2_product_manu…
以上、お手数をかけて申し訳ございませんがよろしくお願いいたします。
urasue
お世話になっております。
浦末です。
> 例えば、Setup environment と Generate development swu を実行し、生成された swu ファイルを Armadillo にインストールした後に、
> ATDE に保存されている鍵を削除し、もう一度 Setup environment を実行したりすると、
> Armadillo 内の公開鍵と、ATDE に保存されている公開鍵が合わなくなってしまいますので、
> これに似た状態が起きてしまったのではないかと考えております。
なるほど。承知いたしました。鍵の件、注意いたします。
工場出荷状態に戻して、もう一度初めからやり直してみたところ、
スムーズに動作させることができました。
ご対応ありがとうございました。
> > 工場出荷状態からやり直す事は可能でしょうか。
> 以下マニュアルに記載されている、初期化インストールディスクを作成し、
> Armadillo でインストールディスクを使用することで、初期化することができます。
> https://manual.atmark-techno.com/armadillo-x2/armadillo-x2_product_manu…
>
> 以上、お手数をかけて申し訳ございませんがよろしくお願いいたします。
>
urasue
2023年2月6日 17時21分
下記の投稿を見つけました。
/etc/sw-versions を書き換えることで再インストールすることが出来ました。
https://armadillo.atmark-techno.com/forum/armadillo/11194
次に、X2にgui_app_dev_image.swuをインストールし、
ATDE9上のVScodeからリモートデバッグを試みていますが、パスワードの入力を求められます。
試しにパスワードをatmarkユーザのパスワードを入力していましたが、受け付けられませんでした。
何か手順が間違っているのでしょうか。
ご確認の程、よろしくお願いいたします。