メモリにパーティションを作成し、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として使用するスクリプトを追加できます。