Raspberry piのカスタムOSをゼロから構築する方法は?


10

カーネルと組み込みLinuxは初めてです。私は最近Raspberry Piを購入し、Raspbianを使用して起動しました。私はPiに魅了されました。Embeddedの詳細を学ぶために、ホームオートメーションシステムを作ることにしました。自分のカーネルとスタックを使いたかった。つまり、どのOSも使用したくありません。

そのために、公式のgithubからカーネル、target_fs、ファームウェア、ツールチェーンをダウンロードしています。ツールチェーンを使用してカーネルをコンパイルしました。

現在、これを新しいsdカード(フレッシュスタート用にフォーマット済み)に配置する方法がわかりません。スタックを起動する前に注意しなければならないことは何ですか?sshまたはtelnetサーバー/クライアントを配置していないため、起動が成功したことをどのようにして知ることができますか。piのssh / telnetデーモンはどこで入手できますか?私の目的は、Raspberry Piのカーネル(または最低限)のみを起動することです。


2
これは非常に困難な作業であり、まだ十分な経験がないと思います。既存のディストリビューションを調整するだけで、99%の時間を節約できますか?
–ThorbjørnRavn Andersen 2014

これは少し古いことに気づきましたが、最近、MLLについて学びました。これは、最小限のLinux OSを構築するもう1つの方法です。私はLinuxの新人として、MLLがプロセスの学習に役立つことを発見しました。現在、Raspberry Piドライバーをビルドに含めるプロセスを調査しています。MLL minimal.linux-bg.org/#home幸運を祈ります!
ロブ

回答:


9

カーネルは、ルートファイルシステムとinitその上に常駐するデーモンの2つを想定しています。raspbianに含まれているinitはsysVスタイルのシステムです。: -あなたはそれに縛られていない一般的にLinuxで使用される他のinitシステムを(覚えているカーネルがあるのlinuxです)systemdupstart-しかし、あなたはいくつかの種類のinitシステムが必要です。

あなたも置くことができるinitinitramfsに、それはしているカーネルに組み込まれますが、ルートファイルシステムなしで逃げることができ、その場合には、それは、この場合には無意味なようです。

initカーネルによって起動される唯一のユーザーランドアプリケーションです。通常は、ログインでttyを開くプロセスを開始し、次にディスプレイマネージャーやsshdなどを開始する他のサービスを開始します。ログインは必要ないかもしれませんが、おそらくttyが必要です。代わりに直接sshdを起動することもできます。

piのssh / telnetデーモンはどこで入手できますか?

raspbianと同じ場所、上流のソースから入手してください。 このようなものは特にpiのために書かれたものではありません。 または、少なくとも、ごくわずかです。これは、さまざまな異なるシステムで使用されています。

pi ...のために事前にコンパイルしたい場合は、raspbianなどです。1

これを新しいSDカードに追加する方法がわかりません

/bootraspbianイメージのパーティションにあるpi固有のブートローダーを使用する必要があります。


1.正直に言うと、あなたは、質問によって暗示される知識に基づいて、仕事を辞めて、フルタイムで学ぶことに専念しない限り、今年を達成する望みがほとんどないという、非常に奇妙な探求をしていると思います。それでも、失敗する可能性は非常に高く、成功する可能性があるポイントに達するまでに数か月かかります。簡単ではありません。それは簡単ではない。とはいえ、たとえ失敗しても、途中で役立つことを学べるでしょう。ただし、既存のディストリビューション(raspbianなど)と、それを使用してホームオートメーションシステムを作成する方法を理解するための学習に時間を費やす方がよいでしょう。


1
quixotic?あなたは、私の語彙に日常的に挑戦する私が知っている唯一の人の1人です。それだけでも+1。
Jacobm001

7

始めたばかりのあなたのために、組み込みコンピュータ(特にRaspberry Piレベル)を使用するという間違った概念があると思います。本当にカスタムOSを構築したい場合は、LinuxのScratch、LFS、http://www.linuxfromscratch.org/から始めることをお勧めしますが、組み込みコンピューティングを理解したい場合は、「組み込みシステム」、Wikipedia、または組み込みLinux Wiki http://elinux.org/Main_Page


1
LFSの場合は+1。私はクロスコンパイル設定でそれをしたいのですが!
ゴルディロックス

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.