yocto

raspberrypi3でyocto

技適取得済みのRPi3が入手できた。 箱に技適マークが確認できる。 基板はこんな感じ。 meta-raspberrypiもmasterであればRPi3に対応しているようなので動かしてみる。 作業ディレクトリの作成 作業ディレクトリは~/rpi3とする。 $ mkdir ~/rpi3 && cd ~/rpi3…

yocto(jethro)でsystemd-networkdを有効化する

systemdを組み込んだだけだと、ネットワークインターフェイスが有効化されない。 systemdにはネットワークインターフェイスの設定を行うsystemd-networkdが存在するが、 yoctoのsystemdのレシピではデフォルトでは組み込まれない。 connmanを追加する方法も…

connman バージョン1.30以前の落とし穴

システム起動時にNFSやCIFSでリモートのディレクトリをマウントしたい場合などは 確実にネットワークがオンラインになっている必要がある。 ネットワークがオンラインになる前にマウントを試みても失敗するためだ。 systemdでネットワークインターフェイスが…

connman

systemd環境でも動作するネットワークマネージャとしてconnmanというものがある。 使い方についてはこちらが詳しい。 インストールするにはlocal.confに下記を追加する。 IMAGE_INSTALL_append = " connman" bitbakeしてイメージを焼いたところ、boot時にネ…

yocto pulseaudio.socketをレシピからenableする

pulseaudioのUnitはUser Unitであるが、yoctoのUser Unitの取り扱いに問題がありboot時に正しく実行されない。 boot時にpulseaudio.socketが実行されるようにするための方法を調査したのでメモ。 systemdのenableの仕掛け まず、「systemctl enable」をした…

raspberrypi2 yocto systemdでpulseaudio

yoctoのpulseaudioをsystemdで動かしてみた。 今回はレシピを作成したりはしないので若干手順は端折っている。 pulseaudioのインストール pulseaudioを追加するためには、local.confに下記を追加する。 DISTRO_FEATURES_append = " pulseaudio pam" IMAGE_IN…

raspberrypi2 yoctoでsystemd

RPi2でpulseaudioを導入しようとしたところ、pulseaudioをサービスとして使用するには、systemdを利用するほうが従来のsysvinitよりも簡単に行えそうだということがわかった。 ただ単に、初期化スクリプトがsystemd用のもののみ用意されていたというだけの事…

PiTFT3.5でQML(Quick2)アプリケーションが実行できない理由

RPi2にPiTFT3.5を実装したyocto環境でQt5を組み込みQt Quick2のQMLアプリケーションを実行してみたところエラーがでて実行できなかった。 その原因を調査したのでメモ。 原因はOpenGL Qt Quick2はOpenGLに依存している Qt Quick2はOpenGLに依存しており、Ope…

Ubuntu 15.10でbitbake qemu-nativeエラー

Ubuntu 15.10でcore-image-satoなどを作ろうとすると、qemu-nativeのdo_configureでエラーになる。 DEBUG: Executing python function sysroot_cleansstate DEBUG: Python function sysroot_cleansstate finished DEBUG: Executing shell function autotools…

raspberrypi2 yocto2.0(Jethro)

yoctoの時期リリース版では、gccのバージョンが4から5に上がるなど大きな変更が入っている。 それに伴ってバージョンも1.9をスキップするようだ。 gitの方でもJethroの名でブランチが切られ、開発が進んでいる様子。 meta-raspberrypiでも、gcc5でのビルドに…

raspberrypi2 yoctoでPiTFT3.5 (X11編)

以前にyocto + PiTFT3.5でコンソールを動作させたが、今回はcore-image-satoでX11ベースのGUIを動作させたのでメモ。 meta-pitft35-rpiについて 以前作成したmeta-pitft35-rpiをcore-image-satoに対応し、pitft3.5を装着した状態でこのイメージを書き込むと…

raspberrypi2 yoctoでPiTFT3.5 (Console編)

以前にAdafruitのイメージで動かしたあと放置気味だったが、yoctoでPiTFT3.5を動作させたのでメモ。 ドライバについて 今回はmeta-pitft35-rpiというレイヤを作成した。 このレイヤはHX8357Dサポートのパッチをmeta-raspberrypiのカーネルへバックポートして…

raspberrypi2 yoctoでPifi DAC+(HifiBerry DAC+互換)

ハイレゾオーディオの波に乗るために、Pifi DAC+ v2.0を購入した。 実際にはAmazon.co.jpで4000円弱で買うことができた。 RPi2でDACオーディオというと、Volumioばかり出てくるが、 それだと面白みがないので、ここでは当然yoctoで利用する。 Pifi DAC+につ…

raspaberrypi2でcore-image-sato

yoctoでGUIを動かすための基本的なイメージであるcore-image-satoだが、 RPiではすんなりビルドが通らなかったことや、X-Windowsが古い、重いなどのイメージがあり、 RPiのような非力な環境で動かすために、労力を使うメリットを感じなかったため、 特に深追…

raspberrypi2 yoctoでalsasink(gstreamer1.0)

前回ALSAで音がなった。 aplay以外のコマンドでも音を鳴らしてみたいのでgstreamerのalsasinkで音を試してみる。 作業環境は、引き続き前回のALSAのものを利用する。 GStreamerのバージョン gstreamerには0.10系と1.0系があり、1.0にバージョンを移行しよう…

raspberrypi2 yoctoでASLA

前回にLinuxのサウンドについてざっくりと書いたので、それを踏まえて今回はALSAのみで音を鳴らしてみる。 ファイル取得 ベース環境 ベースの環境はこれを使う。 meta-local 作業用のレイヤとしてmeta-localを準備する。 ファイルの作成 必要なディレクトリ…

raspberrypi2 yoctoでweston(wayland)

yoctoの環境で作成したwestonのイメージがRPi2で動作したのでメモ。 wayland-eglライブラリが存在しない為それを移植するところが非常に大変だった。 https://github.com/albertd/buildroot-rpiの実装をかなり参考にした。 この方には非常に感謝している。 …

yocto QA Issueのあれこれ

パッケージのbbやbbappendを書いている時にQA Issueでエラーになることがある。 とりあえず解消出来たようなので、今回遭遇したエラーと対処をメモ。 QA Issue: userland rdepends on [package] WARNING: QA Issue: userland rdepends on wayland, but it is…

PNBLACKLISTされたパッケージのビルド

gnome-menus3がDEPENDされているlayerをビルドしようとした時に、以下のエラーが出てハマった。 ERROR: gnome-menus3 was skipped: Recipe is blacklisted: CONFLICT: 24 files are conflicting with 原因 meta-oe/meta-gnome/recipes-gnome/gnome-menus/gno…

raspberrypi2 yocto QtCreatorで開発

前回、yocto向けに開発環境を作成したが、Qtアプリケーションの開発にはQtCreatorを利用したほうが便利。 QtCreatorはQtアプリケーションの開発以外にも高度なデバッグ機能が利用することができる。 RPi2側はQt5が動作する状態になっていればそのまま利用で…

raspberrypi2 yoctoの開発環境の作成

bitbakeでOSイメージを作成してばっかりで、 このOS上で開発する環境を作成していなかった。 このままではyoctoはbitbakeしてOSをSDに書いて終了するものだと思われかねないので、今回はクロスコンパイル環境を作成する。 開発環境の作成方法 yoctoでは開発…

raspberrypi2 RaspiCamでhighgui

前回Qt5+EGLFS環境で動作するOpenCVのHighGuiが動くようになった。 opencv-sampleに収録されているデモアプリケーションの中には 以下のようにカメラを要求するものがある。 This program demonstrated the use of motion templates -- basically using the …

raspberrypi2 Qt5+EGLFSでOpenCVのhighguiを使う

OpenCVのカレントバージョンは2.4系でこれはすでにレシピがある。 作業環境は以前作ったQt5のものをベースに行う。 OpenCVには簡単にウィンドウが扱えるhighguiというモジュールがあり、 そのバックエンドにQtを選択できる。 今回はEGLFSがバックエンドにな…

raspberrypi2 yoctoでQt5 + EGLFS

RPi2でQt5を動かす。 組み込み用途ではQt5はplatformを指定することでX Windows以外の環境でも動かすことができる。 今回はEGLで描画する EGLFS というplatformで動くようにする。 EGLFSについては以下が詳しい。 http://doc.qt.io/qt-5/embedded-linux.html…

raspberrypiでメディアサーバ(完結編)

raspberrypi+yoctoでNAS+メディアサーバを構築した話(その1、その2、その3)の続き。 その際にハマった点や修正方法を記述する。 最終的には採用しなかった修正なども含まれるが、その際は採用しなかった旨を記述する。 なぜyoctoか? yoctoprojectがどういう…

raspberrypi2でyocto

raspberrypi2が手に入ったので火入れ。 でも、yoctoでやりたい。 すでにRPi2対応をしている人がいるようす。 とりあえず、rpi-basic-imageをSDに書き込んで起動するところまで頑張ったのでメモ。 環境構築 ファイルの取得 gitでファイルを取得する。 $ cd ~/…

raspberrypiでメディアサーバ(その3)

raspberrypi+yoctoでNAS+メディアサーバを構築した話(その1、その2)の続き。 その際にハマった点や修正方法を記述する。 最終的には採用しなかった修正なども含まれるが、その際は採用しなかった旨を記述する。 なぜyoctoか? yoctoprojectがどういうもので…

raspberrypiでメディアサーバ(その2)

raspberrypi+yoctoでNAS+メディアサーバを構築した話の続き。 その際にハマった点や修正方法を記述する。 最終的には採用しなかった修正なども含まれるが、その際は採用しなかった旨を記述する。 なぜyoctoか? yoctoprojectがどういうものであるか?などに…

raspberrypiでメディアサーバ(その1)

raspberrypi+yoctoでNAS+メディアサーバを構築した話。 その際にハマった点や修正方法を記述する。 最終的には採用しなかった修正なども含まれるが、その際は採用しなかった旨を記述する。 なぜyoctoか? yoctoprojectがどういうものであるか?などについて…