linux-thead_5.10.y.bb 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. inherit kernel
  2. require recipes-kernel/linux/linux-yocto.inc
  3. DEPENDS = "e2fsprogs-native opensbi"
  4. SRC_URI = " \
  5. git://git@gitee.com/thead-yocto/kernel.git;branch=master;protocol=http \
  6. "
  7. # crop the kernel based on the defconfig
  8. FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"
  9. SRC_URI:light-b-product-release = " \
  10. git://git@gitee.com/thead-yocto/kernel.git;branch=master;protocol=http \
  11. "
  12. SRC_URI:light-b-product-release += "file://cvl1.cfg"
  13. SRC_URI:light-b-product-release += "file://cvl2.cfg"
  14. # SRC_URI:light-b-product-release += "file://cvl3.cfg"
  15. KERNEL_VERSION_SANITY_SKIP="1"
  16. THEAD_BSP_TAG ?= "${AUTOREV}"
  17. THEAD_LINUX_TAG ?= "${THEAD_BSP_TAG}"
  18. SRCREV = "${THEAD_LINUX_TAG}"
  19. LICENSE = "CLOSED"
  20. DEPENDS += "elfutils-native"
  21. COMPATIBLE_MACHINE = "light-*"
  22. S = "${WORKDIR}/linux-${PV}"
  23. do_configure:append() {
  24. [ -d ${STAGING_KERNEL_DIR} ] && rm -rf ${STAGING_KERNEL_DIR}
  25. [ -f ${STAGING_KERNEL_DIR} ] && rm -rf ${STAGING_KERNEL_DIR}
  26. ln -s ${S} ${STAGING_KERNEL_DIR}
  27. }
  28. do_install:append() {
  29. [ -f ${STAGING_KERNEL_BUILDDIR} ] && rm -rf ${STAGING_KERNEL_BUILDDIR}
  30. [ -d ${STAGING_KERNEL_BUILDDIR} ] && rm -rf ${STAGING_KERNEL_BUILDDIR}
  31. ln -s ${B} ${STAGING_KERNEL_BUILDDIR}
  32. if [ ! -d ${DEPLOY_DIR_IMAGE}/.boot ]; then
  33. mkdir -p ${DEPLOY_DIR_IMAGE}/.boot
  34. fi
  35. if [ -f ${B}/arch/riscv/boot/Image ]; then
  36. cp -f ${B}/arch/riscv/boot/Image ${DEPLOY_DIR_IMAGE}/.boot
  37. fi
  38. dtbfiles=`ls -lt ${B}/arch/riscv/boot/dts/thead/light-*.dtb | awk '{print $9}'`
  39. for i in $dtbfiles;
  40. do
  41. if [ -f $i ]; then
  42. cp ${i} ${DEPLOY_DIR_IMAGE}/.boot
  43. fi
  44. done
  45. install -d ${D}${sysconfdir}
  46. head=$(git --git-dir=${S}/.git rev-parse --verify HEAD 2>/dev/null)
  47. echo "commit-id:"${head} > ${DEPLOY_DIR_IMAGE}/.boot/kernel-release
  48. cp ${DEPLOY_DIR_IMAGE}/.boot/kernel-release ${D}${sysconfdir}
  49. dd if=/dev/zero of=${DEPLOY_DIR_IMAGE}/boot.ext4 count=10000 bs=4096
  50. mkfs.ext4 -F ${DEPLOY_DIR_IMAGE}/boot.ext4 -d ${DEPLOY_DIR_IMAGE}/.boot
  51. rm -f ${BASE_WROKDIR}/kernel_version
  52. touch ${BASE_WORKDIR}/kernel_version
  53. echo ${KERNEL_VERSION_PKG_NAME} > ${BASE_WORKDIR}/kernel_version
  54. }
  55. do_install[nostamp] = "1"
  56. KCONFIG_MODE="--alldefconfig"
  57. FILES:${KERNEL_PACKAGE_NAME}-base += "${sysconfdir}"