grub ブートローダーを使用して、ブート段階で共有ライブラリ (クローズド ソースのバイナリ ユーザー空間ライブラリ) をロードしたいと考えています。これを行う可能性はありますか、それとも custom-elf-loader (grub モジュール) を作成する必要がありますか?
- 29/08/2014: 詳細については、これは Grub ブートローダー プロジェクトにいくつかの新機能をカスタマイズまたは追加したいプログラミングの問題です。ご支援いただきありがとうございます!
grub ブートローダーを使用して、ブート段階で共有ライブラリ (クローズド ソースのバイナリ ユーザー空間ライブラリ) をロードしたいと考えています。これを行う可能性はありますか、それとも custom-elf-loader (grub モジュール) を作成する必要がありますか?
したがって、何をしようとしているのかを明確にすることはできませんが、次のようになります。
ユーザー空間 (Linux SysV ELF タイプを想定) 共有ライブラリを直接 GRUB にロードすることはできません。GRUB モジュールは確かに ELF 形式ですが、追加のヘッダーが含まれています。そのヘッダーに含まれる情報の中には、明示的なライセンス ステートメントがあります。GRUB は、明示的に GPLv2+、GPLv3、または GPLv3+ ではないモジュールのロードを拒否します。
ELF ローダーを作成することは可能ですが、より簡単な方法は、ユーザー空間ライブラリを GRUB モジュールに変換するツールを作成することです。もちろん、ここにはいくつかの制限があります。
再コンパイルがオプションの場合、GRUB は POSIX エミュレーション レイヤーも提供します。CPPFLAGS_POSIX を CPPFLAGS に追加し、コア標準 POSIX ヘッダー ファイルを使用します。例として gcrypt サポートを見てください。