add netmodule-fitimage recipe.

This recipe lets us create a fitimage outside of the kernel recipe.
For this to work we need to create just the zImage from the standard
 kernel recipe.

BugzID: 73616

Signed-off-by: Lucien Mueller <lucien.mueller@netmodule.com>
This commit is contained in:
Lucien Mueller 2021-07-22 09:23:31 +02:00
parent 1b86182dc6
commit 1bf9ce5778
10 changed files with 53 additions and 23 deletions

View File

@ -10,7 +10,7 @@ KERNEL_DEFCONFIG ??= "am335x-nmhw21_defconfig"
KERNEL_DEVICETREE = "am335x-nmhw21-prod1.dtb \ KERNEL_DEVICETREE = "am335x-nmhw21-prod1.dtb \
" "
KERNEL_IMAGETYPE = "fitImage" KERNEL_IMAGETYPE = "zImage"
PREFERRED_PROVIDER_virtual/bootloader = "u-boot-am335x-nmhw21" PREFERRED_PROVIDER_virtual/bootloader = "u-boot-am335x-nmhw21"

View File

@ -10,7 +10,7 @@ KERNEL_DEFCONFIG ??= "am335x-nmhw24_defconfig"
KERNEL_DEVICETREE = "am335x-nmhw24-prod1.dtb \ KERNEL_DEVICETREE = "am335x-nmhw24-prod1.dtb \
" "
KERNEL_IMAGETYPE = "fitImage" KERNEL_IMAGETYPE = "zImage"
PREFERRED_PROVIDER_virtual/bootloader = "u-boot-am335x-nmhw24" PREFERRED_PROVIDER_virtual/bootloader = "u-boot-am335x-nmhw24"

View File

@ -13,7 +13,7 @@ KERNEL_DEVICETREE = "am335x-nrhw16.dtb \
am335x-nrhw16-prod4.dtb \ am335x-nrhw16-prod4.dtb \
am335x-nrhw16-prod5.dtb \ am335x-nrhw16-prod5.dtb \
" "
KERNEL_IMAGETYPE = "fitImage" KERNEL_IMAGETYPE = "zImage"
PREFERRED_PROVIDER_virtual/bootloader = "u-boot-am335x-nrhw16-v2" PREFERRED_PROVIDER_virtual/bootloader = "u-boot-am335x-nrhw16-v2"

View File

@ -9,7 +9,7 @@ MACHINE_EXTRA_RRECOMMENDS = " kernel-modules kernel-devicetree"
KERNEL_DEFCONFIG ??= "am335x-nrhw20_defconfig" KERNEL_DEFCONFIG ??= "am335x-nrhw20_defconfig"
KERNEL_DEVICETREE = "am335x-nrhw20-prod1.dtb \ KERNEL_DEVICETREE = "am335x-nrhw20-prod1.dtb \
" "
KERNEL_IMAGETYPE = "fitImage" KERNEL_IMAGETYPE = "zImage"
PREFERRED_PROVIDER_virtual/bootloader = "u-boot-am335x-nrhw20-v1" PREFERRED_PROVIDER_virtual/bootloader = "u-boot-am335x-nrhw20-v1"

View File

@ -9,7 +9,7 @@ MACHINE_EXTRA_RRECOMMENDS = " kernel-modules kernel-devicetree"
KERNEL_DEFCONFIG ??= "armada-385-nrhw18_defconfig" KERNEL_DEFCONFIG ??= "armada-385-nrhw18_defconfig"
KERNEL_DEVICETREE = "armada-385-nrhw18-prod1.dtb" KERNEL_DEVICETREE = "armada-385-nrhw18-prod1.dtb"
KERNEL_IMAGETYPE = "fitImage" KERNEL_IMAGETYPE = "zImage"
KERNEL_MODULE_PROBECONF += "ath10k_pci" KERNEL_MODULE_PROBECONF += "ath10k_pci"
module_conf_ath10k_pci = "options ath10k_pci irq_mode=1" module_conf_ath10k_pci = "options ath10k_pci irq_mode=1"

View File

@ -17,9 +17,6 @@ SOTA_MACHINE = "${MACHINE}"
KERNEL_CLASSES_append = " kernel-fitimage" KERNEL_CLASSES_append = " kernel-fitimage"
KERNEL_IMAGETYPE = "Image" KERNEL_IMAGETYPE = "Image"
KERNEL_IMAGETYPES = "fitImage Image"
KERNEL_IMAGETYPE_sota = "fitImage"
KERNEL_IMAGETYPES_sota = "fitImage"
UBOOT_ENTRYPOINT ?= "0x80020000" UBOOT_ENTRYPOINT ?= "0x80020000"
UBOOT_MACHINE = "imx8qxp_mek_defconfig" UBOOT_MACHINE = "imx8qxp_mek_defconfig"
IMAGE_BOOT_FILES = "flash.bin" IMAGE_BOOT_FILES = "flash.bin"

View File

@ -22,8 +22,7 @@ SOTA_MACHINE = "${MACHINE}"
KERNEL_CLASSES_append = " kernel-fitimage" KERNEL_CLASSES_append = " kernel-fitimage"
KERNEL_IMAGETYPE = "fitImage" KERNEL_IMAGETYPE = "Image"
KERNEL_IMAGETYPE_aarch64 = "fitImage"
KERNEL_ALT_IMAGETYPE = "Image" KERNEL_ALT_IMAGETYPE = "Image"
UBOOT_ENTRYPOINT = "0x80280000" UBOOT_ENTRYPOINT = "0x80280000"
#UBOOT_MACHINE = "imx8_nmhw23_defconfig" #UBOOT_MACHINE = "imx8_nmhw23_defconfig"

View File

@ -1,6 +0,0 @@
require recipes-kernel/linux/linux-netmodule_git.bb
KERNEL_PACKAGE_NAME = "initramfs-linux"
PROVIDES += "virtual/netmodule-image"
SRC_URI_remove_netbird = " file://wlan.cfg"

View File

@ -39,13 +39,6 @@ do_configure_append(){
fi fi
} }
fitimage_assemble_append(){
if [ "x${ramdiskcount}" = "x1" ] ; then
ln -sf ${2} arch/${ARCH}/boot/fitImage.initramfs
fi
}
do_install_append(){ do_install_append(){
if [ "${KERNEL_DEVICETREE}" != "" ]; then if [ "${KERNEL_DEVICETREE}" != "" ]; then
ln -s ${KERNEL_DTB_LINK_NAME}.dtb ${D}/${KERNEL_IMAGEDEST}/devicetree.dtb ln -s ${KERNEL_DTB_LINK_NAME}.dtb ${D}/${KERNEL_IMAGEDEST}/devicetree.dtb

View File

@ -0,0 +1,47 @@
# Copyright (C) 2021 Lucien Mueller <lucien.mueller@netmodule.com>
DESCRIPTION = "make fitimage"
LICENSE = "GPLv2"
inherit kernel-fitimage
inherit kernel-arch
inherit deploy
do_configure[depends] += "virtual/kernel:do_deploy"
do_bundle_initramfs[depends] += "${INITRAMFS_IMAGE}:do_image_complete"
KERNEL_IMAGETYPES = "fitImage"
PACKAGE_ARCH = "${MACHINE_ARCH}"
PROVIDES = "virtual/netmodule-image"
addtask assemble_fitimage_initramfs before do_install after do_compile
addtask do_deploy after assemble_fitimage_initramfs
INITRAMFS_IMAGE_NAME ?= "${INITRAMFS_IMAGE}-${MACHINE}"
do_configure_prepend () {
install -d ${S}/arch/${ARCH}/boot/
for DTB in ${KERNEL_DEVICETREE}; do
# We have to watch out for when the device-tree is located in its own subdirectory in the kernel sources.
# DTB_SUBDIR will contain this directory.
DTB_DEPLOY=`basename ${DTB}`
DTB_SUBDIR=`dirname ${DTB}`
install -d arch/${ARCH}/boot/${DTB_SUBDIR}
install -m 0644 ${DEPLOY_DIR_IMAGE}/${DTB_DEPLOY} arch/${ARCH}/boot/${DTB}
done
install -m 0644 ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}-${KERNEL_IMAGE_LINK_NAME}.bin arch/${ARCH}/boot/vmlinuz.bin
}
kernel_do_deploy () {
# The kernel-fitimage class appends the deployment to this task. We just have to provide the task.
}
do_deploy () {
deployDir=${DEPLOY_DIR_IMAGE}
kernel_do_deploy
}