この記事は タイトル通り、 Yocto を docker コンテナ内でビルドします。 Dockerfile Ubuntu 16.04 をベースとして、 に書かれているパッケージを追加します。 また、locale の設定も必要でした。 FROM ubuntu:16.04 ENV DEBIAN_FRONTEND noninteractive RUN apt-get update && apt-get dist-upgrade -y && apt-get autoremove --purge -y \ && apt-get install -y \ gawk wget git-core diffstat unzip texinfo gcc-multilib \ build-essential chrpath socat cpio python python3 python3-pip python
はじめに Yoctoを使う仕事をしていると、依存関係という言葉をよく聞きます しかしながら、Yoctoにおける依存関係は結構複雑です。 このため、この記事では以下の順番で依存関係を整理します。 パッケージとタスクの関係 依存関係とは何か パッケージ間の依存関係の設定 タスク間の依存関係の設定 依存関係を可視化する方法 前提とする知識 yoctoの文脈で以下の言葉を知っていればたぶんOKです yocto poky bitbake パッケージ タスク フラグ DEPENDS/RDEPENDS パッケージとタスクの関係 パッケージとは パッケージはbitbakeのビルド単位です。例えば、gccやpythonなどのパッケージがあります。 タスクとは タスクはbitbakeが実行する処理の単位です。例えば、do_buildやdo_compileなどがあります。 パッケージとタスクの関係 パッケージと
Copyright 2012, Toshiba Corporation. Developing Embedded Linux by Poky HAYASHI Kazuhiro Advanced Software Technology Group Corporate Software Engineering Center TOSHIBA CORPORATION 2012/09/20 2 はじめに 組込み向けLinux開発における要求・課題 クロス開発環境の準備 プログラム(パッケージ)間の問題解決 依存、競合、バージョンごとの互換性 最小構成の実現 必須機能以外を省いた環境構築 多重開発の防止 共通化可能なリソースの発見と流用 組込み向けLinuxビルドツール「Poky」を活用 Pokyの概要説明 自分向けにカスタマイズする 使用上の課題を考え
標準的な Yocto の知識についてまとめる。Yocto 開発環境の構築には、git clone を使う。(pyro で 200MB) 以下の項目が含まれる oe-init-build-env: 環境設定スクリプト bitbake, bitbake-layers, oe-pkgdata-util: 各種コマンド 用語 layer: conf/layer.conf の置いてあるディレクトリの事 recipe: ソフトウェアの単位 .bb ファイルの事 package: 生成物インストールの単位 dev doc 等に分割出来る。 Bitbake の動作 bitbake recipe で何が起こるか? Bitbake は conf/bblayers.conf を読む Bitbake は BBLAYERS を読む BBLAYER には空白区切りでディレクトリが書いてある (例: ${METADIR
はじめに yoctoを使ってカスタムしたlinuxをビルドをビルドする仕事してます。 (僕は最近全然仕事してないけど) この仕事では、例えば以下のようなリクエストが来ます。 特定のbbclass(core-image.bbclassとか)を継承したファイルをリストアップしてほしい すべてのパッケージのある変数(例えばPE,PV,PR)をリストアップしてほしい 特定のパッケージ(例えばgcc)にあたってるbbappendファイルをリストアップしてほしい 面倒くさくない? 僕はgrepしたくないし、時間かかるからビルドもしたくないんだよ... Bitbakeをpythonから使おう 面倒臭いので、なんとかする方法を調査しましょう。 まず、bitbakeコマンドによるビルドの仕組みがざっくりこんな感じ。 このTinfoilがすごい複雑なので使いづらいんですね。実際のコードはここ 一方、serve
追記 こちらの記事は2019年に書いた記事でしたが、最近のyoctoでビルドするとこの記事の手順通りにしてもSDカードからLinuxを起動できなくなっていました。(2023年7月時点) kirkstoneでビルドしたイメージを動かす記事を改めて書きましたのでBeagleBoneBlackで動かす部分については以下のリンクの記事の方を参考にしてください。 mcommit.hatenadiary.com yoctoの基本的な知識についてはこちらの記事に書いてあることからあまり変わっていませんのでこちらの記事を読んで頂ければと思います。 (追記ここまで) ちょっと前にyoctoについて色々と調べる機会があったので理解している範囲で書いておきたいと思います。 yoctoに関する基本的な知識とBeagleboneBlack用のイメージをビルドし動かすまでの手順を書いたので少し長くなりました。 目次
デスクトップでUbuntuやRed Hat Linux(RHEL)などのオペレーティング・システムを使用したことのある方なら、LinuxもMicrosoft WindowsやMacOSのようなフル機能のオペレーティング・システムだと思われるかもしれません。しかしUbuntuやRHELは「Linuxディストリビューション」と呼ばれるものです。「Linux」とはシステム・サービスを提供するカーネル・ソフトウェアで、これに各種ソフトウェアを追加したものがLinuxディストリビューションです。ARCプロセッサが使用される組込みの世界では、メモリーやストレージなどシステム・オン・チップ(SoC)のシステム・リソースに制約があることが多く、Linuxディストリビューションも軽量なものが求められます。 デスクトップ/サーバ向けのLinuxディストリビューションは、以下の5つの主要コンポーネントで構成され
Yoctoベースの組み込みLinux「Wind River Linux」を使って、Raspberry Pi上で動作するLinuxディストリビューションをゼロから作る 今回の初心者講座では、商用組み込みLinuxシェアNo.1のWind River Linuxによる「Linuxディストリビューションの開発手順」を紹介いたします。Wind River Linuxは固定的なパッケージ型の製品ではなく、自由自在に新しいLinuxディストリビューションを設計できる、革新的な製品です。 本記事前半では、Wind River LinuxのベースとなっているYocto Projectの概略と、Wind River Linuxの提供する「商用Linux製品ならではの付加価値」を解説いたします。本記事後半では「Wind River Linuxの無償版を実際にダウンロードし、Raspberry Pi 4 Mod
また高速化出来たら随時更新します。 他にもこういうのあるよ、という方は是非教えてください! では本題です。 Yocto Project って何? 組込 Linux 作成ツールです。 ツール名であり、団体名でもあります。2010年結成。 OS 一式(u-boot, kernel, rootfs あたり)を作っちゃおう、というもの。 公式サイト: https://www.yoctoproject.org/ Document: http://www.yoctoproject.org/docs/2.3/mega-manual/mega-manual.html 公式サイトから全体図・構成図のみ引用して貼っておきます。 Yocto build の大きな流れは、 各種ソース(u-boot, kernel, rootfs(ライブラリ、パッケージ))ダウンロード 各種ソースを1つ1つクロスビルド 最後にビル
はじめに Yocto Project 3.0(Zeus)がリリースされていたのでラズベリーパイ3で動かす。 構築手順 ソース取得 $ mkdir -p rpi-zeus/layers $ cd rpi-zeus/layers $ git clone git://git.yoctoproject.org/poky.git -b zeus $ git clone git://git.yoctoproject.org/meta-raspberrypi -b zeus $ git clone git://git.openembedded.org/meta-openembedded -b zeus $ cd ../ 環境変数設定 $ source layers/poky/oe-init-build-env build 自動的にビルドディレクトリに移動される。 これで、bitbake関連のツールが使用
This post is about building 32-bit Linux systems for Raspberry Pi boards using software from the Yocto Project. If you are interested in 64-bit systems for the RPi4 see this post. Yocto is a set of tools for building a custom embedded Linux distribution. The systems are usually targeted for a particular application like a commercial product. If you are looking to build a general purpose developmen
本記事の目的 Yocto Projectを用いて、Raspberry Pi3の開発環境を構築します。 最終的には、容易にアプリのクロス開発ができるように、SDK(ツールチェインやライブラリ)を作成します。 対象者 ・Yocto Projectに興味がある方(※) ・Raspberry Pi3のクロス開発環境を構築したい方 ・ビルド作業を半自動化したい方 ※:レシピ(後述)の書き方やレイヤー(後述)の追加方法などは別記事でまとめます。 Yocto Projectとは Yocto Project(以下、Yocto)は、カスタムLinuxディストリビューションを作成するためのビルドツールです。 Yoctoを利用すれば、コマンド一つで以下の項目を一度にビルドできます。 ・Bootloader ・Device Tree Blob ・Linux Kernel image ・toolchain ・roo
https://ntt-developers.github.io/ntt-tech-conference/2022/ 従来は Docker がコンテナエンジンとして幅広く利用されてきましたが、最近は Kubernetes が Docker 対応を打ち切るなど、風向きが変わってきました。 本セッションでは、Docker に代わって普及しつつあるコンテナエンジンである containerd について、Docker との違いや移行方法を紹介します。 P2P でのイメージ配布など、最新の機能についても紹介します。 JJUG CCC 2019 fall g3のセッション資料です。 「ちょっと凝ったことをしようとすると大量のXMLを書かなきゃいけない」「プラグインを並べてもうまく動いてくれない」など、Mavenは誤解され敬遠され、Gradleなどの他のビルドツールにシェアを奪われてきました。 が、依然
初めに YoctoはReferenceが読みにくく、Referenceを参照して学習することが困難(だと筆者は思う)なツールです 一回勉強したことを忘れないよう、覚えたことをここにまとめます 目標 「Yoctoを触ったことがない人」、「Yoctoを触ってるけど全体像がよくわからない人」が 「大雑把なイメージをつかむこと」「細かいことは自分でググって解決できるようになること」を目標とします 参考 YoctoのQuickStart YoctoのReference bitbakeのReference https://www.yoctoproject.org/docs/latest/bitbake-user-manual/bitbake-user-manual.html (「bitbake reference」でググると古い資料がトップに来るので注意!) Yoctoとは Linuxをビルドするプロ
Yocto projectを用いたCustom Linux imageの作り方について解説します。 Yocto projectの全体像からパッケージの追加の方法までをなるべくわかりやすくご紹介します。
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く