問題タブ [linux-distro]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
818 参照

linux - Linux ディストリビューションを構築するにはどうすればよいですか?

免責事項: しばらくの間 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 イメージをビルドしますか?

編集:新しい読者が私の考えを理解できるように、上記のテキストを残しておくことをお勧めします. 少ない言葉で自分を表現し、それを「関連性のある質問」にするのは難しいと思います. そのため、現時点で考えられる最も客観的な質問のヘッダーを下に置きます。また、テキストを少し編集し、タイトルを付けました。以前の質問は有効に思えますが、さまざまな良い回答がありますが、同じ質問で他の人に役立つ可能性があるため、取り消すだけです。必要に応じて、それらを削除できます。

質問にジャンプ

答えてもらいたい質問がいくつかありますが、できるだけ客観的に答えようとしています。

  1. u-boot、カーネル、および特定の OpenWRT ソースをダウンロードして、ソース コードから OpenWRT のようなディストリビューションを構築できますか? 提供されたスクリプトを使用せずにそれを実行できるかどうかを意味します。彼らのスクリプトを使用すれば、いくつかの構成を変更して、それを自分の「独自の」開発ボードに移植できることがわかります。yocto は私の出発点でしょうか?

  2. 独自の開発ボードを構成するにはどうすればよいですか? u-boot とカーネルをコンパイルして、後でいくつかのプログラムをインストールしても問題ありませんか? 生産準備はできていますか?

  3. 多くの人が Linux についてゼロから何かを言いました。私が見つけたそれに対する主な議論は、それが生産にとってひどいものだったということでした。なぜそれが本番環境にとってひどいのかを説明する代わりに、自分のセットアップを本番環境に「適した」ものにする方法を教えてください。

0 投票する
1 に答える
51 参照

operating-system - オペレーティング システム (クリーン インストール) のサイズが増大しているのはなぜですか?

わかりました、これは単純な質問ですが、ディストリビューション (Linux) を作成している方、または OsX や Windows に関係している方からの回答をお待ちしております。

インストール後のサイズが大きくなっているようで、Windows 10 では 20GB (64bit) のディスク容量が必要です。カーネルは問題ではないと思いますので、問題はアプリケーション (つまりユーザー空間) にあります。しかし、OS にパッケージ化されたアプリケーションの数の増加は見られません。少なくとも大幅な増加ではありません。問題は、アプリケーションの作成方法、ランタイム サポートなどです。

誰かがこれについてコメントできますか?

0 投票する
4 に答える
1388 参照

linux - ディストリビューションが使用している Linux カーネルのバージョンを知るにはどうすればよいですか?

私が走るとき

Debian7 では 3.2.0-4-686-pae を取得し、Gentoo では 4.4.26-gentoo を取得します。

しかし、どこにも見つからないのは、これらのディストリビューションが使用する Linux カーネル ソースのバージョンです。私が正しく理解している場合、すべてのディストリビューションはここhttps://www.kernel.orgからカーネル ソース コードを取得します。たとえば、4.4.26-gentoo または 3.2.0-4-686-pae を使用している Linux カーネルのバージョンをサイトから調べるにはどうすればよいでしょうか?

0 投票する
2 に答える
745 参照

python - 組み込みインストールで Python パスが設定されない

EspressoBin シングル ボード コンピューター (aarch64) で python3 を実行しようとしています。Marvell のopenembeddedディストリビューションを使用して Linux ディストリビューションを構築し、 python3.

問題は、python の検索パス/環境変数が設定されていないことです。

python3 を起動しようとすると、次のようになります。

ただし、次の場合:

その後、すべてが魔法のように機能します。

問題は...これらは通常どこで/どのように設定されているのですか? Ubuntu と比較してみましたが、何らかの理由でそれらの環境変数がまったく存在しません。sys.pathのドキュメントを確認したところsys.path、「インストールに依存するデフォルトに加えて」PYTHONPATH からデータが取り込まれていることがわかりました。それで、Ubuntuの「インストールに依存するデフォルト」には正しいパスが事前に設定されていると思いますか?

私の現在の解決策は、これらの 2 つの環境変数を/etc/environment/etc/profile(ssh 接続の場合) に追加することですが、これはハックな回避策のようで、正しく実行したいと考えています。