Linuxシステムをゼロから構築するにはどうすればよいですか?


9

カスタムビルドのカーネルでオペレーティングシステムを作成しようとしました。それはあまりうまくいきませんでした。Ubuntuを使用していて、kernel.orgからLinux 3.2.7をダウンロードしています。Ubuntuシステムでカーネルを変更しようとはしていません。LinuxカーネルであるGrubを使用して独自のOSを作成し、CDに入れて別のコンピューターで起動できるファイルタイプ(isoなど)でこの自作OSを作成できるようにしたいと考えています。私の質問は、このOSを作るために正確に何が必要なのでしょうか?コメントやチュートリアルがあれば役に立ちます。


1
Linuxカーネルを起動するようにgrubを設定できます。それを行う方法を見つけるための多くの場所があります。最も信頼できるのは公式マニュアル(gnu.org/software/grub/manual/grub.html)です。カーネルが起動すると、/sbin/init(特に設定されていない限り)にあるプログラムを起動しようとします。このプログラムはあなたがしたいことは何でもできます。/sbin/initUpstart、sysvinit、systemd、または単にbashなど、で使用するいくつかの一般的なオプションがあります。そこから、そのプログラムが制御されます。終了するとカーネルがクラッシュするので、他のプログラムを起動できるはずです。
Shawn J. Goff

4
ウェブサイトlinuxfromscratch.orgには、独自のLinuxディストリビューションを構築するための多くの情報があります。
ダニエル・カルマン

回答:


15

これがあなたが探しているものです:http : //www.linuxfromscratch.org/


2
これは彼がすべきことであることに同意し、+ 1を与えました。彼が本当に望んでいるのは、それがaskubuntuから移行されたので、Ubuntuのブランド変更の詳細です。
RobotHumans、2012

少し違うことをやろうとしても、Linux From Scratchは確かに出発点です。
ヴァーノン

何よりも、LFSは優れた学習体験です。
tshubitz

@tshubitz私はLFSを見ましたが、私には意味がありません。ビルド済みのオペレーティングシステムですか?それはオペレーティングシステムを作るためのガイドですか?それは何ですか?
Coder404 2012年

LFSは、GNU / Linuxオペレーティングシステムをゼロから作成するためのガイドです。LFSサイトのこのページは、それを大まかに
tshubitz

4

開始する1つの場所はBuildrootです。

それは何ですか?これは、文字通り一からLinuxシステムを作成できるスクリプト/ makefileのセットです。関連するすべてのコンポーネントをプルダウンし、ホスト上にクロスコンパイラを構築します。-ほとんどすべて。

それ主に組み込み作業用に設計されています-そのため、glibcではなくuclibcが含まれており、Gnomeや一部のデスクトップ環境など、多くのコンポーネントのビルド手順がありません。もちろん、ライブCDに限定されません。私は言う-それは埋め込まれたQtが付属しています。

最新の安定バージョンには、要件を満たさない可能性があるgrub 0.97が付属しています。

Linux From Scratchはプロセス全体を完了する方法を説明する点で優れていますが、時間がかかり、多くの忍耐を必要とするため、これについて言及します。Buildrootは、必要なものをすべて含めるように調整できます。学習経験として、menuconfigスタイルメニューを使用して、起動して動作するものを取得する機能は素晴らしいです。また、後の機能を追加する前に、すべての機能を確認することもできます。

カーネルの構成に関しては、既存の構成(通常はで利用可能/boot)を取得してカーネルツリーにコピーし.config、実行make oldconfigして新しいオプションをステップ実行することを強くお勧めしません。デフォルトのオプションは、ディストリビューションで動作することがほぼ保証されています。完全にゼロから始めると、使い物にならなくなる可能性があります。


3

最低限必要なのは、カーネルと、initプロセスとして必要なローダーおよびライブラリーとともにinitとして実行できるいくつかのプロセスです。カーネルを起動して、initプロセスを実行するように指示し、そこからどこへ行くかがあなたの仕事です。

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