【问题标题】:Yocto mounting initramfs / initrd image to Raspberry PiYocto 将 initramfs / initrd 映像安装到 Raspberry Pi
【发布时间】:2018-11-01 03:03:10
【问题描述】:

使用基于 Yocto 的工具,我能够生成多个文件进行部署。这些包括:

  • sdimg 用于写入 SD 卡的文件
  • cpio.gz 存档 (Initramfs)
  • Image-initramfs.bin (Initramfs)

我想使用基于 Yocto 的 Linux 发行版在我的嵌入式板 (Raspberry Pi) 中激活 plymouth。但是我不确定如何挂载cpio.gz 存档或Image-initramfs.bin。我在网上读到 vanilla Raspbian 在引导分区的/config.txt 中有一个条目,即initramfs <file.gz> <start_address>,并且在引导分区的/cmdline.txt 中有一个内核命令行选项,即initrd=<file.gz>

到目前为止,我已经尝试过这两种方法。我将cpio.gz 文件复制到根文件系统分区中的/boot 并配置上述文件,但不起作用。为了分解它,它看起来是这样的:

 + Boot Partition
 + ---- overlays/
 + ---- config.txt
 + ---- cmdline.txt
 + ---- kernel.img

 + 1.2GB Volume (rootfs)
 + ---- bin/
 + ---- boot/
        +--- <file>.cpio.gz
 + ---- var/
 + ---- usr/
        ....

现在,在config.txt,我有类似的东西(尝试了很多变体):

initramfs <file>.cpio.gz 0x00a00000
ramfsfile="<file>.cpio.gz"
ramfsaddr=0x00a00000

cmdline.txt,我有:

initrd=<file>.cpio.gz dwc_otg.lpm_enable=0 console=serial0,115200 root=/dev/mmcblk0p2 rootfstype=ext4 rootwait    

然而,没有什么足以让内核给出一个错误。这意味着,系统正常启动,并且没有使用 initramfs 的迹象。

我用 yocto 编译的内核如下:

#> uname -a 
#> Linux raspberrypi0-wifi 4.9.77-rt61 #11 PREEMPT RT Tue May 22 01:14:26 +03 2018 armv6l armv6l armv6l GNU/Linux

启用以下内核配置参数:

#> modprobe configs
#> cat /proc/config.gz | gunzip > kernelconf.txt
...
CONFIG_BLK_DEV_INITRD=y
CONFIG_INITRAMFS_SOURCE=""
CONFIG_RD_GZIP=y

我不知道我在这里缺少什么。有什么引起你注意的,请告诉我。非常感谢任何指导。

【问题讨论】:

  • 我刚刚注意到一些奇怪的事情。 initramfs 应该在 rootfs 挂载到之前我必须将我的 cpio.gz 移动到引导分区,即使它没有足够的空间。我认为这是正确的方法。稍后我会更新问题。
  • 还是一样的行为。像往常一样启动,但没有 initramfs 的迹象。
  • 我已经解决了这个问题。会更新的。
  • 你发现了吗?我正在尝试做同样的事情。谢谢。

标签: linux-kernel raspberry-pi init yocto boot


【解决方案1】:

通过将生成的 .cpio.gz 存档复制到 sd 卡的引导分区,我能够引导到 initramfs。 然后我编辑了 config.txt 选项来自

#initramfs initramf.gz 0x00800000

initramfs <name-of-the-copied-archive>.cpio.gz

在启动 raspberry 后,它现在启动到我的 initramfs 映像中。

【讨论】:

    猜你喜欢
    • 2023-03-21
    • 2013-03-04
    • 2018-01-29
    • 1970-01-01
    • 2021-06-10
    • 2020-01-01
    • 2017-10-11
    • 2021-12-22
    • 1970-01-01
    相关资源
    最近更新 更多