This service is available only in Japanese-language.

パッケージ

旧バージョンOSSを対象イメージへ追加する方法について

現在toasterを用いてhttpd(apach2)をイメージに追加しようと考えています。
ただし、現在選択しているYoctoバージョンはhttpdのバージョンが最新(Ver2.4.41)であるため
旧バージョンhttpd(apach2)をCustam Imageに追加出来る方法を模索しています。

httpdは依存関係も多くレシピを一から作成するのは大変だと思い、以下の方法を考えてみました。
①Gitからdora (Yocto Project 1.5)のVer2.4.6のレシピをClone
②ToasterでCloneしたmeta-openembeddedの中にあるmeta-webserverを新レイヤーとして追加
③ToasterのCustom imagesよりpackagesとして追加
上記③でToasterよりイメージ追加しようと思いましたが、該当のapach2が表示されませんでした。

そこで、事前にapach2をコンパイルすることでpackagesに表示されるのではないかと考え、
Toasterより対象レシピのbuildを実施したところ、依存関係のconfigでエラーが発生しました。
(他のエラーもありましたが、軽微なレシピ修正で対応しています)
現在この時点で止まっております。

こういった依存関係のあるOSS、旧バージョンOSSをコンパイルする場合、
どういった方法が良いのでしょうか?

uninativeに関して

Yoctoを使った組み込み向けの検討をしています
検討中、ターゲットに合わせてうまくbitbakeでrootfsが生成できない部分があり、
Logで調べると、classesのuninativeという機能が原因でうまくいっていない様子です。
uninativeを書き換えて、力業で動かないようにしたときは、うまくイメージが生成できるところまで確認しています。
具体的には以下の2行をコメントアウトしています。
---
Addhandler uninative_event_enable
Uninative_event_enable[eventmask] = "bb.event.ConfigParsed"
---

これに関して以下を教えていただきたいです。
・uninativeとはどのような機能なのでしょうか?(ドキュメントは読んだのですが機能が理解できませんでした)
・uninativeはデフォルトでenableのようですが、特定のレシピだけdisableにする方法あるでしょうか?

logrotate パッケージの .conf ファイルを変更したい

【環境】
 DISTRO_VERSION = "4.14-sumo"
 logrotate :3.13.0-r0

【質問内容】

 logrotate.conf を変更したものをオーバーライドしたいのですが、logrotate のように
 当該レシピのサブディレクトリに オーバーライドさせたいファイル(logrotate.conf)が
 存在しない場合、どのような方法で実現出来ますでしょうか?

・デフォルトレイヤー(poky)

 └── poky
  ├── meta
  │ ├── recipes-extended
  │ │ ├── logrotate
  │ │ │ ├── logrotate
  │ │ │ │ ├── act-as-mv-when-rotate.patch
  │ │ │ │ ├── disable-check-different-filesystems.patch
  │ │ │ │ └── update-the-manual.patch
  │ │ │ └── logrotate_3.13.0.bb
 
  レシピファイル
  http://cgit.openembedded.org/openembedded-core/tree/meta/recipes-extende...

  do_install(){
    :
    install -p -m 644 ${S}/examples/logrotate-default ${D}${sysconfdir}/logrotate.conf
    :
  }

・ユーザーカスタマイズレイヤー

 下記のようにしてみましたが、上手くいきませんでした。

 ├── recipes-extended
 │ └── logrotate
 │ ├── logrotate
 │ │ └── logrotate.conf ・・・ <ユーザー定義>
 │ └── logrotate_%.bbappend

以上、宜しくお願い致します。

不要なパッケージ削除ができない(conflict)

不要なパッケージをlocal.confに記載して削除したいと試みています。

・vsftpdが不要なので削除したい
PACKAGE_EXCLUDE = " vsftpd"

bitbakeのビルド中にエラーが出てしまい削除できていない。
※削除要求が競合している。という事?
-------------- エラー情報 ---------------
Error:
Problem: conflicting requests
- nothing provides vsftpd needed by packagegroup-network-1.0-xxxxx

ERROR: core-image-base-1.0-r0 do_rootfs: Function failed: do_rootfs
----------------------------------------------

上記"PACKAGE_EXCLUDE"定義しない場合は、普通にビルド成功し、OS起動が正常にできます。
その際は"vsftpd"がinitd起動される状態です。

conflict回避してパッケージ削除させるにはどうすればよいでしょうか?

IMAGE_INSTALL_appendで追加できるパッケージのリスト

Xilinx製のpetalinux toolを使用しています。
meta-user内のconfファイルにIMAGE_INSTALL_append += でパッケージを追加することが出来ます。

しかし、追加できるパッケージにどのようなものがあるのかがよく分かりません。

petalinux tool内のlayersに含まれるレシピが追加できるパッケージなのでしょうか?

WiFiモジュールのSDIO接続

TI製SoC:AM3352にYocto(Morty:2.2)を実装し、
SDIOインターフェース経由でMicrochip製ATWILC1000の接続を試みております。
ドライバモジュールのロード時に
追加するパッケージが足りないと思うのですが、次のメッセージが表示されます。
SDIO関連のパッケージが足りないとは思うのですが、
何かお気づきの点はございませんでしょうか。

root@:/lib/modules/4.9.49-rt23/kernel# insmod drivers/net/wireless/mchp/wilc-sdio ko
[ 94.007935] wilc_sdio: loading out-of-tree module taints kernel.
[ 94.018015] wilc_sdio: disagrees about version of symbol wake_up_process
[ 94.030968] wilc_sdio: Unknown symbol wake_up_process (err -22)

bitbakeエラー

bitbakeで突然以下のようなエラーが発生するようになりました。
調べてもなかなか原因がわからず投稿させて頂きました。
どのように対応したらよいかお分かりになりますでしょうか。

ERROR: systemd-1_230+gitAUTOINC+3a74d4fc90-r0 do_package: Error executing a python function in exec_python_func() autogenerated:

The stack trace of python calls that resulted in this exception/failure was:
File: 'exec_python_func() autogenerated', lineno: 2, function: <module>
0001:
*** 0002:package_do_shlibs(d)
0003:
File: '/home/admin/XXXXXXXX/package.bbclass', lineno: 1615, function: package_do_shlibs
1611: else:
1612: use_ldconfig = False
1613:
1614: needed = {}
*** 1615: shlib_provider = oe.package.read_shlib_providers(d)
1616:
1617: for pkg in packages.split():
1618: private_libs = d.getVar('PRIVATE_LIBS_' + pkg, True) or d.getVar('PRIVATE_LIBS', True) or ""
1619: private_libs = private_libs.split()
File: '/home/admin/XXXXXXXX/package.py', lineno: 129, function: read_shlib_providers
0125: for l in lines:
0126: s = l.strip().split(":")
0127: if s[0] not in shlib_provider:
0128: shlib_provider[s[0]] = {}
*** 0129: shlib_provider[s[0]][s[1]] = (dep_pkg, s[2])
0130: return shlib_provider
0131:
0132:
0133:def npm_split_package_dirs(pkgdir):
Exception: IndexError: list index out of range

ERROR: systemd-1_230+gitAUTOINC+3a74d4fc90-r0 do_package: Function failed: package_do_shlibs
ERROR: Logfile of failure stored in: /home/admin/XXXXXXXX/1_230+gitAUTOINC+3a74d4fc90-r0/temp/log.do_package.13634
ERROR: Task (/home/admin/XXXXXXXX/systemd_230.bb:do_package) failed with exit code '1'

jpeg画像表示コマンドについて

RZG1Eボード+Yocto 1.6.1 Linux kernel 3.10で
動作させています。
core-image-x11のrootfsにてjpeg画像を画面いっぱいに表示させたいのですが、
おすすめのコマンドおよびそのRecipe名をご教授ください。

ntpdが動作しない...

Yocto 2.4(r2)環境で行なっています。
通常イメージ(core-image-base等)をビルドしボードインストール後、日時を確認したら更新されていません。
ntpdコマンドを直接実行してもエラーが返ってきてしまうようです。
---------------------
#ntpd -d -n -w -q -p ntp.nict.jp
ntpd: resolved peer ntp.nict.jp to 133.243.238.243
ntpd: sending query to 133.243.238.243
Alarm clock
---------------------

・ntpサーバーは色々変えてみましたがダメでした
 (ping ntp.nict.jpは通ります)
・同じネットワークセグメント上のUbuntuからはntpdが正常に動作している事を確認しています。
(ネットワーク/ルーターの問題ではなさそう。proxyも設置していません)
・"Alarm clock"がでるのは、ntpdコマンド内のエラーのようです。(ネット検索より)

何かntpd周りで設定が必要なのでしょうか?

linux-imxのカーネルコンフィグレーションの変更

社内からの問い合わせです。

NXP の BSP を使用して、linux-imx のカーネルコンフィグレーションを行ったbbappendの作成を試みて
います。
bitbake linuix-imx -c menuconfig の実行後、bitbake linux-imx -c diffconfig を実行し、生成された
fragment.cfg を arch/arm64/configs/defconfig に追記しまして、このファイルに対するpatchを
作成しました。
do_copy_defconfig のコピー元のファイルは変更されていることは確認できているのですが、肝心の
.config や、defconfig は元のファイルとなっています。

ページ