[英]Updating the script present in Poky Source code
meta/recipes-core/initrdscripts/files/init-install-efi.sh is used for formatting and creating partitions. meta / recipes-core / initrdscripts / files / init-install-efi.sh用于格式化和创建分区。
I have modified this file to create one more partition for software update. 我已经修改了此文件,以为软件更新创建另一个分区。
Can I copy the newly updated script file in my own custom layer recipes-core/initrdscripts/files/init-install-efi.sh. 我可以将新更新的脚本文件复制到我自己的自定义层的秘诀chemies-core / initrdscripts / files / init-install-efi.sh中。
Will it update the init-install-efi.sh. 它将更新init-install-efi.sh。 If not how to achieve this, I don't want to touch the poky source code, as that is fetched using repo utility
如果不是如何实现这一目标,那么我不想触碰那些笨拙的源代码,因为这是使用repo实用程序获取的
$ tree meta-ncr/
meta-ncr/
├── conf
│ ├── bblayers.conf
│ ├── layer.conf
│ └── machine
│ └── panther2.conf
├── recipes-core
│ └── initrdscripts
│ ├── files
│ │ └── init-install-efi.sh
│ └── initramfs-live-install-efi_1.0.bbappend
└── scripts
└── setup-environment
$ cat meta-ncr/recipes-core/initrdscripts/initramfs-live-install-efi_1.0.bbappend
FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
SRC_URI = "file://init-install-efi.sh"
After debugging, I found that it is copying the script present in the meta-intel layer and not of my layer. 调试后,我发现它正在复制存在于meta-intel层而不是我的层中的脚本。
This is from the output of bitbake-layers show-appends
这来自
bitbake-layers show-appends
的输出
initramfs-live-install-efi_1.0.bb:
/home/jamal/repo_test/sources/meta-intel/recipes-core/initrdscripts/initramfs-live-install-efi_%.bbappend
/home/jamal/repo_test/sources/meta-ncr/recipes-core/initrdscripts/initramfs-live-install-efi_1.0.bbappend
Can you please tell me what changes are required for my bbappend to work instead of meta-intel 您能否告诉我,我的bbappend(而不是meta-intel)工作需要进行哪些更改?
Yocto provides bbappend mechanism to archive Your case without touching metadata from poky , please follow these few steps to archive this: Yocto提供了bbappend机制来存档您的案件,而不会涉及来自poky的元数据,请按照以下几个步骤进行存档:
in this layer create bbappend file for initramfs-module-install-efi_1.0.bb or initramfs-live-install-efi_1.0.bb (I found that this recipes are based on this script), with content: 在这一层中,为initramfs-module-install-efi_1.0.bb或initramfs-live-install-efi_1.0.bb创建bbappend文件(我发现此食谱基于此脚本),其内容为:
$ cat meta-test/recipes-core/initrdscripts/initramfs-live-install-efi_1.0.bbappend FILESEXTRAPATHS_prepend := "${THISDIR}/files:" SRC_URI = "file://init-install-efi.sh"
move modified script file under files directory, Your meta layer structure should look like: 将修改后的脚本文件移动到files目录下,您的meta层结构应类似于:
$ tree meta-test/ meta-test/ ├── conf │ └── layer.conf ├── COPYING.MIT ├── README └── recipes-core └── initrdscripts ├── files │ └── init-install-efi.sh └── initramfs-live-install-efi_1.0.bbappend
4 directories, 5 files 4个目录,5个文件
Then finally after running do_unpack task on initramfs-live-install-efi recipe in working directory You will find Your modified file in recipe workspace, 然后,最后在工作目录中的initramfs-live-install-efi配方上运行do_unpack任务之后,您将在配方工作区中找到修改后的文件,
$ bitbake -c unpack initramfs-live-install-efi
Test: 测试:
$ cat tmp/work/i586-poky-linux/initramfs-live-install-efi/1.0-r1/init-install-efi.sh
#!/bin/bash
echo "hello"
FILESEXTRAPATHS - is used to extend search path for do_fetch and do_patch tasks. FILESEXTRAPATHS-用于扩展do_fetch和do_patch任务的搜索路径。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.