initramfsがRAMのどこにあるかLinuxに通知する方法

initramfsがRAMのどこにあるかLinuxに通知する方法

ブートローダがRAMにコピーしたinitramfsを使用して、Xen上で実行されているLinuxカーネルを起動しようとしています。

デバイスツリーで、カーネルがinitramfsをコピーした領域を上書きしないようにメモリブロックを取り出しました。

memory {
    device_type = "memory";
-    reg = <0x0 0x0 0x0 0x80000000 0x8 0x0 0x0 0x80000000>;
+    reg = <0x0 0x0 0x0 0x60000000 0x8 0x0 0x0 0x80000000>;
};

ubootにいる間、initramfsを0x60000000dom0カーネル、デバイスツリー、およびxenイメージを含むfitimageにコピーして0x8000000起動しました。

私のdom0ブートパラメータは次のとおりです。

xen,dom0-bootargs = "console=hvc0 earlycon=xen earlyprintk=xen rootdelay=1 root=/dev/ram0 rw rd_start=0x60000000 rd_size=0x114a3000 clk_ignore_unused";

私は以下からrd_startbootargsを得ました。rd_sizeここもともと提案した人このStackExchangeの質問

mount_block_root()カーネルパニックのスタックトレースでinitramfsが呼び出されて失敗するため、誤ったinitramfs(ext4)を使用していると思われます。しかし、慌てる前に印刷されます。

No filesystem could mount root, tried: ext3 ext4 ext2 cramfs vfat msdos btrfs

これに関する文書の欠如は、私が正しい方向に向かっているのか、それとも軌道を抜けているのか疑問です。

ベストアンサー1

おすすめ記事