This service is available only in Japanese-language.
Toaster構築において、以下の手順でコマンドを実行しました。
=====
$sudo apt install -y python3-pip
$python3 -m venv ~/mypy
$source ~/mypy/bin/activate
$pip3 install -r sources/poky/bitbake/toaster-requirements.txt
$source sources/poky/oe-init-build-env
$source toaster start webport=0.0.0.0:8400
=====
すると、以下のようなエラーが見られました。
=====
Updating distros 53%Failure while trying to setup toaster: 2047802
Traceback (most recent call last):
File "sources/poky/bitbake/lib/toaster/bldcontrol/management/commands/checksettings.py", line 123, in _verify_be
call_command("lsupdates")
File "/home/pf2024/mypy/lib/python3.12/site-packages/django/core/management/__init__.py", line 181, in call_command
return command.execute(*args, **defaults)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/pf2024/mypy/lib/python3.12/site-packages/django/core/management/base.py", line 398, in execute
output = self.handle(*args, **options)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "sources/poky/bitbake/lib/toaster/orm/management/commands/lsupdates.py", line 290, in handle
self.update()
File "sources/poky/bitbake/lib/toaster/orm/management/commands/lsupdates.py", line 233, in update
pk=li_layer_branch_id_to_toaster_lv_id[index.distros[id].layerbranch_id]))
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
KeyError: 2047802
=====
distroのフェッチ処理でエラーが出ていると思うのですが、エラーの原因がわからず、困っています。
エラーの原因と、その対策について、ご教示いただけますでしょうか?
kawabata0820
2025/1/9 (木) 15:03
補足です
使用しているソースは、以下から取得したものです。
https://github.com/TechNexion/tn-imx-yocto-manifest/tree/kirkstone_5.15....
みつきん
2025/1/10 (金) 17:59
Toasterの起動がlsupdates実行中に失敗する件について
本件回答します。
結論としては再現せずで、kawabata0820様の環境依存の問題かと存じます。
以下、調査結果です。
下記のOSのクリーンな環境にて確認を行いました。
* Ubuntu 20.04
* Ubuntu 22.04
お知らせいただいた下記のURLのBSP構築手順および、Toaster実行の手順を実施しました。
https://github.com/TechNexion/tn-imx-yocto-manifest/tree/kirkstone_5.15....
=====
$sudo apt install -y python3-pip
$python3 -m venv ~/mypy
$source ~/mypy/bin/activate
$pip3 install -r sources/poky/bitbake/toaster-requirements.txt
$source sources/poky/oe-init-build-env
$source toaster start webport=0.0.0.0:8400
=====
エラー内容についてです。
toasterは初回起動時に、動作に必要なデータを
LayerIndexサーバ(通常はOpenEmbedded LayerIndex)から取得します。
その際に、下記のようなデータを取得します。
1. leyer ersion
2. distro
3. machine
4. recipes
今回はこの内のdistroの取得でエラーになっています。
エラーの内容がPythonのKeyErrorであることから、実装上の不具合ではなく
保存してあるデータが破損しているのではないかと推測しています。
解決方法ではありませんが、下記のようなことを試してみてはいかがでしょうか。
* toaster.sqliteを削除してtoasterの起動を試みる
* repoツールでBSP環境を取得し直す(カスタマイズがある場合は、それらは一旦適用せずに試す)
===
参考情報ですが、venv環境でToasterを実行することは特に問題ないそうです。
https://wiki.yoctoproject.org/wiki/Using_virtualenv
kawabata0820
2025/1/15 (水) 10:14
無事にToasterが利用できるようにはなりました。
ご回答いただきありがとうございます。
こちらで、一旦、開発用とは別にToaster構築確認用にBSP環境を取得しました。
Toaster構築確認用にBSPにて確認をしましたところ、無事にToaster構築の確認はできました。
ただし、原因を見てみたところ、カーネルバージョンに違いが見られました。
●本件で質問いたしました、Toaster構築エラーが見られたカーネルバージョン (開発用) は、[6.1.55-2.2.0]でした。 (imx-6.1.55-2.2.0.xml)
●一方、無事にToaster構築ができましたカーネルバージョン (Toaster構築確認用) は、[5.15.71-2.2.2]でした。 (imx-5.15.71-2.2.2.xml)
そこで、大変お手数で恐縮なのですが、御社の方で、カーネルバージョンが[6.1.55-2.2.0]でもToaster構築が可能か検証いただくことは可能でしょうか。
カーネルバージョン[6.1.55-2.2.0]は、以下で取得可能です。
https://github.com/TechNexion/tn-imx-yocto-manifest/tree/mickledore_6.1....