#author("2021-11-05T06:52:23+00:00","default:admin","admin") #author("2021-11-05T07:33:41+00:00","default:admin","admin") -[[Embedded Linux Distributions:https://elinux.org/Embedded_Linux_Distributions]] --[[RZ-G:https://elinux.org/RZ-G]] -[[クミコミ:https://www.kumikomi.jp/]] -[[【Yocto】組み込みLinuxの主流はYocto:https://pavement1234.net/yocto/]] -[[「組み込みLinux」開発の基礎:https://techfactory.itmedia.co.jp/tf/articles/1704/18/news012.html]] -[[組込み開発におけるLinuxシステムについて:https://www.eipc.jp/embedded/linux/]] -[[組込Linuxとは|使用する5つのメリットとアプリケーション開発の流れ:https://furien.jp/columns/82/]] -[[組み込みLinuxの「正体」と開発の「困難さ」:http://techfactory.itmedia.co.jp/tf/articles/1708/08/news010.html]] -[[お手軽お試し!組み込みLinux対応のボード紹介:https://www.eipc.jp/embedded/linux/20140616/]] -[[組込みLinux選択のポイント ~第1回:リアルタイムOSからLinuxへ~:https://www.cybertrust.co.jp/blog/iot/techinfo/point/point-01.html]] -[[組込みLinux選択のポイント ~第2回:組込み OS の比較と選択~:https://www.cybertrust.co.jp/blog/iot/techinfo/point/point-02.html]] -[[組込みLinux選択のポイント ~第3回:組込み Linux 導入の注意点~:https://www.cybertrust.co.jp/blog/iot/techinfo/point/point-03.html]] -[[組込みLinux選択のポイント ~第4回(最終回):組込み Linux のトラブルとディストリビューションの必要性~:https://www.cybertrust.co.jp/blog/iot/techinfo/point/point-04.html]] -[[組込みLinuxでplatform deviceを記述する3つの方法(board file/device tree/ACPI DSDT):https://qiita.com/tomoyuki-nakabayashi/items/727895e24d498b4cf4c1]] -[[OSAKA NDS Embedded Linux Cross Online Forum #12:https://www.nds-osk.co.jp/forum/onlcf12.html]] *リアルタイム処理に最適化 [#f3e93ae4] -[[Real-Time Linux Wiki:https://rt.wiki.kernel.org/index.php/Main_Page]] -[[リアルタイムカーネル - ArciWiki:https://wiki.archlinux.jp/index.php/%E3%83%AA%E3%82%A2%E3%83%AB%E3%82%BF%E3%82%A4%E3%83%A0%E3%82%AB%E3%83%BC%E3%83%8D%E3%83%AB]] -[[Building RT image with Yocto:https://archive.fosdem.org/2018/schedule/event/rt_linux_with_yocto/attachments/slides/2684/export/events/attachments/rt_linux_with_yocto/slides/2684/Yocto_RT.pdf]] -[[One Build To Rule Them All:Building FreeRTOS & Linux Using The Yocto Project:https://elinux.org/images/9/9f/ELC_Europe_2019_Presentation_AlejandroHernandez_FreeRTOS_ToUpload.pdf]] -[[Real-time Linux communications:https://medium.com/hackernoon/real-time-linux-communications-2faabf31cf5e]] -[[Real-time Linux communications: an evaluation of the Linux communication stack for real-time robotic applications:https://arxiv.org/pdf/1808.10821.pdf]] -[[Linux における low latency カーネルの周期的制御を目的とした利用法と試用:https://www.jstage.jst.go.jp/article/bnitk/50/0/50_94/_pdf/-char/ja]] -[[「LinuxによるRTOSの実現」関連の最新 ニュース・レビュー・解説 記事 まとめ:https://www.itmedia.co.jp/keywords/linux_rtos.html]] ... 2005年の記事 --[[リアルタイム機能とLinuxでの実現方法:https://monoist.atmarkit.co.jp/mn/articles/0501/12/news113.html]] --[[マイクロカーネル方式とリアルタイム性能:https://monoist.atmarkit.co.jp/mn/articles/0504/12/news102.html]] --[[スタンドアロン方式とリアルタイム性能:https://monoist.atmarkit.co.jp/mn/articles/0506/28/news112.html]] **RT PREEMPT [#v0fa93a0] -[[HOWTO setup Linux with PREEMPT_RT properly:https://wiki.linuxfoundation.org/realtime/documentation/howto/applications/preemptrt_setup]] -[[HOWTO build a simple RT application:https://wiki.linuxfoundation.org/realtime/documentation/howto/applications/application_base]] -[[Intel Edisonをリアルタイム化する:https://qiita.com/yoneken/items/2f6fd50bf9837cf50f9d]] -[[ubuntuにrt-preemptカーネルを導入する:http://szmlb.hatenablog.com/entry/2016/11/24/132322]] **[[RedHawk Linux:https://www.concurrent-rt.co.jp/solutions/linux/]] [#k75933e6] -[[RosConJP2019の発表資料 - Concurrent Real-Time:https://www.concurrent-rt.co.jp/external/TechSup/PDF/RosConJP2019V2.3.pdf]] -[[Comparison of Real-time Network Performance of RedHawk Linux 7.5.2 and Red Hat Operating Systems:https://www.concurrent-rt.com/wp-content/uploads/2016/09/Comparison_of_Real-Time_Network_Performance.pdf]] **Xenomai Linux [#f0de4c4a] -[[Xenomai - Wikipedia:https://ja.wikipedia.org/wiki/Xenomai]] *[[Yocto Project:https://www.yoctoproject.org]] [#e71dd335] -[[Source Repository:http://git.yoctoproject.org/]] -[[Kernel Development Manual:https://www.yoctoproject.org/docs/current/kernel-dev/kernel-dev.html]] -[[組み込みLinuxと「Yocto」の深イイ関係、そしてクラウドネイティブへ:https://monoist.atmarkit.co.jp/mn/articles/1910/07/news039.html]] -[[Yocto Project を使用して組み込み用のカスタム Linux ディストリビューションを作成する:https://www.ibm.com/developerworks/jp/linux/library/l-yocto-linux/index.html]] -[[Yocto ProjectでRaspberry Pi用Linux ディストリビューション作成:http://blog.web.nifty.com/engineer/810]] -[[Raspberry Pi3 with Yocto Project:環境構築:http://qiita.com/Nao1215/items/399b24bf5d9d81ac087d]] -[[Yoct project を使ってBeagleboneblack 用 linux imageを作る:https://jsdkk.com/blog/mugita/?p=606]] -[[Linuxの新定番Yoctoを使ってみよう!:https://www.aps-web.jp/academy/linux-cyclone/271/]] -[[YoctoをつかったDistroの作り方とハマり方 - SlideShare:https://www.slideshare.net/wata2ki/yoctodistro]] -[[Yocto Project入門:https://techbookfest.org/product/6590025001074688]] -[[Yocto Project ハンズオン プレゼン用資料:https://www.slideshare.net/iwamatsu/yocto-project-40180199]] -[[レシピの作り方:https://www.slideshare.net/iwamatsu/ss-31662659]] **概要 [#o8223243] -Yocto Project はオープンソースのコラボレーション・プロジェクト -組み込み製品のための Linux ベースのカスタム・システムをハードウェア・アーキテクチャーに関わらず構築するための、テンプレート、ツール、手段を提供している -Yoctoの基本設定でビルドしてもイメージサイズはraspbian jessie Liteの1/10程度になる -ソースコードベース **関連プロジェクト [#zc10178c] ***Poky [#sc84cfdb] -ディストリビューション作成をサポートするビルドシステム -最小構成のLinuxディストリビューションを作成できる -主な生成物 --Linuxカーネル --ブートローダー --ユーザーランド(rootfs) --クロスツールチェイン --SDK ***bitbake [#z71c20d5] -Pythonで書かれたビルドツール -レシピを解析し、定義された動作を実行する -レシピはレイヤー単位で提供 -レイヤーを重ねることで、既存のレシピの修正や置換が可能 -[[レシピの作り方:https://www.slideshare.net/iwamatsu/ss-31662659]] ***OpenEmbedded-Core [#ra7d6759] -OSSパッケージのレシピ集 ***[[matchbox:https://www.yoctoproject.org/software-item/matchbox/]] [#g4bd802f] -GUIライブラリ ***opkg [#ja84baa3] -パッケージングシステム ***Toaster [#i8970ac1] --ビルドサポート用GUI ***関連サービス [#l7973c7c] -[[Yocto コンシェルジュ:https://www.cybertrust.co.jp/iot/yocto.html]] **Wind River Linux [#z1eaf015] -[[Board Support Packages (BSPs):https://www.windriver.com/japan/products/board-support-packages]] -[[組み込みLinuxディストリビューションとは:https://www.aps-web.jp/academy/wr-linux/18209/]] -[[Yoctoベースの組み込みLinux「Wind River Linux」を使って、Raspberry Pi上で動作するLinuxディストリビューションをゼロから作る:https://www.aps-web.jp/academy/wr-linux/18676/]] -[[QEMUで組み込みLinuxを手早く開発、実機不要の開発フローを学ぶ:https://www.aps-web.jp/academy/wr-linux/18673/]] -[[組み込みLinuxの起動シーケンスを理解し、自社開発のLinuxアプリケーションをシステムへ統合する:https://www.aps-web.jp/academy/wr-linux/22717/]] -[[はじめて学ぶデバイスドライバ開発。組み込みLinuxによるハードウェア制御の仕組みを学ぶ:https://www.aps-web.jp/academy/wr-linux/23638/]] -[[Docker×組み込み製品活用術!Wind River Linuxでコンテナ入門:https://www.aps-web.jp/academy/wr-linux/21586/]] **CPUボードメーカー [#ac8e1aa1] -[[Toradex:https://www.toradex.com/ja-jp/operating-systems/yocto]] **各チップ [#ued4871f] -[[RZ/G2 Group Linux BSP Porting Guide Rev.1.07:https://www.renesas.com/jp/ja/document/mas/rzg2-group-linux-bsp-porting-guide-rev107?language=en]] *[[Ubuntu Core:https://ubuntu.com/core]] [#q8a76d3e] -[[Build security into your robot’s future with Ubuntu:https://ubuntu.com/robotics]] -[[IoT向けUbuntu:https://jp.ubuntu.com/iot]] -[[IoT/組み込み向け「Ubuntu Core 18」リリース:https://thinkit.co.jp/news/bn/15716]] -[[オープンソースOS「Ubuntu Core」でさらに進むIoTデバイスの活用:https://techtarget.itmedia.co.jp/tt/news/1801/25/news03.html]] -[[ロボットに最適なOSは「Ubuntu」か、長期サポートとパッケージ管理が強み:https://monoist.atmarkit.co.jp/mn/articles/1909/25/news033.html]] -[[第646回 Raspberry PiをIoTデバイスとして活用できるUbuntu Core:https://gihyo.jp/admin/serial/01/ubuntu-recipe/0646]] -[[Building an Ubuntu Core 18 image for Nitrogen i.MX6 board:https://ubuntu.com/blog/building-an-ubuntu-core-18-image-for-nitrogen-i-mx6-board]] -[[Ubuntu Core 16 for i.MX6 and i.MX7 platforms:https://boundarydevices.com/ubuntu-core-16-mx-platforms/]] -IoT向けにsnapベースで構築したUbuntuシステムの総称 -「Ubuntu Core 18」は、「Ubuntu 18.04」をベースとし、IoT向けに軽量化などの処理を施したLinuxディストリビューション -組み込み、コンテナでの利用にも適している -パッケージを必要なもののみに絞り込み、260MBという容量を実現 -特徴の一つに、「Snap」と呼ばれる脆弱性をスキャンする機能を備えたパッケージシステムを持つなどセキュリティ施策も備えている -「Ubuntu Core 18」は、今後10年間のセキュリティアップデートを提供する予定となっている **特徴 [#ree5d86e] -セキュアかつコンテナ化されたパッケージ管理システム「Snap」 -マネタイズやOTA実装を支援するストア機能「Snap Store」 -ロボット開発で活用が進むアプリケーションフレームワークの「ROS(Robot Operating System)」も、Ubuntuを推奨OSとして設定している **採用事例 [#fbb4957c] -CYBERDYNEが開発するロボット -Amazonの「DeepLens」および「DeepRacer」 -DJIのドローン搭載型コンピュータ「Manifold 2」 *[[BusyBox:https://busybox.net]] [#x0830214] -[[組み込みLinuxで際立つ「BusyBox」の魅力:http://monoist.atmarkit.co.jp/mn/articles/0802/04/news114.html]] -[[組み込みLinuxの十徳ナイフ。多数のコマンドを集めたBusyBoxの概要と使い方:https://kakurasan.blogspot.jp/2015/08/busybox-features-usage.html]] -「cp」「init」「ping」をはじめとするさまざまなコマンドの働きを1つの実行ファイルに持たせており、BusyBoxがこれらのコマンドの代わりを果たしている -GPLライセンス --BusyBoxに改変を施し、BusyBoxを組み込んだ機器を販売した場合は、改変したBusyBoxのソースコードを開示する義務が生じる(改変しないで利用すれば良い) *[[uClibc:https://www.uclibc.org]] [#gfc8b920] -[[組み込みLinuxではまるuClibcのdaemonとpthread_create:https://qiita.com/kadopoly/items/19ad9648247de839be4e]] -組み込みLinux向けの小型標準Cライブラリ *GUI [#ledb25b4] -[[組込み機器向けHMI/GUIツール調査(2017.10時点):https://medium.com/munes-diary/%E7%B5%84%E8%BE%BC%E3%81%BF%E6%A9%9F%E5%99%A8%E5%90%91%E3%81%91hmi-gui%E3%83%84%E3%83%BC%E3%83%AB%E8%AA%BF%E6%9F%BB-2017-5%E6%99%82%E7%82%B9-eb5c87e4022]] **[[Gecko Embedded:https://github.com/webdino/gecko-embedded]] [#n46e0eaf] -[[Gecko Embeddedプロジェクト:http://www.clear-code.com/blog/2017/7/6.html]] --[[Firefoxビルド手順(ルネサスRZ/G1E Yocto-2.0):https://github.com/webdino/meta-browser/wiki/Build-RZ-G1E-Yocto2.0]] *関連サイト [#g3956a10] -[[APS:https://www.aps-web.jp]] --[[組み込みLinux・Cyclone編:https://www.aps-web.jp/academy/linux_cycl/]] --[[組み込みLinux・RZ/G編:https://www.aps-web.jp/academy/linux_rzg/]] --[[VIA Smart ETKとVAB-630で始める、組み込みAndroidアプリ:https://www.aps-web.jp/lab/via/201705/]] *参考書籍 [#pd08d546] -[[動くメカニズムを図解&実験! Linux超入門 (My Linuxシリーズ):http://shop.cqpub.co.jp/hanbai/books/44/44721.html]] *関連企業・製品・サービス [#y7d3cc45] **OS [#aca885e2] ***[[サイバートラスト:https://www.cybertrust.co.jp/]] [#jcdb7cc9] -[[EMLinux:https://www.cybertrust.co.jp/iot/emlinux.html]] -[[EM+PLS:https://www.cybertrust.co.jp/iot/empls.html]] -[[組込みLinuxの課題を解決!【EMConnect】のご紹介:https://www.armkk-event.com/ts/2018/data/e5_cybertrust.pdf]] ***[[イー・フォース:https://www.eforce.co.jp/]] [#h316d366] -[[μC3+Linux:https://www.eforce.co.jp/uc3linux/]] ***[[イーソル:https://www.esol.co.jp/]] [#yff092b7] -[[RTOSとLinuxの共存による高信頼性・高機能の両立:https://www.esol.co.jp/embedded/rtos-linux.html]] **CPUボード [#z18f3953] -[[Armadillo - アットマークテクノ:https://armadillo.atmark-techno.com/]] -[[Toradex:https://www.toradex.com/ja-jp]] *開発 [#fd4a15e7] -[[大阪エヌデーエス:https://www.nds-osk.co.jp/]] -[[テクノクリエート:http://www.techno-create.com/]] *ベアメタル [#nb2d5725] -ベアメタル (OSが動作していない環境) -[[ARM Cortex-M 32ビットマイコンでベアメタル "Safe" Rust:https://qiita.com/tatsuya6502/items/7d8aaf3792bdb5b66f93]] *RTOSとの共存 [#c2744e95] -[[Linux - RTOS 共存の取り組み:https://www.cybertrust.co.jp/blog/iot/techinfo/iot-001.html]] -[[LinuxとRTOSでOS間通信:https://www.aps-web.jp/lab/315/]] -[[RTOSとLinuxを同時に使う理由とそれぞれの課題:https://techfactory.itmedia.co.jp/tf/articles/1807/12/news008.html]] -[[組み込みOSに最適なのは?リアルタイムOSとLinuxの違い:https://www.aps-web.jp/academy/rtos/289/]] -[[「RTOSとは何か」を理解できる7つの特徴:https://techfactory.itmedia.co.jp/tf/articles/1705/17/news004.html]] **OpenAMP [#g3b375e9] -[[OpenAMPを実際に使って分かったこと:https://www.cybertrust.co.jp/iot/docs/openamp-findings-tips.pdf]] -[[OpenAMPをMPSoCで動かしてみよう!:https://www.aps-web.jp/academy/linux-mpsoc/544/]] -[[OpenAMP on ZYBO (Zynq) 1回目: とりあえずサンプルを動かす:https://qiita.com/iwatake2222/items/ff46792eb107d978cd0b]] -[[Bare-Metal, RTOS, or Linux? Optimize Real-Time Performance with Altera SoCs:https://people.ece.cornell.edu/land/courses/ece5760/DE1_SOC/wp-01245-optimize-real-time-performance-with-altera-socs.pdf]] -[[シンプルな AMP : 2 つの Zynq SoC プロセッサ上で動作する Linux およびベア メ タル システム:https://japan.xilinx.com/support/documentation/application_notes/j_xapp1078-amp-linux-bare-metal.pdf]] -[[Ultra96v2 で OpenAMP を動かすためにやったこと。:https://qiita.com/daiki0321/items/ccfe416d7f0c0fa3ad42]] -[[One Build To Rule Them All:Building FreeRTOS & Linux Using The Yocto Project:https://elinux.org/images/9/9f/ELC_Europe_2019_Presentation_AlejandroHernandez_FreeRTOS_ToUpload.pdf]] -[[OSベンダが提案するマルチコアCPUの効率的な活用方法 ~今あるリソースをちゃんと使えていますか?~:https://www.iar.com/globalassets/japankk-office/uc3linux_iardevcon_20191029_rev3.pdf]] -[[マルチOSを実現するOpenAMP仕様のメリットと開発手法について:https://www.armkk-event.com/ts/2018/data/e1_eforce.pdf]] -[[OpenAMP on i.MX8 – Yocto Linux with FreeRTOS #1:https://blog.lineo.co.jp/archives/1325]] -[[OpenAMP on i.MX8 – Yocto Linux with FreeRTOS #2:https://blog.lineo.co.jp/archives/1350]] **MDCOM [#l39d14fd] -[[MDCOM(MultiDomain Communication Module)とは:https://www.toppers.jp/mdcom.html]] -[[ヘテロジニアスプロセッサ向け通信ライブラリMDCOM:https://www.toppers.jp/201703_ETNET_mdcom.pdf]] -[[RTOS/Linuxの共存を実現する「OpenAMP」と「MDCOM」の違いとは?:https://techfactory.itmedia.co.jp/tf/articles/1810/10/news001.html]] *CAN [#qea64830] -[[LinuxでCAN(車載通信)を動作させてみる:https://qiita.com/yuichi-kusakabe/items/e5b50aa3edb712bb6916]] -[[シミュレーション環境でCAN通信を試す:https://www.shutingrz.com/post/can-training-first/]] -[[CANUSB:http://www.can232.com/?page_id=16]]