meta / recipes-core / initrdscripts / files / init-install-efi.sh用于格式化和创建分区。
我已经修改了该文件,以创建另一个分区来进行软件更新。
我可以将新更新的脚本文件复制到我自己的自定义层的秘诀chemies-core / initrdscripts / files / init-install-efi.sh中。
它将更新init-install-efi.sh。如果不是如何实现这一目标,那么我不想触碰那些笨拙的源代码,因为它是使用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"
调试后,我发现它正在复制存在于meta-intel层而不是我的层中的脚本。
这来自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
能否请您告诉我,我的bbappend(而不是meta-intel)必须进行哪些更改
答案 0 :(得分:1)
Yocto提供了 bbappend 机制来存档您的案件,而无需触及 poky 中的元数据,请按照以下几个步骤进行存档:
中为 initramfs-module-install-efi_1.0.bb 或 initramfs-live-install-efi_1创建 bbappend 文件。 0.bb (我发现此食谱基于此脚本),内容为:
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
repositories {
google()
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.1.2'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
google()
jcenter()
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
将修改后的脚本文件移动到 files 目录下,您的元层结构应类似于:
$ cat meta-test/recipes-core/initrdscripts/initramfs-live-install-efi_1.0.bbappend
FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
SRC_URI = "file://init-install-efi.sh"
4个目录,5个文件
然后在工作目录中的 initramfs-live-install-efi 配方上运行 do_unpack 任务后,终于可以在配方工作区中找到修改后的文件
$ 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
测试:
$ bitbake -c unpack initramfs-live-install-efi
FILESEXTRAPATHS-用于扩展 do_fetch 和 do_patch 任务的搜索路径。