Я хочу использовать ядро 4.14 для target1 и ядро 4.9 для target2.И я добавил приведенный ниже код для того же самого, и он работает совершенно нормально.
SRC_URI = "${@oe.utils.conditional('BASEMACHINE', 'target1', 'file://kernel/k-4.14/net/kernel/', '', d)} \
${@oe.utils.conditional('BASEMACHINE', 'target2', 'file://kernel/k-4.9/net/kernel/', '', d)}"
S = "${@oe.utils.conditional('BASEMACHINE', 'target1', '${WORKDIR}/kernel/k-4.14/net/kernel/', '', d)} \
${@oe.utils.conditional('BASEMACHINE', 'target2', '${WORKDIR}/kernel/k-4.9/net/kernel/', '', d)}"
Но для всех других целей, если присутствует путь "kernel / k-3.18 / net / kernel /", я хочуиспользуй это.если нет, то выведите ошибку.И я не могу добавить это условие в файл bb.Я использовал условие if else и попытался, но я получил ошибку синтаксического анализатора.Даже я пытался добавить код Python, но это не помогло.Ниже приведен фрагмент, который я пробовал.
work_dir = d.getVar("WORKDIR", expand=True)
KERNEL_3_18_PATH_FILE_CMD = ''
KERNEL_3_18_PATH = ''
python do_package_prepend() {
if os.path.exists(work_dir+/kernel/k-3.18/net/kernel/):
KERNEL_3_18_PATH_FILE_CMD = "kernel/k-3.18/net/kernel/"
KERNEL_3_18_PATH = work_dir + "/kernel/k-3.18/net/kernel/"
}
SRC_URI = "${@oe.utils.conditional('BASEMACHINE', 'target2', 'file://kernel/k-4.9/net/kernel/', 'file://KERNEL_3_18_PATH_FILE_CMD', d)}"
S = "${@oe.utils.conditional('BASEMACHINE', 'target2', 'file://kernel/k-4.9/net/kernel/', 'KERNEL_3_18_PATH', d)}"
Можете ли вы помочь.Я новичок в Python и Yocto