大きなファイルをメモリにロードする方法

大きなファイルをメモリにロードする方法

私はライブ Linux ディストリビューションで作業していますが、プログラムをコンパイルすると、init ファイルのサイズが 1.1G になり、起動しようとすると grub が次のように表示しますError 28: Selected item cannot fit into memory

他の大規模ディストリビューションはどのようにしてプログラムをロードするのでしょうか?

答え1

一般的に、他のディストリビューションしないすべてを initrd に入れます。別のイメージ (ext4 の場合もありますが、より一般的には .squashfs) から実際の rootfs をマウントする非常に小さな initrd のみがあり、これは「インストール済み」システムが initrd を使用して rootfs をマウントするのとまったく同じ方法です。

この方法では、大きな rootfs は GRUB ではなく Linux カーネルによって処理されるため、GRUB 環境の制限を受けず、オンデマンドでページインできます (Linux は 1.1 GB 全体をメモリにロードする必要はありません)。

関連情報