免責事項: しばらくの間 Linux ユーザーであり、Raspbian、Armstrong(beaglebone)、組み込み debian などのディストリビューションを使用していたにもかかわらず、組み込み Linux の世界 (Ubuntu および Debian) を掘り下げたのはこれが初めてです。タイトルも一般的なように見えるかもしれませんが、私は本当に良いものを思いつきませんでした.完全な美しさの睡眠、火曜日まで再び機会が得られないので... 文法/構文/フォーマットのエラーをお詫びします。
バックグラウンド
Debian、Armstrong、Ubuntu、OpenWRT などのパッケージはどのように構築されていますか? つまり、イメージを BeagleBone Black のようなボードにダウンロードするときは、u-boot、カーネル、およびパッケージをビルドする必要があり、これらのディストリビューションを互いに区別するのはパッケージであることを知っています (ここでは間違っている可能性があります)。 、私を修正してください)。
私はこれらのディストリビューション (正確には Armstrong と OpenWRT) をビルドする方法を読んでいますが、ディストリビューションを実行するには、リポジトリをダウンロードして構成スクリプトを実行するように指示されています。(1) BeagleBone、Raspberry Pi、またはその他のよく知られているボードの構成に該当しないカスタム ボードを使用するとどうなるでしょうか? ( 2)の作成者は何を言いましたか? (3)どのようにして独自のディストリビューションを作成したのですか? ( 4)必要なパッケージをインストールして他のディストリビューションとは異なる独自のディストリビューションを作成することは可能ですか?」
ご覧のとおり、4 つの異なる質問があるので、必要に応じて次の段落を使用して説明します。
(1) BeagleBone、Raspberry Pi、またはその他のよく知られているボードの構成に該当しないカスタム ボードを使用するとどうなりますか?
Ok。ディストリビューションを構築するために彼らが実行するスクリプトを読んでみましたが、長すぎます。私が読んでいることから、これらのスクリプトは u-boot、カーネル、およびパッケージをダウンロードし、それらをビルドして同じイメージ内に配置すると想像します (bootoader とカーネルだけで「手動で実行する」方法を読みました)。 )。いくつかの構成ファイル、ボードが記述されている場所などがあると思いますが、確かではありません。私は正しい道にいますか?
(2)そのボードの作成者は、最初に独自のボードを作成したときに何をしましたか?
「よし、あなたのボードに似たボードを見つけて、ファイルを変更して、それを続けてください」と考えるまでは。現実の世界ではそうするでしょうが、今は学びたいと思っており、この知識をすべて頭に刻み込んで初めて学ぶことができます。問題は、いくつかの構成ファイルがあり (u-boot とカーネルから調べたことによる)、私の体のすべてが、これを尋ねる前に Embedded Linux Primer, 2nd edition を読むように指示しているということです。これに対する答えが深すぎる場合は、本を読むように言ってください。そうでない場合は、誰か助けてくれませんか?
(3)どのようにして独自のディストリビューションを作成したのですか?
(4)自分の好きなパッケージをインストールして、他のディストリビューションとは違う独自のディストリビューションを作ることはできますか?
ディストリビューションの背後には多くの開発があることを知っています。決して中傷するつもりはありません (これは正しい言葉ですか?英語は私の母国語ではありません。定義によれば、問題ないように見えますが、どういうわけか「ばかげている」と感じます。ここで使用) これらすべてのチームによって行われた開発。質問なのですが、ブートローダ、カーネル、その他いくつかのランダムなプログラムとパッケージをビルドして、それを自分のディストリビューションと呼ぶことができますか? その場合、パッケージ イメージをディストリビューションに組み込むにはどうすればよいですか?
よく知られているディストリビューションをスクリプトを使用せずにゼロから開発している場合、ブートローダー、カーネル、およびよく知られているディストリビューションが使用するすべてのものを構築し、それをイメージにバインドしますか? u-boot とカーネルをビルドしてから、他のすべてのソースをインストールし、そこから新しい Linux イメージをビルドしますか?
編集:新しい読者が私の考えを理解できるように、上記のテキストを残しておくことをお勧めします. 少ない言葉で自分を表現し、それを「関連性のある質問」にするのは難しいと思います. そのため、現時点で考えられる最も客観的な質問のヘッダーを下に置きます。また、テキストを少し編集し、タイトルを付けました。以前の質問は有効に思えますが、さまざまな良い回答がありますが、同じ質問で他の人に役立つ可能性があるため、取り消すだけです。必要に応じて、それらを削除できます。
質問にジャンプ
答えてもらいたい質問がいくつかありますが、できるだけ客観的に答えようとしています。
u-boot、カーネル、および特定の OpenWRT ソースをダウンロードして、ソース コードから OpenWRT のようなディストリビューションを構築できますか? 提供されたスクリプトを使用せずにそれを実行できるかどうかを意味します。彼らのスクリプトを使用すれば、いくつかの構成を変更して、それを自分の「独自の」開発ボードに移植できることがわかります。yocto は私の出発点でしょうか?
独自の開発ボードを構成するにはどうすればよいですか? u-boot とカーネルをコンパイルして、後でいくつかのプログラムをインストールしても問題ありませんか? 生産準備はできていますか?
多くの人が Linux についてゼロから何かを言いました。私が見つけたそれに対する主な議論は、それが生産にとってひどいものだったということでした。なぜそれが本番環境にとってひどいのかを説明する代わりに、自分のセットアップを本番環境に「適した」ものにする方法を教えてください。