みつきんのメモ

組み込みエンジニアです。Interface誌で「Yocto Projectではじめる 組み込みLinux開発入門」連載中

2022-01-01から1年間の記事一覧

YoctoProject langdaleのRust事情

はじめに 以前にyoctoでもRustで、YoctoProjectで作成したLinuxにRustのプログラムを組み込む方法を紹介した。当時はmeta-rustを使用する必要があり、かつSDKでRustのプログラムをビルドすることもできなかった。 この記事が2019年で、あれから数年経ちhonis…

kirkstone以前の環境でOverlayFSを簡単に使う方法を考える

はじめに 前回はkirkstoneでリードオンリーなファイルシステムを作成して、OverlayFSで書き込み可能な領域を追加する方法を紹介した。 kirkstoneではoverlayfs.bbclassやoverlayfs-etc.bbclassを使用することができるが、 それらは以前のバージョンのYoctoPr…

YoctoProject kirkstoneでリードオンリーのファイルシステム

はじめに 2021-03-25 Yocto リードオンリーなルートファイルシステムを構築するでリードオンリーなシステムの構築方法をまとめたが、情報が古くなってきたのでまとめ直す。 ターゲットボードはラズベリーパイ4、使用するYoctoProjectのバージョンはkirkstone…

YoctoProject runqemuした時の制御キー

はじめに QEMUはとても便利だが、Ctrl+aがデフォルトで制御キーに割り当てられているため、 シェル上でカーソルを先頭に移動したい時にいつもイラッとする。 QEMU自体の制御キーの変更の仕方は下記に解説があった。 qemuの制御キーバインド変更 runqemuでの…

bitbakeで作成したパッケージをapt(ただしデバッグ用途に限る)

はじめに 前回dnfについて書いたが、今回はaptについて紹介する。 YoctoProjectではレシピからパッケージを作成しそれらをルートFSにインストールすることでディストリビューションを構築している。 IMAGE_FEATURESにpackage-managementが含まれている場合、…

bitbakeで作成したパッケージをdnf(ただしデバッグ用途に限る)

はじめに 「ただしイケメンに限る」ていで書き始める。 YoctoProjectではレシピからパッケージを作成しそれらをルートFSにインストールすることでディストリビューションを構築している。 IMAGE_FEATURESにpackage-managementが含まれている場合、パッケージ…

YoctoProject 4.1(langdale)をためす

はじめに 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 コンソールでrunqemu

はじめに YoctoProjectではqemuのイメージをビルドした場合、runqemuコマンドで実行することができる。 基本的には、ウィンドウが生成されその中に画面が表示される。 sshなどで接続したりして、qemuの画面表示をコンソールに出力したい場合などの方法を調査…

yocto raspberrypi4でNFSブート

はじめに ラズベリーパイシリーズで、ルートファイルシステムをNFSでマウントする。 以前にyocto raspberrypi3でNFSブートの記事を書いたが、 最近のmeta-raspberrypiでは作法が変わっているので焼き直し。 本稿で説明するのはyoctoの作法ではなくmeta-raspb…

kasを便利に使う

はじめに bitbakeをラップして、操作を簡略化するためのツールとして以前にも何回か取り上げたkas Yocto meta-raspberrypi環境の作成にkasを使ってみる https://mickey-happygolucky.hatenablog.com/entry/2020/11/18/112507 Yocot Project CROPSを拡張してk…

Yocto イメージレシピの調査

はじめに bitbakeでビルド可能なイメージについて調査する。 pokyのmetaレイヤに含まれるものは下記のようになっている。 イメージのレシピ ディレクトリ build-appliance-image_15.0.0.bb recipes-core/images core-image-base.bb recipes-core/images core…

YoctoProject wic入門

はじめに YoctoProjectではbitbakeで生成された成果物をもとに、SDカードなどに直接書き込むことができるディスクイメージを作成するため、 wicというコマンドを提供している。ヘルプにwicは次のようなものだという記載がある。 The 'wic' command generates…

YoctoProject LICHEE RV DOCKを動かす

はじめに SiPEED LICHEE RV DOCKが転がっている。 これにはAllwinner D1が搭載されている。meta-riscvのマシン定義にnezha-allwinner-d1があるので試してみる。 環境を構築する 作業環境 $ mkdir -p ~/work/yocto/nezha-kirkstone $ cd ~/work/yocto/nezha-k…

Yocto Project Kirkstone(4.0) タスクのネットワークアクセス制限の実現方法

はじめに 前回で、Kirkstoneではdo_fetch以外のタスクからは原則ネットワークアクセスができなくなっていることについて調査した。 Release 4.0 (kirkstone)には下記のように記載があり、カーネル機能を使用しているとのことだったが、具体的にどのような機…

Yocto Project Kirkstone(4.0) do_fetch以外でのネットワークアクセスについて

はじめに GW前にYoctoProject 4.0(kirkstone)がリリースされた。 変更点の詳細はRelease 4.0 (kirkstone)を参照。 使ってみようと思っていたら、ツイッターで下記のような情報が流れてきた。 yocto 4.0になってから、cmakeのexternal_projectでダウンロード…

pandocのdockerでEisvogelを使用する

はじめに pandocが提供しているDockerコンテナpandoc/latexをベースにEisvogelを使用できる環境を作成する。 目指すゴールは下記が全て機能すること。 PlantUMLが使用できる Eisvogelを使用してきれいなPDFを出力できる pandoc-crossrefが使用できる [2022/4…

pandoc-crossrefとEisvogelを併用する

はじめに pandoc-crossrefフィルタとEisvogelを併用すると下記のようなエラーが発生する。 Error producing PDF. ! LaTeX Error: Environment lstlisting undefined. See the LaTeX manual or LaTeX Companion for explanation. Type H <return> for immediate help.</return>…

pandoc-crossref + PlantUML

はじめに pandocには図や表、ソースコードを相互参照するための便利な機能として pandoc-crossrefというフィルタある。 PlantUMLで作成した図をpandoc-crossrefで相互参照したい。 以前は PlantUMLの図はテキストで記述するためコードブロックを使用する。 `…

Dockerを使用して比較的新しいpandoc環境を簡単に構築する

pandocは便利で手放せないが、LTSのディストロを使用したりすると、 更新が追いつかなくなる。 自前で環境を作るにも結構手間がかかるため、一度環境を作ってしまうと、 秘伝のタレのように使い続けてしまいがちになる。 そのため、PCを新調したり、OSを入れ…

Yocto Honister ラズパイ4でVulkanデモプログラムを動かしてみる

はじめに なんとなく、Raspberry Pi 4 で Vulkan を試すと同様のことをPokyでもやってみた。 使用するのはラズベリーパイ4 動かすデモプログラムはSaschaWillems/Vulkan。これはVulkanのデモとしては有名なものらしい。 run_crops.sh(余談) gistに置いた。 …

Yocot Project CROPSを拡張してkasを使ってみる

はじめに CROPSを使用すると、ホスト環境の差異を気にせずにbitbakeができるようになるので 非常に便利だが、たまにhosttoolsを追加したりCROPSのDockerイメージを拡張したいケースがある。 その際にCROPSの提供物を直接編集することなく、Dockerイメージを…

Yocto Project CROPSでmeta-riscvをビルドしてみる

はじめに "Yocto Project CROPSを使ってみる"を拝見して、、、Fedoraのpodmanでもできました。https://t.co/YGURc1j6hz— nb.o (@Nextremer_nb_o) February 9, 2022 私の記事を参考にして、meta-riscvをビルドしようとしたけどうまくいかないらしかったので試…

Yocto Honister ラズパイ4でTPMエミュレータを使ってみる

はじめに Yocto ProjectでもいくつかのレイヤでTPMをサポートしている。 ラズベリーパイシリーズはTPMモジュールは搭載されておらず、外付けのモジュールを使用するか エミュレータを使用する必要がある。 meta-security配下にあるmeta-tpmではTPMエミュレー…

Yocto Project CROPSでmeta-raspberrypiをビルド

はじめに 前回CROPSを動かしてみた。 CROPSでmeta-raspberrypiをビルドしてみる。今回はラズベリーパイ4を使用する。 run_crops.sh 今回も前回作成したrun_crops.shを使用する。 #!/bin/sh cmd="source /workdir/poky/oe-init-build-env" if [ $# -gt 0 ] ; …

Yocto Project HONISTERの注意点

はじめに 最近やっと時間が取れるようになって(なってない)、HONISTERをいじり始めた。 初っ端から下記のようなエラーが発生して面食らった。 ERROR: Variable DISTRO_FEATURES_append contains an operation using the old override syntax. Please convert…

Yocto Project CROPSを使ってみる

はじめに Yocto Projectではbitbakeを実行するためのDockerコンテナを提供している。 そのコンテナはCROss PlatformS(CROPS)と呼ばれている。CROPSの詳細はSetting Up to Use CROss PlatformS (CROPS)を参照のこと。 使い方 使い方についてのざっくりな説明…