
ブートローダが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を0x60000000
dom0カーネル、デバイスツリー、および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_start
bootargsを得ました。rd_size
ここもともと提案した人このStackExchangeの質問。
mount_block_root()
カーネルパニックのスタックトレースでinitramfsが呼び出されて失敗するため、誤ったinitramfs(ext4)を使用していると思われます。しかし、慌てる前に印刷されます。
No filesystem could mount root, tried: ext3 ext4 ext2 cramfs vfat msdos btrfs
これに関する文書の欠如は、私が正しい方向に向かっているのか、それとも軌道を抜けているのか疑問です。