linux - 从 SD 卡启动 linux

标签 linux linux-kernel embedded-linux archlinux

我有一 block 配备 Ti DM365 处理器的 Leopard 主板。 问题是,我试图将引导加载程序 (uboot) 闪存到 nand 并最终破坏了 NAND。现在,我不能使用 NAND 来调出电路板。 所以,我决定使用 SD 卡。

我在 SD 卡上为 bootloader/kernel/rootfs 做了必要的分区

现在,当他们重新启动开发板时……它说……正在解压缩内核……等等……等等。 但是当它试图寻找 rootfs 时……提示说……“找不到 NAND”

我认为(他们是这个领域的新手..)内核在 NAND 中寻找“rootfs”而不是 SD 卡,这就是它给出那种错误的原因......

所以现在我必须以这样一种方式配置内核,它应该查看 SD 卡中的“rootfs”而不是查看 NAND(在我的情况下它已损坏。)

谁能帮帮我。

信息不足请见谅,有需要请追问。 作为新手...我不知道我还能提供什么其他信息...

谢谢!

最佳答案

我认为您需要更改 DTS 文件以在 SD 卡中为 rootfs 创建分区。

以下是来自 mpc8313erdb.dts 的代码片段,其中 rootfs 存在于 NAND 中。

    nand@1,0 {
        #address-cells = <1>;
        #size-cells = <1>;
        compatible = "fsl,mpc8313-fcm-nand",
                     "fsl,elbc-fcm-nand";
        reg = <0x1 0x0 0x40000>;

        dtb-0@0 {
            reg = <0x0 0x20000>;
        };

        kernel-0@20000 {
            reg = <0x20000 0x400000>;
        };

        rootfs-0@420000 {
            reg = <0x420000 0x099e0000>;

在以下位置查找上述文件。 linux/arch/powerpc/boot/dts/[board_name].dts

检查以下链接以查看完整的 DTS 文件。 http://lxr.free-electrons.com/source/arch/powerpc/boot/dts/mpc8313erdb.dts

关于linux - 从 SD 卡启动 linux,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10635746/

相关文章:

c - 编译linux内核报 'make: *** [modules_install] Error 1'错误如何解决?

c++ - 是否有用于向文件路径添加尾部斜杠的习惯用法?

linux - 是否可以在终端中搜索单词?

Linux flush_cache_range() 行为

linux - openembedded-core 和 poky 的区别

linux - getaddrinfo 在使用 Yocto 构建的发行版上返回 EAI_ADDRFAMILY

使用 Eclipse : "Profiling and debugging agents are not supported in this VM" 进行 Java Linux Arm 远程调试

linux - 如何在没有显示器的情况下使用gui启动linux?

linux - 是否有可能阻止任何人从 ELF 二进制文件中剥离调试符号(例如,标签)?

linux - 根据指令指针确定上下文