Используя инструменты на основе Yocto, я могу создать несколько файлов для развертывания.К ним относятся:
sdimg
файл для записи на SD-карту - A
cpio.gz
архив (Initramfs) Image-initramfs.bin
(Initramfs)
Я бы хотел активировать plymouth на моей встраиваемой плате (Raspberry Pi) с дистрибутивом Linux на основе Yocto.Однако я не уверен, как смонтировать архив cpio.gz
или Image-initramfs.bin
.Я читал в Интернете, что vanilla Raspbian имеет запись в /config.txt
в загрузочном разделе, например, initramfs <file.gz> <start_address>
, а также параметр командной строки ядра в /cmdline.txt
в загрузочном разделе, т.е. initrd=<file.gz>
.
What I 'Мы уже пробовали использовать оба этих подхода.Я копирую файл 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
Я не знаю, что мне здесь не хватает.Все, что привлекает ваше внимание, пожалуйста, дайте мне знать.Любое руководство приветствуется.