今すぐできる組み込みLinux Desktop Linux から 組み込み Linuxへの第一歩 対象 ==== Linuxが使える方。自力でインストールしDesktop利用やサーバ利用など上位層での 利用が普通に行える方。ハードやデバイスドライバ、カーネル等に詳しい必要はありません。 あるいは、そのような方に今後 組み込み方面の仕事をさせたいと思っている方。 内容 ==== - 現状把握 家電/情報機器の製造、情報サービスにとってLinuxはTRONと並んで広く注目されている。 オープンソースの利用によって、中小企業/SOHOでも取り組みが可能になり、独自色を持っ た機器/サービスの提供が期待されるが、実際にはまだそこまでの取り組みがない。 - 問題分析 Linuxユーザは爆発的に増えたのに組み込みLinux開発者がいない。 組み込みLinuxは難しい・・なぜ難しいのか? - 取り組み/提案 Desktop Linuxから、組み込みLinuxへの第一歩の提案。 一般に知られたディストリビューションを使い、オリジナルLinuxを作る例題を通して 組み込みLinuxを知るきっかけとする。 - 最終目標 → 組み込み装置/小型計算機で動く小さなオリジナルLinux作成 → Compact Flash, USB メモリ, CD-ROM から起動できるオリジナルLinux作成 現状把握 ======== - 家電、通信機器の多機能化、開発サイクルの短縮に伴い、開発に占めるOSの重要度が増している。 - OSとしてTRONにならび、Linuxも利用されることが多い。 - 組み込み系の技術者のニーズは高まっている - オープンソースを用いることにより、中小企業/SOHOでの独自色を出した製品/サービスの 提供が可能に。 - 組み込みLinuxを使える人が少ない。 問題分析 ======== - Linuxユーザは爆発的に増加したものの、組み込みLinuxを扱える人は限られている - ハードウェアおよびOSの動作の理解が不可欠という技術的敷居の高さ - 組み込み開発の困難性 - 専用ハードウェア - 商用OS - クロス開発 - 最近の増加分はデスクトップユーザであり開発には興味がない - 学習意欲はあるが、何から始めたら良いか分からない - 興味を持ったLinuxユーザが次に行くべきSTEPを見つけにくい - LinuxをはじめとするPC-UNIX普及には、興味を持ったらすぐに試せるという背景があったが 組み込みLinux界隈ではまだそのような状況にない。 - コスト的な問題(特別なハード、専用の商用Linux) - 情報的な問題(Internet上、書籍などの情報が不足。商用の情報であることが多い) - 組み込みLinuxの情報の少なさ - フリーな組み込みLinuxの不在 取り組み/提案 ============= - Desk top Linux, server Linuxから組み込みLinuxへ Linuxの起動の仕組み、プロセスを理解していると、組み込みLinuxは案外難しくない。 - Linuxは"boot loader", "Kernel","user land"から構成されており、それぞれを 準備してあげれば、自分独自のLinuxができあがる。 - "Boot loader"は出来合いの(オープンソースとして有名な)ものを利用。 - "Kernel"は自分で作る。Linuxには簡単にカーネルをビルドできる方法が最初から準備されています。 - "user land"作り、これがキモ。しかし、今回 便利なオープンソースなツールを見つけました。 - つじつま合わせ(各種設定。bootの流れ、必要なデーモンの把握) - 組み込みLinuxの困難性の排除 - 専用ハード → 一般的なハードウェアを利用 - 商用Linux → 一般的なディストリビューションを利用 - クロス開発 → クロスコンパイルの必要のない開発環境(開発環境がそのまま実行環境) → 例題を通して組み込みLinuxの仕組みを理解する - ハイテックシステム社MicroPCを利用(普通のPCでもOK) - RedHat, Debian GNU/Linuxなど、一般的なLinuxディストリビューションを利用する - 16MB Compact Flashに収まるMy Linuxを作る - クロスコンパイルのいらない開発環境 - Linuxの起動の仕組みから、組み込みLinuxとは何かを知る 情報源 ====== http://www.linuxdevices.com/ http://www.siliconpenguin.com/ http://www.embedded.jp/ http://www.kernel.org/ http://www.emdebian.org/ http://www.pengutronix.de/software/ptxdist_en.html http://www.rocklinux.org/