gpt4 book ai didi

linux - Linux Power PC试图在启动时挂载MTD分区

转载 作者:太空宇宙 更新时间:2023-11-04 04:11:26 25 4
gpt4 key购买 nike

我正在开发两个基于Freescale PowerPC设备的Linux系统,一个是MPC8349,另一个是P1020。我能够在两张卡上构建,安装和引导内核。工具链和RAMdisk映像来自飞思卡尔的LTIBs软件包。两张卡均具有映射到同一地址的32 MB闪存。

我有以下问题:P1020板使用RAM盘在设备树中带有闪存的情况下启动正常,显示了闪存设备分区(JFFS2),并且不要尝试将闪存分区作为根挂载。MPC8349从RAM磁盘,但是在确定了闪存分区后,内核出现了紧急情况,因为它正在寻找要作为根分区安装的闪存分区,并且它们都不可用(未格式化)。如果我从设备树中删除闪存,则该卡可以正常启动使用RAM磁盘。

我对Linux引导脚本不太熟悉,也没有弄清楚在哪里可以禁用挂载MTD分区的这种尝试。我希望这些板能像P1020板一样引导并安装RAM磁盘。闪存分区将在以后初始化并挂载,但不作为根分区挂载。

TIA

多林

最佳答案

由于您没有向我们显示任何配置信息,因此很难回答。

但是,通常,Linux内核需要一个根文件系统,因此必须以一种或另一种方式提供它,否则它将在启动过程中出现恐慌。通常将rootfs信息通过加载程序中的引导字符串传递给内核。您可以在日志的开头立即使用命令dmesg看到引导参数。

例如,在您使用MTD分区的情况下,它可能看起来像这样:

console=ttyAMA0,115200 root=/dev/mtdblock3 ro rootfs=squashfs rootwait


console参数指定串行控制台,但它仅与串行控制台输出有关,因此与此无关。
现在将mtd设备上的第三个( /dev/mtdblock3)分区指定为rootfs。它将以只读方式安装( ro标志),并且文件系统类型指定为squashfs( rootfs=squashfs)。
关键字 rootwait告诉内核无限期地等待直到挂载发生,主要是针对异步设备(usb,mmc)。
您可以在 https://www.kernel.org/doc/Documentation/kernel-parameters.txt中找到有关不同引导参数的更多信息。

现在,该字符串由加载程序传递到您的内核,我对您的电路板不熟悉,但是一个快速的Google告诉我,Freescales BSP包含 u-boot加载程序。您应该能够在用于u-boot的主板配置文件下的某个位置找到启动参数,所以也许 grep:使用您在 dmesg中找到的启动参数对u-boot源进行ping操作。通过比较这两个板之间的启动字符串,您可能会很好地暗示两者之间的差异。

关于linux - Linux Power PC试图在启动时挂载MTD分区,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18885270/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com