首页 文章

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

提问于
浏览
0

我正在研究两种基于飞思卡尔PowerPC器件的Linux系统,一种是MPC8349,另一种是P1020 . 我能够在两张卡上构建,安装和启动内核 . 工具链和RAMdisk映像来自飞思卡尔的LTIBs软件包 . 两张卡都有一个32 MB的闪存映射在同一地址 .

我有以下问题:P1020板使用RAM磁盘与设备树中的闪存进行正常启动,显示闪存设备分区(JFFS2)和DOESN“T尝试以root身份安装闪存分区.MPC8349启动时从RAM磁盘,但在识别闪存分区后,内核发生混乱,因为正在寻找一个闪存分区作为根分区挂载,并且它们都不可用(未格式化) . 如果我从设备树中删除闪存,卡就可以了使用RAM磁盘 .

我对Linux启动脚本不太熟悉,我也没弄清楚我可以在哪里暂停安装MTD分区 . 我希望电路板能够启动并安装RAM磁盘,就像P1020电路板一样 . 闪存分区将在以后初始化并安装,但不能作为根分区 .

TIA

多林

1 回答

  • 0

    由于您没有向我们展示任何配置信息,因此给出答案有点困难 .

    但是,一般来说,Linux内核需要一个根文件系统,因此必须以某种方式提供,否则它将在引导期间出现混乱 . rootfs信息通常通过loader中的bootstring传递给内核 . 您可以在日志开头使用命令 dmesg 查看引导参数 .

    例如,在您使用MTD分区的情况下,它可能如下所示:

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

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

    现在,这个字符串由加载器传递给你的内核,我不熟悉你的电路板,但是一个快速谷歌告诉我Freescales BSP包含 u-boot 加载器 . 你应该能够在u-boot的板配置文件下找到你的引导参数,所以也许 grep :使用 dmesg 找到的引导参数ping你的u-boot源你可以找到它 . 通过比较这两块板之间的引导字符串,你可能会得到很好的暗示 .

相关问题