2

我在加载我的根 fs 时遇到问题,在检查内核日志后它说类似

“INITRD:0x1f8ca000+0x0028ac63 不是内存区域 - 禁用 initrd”

这是什么意思?

背景

我在 ARM Cortex A9 的一个内核上运行 linux,并尝试在另一个内核上运行另一个裸机应用程序。我已经更改了设备树以反映这一点,我为 Linux 保留了 SDRAM 的一部分,为裸机应用程序保留了一部分。我正在使用Uboot。这与uboot有关吗?

干杯,S

4

1 回答 1

1

由于您没有将整个 RAM 专用于主内核上的 Linux 内核,因此您需要确保 bootargs 中指定的 intrd 加载地址可从主内核访问。

接下来,此信息通常在从 u-boot 传递的 bootargs 中传递给 Linux 内核

initrd=<initrd-start-addr>,<initrd-size>

根据您的自定义内存映射修改它

最后在 u-boot 中,将 initrd 加载到您刚刚指定的新正确地址并启动 Linux 内核。

于 2013-08-07T02:37:07.957 回答