ELLCCを活用したLFSシステムの構築

ELLCCを活用したLFSシステムの構築

まず第一に、これはLFSシステムを構築するための私の最初の試みではありません。私は正常にLFS 7.8とLFS 7.8-systemdを構築しました。

GCC+GlibCに変更したいエレクつまり Clang/LLVM+musl です。

これにはいくつかの制限があります。特に、現在のダイナミック接続のサポートが不足しています。しかし、予想される結果は、以前のデバイスの実験の一部としてarmhf LFSビルドをクロスコンパイル(またはより良い方法ではデバイス内コンパイル)することです。デバイスは完全にAndroidをLinuxに置き換えるため、バイナリの効率が重要です(これが私がELLCCの使用に興味を持っている理由です)。

本当の質問はどうするかということです。単にGCCとGlibCをELLCCに置き換えても、Linux APIヘッダーのインストールをスキップできませんでした。一部のプログラムはソースのみでコンパイルできますが、最終的には何らかの方法でホストシステムに依存します。

答え1

あなたは正しいです。単にツールチェーンを変えるだけでは魔法のようには機能しません。

経験豊富なmuslユーザーとして、私はこれが「すぐに」機能しないと言うことができます。多くのプログラムはまだglibcでのみ提供されており、muslでは利用できない特別なケースが必要です。特にglibcがなければ、多くのGNUプロジェクトプログラムはコンパイルさえできません。

人気があるが問題のあるプログラムを修正するための大規模な努力が現在進行中であり、必要に応じて監視および参加することができます。このようなプロジェクトもあります。Linuxを破るこれにより、これらのプログラムがmusl(およびあまり知られていない他のlibcs​​)と連携できるようにパッチが生成されるため、勇気がある場合は、これらのプロジェクトの助けを借りて主要なビルドの中断を修正しようとすることができます。

おそらく、通常のLFSが機能するようにこの本をかなり修正するでしょう。 (2009年にLFSを最後に構築したときに、いくつかのglibc特殊ケースを解決する説明されていないガイドラインがまだあったことを覚えています。)

代わりに、次のことを試すことができます。

  • 組み込みCLFS、glibcをmuslに置き換えます。これらの2冊の本を組み合わせて、状況に合った本を作成できます。古典的なGNUソフトウェアを完全に省略したが。
  • 新しいmuslベースのLinuxディストリビューションの1つを使用してください。例えば、破壊と山が挙げられるが、イスラム教 Wikiより多くの名前。少なくとも、ホストコンピュータでバイナリを構築してからデバイスにインポートしようとすることができます。

組み込みプラットフォーム用のバイナリを構築しようとしているので、GNUソフトウェアを使用するのではなく、代わりに試してみることを強くお勧めします。軽量代替代わりに。

関連情報