SDカードからメモリにシステムをロードし、メモリから起動します。

SDカードからメモリにシステムをロードし、メモリから起動します。

メモリにパーティションを作成し、SDカードの内容をそのパーティションにコピーし、そのメモリパーティションからオペレーティングシステム(Linux)を起動することを提案するいくつかの答えを見ました。

このようなタスクを実行するには、どのブートローダを使用する必要がありますか?設定に関するドキュメントはどこにありますか?

答え1

関連ブートローダはまったくありません。これは通常、SDカードのブートローダを介してSDカードからメモリにロードした後、Linuxカーネルによって行われます。

メモリから「ブート」する現代的な方法を使用するには、Linuxブートメディアを検出するカスタムinitramfsスクリプトを作成する必要があります(ブートローダはブートするメディアを確実に検出できますが、一部は有用な情報を提供しないためです)。 。読み取り専用モードでは、ファイルシステムを「開き」、将来のルートファイルシステム用のスペースを割り当て、メディアtmpfsのすべての内容をここにコピーし、単にルートディレクトリを切り替えて/sbin/initそこから実行します。

良い例を見つけることができますここ- コピーするメディアがある場所を検出し、通常は手動でinitramfsイメージを生成する必要があるスクリプト。このスクリプトいくつかの重要な点。

initramfsがどのように機能するのかわからない場合は、まず良い情報を確認して読んでください。ドキュメント/ファイルシステム/ramfs-rootfs-initramfs.txtまた最初からLinux - initramfsについて、そしてGoogle "linux initramfs"。

答え2

grml2ramブート時に squashfs 全体を RAM にコピーすることをサポートし、簡単にカスタマイズできる GRML などのライブディストリビューションを表示したり(参考資料を参照grml-live)、システムを initramfs に配置してローダーがロードされるようにすることもできます。カーネルと一緒です。

あまりエレガントには、デフォルトのinitramfsに固執し、ここにsdcardの内容をメモリにロードしてからrootfsとして使用するスクリプトを追加できます。

関連情報