- ベストアンサー
LinuxカーネルによるOSの作り方
質問ですが、Linuxカーネルを使って新しいOSを作りたいのですが、どのような手順で作っていけばいいのでしょうか。また、どのようなことを覚えなくてはいけないのでしょうか。そんなことを知らない人がOSを作ろうということ自体間違っているかもしれませんが、ここはどうか教えてください。 また、参考となる資料や書籍がありましたら、教えてください。 分かりにくい質問ですみません、お願いします。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
ほとんどの場合は、Linuxカーネルのとこからじゃなくて、いずれかのディストリビューションの成果を受け継ぐことで実現できると思います。 Linuxの普及期はSlackwareとDebianとRedHatの三派がありました。 Debianはソフトのライセンスに敏感で、また安定性を重視しています。 そのため、派生プロジェクトの作成に向いていて KNOPPIX(CD起動での多様な体験ができる)や Ubuntu(Debian安定版より新しいソフトを積極的に取り込む) DSL(50MB程度の極小GUI環境)など、いくつものプロジェクトがあります。 さらに枝分かれしたRegret(音楽系ソフト向け)や Xubuntu(Ubuntuの先進性を持ちながら大幅に軽量化)など 多種多様なディストリビューションがあります。 不要のソフトを入れないのであればGentooで始める手もあります。 いずれにしても、パッケージ管理システムという 重要な資産を引き継ぐことに大きな利点があると言えるでしょう。 パッケージ管理とその自動取得の仕組みこそ、現在のLinuxの分類の基本ですし。 rpmとdebとソースパッケージ、それにaptとyumとPortage その枠組みの外でやるとしたら、まずカーネルが参照する情報を どこにどう保存するか(LSBというものもある)から決めて カーネルソースの修正とコンパイルやインストール作業など ほぼすべてを手作業で進める必要があります。 ただでさえ、普段意識しないところも理解しなければならないし バグやセキュリティホール対応まで気にするとなると… 組み込み機器向けの開発でもなければ そこまでの労力を注ぐ必要はあまりないのではないかと思います。
その他の回答 (3)
- hal9801BX4
- ベストアンサー率28% (37/132)
先ずはLinuxがどうなっているかをこんな本で試してみるのはいかがでしょうか
お礼
ご回答ありがとうございます。こんな本があるとは思っていませんでした。欲しいのですが、どこも売り切れですね・・・。今度古本屋にでも一手さがしたいと思います。ありがとうございました。
- jqp
- ベストアンサー率36% (4/11)
それは、いいことだと思います。自分もプログラマーになりたくて。 でもどう勉強したらいいのかが難しですよね。 勉強のために、まずテキストエディタを作ったのですが。 c言語が難しすぎて、結局のところツールのようなものを多用したり、言語をjavaに変えることになったりました。 応用アプリケーションの勉強の方が基本ソフトであるOSの勉強よりも難しいのが当たり前だと思います。 まず、オリジナルの資料を読むために英語力が必要だと思うので日本語ではないですが、ここは?
お礼
ご回答ありがとうございます。昔から色々挑戦しようと、JavaScript,Java,VB,VC#とやってきましたが、すべて挫折に終わってしまいまして、OSを作りたいというのは何とかやり遂げたいと思っていました。参考URL、何とか自力で読んでいます。ありがとうございました!
普通のLinuxのカーネルは、www.kernel.orgで、すべてソースが、公開されています。これが、スタートポイントです。Debian, RHEL,CentOS,Uhbutsuみんな、Linux OSです。 NEC/Pansonicの携帯電話も、Linuxですし、Nokia N800/N810も、Sony MyloもLinuxの一種です。 で、あなたは、何のために、なにを作りたいのでしょうか? それが、わかれば、自ずと答えは出てくるのではないでしょうか。
お礼
ご回答ありがとうございます。 >で、あなたは、何のために、なにを作りたいのでしょうか? そうですよね。自分でそれを考えずにただ「OSを作りたい!」と思っていました。それから考えなくてはなりませんね。ありがとうございました。
お礼
ご回答ありがとうございます。確かに、パッケージ管理システムなどを独自で作成し、更新をしていくのはあまりにも無理がありますね。OSを作りたい、ということしか頭になかったため、派生ディストリビューションという案までは頭がいきませんでした(笑)そうしようと思います。ありがとうございました。