yocto
はじめに お年玉でSTM32MP157F-DK2を購入した。 この製品、Cortext-A7とM4ヘテロ構成のSoCでスペック的にはあまり強くなさそうなんだけど、 BSPをみると、なんだかコア間の連携のための仕組みが作り込まれててちょっとおもしろそう。 値段も15000〜16000程度…
はじめに YoctoProject ラズベリーパイ4でinitramfsではラスベリーパイ4の実機でinitramfsを試した。ただ、initramfsのシェルにフォールバックするだけだったので、今回は少し実践的な例を示す。 具体的にはYoctoProject kirkstoneでリードオンリーのファイ…
はじめに YoctoProjectでinitramfs入門でinitramfsの使用方法を調査した。今回は実機環境でinitramfsを使用してみる。 ターゲットはラズベリーパイ4。使用するブランチはkirkstone。 環境構築 作業環境 $ mkdir -p ~/yocto/rpi-kirkstone $ cd ~/yocto/rpi-k…
はじめに YoctoProjectで作成するLinuxイメージでもinitramfsを使用することができる。 これまであまりつかってこなかったので入門してみる。 使用するバージョンはkirkstone(4.0)。 環境構築 今回はqemuarm64のターゲットで実験する。 initramfsはカーネル…
はじめに 以前にyoctoでもRustで、YoctoProjectで作成したLinuxにRustのプログラムを組み込む方法を紹介した。当時はmeta-rustを使用する必要があり、かつSDKでRustのプログラムをビルドすることもできなかった。 この記事が2019年で、あれから数年経ちhonis…
はじめに 前回はkirkstoneでリードオンリーなファイルシステムを作成して、OverlayFSで書き込み可能な領域を追加する方法を紹介した。 kirkstoneではoverlayfs.bbclassやoverlayfs-etc.bbclassを使用することができるが、 それらは以前のバージョンのYoctoPr…
はじめに 2021-03-25 Yocto リードオンリーなルートファイルシステムを構築するでリードオンリーなシステムの構築方法をまとめたが、情報が古くなってきたのでまとめ直す。 ターゲットボードはラズベリーパイ4、使用するYoctoProjectのバージョンはkirkstone…
はじめに QEMUはとても便利だが、Ctrl+aがデフォルトで制御キーに割り当てられているため、 シェル上でカーソルを先頭に移動したい時にいつもイラッとする。 QEMU自体の制御キーの変更の仕方は下記に解説があった。 qemuの制御キーバインド変更 runqemuでの…
はじめに 前回dnfについて書いたが、今回はaptについて紹介する。 YoctoProjectではレシピからパッケージを作成しそれらをルートFSにインストールすることでディストリビューションを構築している。 IMAGE_FEATURESにpackage-managementが含まれている場合、…
はじめに 「ただしイケメンに限る」ていで書き始める。 YoctoProjectではレシピからパッケージを作成しそれらをルートFSにインストールすることでディストリビューションを構築している。 IMAGE_FEATURESにpackage-managementが含まれている場合、パッケージ…
はじめに 2022/10/24付でYoctoProjct 4.1 langdaleがリリースされていたので試す。 ターゲットはラズベリーパイ4 環境を構築する 作業環境 $ mkdir -p ~/yocto/rpi-langdale $ cd ~/yocto/rpi-langdale pokyの取得 $ git clone -b langdale git://git.yoctop…
はじめに YoctoProjectではqemuのイメージをビルドした場合、runqemuコマンドで実行することができる。 基本的には、ウィンドウが生成されその中に画面が表示される。 sshなどで接続したりして、qemuの画面表示をコンソールに出力したい場合などの方法を調査…
はじめに ラズベリーパイシリーズで、ルートファイルシステムをNFSでマウントする。 以前にyocto raspberrypi3でNFSブートの記事を書いたが、 最近のmeta-raspberrypiでは作法が変わっているので焼き直し。 本稿で説明するのはyoctoの作法ではなくmeta-raspb…
はじめに bitbakeをラップして、操作を簡略化するためのツールとして以前にも何回か取り上げたkas Yocto meta-raspberrypi環境の作成にkasを使ってみる https://mickey-happygolucky.hatenablog.com/entry/2020/11/18/112507 Yocot Project CROPSを拡張してk…
はじめに YoctoProjectではbitbakeで生成された成果物をもとに、SDカードなどに直接書き込むことができるディスクイメージを作成するため、 wicというコマンドを提供している。ヘルプにwicは次のようなものだという記載がある。 The 'wic' command generates…
はじめに SiPEED LICHEE RV DOCKが転がっている。 これにはAllwinner D1が搭載されている。meta-riscvのマシン定義にnezha-allwinner-d1があるので試してみる。 環境を構築する 作業環境 $ mkdir -p ~/work/yocto/nezha-kirkstone $ cd ~/work/yocto/nezha-k…
はじめに 前回で、Kirkstoneではdo_fetch以外のタスクからは原則ネットワークアクセスができなくなっていることについて調査した。 Release 4.0 (kirkstone)には下記のように記載があり、カーネル機能を使用しているとのことだったが、具体的にどのような機…
はじめに GW前にYoctoProject 4.0(kirkstone)がリリースされた。 変更点の詳細はRelease 4.0 (kirkstone)を参照。 使ってみようと思っていたら、ツイッターで下記のような情報が流れてきた。 yocto 4.0になってから、cmakeのexternal_projectでダウンロード…
はじめに なんとなく、Raspberry Pi 4 で Vulkan を試すと同様のことをPokyでもやってみた。 使用するのはラズベリーパイ4 動かすデモプログラムはSaschaWillems/Vulkan。これはVulkanのデモとしては有名なものらしい。 run_crops.sh(余談) gistに置いた。 …
はじめに CROPSを使用すると、ホスト環境の差異を気にせずにbitbakeができるようになるので 非常に便利だが、たまにhosttoolsを追加したりCROPSのDockerイメージを拡張したいケースがある。 その際にCROPSの提供物を直接編集することなく、Dockerイメージを…
はじめに "Yocto Project CROPSを使ってみる"を拝見して、、、Fedoraのpodmanでもできました。https://t.co/YGURc1j6hz— nb.o (@Nextremer_nb_o) February 9, 2022 私の記事を参考にして、meta-riscvをビルドしようとしたけどうまくいかないらしかったので試…
はじめに Yocto ProjectでもいくつかのレイヤでTPMをサポートしている。 ラズベリーパイシリーズはTPMモジュールは搭載されておらず、外付けのモジュールを使用するか エミュレータを使用する必要がある。 meta-security配下にあるmeta-tpmではTPMエミュレー…
はじめに 前回CROPSを動かしてみた。 CROPSでmeta-raspberrypiをビルドしてみる。今回はラズベリーパイ4を使用する。 run_crops.sh 今回も前回作成したrun_crops.shを使用する。 #!/bin/sh cmd="source /workdir/poky/oe-init-build-env" if [ $# -gt 0 ] ; …
はじめに 最近やっと時間が取れるようになって(なってない)、HONISTERをいじり始めた。 初っ端から下記のようなエラーが発生して面食らった。 ERROR: Variable DISTRO_FEATURES_append contains an operation using the old override syntax. Please convert…
はじめに Yocto Projectではbitbakeを実行するためのDockerコンテナを提供している。 そのコンテナはCROss PlatformS(CROPS)と呼ばれている。CROPSの詳細はSetting Up to Use CROss PlatformS (CROPS)を参照のこと。 使い方 使い方についてのざっくりな説明…
はじめに YoctoでビルドするZephyrアプリケーションのコンフィグを設定する方法を調べた。 micro:bitの5x5 LEDを有効化する。 最終的にはmeta-armの修正が必要となった。 作業環境はYocto Zephyrに独自のアプリケーションを追加してみるを使用する。 環境変…
はじめに Yocto ProjectでビルドしたZephyrのアプリケーション(elf)をqemuとgdbでデバッグしてみる。 環境 下記で作成した環境をベースに作業する Yocto BBC micro:bit V1向けのZephyrを試してみる Yocto Zephyrに独自のアプリケーションを追加してみる gdb-…
はじめに Yocto ProjectでビルドするZephyrに独自のアプリケーションを追加してみる。 環境構築 この環境をベースに作業する。 環境変数設定 bitbake関連のツールを使用するために環境変数の読み込みは行う。 $ source poky/oe-init-build-env build レイヤ…
はじめに YoctoでZephyrをビルドできるっぽいことは知っていたが、試したことがなかったのでやってみる。 使用するバージョンはhardknott 構築手順 ソース取得 下記のコマンドでソースを取得する。 $ mkdir -p mb-hardknott && cd mb-hardknott $ git clone …
はじめに Yocto Project 3.3(Hardknott)でラズベリーパイ4を動かすの環境をベースに、Hardknottで日本語入力環境を作成してみる。 かなり古いがyoctoで日本語入力も参考にする。 作業環境の準備 meta-oeをビルド環境に設定する。 $ cd rpi-hardknott $ sourc…