GNUをコンパイルしてブートストラップすることは可能でしょうか?


9

新しいGuixリリースが少し前に出ました。そして、glibc、gcc、およびguixをHURDおよびMachにブートストラップできれば、Linux以外のGNUシステムを使用できるというアイデアを得ました。ただし、bash、emacs、binutils、coreutils、initシステムなどのソフトウェアも必要です。Linuxに依存するシステムコールがあるものはありますか?LFSのようにできますか?


Debian GNU Hurdの+を見wiki.debian.org/TheHurd
Ctrl + Alt + delor

apt-getをインストールしたくありません
。Guix

Linuxは単なるカーネルです。HURD / Machを使用している場合は、Linux以外のシステムを使用しています。(当然のことですが、その他の部分はSys V以降のBSD、GNU、Plan 9、および/またはその他の* NIXクローン/派生物からのものですが、Linux自体ではありません。)
Agi Hammerthief

回答:


3

数年前、私はGNU / Hurdベースのディストリビューションをゼロから作成しました。それについては、Bee GNU / Hurdをグーグルすることで見つけることができます。

すべての公式GNUソフトウェア(あなたが言及したパッケージを含む)はHurdをサポートするはずであり、ほとんどのパッケージが実際にサポートしています。ただし、HurdはLinuxのドロップイン代替品ではないため、実際にはすべてのパッケージをクロスコンパイルするか、ネイティブGNU / Hurdシステムからコンパイルする必要があります。これは、ソフトウェアをビルドする場合とほぼ同じです。別のアーキテクチャ(x86でarmソフトウェアを構築するなど)の場合。

とはいえ、次の手順に従うことをお勧めします。

  • Debian GNU / Hurdをどこかにインストールし(VMは問題ありません)、それに慣れます。

  • 上記のシステムでGuixをビルドし、実際にパッケージを生成およびインストールできることを確認します(おそらく、いくつかの変更を加える必要があります)。

  • SubHurdsを作成および管理できるようにGuixを変更する

  • この段階で、Hurdに基づく完全なGNUシステムをどこにでもブートストラップする準備ができているはずです。あとはGRUBを適切に設定するだけです。

ハッキングハッピー!


3

[更新]私はFosdemで、GuixのHurdへの移植について講演しました。こちらで確認できます。guix_to_hurd_fosdem_16

私はGuix Hurdの移植に取り組んでいる人です。HurdでGuixを実際に使用するには、GNU / Hurdシステムをサポートするために、最初にGuixブートストラッププロセスを変更する必要があります。これは、Guixがglibc、Gnumach、Hurdのハードバージョンをクロスビルドできる必要があることを意味します。
この部分が完了したら、新しいglibcを使用してブートストラップツールチェーンを構築し、ブートストラップバイナリを生成する必要があります。この時点で、新しくビルドされたバイナリをGNU / Hurdシステムにコピーし、そのシステムでGuixをビルドするために使用する必要があります。

Guixブートストラッププロセス

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