aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.github/workflows/premerge.yml16
-rw-r--r--.github/workflows/push.yml21
-rw-r--r--README.md17
-rw-r--r--conf/machine/dragonboard-820c.conf1
-rw-r--r--conf/machine/dragonboard-845c.conf1
-rw-r--r--conf/machine/include/qcom-apq8016.inc3
-rw-r--r--conf/machine/include/qcom-apq8064.inc3
-rw-r--r--conf/machine/include/qcom-apq8096.inc3
-rw-r--r--conf/machine/include/qcom-common.inc10
-rw-r--r--conf/machine/include/qcom-qcs404.inc3
-rw-r--r--conf/machine/include/qcom-sa8155p.inc14
-rw-r--r--conf/machine/include/qcom-sdm845.inc3
-rw-r--r--conf/machine/include/qcom-sm8250.inc3
-rw-r--r--conf/machine/qcom-armv7a.conf38
-rw-r--r--conf/machine/qcom-armv8a.conf50
-rw-r--r--conf/machine/qrb5165-rb5.conf10
-rw-r--r--conf/machine/sa8155p-adp.conf24
-rw-r--r--dynamic-layers/networking-layer/recipes-test/images/initramfs-test-image.bbappend5
-rw-r--r--dynamic-layers/openembedded-layer/recipes-test/images/initramfs-test-image.bbappend3
-rw-r--r--recipes-bsp/firmware/firmware-qcom-dragonboard410c-bootloader-sdcard_17.09.bb1
-rw-r--r--recipes-bsp/firmware/firmware-qcom-dragonboard410c.inc36
-rw-r--r--recipes-bsp/firmware/firmware-qcom-dragonboard410c_1034.2.1.bb42
-rw-r--r--recipes-bsp/firmware/firmware-qcom-dragonboard410c_1036.1.bb15
-rw-r--r--recipes-bsp/firmware/firmware-qcom-dragonboard820c_01700.1.bb11
-rw-r--r--recipes-bsp/firmware/firmware-qcom-dragonboard845c_20190529180356-v4.bb21
-rw-r--r--recipes-bsp/firmware/firmware-qcom-rb5_20210331-v4.bb30
-rw-r--r--recipes-bsp/firmware/firmware-qcom-sd-600eval_1.0.bb3
-rw-r--r--recipes-bsp/lt9611uxc-upgrade/lt9611uxc-upgrade.bb19
-rw-r--r--recipes-bsp/lt9611uxc-upgrade/lt9611uxc-upgrade/lt9611uxc-upgrade.sh21
-rw-r--r--recipes-bsp/lt9611uxc-upgrade/lt9611uxc-upgrade/lt9611uxc.service11
-rw-r--r--recipes-devtools/skales/skales_git.bb4
-rw-r--r--recipes-kernel/images/initramfs-rootfs-image.bb26
-rw-r--r--recipes-kernel/linux/linux-linaro-qcom.inc46
-rw-r--r--recipes-kernel/linux/linux-linaro-qcomlt-dev.bb22
-rw-r--r--recipes-kernel/linux/linux-linaro-qcomlt/0001-Revert-kbuild-Enable-DT-schema-checks-for-.dtb-targe.patch46
-rw-r--r--recipes-kernel/linux/linux-linaro-qcomlt_5.10.bb11
-rw-r--r--recipes-kernel/linux/linux-linaro-qcomlt_5.12.bb6
-rw-r--r--recipes-kernel/linux/linux-linaro-qcomlt_5.13.bb6
-rw-r--r--recipes-kernel/linux/linux-linaro-qcomlt_5.15.bb11
-rw-r--r--recipes-kernel/linux/linux-linaro-qcomlt_5.7.bb13
-rw-r--r--recipes-kernel/linux/linux-linaro-qcomlt_5.9.bb9
-rw-r--r--recipes-kernel/linux/linux-qcom-bootimg.inc179
-rw-r--r--recipes-rt/rt-tests/rt-tests_%.bbappend17
-rw-r--r--recipes-support/fastrpc/fastrpc_git.bb4
-rw-r--r--recipes-support/initrdscripts/files/copy-modules.sh17
-rw-r--r--recipes-support/initrdscripts/initramfs-module-copy-modules_1.0.bb15
-rw-r--r--recipes-support/rmtfs/rmtfs_git.bb2
-rw-r--r--recipes-test/images/initramfs-kerneltest-full-image.bb3
-rw-r--r--recipes-test/images/initramfs-kerneltest-image.bb3
-rw-r--r--recipes-test/images/initramfs-test-full-image.bb70
-rw-r--r--recipes-test/images/initramfs-test-image.bb53
-rw-r--r--recipes-test/images/initramfs-tiny-image.bb35
52 files changed, 697 insertions, 339 deletions
diff --git a/.github/workflows/premerge.yml b/.github/workflows/premerge.yml
new file mode 100644
index 0000000..471bc9a
--- /dev/null
+++ b/.github/workflows/premerge.yml
@@ -0,0 +1,16 @@
+name: PR build
+
+on:
+ pull_request_target:
+
+jobs:
+ build:
+ uses: ndechesne/meta-qcom/.github/workflows/build-template.yml@master
+ with:
+ host: ubuntu-20.04
+ images: core-image-base core-image-weston core-image-x11 initramfs-test-image initramfs-test-full-image cryptodev-module
+ machines: dragonboard-410c dragonboard-845c qrb5165-rb5 qcom-armv8a sa8155p-adp
+ ref: refs/pull/${{github.event.pull_request.number}}/merge
+ branch: ${{github.base_ref}}
+ url: ${{github.server_url}}/${{github.repository}}
+ secrets: inherit
diff --git a/.github/workflows/push.yml b/.github/workflows/push.yml
new file mode 100644
index 0000000..8c69c5d
--- /dev/null
+++ b/.github/workflows/push.yml
@@ -0,0 +1,21 @@
+name: Push build
+
+on:
+ push:
+ branches:
+ - master
+ - honister
+ - dunfell
+
+jobs:
+ build:
+ uses: ndechesne/meta-qcom/.github/workflows/build-template.yml@master
+ with:
+ host: ubuntu-20.04
+ images: core-image-base core-image-weston core-image-x11 initramfs-test-image initramfs-test-full-image cryptodev-module
+ machines: dragonboard-410c dragonboard-845c qrb5165-rb5 qcom-armv8a sa8155p-adp
+ ref: ${{github.sha}}
+ ref_type: sha
+ branch: ${{github.ref_name}}
+ url: ${{github.server_url}}/${{github.repository}}
+ secrets: inherit
diff --git a/README.md b/README.md
index 5702186..8bf3173 100644
--- a/README.md
+++ b/README.md
@@ -30,25 +30,14 @@ for the implementation details.
## Contributing
If you want to contribute changes, you can send Github pull requests at
-https://github.com/ndechesne/meta-qcom/pulls.
-
-Alternatively you can send patches to openembedded@lists.linaro.org, in which
-case, please:
-
-* When creating patches, please use something like:
-
-`git format-patch -s --subject-prefix='meta-qcom][PATCH' origin`
-
-* When sending patches, please use something like:
-
-`git send-email --to openembedded@lists.linaro.org <generated patch>`
+https://github.com/Linaro/meta-qcom/pulls.
You can discuss about this layer, on `#linaro` on FreeNode IRC network.
## Reporting issues
-Please report any issue on https://github.com/ndechesne/meta-qcom/issues
+Please report any issue on https://github.com/Linaro/meta-qcom/issues
## Maintainer(s)
-Nicolas Dechesne <nicolas.dechesne@linaro.org>
+Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
diff --git a/conf/machine/dragonboard-820c.conf b/conf/machine/dragonboard-820c.conf
index ed61911..b36d148 100644
--- a/conf/machine/dragonboard-820c.conf
+++ b/conf/machine/dragonboard-820c.conf
@@ -16,6 +16,7 @@ MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS += " \
kernel-modules \
${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'linux-firmware-qcom-adreno-a530 mesa-driver-msm', '', d)} \
${@bb.utils.contains('DISTRO_FEATURES', 'wifi', 'linux-firmware-ath10k', '', d)} \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'linux-firmware-qca', '', d)} \
linux-firmware-qcom-venus-4.2 \
"
diff --git a/conf/machine/dragonboard-845c.conf b/conf/machine/dragonboard-845c.conf
index 8391ef6..e5f0755 100644
--- a/conf/machine/dragonboard-845c.conf
+++ b/conf/machine/dragonboard-845c.conf
@@ -8,6 +8,7 @@ MACHINE_FEATURES = "usbhost usbgadget alsa screen wifi bluetooth ext2"
KERNEL_IMAGETYPE ?= "Image.gz"
KERNEL_DEVICETREE ?= "qcom/sdm845-db845c.dtb"
+KERNEL_CMDLINE_EXTRA ?= "clk_ignore_unused pd_ignore_unused"
SERIAL_CONSOLE ?= "115200 ttyMSM0"
diff --git a/conf/machine/include/qcom-apq8016.inc b/conf/machine/include/qcom-apq8016.inc
index 80e097b..a073ae7 100644
--- a/conf/machine/include/qcom-apq8016.inc
+++ b/conf/machine/include/qcom-apq8016.inc
@@ -9,3 +9,6 @@ MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS += " \
MACHINE_EXTRA_RRECOMMENDS += " \
fastrpc \
"
+
+# Android boot image settings
+QCOM_BOOTIMG_PAGE_SIZE = "2048"
diff --git a/conf/machine/include/qcom-apq8064.inc b/conf/machine/include/qcom-apq8064.inc
index 96f880c..af8e87a 100644
--- a/conf/machine/include/qcom-apq8064.inc
+++ b/conf/machine/include/qcom-apq8064.inc
@@ -1,3 +1,6 @@
SOC_FAMILY = "apq8064"
require conf/machine/include/qcom-common.inc
require conf/machine/include/tune-cortexa8.inc
+
+# Android boot image settings
+QCOM_BOOTIMG_PAGE_SIZE = "2048"
diff --git a/conf/machine/include/qcom-apq8096.inc b/conf/machine/include/qcom-apq8096.inc
index 4f62b59..8038091 100644
--- a/conf/machine/include/qcom-apq8096.inc
+++ b/conf/machine/include/qcom-apq8096.inc
@@ -10,6 +10,3 @@ MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS += " \
MACHINE_EXTRA_RRECOMMENDS += " \
fastrpc \
"
-
-# Android boot image settings
-QCOM_BOOTIMG_PAGE_SIZE = "4096"
diff --git a/conf/machine/include/qcom-common.inc b/conf/machine/include/qcom-common.inc
index d2434f9..18b9ce7 100644
--- a/conf/machine/include/qcom-common.inc
+++ b/conf/machine/include/qcom-common.inc
@@ -30,4 +30,12 @@ IMAGE_ROOTFS_ALIGNMENT ?= "4096"
# Android boot image settings
QCOM_BOOTIMG_KERNEL_BASE ?= "0x80000000"
-QCOM_BOOTIMG_PAGE_SIZE ?= "2048"
+QCOM_BOOTIMG_PAGE_SIZE ?= "4096"
+
+# Default serial console for QCOM devices
+SERIAL_CONSOLES ?= "115200;ttyMSM0"
+
+# Increase INITRAMFS_MAXSIZE to 384 MiB to cover initramfs-kerneltest-full
+# image. All our boards (except db410c) have 2GiB and db410c has 1GiB of RAM,
+# so this image would fit.
+INITRAMFS_MAXSIZE = "393216"
diff --git a/conf/machine/include/qcom-qcs404.inc b/conf/machine/include/qcom-qcs404.inc
index eacc03c..90f9acb 100644
--- a/conf/machine/include/qcom-qcs404.inc
+++ b/conf/machine/include/qcom-qcs404.inc
@@ -5,6 +5,3 @@ require conf/machine/include/arm/arch-armv8a.inc
MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS += " \
qrtr \
"
-
-# Android boot image settings
-QCOM_BOOTIMG_PAGE_SIZE = "4096"
diff --git a/conf/machine/include/qcom-sa8155p.inc b/conf/machine/include/qcom-sa8155p.inc
new file mode 100644
index 0000000..b3b521e
--- /dev/null
+++ b/conf/machine/include/qcom-sa8155p.inc
@@ -0,0 +1,14 @@
+SOC_FAMILY = "sa8155p"
+require conf/machine/include/qcom-common.inc
+require conf/machine/include/arm/arch-armv8a.inc
+
+MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS += " \
+ pd-mapper \
+ qrtr \
+ rmtfs \
+ tqftpserv \
+"
+
+MACHINE_EXTRA_RRECOMMENDS += " \
+ fastrpc \
+"
diff --git a/conf/machine/include/qcom-sdm845.inc b/conf/machine/include/qcom-sdm845.inc
index ab99f39..43dded1 100644
--- a/conf/machine/include/qcom-sdm845.inc
+++ b/conf/machine/include/qcom-sdm845.inc
@@ -12,6 +12,3 @@ MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS += " \
MACHINE_EXTRA_RRECOMMENDS += " \
fastrpc \
"
-
-# Android boot image settings
-QCOM_BOOTIMG_PAGE_SIZE = "4096"
diff --git a/conf/machine/include/qcom-sm8250.inc b/conf/machine/include/qcom-sm8250.inc
index b077313..13bcf5b 100644
--- a/conf/machine/include/qcom-sm8250.inc
+++ b/conf/machine/include/qcom-sm8250.inc
@@ -12,6 +12,3 @@ MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS += " \
MACHINE_EXTRA_RRECOMMENDS += " \
fastrpc \
"
-
-# Android boot image settings
-QCOM_BOOTIMG_PAGE_SIZE ?= "4096"
diff --git a/conf/machine/qcom-armv7a.conf b/conf/machine/qcom-armv7a.conf
new file mode 100644
index 0000000..d71e366
--- /dev/null
+++ b/conf/machine/qcom-armv7a.conf
@@ -0,0 +1,38 @@
+#@TYPE: Machine
+#@NAME: Qualcomm Snapdragon ARMv7-a (with Krait cores)
+#@DESCRIPTION: Unified 32-bit machine configuration for the devices with Qualcomm Snapdragon ARMv7-a based CPUs (S4 and later)
+#
+# Note: This machine targets Snapdragon S4 Plus/Pro/Prime and early (32-bit
+# ARM) models of Snapdragon 400/600/800 series SoCs. It will most probably
+# work on Snapdragon S4 (MSM8x25, Cortex-A5 with VFPv4) or on 32-bit IPQ SoCs
+#
+# Do not use this machine for SDXnn modems or for Snapdragon S1/S2/S3.
+
+require conf/machine/include/qcom-common.inc
+
+# Krait is not Cortex-A15, but its features are close enough
+DEFAULTTUNE = "cortexa15thf-neon-vfpv4"
+require conf/machine/include/tune-cortexa15.inc
+
+# Android boot image settings
+QCOM_BOOTIMG_PAGE_SIZE = "2048"
+
+MACHINE_FEATURES = "alsa screen alsa bluetooth ext2 ext3 opengl usb usbhost usbgadget"
+
+KERNEL_IMAGETYPE ?= "zImage"
+KERNEL_DEVICETREE ?= " \
+ qcom-apq8064-asus-nexus7-flo.dtb \
+ qcom-apq8064-ifc6410.dtb \
+ qcom-apq8084-ifc6540.dtb \
+ qcom-msm8974-lge-nexus5-hammerhead.dtb \
+ qcom-msm8974-sony-xperia-castor.dtb \
+"
+
+MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS += " \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'mesa-driver-msm', '', d)} \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'wifi', 'wireless-regdb-static', '', d)} \
+"
+
+SERIAL_CONSOLE ?= "115200 ttyMSM0"
+
+QCOM_BOOTIMG_ROOTFS ?= "PARTLABEL=userdata"
diff --git a/conf/machine/qcom-armv8a.conf b/conf/machine/qcom-armv8a.conf
new file mode 100644
index 0000000..54ab0cd
--- /dev/null
+++ b/conf/machine/qcom-armv8a.conf
@@ -0,0 +1,50 @@
+require conf/machine/include/qcom-common.inc
+require conf/machine/include/arm/arch-armv8a.inc
+
+MACHINE_FEATURES = "usbhost usbgadget alsa screen wifi bluetooth ext2"
+
+# UFS partitions in 820/845/RB5 setup with 4096 logical sector size
+EXTRA_IMAGECMD_ext4 += " -b 4096 "
+
+# Support for dragonboard{410, 820, 845}c, rb5
+KERNEL_IMAGETYPE ?= "Image.gz"
+SERIAL_CONSOLE ?= "115200 ttyMSM0"
+KERNEL_DEVICETREE ?= "qcom/apq8016-sbc.dtb qcom/apq8096-db820c.dtb qcom/sdm845-db845c.dtb qcom/qrb5165-rb5.dtb qcom/sm8250-rb5-dvt.dtb"
+
+QCOM_BOOTIMG_PAGE_SIZE[apq8016-sbc] = "2048"
+QCOM_BOOTIMG_ROOTFS = "/dev/sda1"
+QCOM_BOOTIMG_ROOTFS[apq8016-sbc] = "/dev/mmcblk0p14"
+SD_QCOM_BOOTIMG_ROOTFS[apq8016-sbc] = "/dev/mmcblk1p7"
+KERNEL_CMDLINE_EXTRA[sdm845-db845c] = "clk_ignore_unused pd_ignore_unused"
+
+# Userspace tools
+MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS += " \
+ pd-mapper \
+ qrtr \
+ rmtfs \
+ tqftpserv \
+"
+
+MACHINE_EXTRA_RRECOMMENDS += " \
+ fastrpc \
+"
+
+# Modules and firmware for all supported machines
+MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS += " \
+ kernel-modules \
+ firmware-qcom-dragonboard410c \
+ firmware-qcom-dragonboard820c \
+ firmware-qcom-dragonboard845c \
+ firmware-qcom-rb5 \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'wifi', 'linux-firmware-ath10k linux-firmware-ath11k linux-firmware-qcom-sdm845-modem wireless-regdb-static', '', d)} \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'linux-firmware-qca linux-firmware-qcom-sdm845-modem', '', d)} \
+ linux-firmware-qcom-sdm845-audio \
+ linux-firmware-qcom-sdm845-compute \
+ linux-firmware-qcom-sm8250-audio \
+ linux-firmware-qcom-sm8250-compute \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'linux-firmware-qcom-adreno-a3xx linux-firmware-qcom-adreno-a530 linux-firmware-qcom-adreno-a630 linux-firmware-qcom-adreno-a650', '', d)} \
+ linux-firmware-qcom-venus-1.8 \
+ linux-firmware-qcom-venus-4.2 \
+ linux-firmware-qcom-venus-5.2 \
+ linux-firmware-qcom-vpu-1.0 \
+"
diff --git a/conf/machine/qrb5165-rb5.conf b/conf/machine/qrb5165-rb5.conf
index dc62570..b27de12 100644
--- a/conf/machine/qrb5165-rb5.conf
+++ b/conf/machine/qrb5165-rb5.conf
@@ -7,19 +7,21 @@ require conf/machine/include/qcom-sm8250.inc
MACHINE_FEATURES = "usbhost usbgadget alsa screen wifi bluetooth ext2"
KERNEL_IMAGETYPE ?= "Image.gz"
-KERNEL_DEVICETREE ?= "qcom/qrb5165-rb5.dtb"
+KERNEL_DEVICETREE ?= "qcom/qrb5165-rb5.dtb qcom/sm8250-rb5-dvt.dtb"
+KERNEL_CMDLINE_EXTRA ?= "pcie_pme=nomsi"
SERIAL_CONSOLE ?= "115200 ttyMSM0"
MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS += " \
kernel-modules \
firmware-qcom-rb5 linux-firmware-lt9611uxc \
- lt9611uxc-upgrade \
${@bb.utils.contains('DISTRO_FEATURES', 'wifi', 'linux-firmware-ath11k wireless-regdb-static', '', d)} \
${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'linux-firmware-qca', '', d)} \
- ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'mesa-driver-msm', '', d)} \
+ linux-firmware-qcom-sm8250-audio \
+ linux-firmware-qcom-sm8250-compute \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'linux-firmware-qcom-adreno-a650 mesa-driver-msm', '', d)} \
+ linux-firmware-qcom-vpu-1.0 \
"
-# linux-firmware-qcom-adreno-a650
# /dev/sda1 is 'rootfs' partition after installing the latest bootloader package from linaro
QCOM_BOOTIMG_ROOTFS ?= "/dev/sda1"
diff --git a/conf/machine/sa8155p-adp.conf b/conf/machine/sa8155p-adp.conf
new file mode 100644
index 0000000..19734d9
--- /dev/null
+++ b/conf/machine/sa8155p-adp.conf
@@ -0,0 +1,24 @@
+#@TYPE: Machine
+#@NAME: SA8155P-ADP
+#@DESCRIPTION: Machine configuration for the SA8155P-ADP (and IOT v2) development board, with Qualcomm Snapdragon SA8155p.
+
+require conf/machine/include/qcom-sa8155p.inc
+
+MACHINE_FEATURES = "usbhost usbgadget ext2"
+
+KERNEL_IMAGETYPE ?= "Image.gz"
+KERNEL_DEVICETREE ?= "qcom/sa8155p-adp.dtb qcom/sa8155p-iot-v2-adp.dtb"
+
+SERIAL_CONSOLE ?= "115200 ttyMSM0"
+
+MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS += " \
+ kernel-modules \
+"
+
+# /dev/sda6 is 'system' partition for adp board, but its very small, so we
+# use 'userdata' partition here.
+# /dev/sda9 is 'userdata' partition for adp board, so wipe it and use for our build
+QCOM_BOOTIMG_ROOTFS ?= "/dev/sda9"
+
+# UFS partitions setup with 4096 logical sector size
+EXTRA_IMAGECMD:ext4 += " -b 4096 "
diff --git a/dynamic-layers/networking-layer/recipes-test/images/initramfs-test-image.bbappend b/dynamic-layers/networking-layer/recipes-test/images/initramfs-test-image.bbappend
deleted file mode 100644
index bd946f8..0000000
--- a/dynamic-layers/networking-layer/recipes-test/images/initramfs-test-image.bbappend
+++ /dev/null
@@ -1,5 +0,0 @@
-PACKAGE_INSTALL += " \
- iperf2 \
- iperf3 \
- tcpdump \
-"
diff --git a/dynamic-layers/openembedded-layer/recipes-test/images/initramfs-test-image.bbappend b/dynamic-layers/openembedded-layer/recipes-test/images/initramfs-test-image.bbappend
deleted file mode 100644
index 16f4e3c..0000000
--- a/dynamic-layers/openembedded-layer/recipes-test/images/initramfs-test-image.bbappend
+++ /dev/null
@@ -1,3 +0,0 @@
-PACKAGE_INSTALL += " \
- devmem2 \
-"
diff --git a/recipes-bsp/firmware/firmware-qcom-dragonboard410c-bootloader-sdcard_17.09.bb b/recipes-bsp/firmware/firmware-qcom-dragonboard410c-bootloader-sdcard_17.09.bb
index 61ef441..3adaa37 100644
--- a/recipes-bsp/firmware/firmware-qcom-dragonboard410c-bootloader-sdcard_17.09.bb
+++ b/recipes-bsp/firmware/firmware-qcom-dragonboard410c-bootloader-sdcard_17.09.bb
@@ -9,7 +9,6 @@ SRC_URI = "https://releases.linaro.org/96boards/dragonboard410c/linaro/rescue/17
SRC_URI[md5sum] = "e15da2a623442d66587aea506599fb69"
SRC_URI[sha256sum] = "9885f915ebd4986432340cf1d03b8fd2bfdd97ad6a4a7466200fddbe41cdcf5c"
-COMPATIBLE_MACHINE = "(dragonboard-410c)"
PACKAGE_ARCH = "${MACHINE_ARCH}"
S = "${WORKDIR}"
diff --git a/recipes-bsp/firmware/firmware-qcom-dragonboard410c.inc b/recipes-bsp/firmware/firmware-qcom-dragonboard410c.inc
new file mode 100644
index 0000000..d8361f3
--- /dev/null
+++ b/recipes-bsp/firmware/firmware-qcom-dragonboard410c.inc
@@ -0,0 +1,36 @@
+DESCRIPTION = "QCOM Firmware for DragonBoard 410c"
+
+LICENSE = "Proprietary"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=4d087ee0965cb059f1b2f9429e166f64"
+
+DEPENDS += "mtools-native"
+
+inherit allarch
+
+S = "${WORKDIR}/linux-board-support-package-r${PV}"
+
+do_compile() {
+ :
+}
+
+do_install() {
+ install -d ${D}${nonarch_base_libdir}/firmware/
+
+ install -d ${D}/boot
+ cp ./efs-seed/fs_image_linux.tar.gz.mbn.img ${D}/boot/modem_fsg
+
+ cp -r ./proprietary-linux/wlan ${D}${nonarch_base_libdir}/firmware/
+
+ install -d ${D}${nonarch_base_libdir}/firmware/qcom/msm8916
+ MTOOLS_SKIP_CHECK=1 mcopy -i ./bootloaders-linux/NON-HLOS.bin \
+ ::image/modem.* ::image/mba.mbn ::image/wcnss.* ${D}${nonarch_base_libdir}/firmware/qcom/msm8916
+
+ install -d ${D}${sysconfdir}/
+ install -m 0644 LICENSE ${D}${sysconfdir}/QCOM-LINUX-BOARD-SUPPORT-LICENSE-${PN}
+}
+
+FILES_${PN} += "/boot/modem_fsg"
+FILES_${PN} += "${nonarch_base_libdir}/firmware/wlan/*"
+FILES_${PN} += "${nonarch_base_libdir}/firmware/qcom/msm8916/*"
+
+INSANE_SKIP_${PN} += "arch"
diff --git a/recipes-bsp/firmware/firmware-qcom-dragonboard410c_1034.2.1.bb b/recipes-bsp/firmware/firmware-qcom-dragonboard410c_1034.2.1.bb
index ecdbed9..6f188bc 100644
--- a/recipes-bsp/firmware/firmware-qcom-dragonboard410c_1034.2.1.bb
+++ b/recipes-bsp/firmware/firmware-qcom-dragonboard410c_1034.2.1.bb
@@ -1,45 +1,5 @@
-DESCRIPTION = "QCOM Firmware for DragonBoard 410c"
-
-LICENSE = "Proprietary"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=4d087ee0965cb059f1b2f9429e166f64"
+require recipes-bsp/firmware/firmware-qcom-dragonboard410c.inc
SRC_URI = "http://releases.linaro.org/96boards/dragonboard410c/qualcomm/firmware/linux-board-support-package-r${PV}.zip"
SRC_URI[md5sum] = "25c241bfd5fb2e55e8185752d5fe92ce"
SRC_URI[sha256sum] = "46953b974c5c58c7ca66db414437c0268b033ac9d28127e98d9c4e1a49359da5"
-
-DEPENDS += "mtools-native"
-
-COMPATIBLE_MACHINE = "(dragonboard-410c)"
-PACKAGE_ARCH = "${MACHINE_ARCH}"
-
-S = "${WORKDIR}/linux-board-support-package-r${PV}"
-
-do_compile() {
- :
-}
-
-do_install() {
- install -d ${D}${nonarch_base_libdir}/firmware/
-
- install -d ${D}/boot
- cp ./efs-seed/fs_image_linux.tar.gz.mbn.img ${D}/boot/modem_fsg
-
- cp -r ./proprietary-linux/wlan ${D}${nonarch_base_libdir}/firmware/
-
- install -d ${D}${nonarch_base_libdir}/firmware/qcom/msm8916
- MTOOLS_SKIP_CHECK=1 mcopy -i ./bootloaders-linux/NON-HLOS.bin \
- ::image/modem.* ::image/mba.mbn ::image/wcnss.* ${D}${nonarch_base_libdir}/firmware/qcom/msm8916
-
- install -d ${D}${sysconfdir}/
- install -m 0644 LICENSE ${D}${sysconfdir}/QCOM-LINUX-BOARD-SUPPORT-LICENSE
-}
-
-FILES_${PN} += "/boot/modem_fsg"
-FILES_${PN} += "${nonarch_base_libdir}/firmware/wlan/*"
-FILES_${PN} += "${nonarch_base_libdir}/firmware/qcom/msm8916/*"
-
-INSANE_SKIP_${PN} += "arch"
-
-RPROVIDES_${PN} += "linux-firmware-qcom-license"
-RREPLACES_${PN} += "linux-firmware-qcom-license"
-RCONFLICTS_${PN} += "linux-firmware-qcom-license"
diff --git a/recipes-bsp/firmware/firmware-qcom-dragonboard410c_1036.1.bb b/recipes-bsp/firmware/firmware-qcom-dragonboard410c_1036.1.bb
new file mode 100644
index 0000000..194c3e5
--- /dev/null
+++ b/recipes-bsp/firmware/firmware-qcom-dragonboard410c_1036.1.bb
@@ -0,0 +1,15 @@
+# This firmware is not released for redistribution, however it can be
+# downloaded from https://developer.qualcomm.com/hardware/dragonboard-410c
+#
+# Add the following line to local.conf to use it:
+# PREFERRED_VERSION_firmware-qcom-dragonboard410c = "1036.1"
+# You have to manually put the downloaded file into ${DL_DIR}
+
+require recipes-bsp/firmware/firmware-qcom-dragonboard410c.inc
+
+SRC_URI = '${@oe.utils.conditional("PREFERRED_VERSION_firmware-qcom-dragonboard410c", "1036.1", "file://dragonboard_410c.zip.1.0-r1036.1.zip", "", d)}'
+SRC_URI[md5sum] = "3092fccf7a97fa319d7732a98425f9d4"
+SRC_URI[sha256sum] = "93070f58fa3aa6467baa881935c37c4da2df2a8af3248746931ce3d11a3a1200"
+
+# This should not be selected by default as the firmware archive is behind the accept&click wall.
+DEFAULT_PREFERENCE = "-1"
diff --git a/recipes-bsp/firmware/firmware-qcom-dragonboard820c_01700.1.bb b/recipes-bsp/firmware/firmware-qcom-dragonboard820c_01700.1.bb
index 952f574..bb0d9b6 100644
--- a/recipes-bsp/firmware/firmware-qcom-dragonboard820c_01700.1.bb
+++ b/recipes-bsp/firmware/firmware-qcom-dragonboard820c_01700.1.bb
@@ -7,8 +7,7 @@ SRC_URI = "https://releases.linaro.org/96boards/dragonboard820c/qualcomm/firmwar
SRC_URI[md5sum] = "587138c5e677342db9a88d5c8747ec6c"
SRC_URI[sha256sum] = "6ee9c461b2b5dd2d3bd705bb5ea3f44b319ecb909b2772f305ce12439e089cd9"
-COMPATIBLE_MACHINE = "(dragonboard-820c)"
-PACKAGE_ARCH = "${MACHINE_ARCH}"
+inherit allarch
S = "${WORKDIR}/linux-board-support-package-r${PV}"
@@ -22,13 +21,11 @@ do_install() {
install -m 0444 ./proprietary-linux/adsp*.* ${D}${nonarch_base_libdir}/firmware/qcom/msm8996/
+ install -m 0444 ./bootloaders-linux/adspso.bin ${D}${nonarch_base_libdir}/firmware/qcom/msm8996/
+
install -d ${D}${sysconfdir}/
- install -m 0644 LICENSE ${D}${sysconfdir}/QCOM-LINUX-BOARD-SUPPORT-LICENSE
+ install -m 0644 LICENSE ${D}${sysconfdir}/QCOM-LINUX-BOARD-SUPPORT-LICENSE-${PN}
}
FILES_${PN} += "${nonarch_base_libdir}/firmware/*"
INSANE_SKIP_${PN} += "arch"
-
-RPROVIDES_${PN} += "linux-firmware-qcom-license"
-RREPLACES_${PN} += "linux-firmware-qcom-license"
-RCONFLICTS_${PN} += "linux-firmware-qcom-license"
diff --git a/recipes-bsp/firmware/firmware-qcom-dragonboard845c_20190529180356-v4.bb b/recipes-bsp/firmware/firmware-qcom-dragonboard845c_20190529180356-v4.bb
index fbc9187..9011f87 100644
--- a/recipes-bsp/firmware/firmware-qcom-dragonboard845c_20190529180356-v4.bb
+++ b/recipes-bsp/firmware/firmware-qcom-dragonboard845c_20190529180356-v4.bb
@@ -7,36 +7,21 @@ SRC_URI = "https://releases.linaro.org/96boards/dragonboard845c/qualcomm/firmwar
SRC_URI[md5sum] = "ad69855a1275547b16d94a1b5405ac62"
SRC_URI[sha256sum] = "4289d2f2a7124b104d0274879e702aae9b1e50c42eec3747f8584c6744ef65e3"
-COMPATIBLE_MACHINE = "(dragonboard-845c)"
-PACKAGE_ARCH = "${MACHINE_ARCH}"
-DEPENDS += "qca-swiss-army-knife-native"
-inherit python3native
-
-do_compile() {
- # Build board-2.bin needed by WiFi
- ath10k-generate-board-2_json.sh ./38-bdwlan_split board-2.json
- python3 "${STAGING_BINDIR_NATIVE}/ath10k-bdencoder" -c board-2.json -o board-2.bin
-}
do_install() {
install -d ${D}${nonarch_base_libdir}/firmware/
install -d ${D}${nonarch_base_libdir}/firmware/qcom/sdm845
+ install -m 0444 ./08-dspso/dspso.bin ${D}${nonarch_base_libdir}/firmware/qcom/sdm845
+
install -m 0444 ./17-USB3-201-202-FW/K2026090.mem ${D}${nonarch_base_libdir}/firmware/renesas_usb_fw.mem
install -m 0444 ./18-adreno-fw/a630_zap*.* ${D}${nonarch_base_libdir}/firmware/qcom/
install -m 0444 ./20-adsp_split/firmware/adsp*.* ${D}${nonarch_base_libdir}/firmware/qcom/sdm845
install -m 0444 ./21-cdsp_split/firmware/cdsp*.* ${D}${nonarch_base_libdir}/firmware/qcom/sdm845
- install -d ${D}${nonarch_base_libdir}/firmware/ath10k/WCN3990/hw1.0/
- install -m 0444 ./board-2.bin ${D}${nonarch_base_libdir}/firmware/ath10k/WCN3990/hw1.0/
-
install -d ${D}${sysconfdir}/
- install -m 0644 LICENSE.qcom.txt ${D}${sysconfdir}/QCOM-LINUX-BOARD-SUPPORT-LICENSE
+ install -m 0644 LICENSE.qcom.txt ${D}${sysconfdir}/QCOM-LINUX-BOARD-SUPPORT-LICENSE-${PN}
}
FILES_${PN} += "${nonarch_base_libdir}/firmware/*"
INSANE_SKIP_${PN} += "arch"
-
-RPROVIDES_${PN} += "linux-firmware-qcom-license"
-RREPLACES_${PN} += "linux-firmware-qcom-license"
-RCONFLICTS_${PN} += "linux-firmware-qcom-license"
diff --git a/recipes-bsp/firmware/firmware-qcom-rb5_20210331-v4.bb b/recipes-bsp/firmware/firmware-qcom-rb5_20210331-v4.bb
index 428a904..8cafe7f 100644
--- a/recipes-bsp/firmware/firmware-qcom-rb5_20210331-v4.bb
+++ b/recipes-bsp/firmware/firmware-qcom-rb5_20210331-v4.bb
@@ -1,9 +1,3 @@
-# Provide base URI of NHLOS_Binaries.zip and adreno_1.0_qrb5165_rb5.tar.gz
-# files. Use "file://" if those files are copied into
-# recipes-bsp/firmware/files/ directory.
-# NHLOS_URI ?= "file://"
-# ADRENO_URI ?= "file://"
-
DESCRIPTION = "QCOM Firmware for Qualcomm Robotics RB5 platform"
LICENSE = "Proprietary"
@@ -22,9 +16,7 @@ PE = "1"
DEPENDS += "qca-swiss-army-knife-native"
-PACKAGE_ARCH = "${MACHINE_ARCH}"
-
-VENUS_FW = "vpu-1.0"
+inherit allarch
do_compile() {
# Build board-2.bin needed by WiFi
@@ -35,18 +27,10 @@ do_compile() {
do_install() {
install -d ${D}${nonarch_base_libdir}/firmware/qcom/sm8250
- install -m 0444 ./18-adreno-fw/a650_gmu.bin ${D}${nonarch_base_libdir}/firmware/qcom
- install -m 0444 ./18-adreno-fw/a650_sqe.fw ${D}${nonarch_base_libdir}/firmware/qcom
- install -m 0444 ./18-adreno-fw/a650_zap.elf ${D}${nonarch_base_libdir}/firmware/qcom/sm8250/a650_zap.mbn
+ install -m 0444 ./08-dspso/dspso.bin ${D}${nonarch_base_libdir}/firmware/qcom/sm8250
- install -m 0444 ./20-adsp_split/adsp.mbn ${D}${nonarch_base_libdir}/firmware/qcom/sm8250/
- install -m 0444 ./21-cdsp_split/cdsp.mbn ${D}${nonarch_base_libdir}/firmware/qcom/sm8250/
install -m 0444 ./30-slpi_split/slpi.mbn ${D}${nonarch_base_libdir}/firmware/qcom/sm8250/
-
- install -m 0444 ./39-jsn/*.jsn ${D}${nonarch_base_libdir}/firmware/qcom/sm8250/
-
- install -d ${D}${nonarch_base_libdir}/firmware/qcom/${VENUS_FW}
- install -m 0444 ./33-venus_split/venus.b* ./33-venus_split/venus.mdt ${D}${nonarch_base_libdir}/firmware/qcom/${VENUS_FW}
+ install -m 0444 ./39-jsn/slpi*.jsn ${D}${nonarch_base_libdir}/firmware/qcom/sm8250/
install -d ${D}${nonarch_base_libdir}/firmware/ath11k/QCA6390/hw2.0/
install -m 0444 ${S}/board-2.bin ${D}${nonarch_base_libdir}/firmware/ath11k/QCA6390/hw2.0/board-2.bin
@@ -61,14 +45,6 @@ INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
INHIBIT_PACKAGE_STRIP = "1"
INHIBIT_DEFAULT_DEPS = "1"
-RPROVIDES_${PN} += "linux-firmware-qcom-adreno-a650"
-RREPLACES_${PN} += "linux-firmware-qcom-adreno-a650"
-RCONFLICTS_${PN} += "linux-firmware-qcom-adreno-a650"
-
-RPROVIDES_${PN} += "linux-firmware-qcom-${VENUS_FW}"
-RREPLACES_${PN} += "linux-firmware-qcom-${VENUS_FW}"
-RCONFLICTS_${PN} += "linux-firmware-qcom-${VENUS_FW}"
-
inherit update-alternatives
ALTERNATIVE_${PN} = "qca6390-board2"
diff --git a/recipes-bsp/firmware/firmware-qcom-sd-600eval_1.0.bb b/recipes-bsp/firmware/firmware-qcom-sd-600eval_1.0.bb
index 0a16d46..a3af887 100644
--- a/recipes-bsp/firmware/firmware-qcom-sd-600eval_1.0.bb
+++ b/recipes-bsp/firmware/firmware-qcom-sd-600eval_1.0.bb
@@ -7,8 +7,7 @@ SRC_URI = "https://eragon.einfochips.com/pub/media/datasheet/SD_600eval-linux_pr
SRC_URI[md5sum] = "0903e9f656d3cea005ecc8e26f1243b2"
SRC_URI[sha256sum] = "fdffcb2cedc0d0215ee3dec95ce3683a780d9280960d27200379fbe1b21af979"
-COMPATIBLE_MACHINE = "(sd-600eval|dragonboard-600c)"
-PACKAGE_ARCH = "${MACHINE_ARCH}"
+inherit allarch
S = "${WORKDIR}/SD_600eval-linux_proprietary_firmware-v${PV}"
diff --git a/recipes-bsp/lt9611uxc-upgrade/lt9611uxc-upgrade.bb b/recipes-bsp/lt9611uxc-upgrade/lt9611uxc-upgrade.bb
deleted file mode 100644
index e6ae271..0000000
--- a/recipes-bsp/lt9611uxc-upgrade/lt9611uxc-upgrade.bb
+++ /dev/null
@@ -1,19 +0,0 @@
-SUMMARY = "Upgrade Lontium LT9611UXC firmware to the latest image"
-
-SRC_URI = "file://lt9611uxc.service file://lt9611uxc-upgrade.sh"
-LICENSE = "MIT"
-
-LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
-
-inherit systemd
-
-RDEPENDS_${PN} += "linux-firmware-lt9611uxc"
-
-do_install() {
- install -d ${D}${bindir}
- install -m 0755 ${WORKDIR}/lt9611uxc-upgrade.sh ${D}${bindir}
- install -d ${D}${systemd_system_unitdir}
- install -m 0644 ${WORKDIR}/lt9611uxc.service ${D}${systemd_system_unitdir}
-}
-
-SYSTEMD_SERVICE_${PN} = "lt9611uxc.service"
diff --git a/recipes-bsp/lt9611uxc-upgrade/lt9611uxc-upgrade/lt9611uxc-upgrade.sh b/recipes-bsp/lt9611uxc-upgrade/lt9611uxc-upgrade/lt9611uxc-upgrade.sh
deleted file mode 100644
index 0886980..0000000
--- a/recipes-bsp/lt9611uxc-upgrade/lt9611uxc-upgrade/lt9611uxc-upgrade.sh
+++ /dev/null
@@ -1,21 +0,0 @@
-#!/bin/sh
-
-set -e
-
-if [ ! -r /lib/firmware/lt9611uxc_fw.bin ] ; then
- echo "LT9611UXC firmware not found"
- exit 1
-fi
-
-if [ ! -d /sys/bus/i2c/drivers/lt9611uxc ] ; then
- modprobe lontium-lt9611uxc
- sleep 1
-fi
-
-for f in /sys/bus/i2c/drivers/lt9611uxc/* ; do
- [ -L $f ] || continue
- version=`cat $f/lt9611uxc_firmware`
- if [ "$version" -lt "43" ] ; then
- echo > $f/lt9611uxc_firmware
- fi
-done
diff --git a/recipes-bsp/lt9611uxc-upgrade/lt9611uxc-upgrade/lt9611uxc.service b/recipes-bsp/lt9611uxc-upgrade/lt9611uxc-upgrade/lt9611uxc.service
deleted file mode 100644
index 79c510c..0000000
--- a/recipes-bsp/lt9611uxc-upgrade/lt9611uxc-upgrade/lt9611uxc.service
+++ /dev/null
@@ -1,11 +0,0 @@
-[Unit]
-Description=Update LT9611UXC Firmware
-ConditionFirstBoot=true
-After=systemd-udev-settle.service
-
-[Service]
-Type=oneshot
-ExecStart=/usr/bin/lt9611uxc-upgrade.sh
-
-[Install]
-WantedBy=getty.target
diff --git a/recipes-devtools/skales/skales_git.bb b/recipes-devtools/skales/skales_git.bb
index 782d20c..134cc1e 100644
--- a/recipes-devtools/skales/skales_git.bb
+++ b/recipes-devtools/skales/skales_git.bb
@@ -1,6 +1,6 @@
SUMMARY = "Tools to create boot images for QCOM SoC"
-HOMEPAGE = "https://www.codeaurora.org/cgit/quic/kernel/skales/"
+HOMEPAGE = "https://git.codelinaro.org/clo/qsdk/oss/tools/skales"
SECTION = "devel"
LICENSE = "BSD-3-Clause"
@@ -9,7 +9,7 @@ LIC_FILES_CHKSUM = "file://mkbootimg;beginline=3;endline=29;md5=114b84083e657f38
SRCREV = "6eac9e943de53c4aaaede3697e9226a47686fe25"
PV = "1.5.0+git${SRCPV}"
-SRC_URI = "git://source.codeaurora.org/quic/kernel/skales;protocol=http \
+SRC_URI = "git://git.codelinaro.org/clo/qsdk/oss/tools/skales.git;protocol=https;branch=caf_migration/skales/master \
file://0002-mkbootimg-use-python3.patch \
"
diff --git a/recipes-kernel/images/initramfs-rootfs-image.bb b/recipes-kernel/images/initramfs-rootfs-image.bb
new file mode 100644
index 0000000..9bc9dc5
--- /dev/null
+++ b/recipes-kernel/images/initramfs-rootfs-image.bb
@@ -0,0 +1,26 @@
+DESCRIPTION = "Ramdisk image for pivoting into rootfs"
+
+PACKAGE_INSTALL = " \
+ base-passwd \
+ initramfs-module-copy-modules \
+ initramfs-module-rootfs \
+ initramfs-module-udev \
+ ${VIRTUAL-RUNTIME_base-utils} \
+ ${MACHINE_ESSENTIAL_EXTRA_RDEPENDS} \
+ ${ROOTFS_BOOTSTRAP_INSTALL} \
+"
+
+# Do not pollute the initrd image with rootfs features
+IMAGE_FEATURES = "debug-tweaks"
+IMAGE_LINGUAS = ""
+
+LICENSE = "MIT"
+
+IMAGE_FSTYPES = "${INITRAMFS_FSTYPES}"
+inherit core-image
+
+IMAGE_ROOTFS_SIZE = "8192"
+IMAGE_ROOTFS_EXTRA_SPACE = "0"
+
+# Exclude all kernel images from the rootfs
+PACKAGE_EXCLUDE = "kernel-image-*"
diff --git a/recipes-kernel/linux/linux-linaro-qcom.inc b/recipes-kernel/linux/linux-linaro-qcom.inc
index 21f0ae6..b193b63 100644
--- a/recipes-kernel/linux/linux-linaro-qcom.inc
+++ b/recipes-kernel/linux/linux-linaro-qcom.inc
@@ -1,27 +1,33 @@
-# Copyright (C) 2014 Linaro
+# Copyright (C) 2014-2021 Linaro
# Copyright (C) 2012, 2013 O.S. Systems Software LTDA.
# Released under the MIT license (see COPYING.MIT for the terms)
-DESCRIPTION = "Linux kernel for MSM platforms"
+DESCRIPTION ??= "Linaro Qualcomm Landing team ${PV} Kernel"
LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46"
inherit kernel
-# Put a local version until we have a true SRCREV to point to
-LOCALVERSION ?= "+linaro"
+LOCALVERSION ?= "-linaro-lt-qcom"
SCMVERSION ?= "y"
-LINUX_LINARO_QCOM_GIT ?= "git://git.linaro.org/landing-teams/working/qualcomm/kernel.git;protocol=https"
+SRCBRANCH = "release/qcomlt-${PV}"
+
+COMPATIBLE_MACHINE = "(qcom)"
+
+LINUX_LINARO_QCOM_GIT ?= "git://git.codelinaro.org/linaro/qcomlt/kernel.git;protocol=https"
SRC_URI = "${LINUX_LINARO_QCOM_GIT};branch=${SRCBRANCH}"
S = "${WORKDIR}/git"
KERNEL_DEFCONFIG_aarch64 ?= "${S}/arch/arm64/configs/defconfig"
-KERNEL_DEFCONFIG_apq8064 ?= "${S}/arch/arm/configs/qcom_defconfig"
+KERNEL_DEFCONFIG_arm ?= "${S}/arch/arm/configs/qcom_defconfig"
KERNEL_CONFIG_FRAGMENTS += "${S}/kernel/configs/distro.config"
+require recipes-kernel/linux/linux-qcom-bootimg.inc
+
kernel_conf_variable() {
- CONF_SED_SCRIPT="$CONF_SED_SCRIPT /CONFIG_$1[ =]/d;"
+ sed -e "/CONFIG_$1[ =]/d;" -i ${B}/.config
if test "$2" = "n"
then
echo "# CONFIG_$1 is not set" >> ${B}/.config
@@ -31,18 +37,15 @@ kernel_conf_variable() {
}
do_configure_prepend() {
- echo "" > ${B}/.config
- CONF_SED_SCRIPT=""
-
- kernel_conf_variable LOCALVERSION "\"${LOCALVERSION}\""
- kernel_conf_variable LOCALVERSION_AUTO y
-
if [ -f '${WORKDIR}/defconfig' ]; then
- sed -e "${CONF_SED_SCRIPT}" < '${WORKDIR}/defconfig' >> '${B}/.config'
+ cp '${WORKDIR}/defconfig' '${B}/.config'
else
- sed -e "${CONF_SED_SCRIPT}" < '${KERNEL_DEFCONFIG}' >> '${B}/.config'
+ cp '${KERNEL_DEFCONFIG}' '${B}/.config'
fi
+ kernel_conf_variable LOCALVERSION "\"${LOCALVERSION}\""
+ kernel_conf_variable LOCALVERSION_AUTO y
+
if [ "${SCMVERSION}" = "y" ]; then
# Add GIT revision to the local version
head=`git --git-dir=${S}/.git rev-parse --verify --short HEAD 2> /dev/null`
@@ -76,17 +79,8 @@ do_configure_prepend() {
# Now that all the fragments are located merge them.
( cd ${WORKDIR} && ${S}/scripts/kconfig/merge_config.sh -m -r -O ${B} ${B}/.config ${KERNEL_CONFIG_FRAGMENTS} 1>&2 )
fi
-
- yes '' | oe_runmake -C ${S} O=${B} oldconfig
- oe_runmake -C ${S} O=${B} savedefconfig && cp ${B}/defconfig ${WORKDIR}/defconfig.saved
}
-# append DTB
-do_compile_append() {
- if ! [ -e ${B}/arch/${ARCH}/boot/dts/${KERNEL_DEVICETREE} ] ; then
- oe_runmake ${KERNEL_DEVICETREE}
- fi
- cp arch/${ARCH}/boot/${KERNEL_IMAGETYPE} arch/${ARCH}/boot/${KERNEL_IMAGETYPE}.backup
- cat arch/${ARCH}/boot/${KERNEL_IMAGETYPE}.backup arch/${ARCH}/boot/dts/${KERNEL_DEVICETREE} > arch/${ARCH}/boot/${KERNEL_IMAGETYPE}
- rm -f arch/${ARCH}/boot/${KERNEL_IMAGETYPE}.backup
+do_configure_append() {
+ oe_runmake -C ${S} O=${B} savedefconfig && cp ${B}/defconfig ${WORKDIR}/defconfig.saved
}
diff --git a/recipes-kernel/linux/linux-linaro-qcomlt-dev.bb b/recipes-kernel/linux/linux-linaro-qcomlt-dev.bb
index 82cf263..9aae535 100644
--- a/recipes-kernel/linux/linux-linaro-qcomlt-dev.bb
+++ b/recipes-kernel/linux/linux-linaro-qcomlt-dev.bb
@@ -5,20 +5,16 @@
# To enable it add the following line to conf/local.conf:
# PREFERRED_PROVIDER_virtual/kernel = "linux-linaro-qcomlt-dev"
-DESCRIPTION = "Linaro Qualcomm Landing team Integration Kernel ${PV}"
-LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46"
-
require recipes-kernel/linux/linux-linaro-qcom.inc
-require recipes-kernel/linux/linux-qcom-bootimg.inc
-
-SRCBRANCH ?= "integration-linux-qcomlt"
-SRCREV ?= "${AUTOREV}"
-LINUX_VERSION = "5.8-rc+"
-PV = "${LINUX_VERSION}+git${SRCPV}"
+DESCRIPTION = "Linaro Qualcomm Landing team Integration Kernel ${PV}"
+SRCBRANCH = "integration-linux-qcomlt"
-# Wifi firmware has a recognizable arch :(
-ERROR_QA_remove = "arch"
+# Set default SRCREV. it is statically set to the korg v3.7 tag, and
+# hence prevent network access during parsing. If linux-linaro-qcomlt-dev
+# is the preferred provider, they will be overridden to AUTOREV in following
+# anonymous python routine and resolved when the variables are finalized.
+SRCREV ?= '${@oe.utils.conditional("PREFERRED_PROVIDER_virtual/kernel", "linux-linaro-qcomlt-dev", "${AUTOREV}", "29594404d7fe73cd80eaa4ee8c43dcc53970c60e", d)}'
-# Disable by default
-DEFAULT_PREFERENCE = "-1"
+LINUX_VERSION = "5.11+"
+PV = "${LINUX_VERSION}+git${SRCPV}"
diff --git a/recipes-kernel/linux/linux-linaro-qcomlt/0001-Revert-kbuild-Enable-DT-schema-checks-for-.dtb-targe.patch b/recipes-kernel/linux/linux-linaro-qcomlt/0001-Revert-kbuild-Enable-DT-schema-checks-for-.dtb-targe.patch
new file mode 100644
index 0000000..e792fe9
--- /dev/null
+++ b/recipes-kernel/linux/linux-linaro-qcomlt/0001-Revert-kbuild-Enable-DT-schema-checks-for-.dtb-targe.patch
@@ -0,0 +1,46 @@
+From 75e895343d5a2fcbdf4cb3d31ab7492bd65925f0 Mon Sep 17 00:00:00 2001
+From: Rob Herring <robh@kernel.org>
+Date: Wed, 8 Dec 2021 15:39:16 -0600
+Subject: [PATCH] Revert "kbuild: Enable DT schema checks for %.dtb targets"
+
+This reverts commit 53182e81f47d4ea0c727c49ad23cb782173ab849.
+
+This added tool dependencies on various build systems using %.dtb
+targets. Validation will need to be controlled by a kconfig or make
+variable instead, but for now let's just revert it.
+
+Signed-off-by: Rob Herring <robh@kernel.org>
+---
+ Makefile | 10 +++++-----
+ 1 file changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index 9e12c14ea0fb..fa5070e53979 100644
+--- a/Makefile
++++ b/Makefile
+@@ -1374,17 +1374,17 @@ endif
+
+ ifneq ($(dtstree),)
+
+-%.dtb: dt_binding_check include/config/kernel.release scripts_dtc
+- $(Q)$(MAKE) $(build)=$(dtstree) $(dtstree)/$@ $(dtstree)/$*.dt.yaml
++%.dtb: include/config/kernel.release scripts_dtc
++ $(Q)$(MAKE) $(build)=$(dtstree) $(dtstree)/$@
+
+-%.dtbo: dt_binding_check include/config/kernel.release scripts_dtc
+- $(Q)$(MAKE) $(build)=$(dtstree) $(dtstree)/$@ $(dtstree)/$*.dt.yaml
++%.dtbo: include/config/kernel.release scripts_dtc
++ $(Q)$(MAKE) $(build)=$(dtstree) $(dtstree)/$@
+
+ PHONY += dtbs dtbs_install dtbs_check
+ dtbs: include/config/kernel.release scripts_dtc
+ $(Q)$(MAKE) $(build)=$(dtstree)
+
+-ifneq ($(filter dtbs_check %.dtb %.dtbo, $(MAKECMDGOALS)),)
++ifneq ($(filter dtbs_check, $(MAKECMDGOALS)),)
+ export CHECK_DTBS=y
+ dtbs: dt_binding_check
+ endif
+--
+2.33.1
+
diff --git a/recipes-kernel/linux/linux-linaro-qcomlt_5.10.bb b/recipes-kernel/linux/linux-linaro-qcomlt_5.10.bb
index 0320f89..f1652f0 100644
--- a/recipes-kernel/linux/linux-linaro-qcomlt_5.10.bb
+++ b/recipes-kernel/linux/linux-linaro-qcomlt_5.10.bb
@@ -1,15 +1,6 @@
# Copyright (C) 2014-2020 Linaro
# Released under the MIT license (see COPYING.MIT for the terms)
-DESCRIPTION = "Linaro Qualcomm Landing team 5.10 Kernel"
-LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46"
-
require recipes-kernel/linux/linux-linaro-qcom.inc
-require recipes-kernel/linux/linux-qcom-bootimg.inc
-
-LOCALVERSION ?= "-linaro-lt-qcom"
-
-SRCBRANCH = "release/qcomlt-5.10"
-SRCREV = "6afb1155f01df9871e14e4189d83d31000b308ee"
-COMPATIBLE_MACHINE = "(apq8016|apq8096|sdm845|sm8250)"
+SRCREV = "9ab492e76768cd1bd9f2da52004ed537c8b329f3"
diff --git a/recipes-kernel/linux/linux-linaro-qcomlt_5.12.bb b/recipes-kernel/linux/linux-linaro-qcomlt_5.12.bb
index 254b94a..2587152 100644
--- a/recipes-kernel/linux/linux-linaro-qcomlt_5.12.bb
+++ b/recipes-kernel/linux/linux-linaro-qcomlt_5.12.bb
@@ -1,13 +1,7 @@
# Copyright (C) 2014-2021 Linaro
# Released under the MIT license (see COPYING.MIT for the terms)
-DESCRIPTION = "Linaro Qualcomm Landing team 5.12 Kernel"
-LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46"
-
require recipes-kernel/linux/linux-linaro-qcom.inc
-require recipes-kernel/linux/linux-qcom-bootimg.inc
-
-LOCALVERSION ?= "-linaro-lt-qcom"
SRCBRANCH = "release/rb5/qcomlt-5.12"
SRCREV = "deeb40c41728645cd6971b1d7bd08281238caba0"
diff --git a/recipes-kernel/linux/linux-linaro-qcomlt_5.13.bb b/recipes-kernel/linux/linux-linaro-qcomlt_5.13.bb
new file mode 100644
index 0000000..3636b5e
--- /dev/null
+++ b/recipes-kernel/linux/linux-linaro-qcomlt_5.13.bb
@@ -0,0 +1,6 @@
+# Copyright (C) 2014-2020 Linaro
+# Released under the MIT license (see COPYING.MIT for the terms)
+
+require recipes-kernel/linux/linux-linaro-qcom.inc
+
+SRCREV = "1429722a220973e881d8cb5b5b486693457b4f11"
diff --git a/recipes-kernel/linux/linux-linaro-qcomlt_5.15.bb b/recipes-kernel/linux/linux-linaro-qcomlt_5.15.bb
new file mode 100644
index 0000000..6e4171c
--- /dev/null
+++ b/recipes-kernel/linux/linux-linaro-qcomlt_5.15.bb
@@ -0,0 +1,11 @@
+# Copyright (C) 2021 Linaro
+# Released under the MIT license (see COPYING.MIT for the terms)
+
+require recipes-kernel/linux/linux-linaro-qcom.inc
+
+# SRCBRANCH set to "release/qcomlt-5.15" in linux-linaro-qcom.inc
+SRCREV = "9bc25b368335b6d3d59be44db0c4818bdfbfa546"
+
+# SRCBRANCH set to adp stable release branch
+SRCBRANCH:sa8155p = "release/sa8155p-adp/v5.15.y"
+SRCREV:sa8155p = "38b7066ac1084c74759f1314c54b5735a1e5031d"
diff --git a/recipes-kernel/linux/linux-linaro-qcomlt_5.7.bb b/recipes-kernel/linux/linux-linaro-qcomlt_5.7.bb
index d59db58..dcf8220 100644
--- a/recipes-kernel/linux/linux-linaro-qcomlt_5.7.bb
+++ b/recipes-kernel/linux/linux-linaro-qcomlt_5.7.bb
@@ -1,14 +1,10 @@
# Copyright (C) 2014-2019 Linaro
# Released under the MIT license (see COPYING.MIT for the terms)
-DESCRIPTION = "Linaro Qualcomm Landing team 5.7 Kernel"
-LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46"
+require recipes-kernel/linux/linux-linaro-qcom.inc
inherit python3native
-require recipes-kernel/linux/linux-linaro-qcom.inc
-require recipes-kernel/linux/linux-qcom-bootimg.inc
-
SRC_URI_append_qrb5165-rb5 = " \
file://qrb5165-rb5.dts;subdir=git/arch/arm64/boot/dts/qcom \
file://qrb5165-rb5-enable.patch \
@@ -19,11 +15,4 @@ SRC_URI_append_qrb5165-rb5 = " \
file://0001-arm64-dts-qcom-sm8250-Add-support-for-SDC2.patch \
"
-LOCALVERSION ?= "-linaro-lt-qcom"
-SRCBRANCH ?= "release/qcomlt-5.7"
SRCREV ?= "4af49ea41ecf17e5e6243f3ac81dfc2f84d8a3a1"
-
-COMPATIBLE_MACHINE = "(apq8016|apq8096|sdm845|sm8250)"
-
-# Wifi firmware has a recognizable arch :(
-ERROR_QA_remove = "arch"
diff --git a/recipes-kernel/linux/linux-linaro-qcomlt_5.9.bb b/recipes-kernel/linux/linux-linaro-qcomlt_5.9.bb
index a1af3c0..baf2a08 100644
--- a/recipes-kernel/linux/linux-linaro-qcomlt_5.9.bb
+++ b/recipes-kernel/linux/linux-linaro-qcomlt_5.9.bb
@@ -1,18 +1,9 @@
# Copyright (C) 2014-2019 Linaro
# Released under the MIT license (see COPYING.MIT for the terms)
-DESCRIPTION = "Linaro Qualcomm Landing team 5.9 Kernel"
-LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46"
-
require recipes-kernel/linux/linux-linaro-qcom.inc
-require recipes-kernel/linux/linux-qcom-bootimg.inc
-
-LOCALVERSION ?= "-linaro-lt-qcom"
-SRCBRANCH ?= "release/qcomlt-5.9"
SRCREV ?= "b5ff44498a19a685aa10a07ec67e3d12bc95a33a"
SRCBRANCH_sm8250 = "release/rb5/qcomlt-5.9"
SRCREV_sm8250 = "6d5a9a5da79684f69e4c66a7cf9108ab4e77025f"
-
-COMPATIBLE_MACHINE = "(apq8016|apq8096|sdm845|sm8250)"
diff --git a/recipes-kernel/linux/linux-qcom-bootimg.inc b/recipes-kernel/linux/linux-qcom-bootimg.inc
index 8a8a407..9e3fef9 100644
--- a/recipes-kernel/linux/linux-qcom-bootimg.inc
+++ b/recipes-kernel/linux/linux-qcom-bootimg.inc
@@ -1,49 +1,146 @@
-DEPENDS += "skales-native"
-
-QCOM_BOOTIMG_ROOTFS ?= "undefined"
-SD_QCOM_BOOTIMG_ROOTFS ?= "undefined"
-
-# set output file names
-BOOT_IMAGE_BASE_NAME = "boot-${KERNEL_IMAGE_NAME}"
-BOOT_IMAGE_SYMLINK_NAME = "boot-${KERNEL_IMAGE_LINK_NAME}"
-SD_BOOT_IMAGE_BASE_NAME = "boot-sd${KERNEL_IMAGE_NAME}"
-SD_BOOT_IMAGE_SYMLINK_NAME = "boot-sd-${KERNEL_IMAGE_LINK_NAME}"
-KERNEL_CMDLINE = "root=${1} rw rootwait console=${ttydev},${baudrate}n8"
-KERNEL_CMDLINE_append_dragonboard-845c = " clk_ignore_unused pd_ignore_unused"
-KERNEL_CMDLINE_append_qrb5165-rb5 = " pcie_pme=nomsi"
-
-# param ${1} partition where rootfs is located
-# param ${2} output boot image file name
-priv_make_image() {
- ${STAGING_BINDIR_NATIVE}/skales/mkbootimg --kernel ${B}/arch/${ARCH}/boot/${KERNEL_IMAGETYPE} \
- --ramdisk ${B}/initrd.img \
- --output ${DEPLOYDIR}/${2}.img \
- --pagesize ${QCOM_BOOTIMG_PAGE_SIZE} \
- --base ${QCOM_BOOTIMG_KERNEL_BASE} \
- --cmdline "${KERNEL_CMDLINE}"
+QIMG_DEPLOYDIR = "${WORKDIR}/qcom_deploy-${PN}"
+
+# Define INITRAMFS_IMAGE to create kernel+initramfs Android boot images in
+# addition to default boot images. For example add the following line to your
+# conf/local.conf:
+#
+# INITRAMFS_IMAGE = "initramfs-kerneltest-image"
+#
+
+python __anonymous () {
+ if d.getVar('INITRAMFS_IMAGE') != '':
+ d.appendVarFlag('do_qcom_img_deploy', 'depends', ' ${INITRAMFS_IMAGE}:do_image_complete')
}
-do_deploy_append() {
+python do_qcom_img_deploy() {
+ import shutil
+ import subprocess
+
+ subdir = d.getVar("KERNEL_DEPLOYSUBDIR")
+ if subdir is not None:
+ qcom_deploy_dir = os.path.join(d.getVar("QIMG_DEPLOYDIR"), subdir)
+ image_dir = os.path.join(d.getVar("DEPLOY_DIR_IMAGE"), subdir)
+ else:
+ qcom_deploy_dir = d.getVar("QIMG_DEPLOYDIR")
+ image_dir = d.getVar("DEPLOY_DIR_IMAGE")
+
+ initrd = None
+ if d.getVar('INITRAMFS_IMAGE') != '':
+ initrd_image_name = d.getVar("INITRAMFS_IMAGE_NAME")
+ baseinitrd = os.path.join(d.getVar("DEPLOY_DIR_IMAGE"), initrd_image_name)
+ for img in (".cpio.gz", ".cpio.lz4", ".cpio.lzo", ".cpio.lzma", ".cpio.xz", ".cpio"):
+ if os.path.exists(baseinitrd + img):
+ initrd = baseinitrd + img
+ break
+ if not initrd:
+ bb.fatal("Could not find initramfs image %s for bundling" % d.getVar("INITRAMFS_IMAGE"))
+
+ B = d.getVar("B")
+ D = d.getVar("D")
+ kernel_output_dir = d.getVar("KERNEL_OUTPUT_DIR")
+ kernel_imagedest = d.getVar("KERNEL_IMAGEDEST")
+ kernel = os.path.join(B, "kernel-dtb")
+ definitrd = os.path.join(B, "initrd.img")
+ mkbootimg = os.path.join(d.getVar("STAGING_BINDIR_NATIVE"), "skales", "mkbootimg")
+ kernel_image_name = d.getVar("KERNEL_IMAGE_NAME")
+ kernel_link_name = d.getVar("KERNEL_IMAGE_LINK_NAME")
+ output_img = os.path.join(qcom_deploy_dir, "boot-%s.img" % (kernel_link_name))
+ output_sd_img = os.path.join(qcom_deploy_dir, "boot-sd-%s.img" % (kernel_link_name))
+
+ arch = d.getVar("ARCH")
+ if arch is "arm":
+ kernel_name = "zImage"
+ elif arch is "arm64":
+ kernel_name = "Image.gz"
+ else:
+ bb.fatal("Unuspported ARCH %s" % arch)
+
+ if os.path.exists(output_img):
+ os.unlink(output_img)
+ if os.path.exists(output_sd_img):
+ os.unlink(output_sd_img)
+
+ with open(definitrd, "w") as f:
+ f.write("This is not an initrd\n")
+
+ for dtbf in d.getVar("KERNEL_DEVICETREE").split():
+ dtb = os.path.basename(dtbf)
+ dtb_name = dtb.rsplit('.', 1)[0]
+
+ def getVarDTB(name):
+ return d.getVarFlag(name, dtb_name) or d.getVar(name)
- tmp="${SERIAL_CONSOLES}"
- baudrate=`echo $tmp | sed 's/\;.*//'`
- ttydev=`echo $tmp | sed -e 's/^[0-9]*\;//' -e 's/\s.*//' -e 's/\;.*//'`
+ def make_image_internal(output, output_link, rootfs, initrd = definitrd):
+ subprocess.check_call([mkbootimg,
+ "--kernel", kernel,
+ "--ramdisk", initrd,
+ "--output", output,
+ "--pagesize", getVarDTB("QCOM_BOOTIMG_PAGE_SIZE"),
+ "--base", getVarDTB("QCOM_BOOTIMG_KERNEL_BASE"),
+ "--cmdline", "root=%s rw rootwait %s %s" % (rootfs, consoles, getVarDTB("KERNEL_CMDLINE_EXTRA") or "")])
+ if os.path.exists(output_link):
+ os.unlink(output_link)
+ os.symlink(os.path.basename(output), output_link)
+
+ def make_image(template, rootfs):
+ output = os.path.join(qcom_deploy_dir, template % (dtb_name, kernel_image_name))
+ output_link = os.path.join(qcom_deploy_dir, template % (dtb_name, kernel_link_name))
+ make_image_internal(output, output_link, rootfs)
+ return output
+
+ def make_initramfs_image(template, rootfs, initrd, initrd_image_name):
+ output = os.path.join(qcom_deploy_dir, template % (initrd_image_name, dtb_name, kernel_image_name))
+ output_link = os.path.join(qcom_deploy_dir, template % (initrd_image_name, dtb_name, kernel_link_name))
+ make_image_internal(output, output_link, rootfs, initrd)
+ output_link = os.path.join(qcom_deploy_dir, template % ("initramfs", dtb_name, kernel_link_name))
+ if os.path.exists(output_link):
+ os.unlink(output_link)
+ os.symlink(os.path.basename(output), output_link)
+ return output
+
+ consoles = ' '.join(map(lambda c: "console=%(tty)s,%(rate)sn8" % dict(zip(("rate", "tty"), c.split(';'))), getVarDTB("SERIAL_CONSOLES").split()))
+
+ # prepare kernel image with appended dtb
+ with open(kernel, 'wb') as wfd:
+ with open(os.path.join(kernel_output_dir, kernel_name), 'rb') as rfd:
+ shutil.copyfileobj(rfd, wfd)
+ with open(os.path.join(D, kernel_imagedest, dtb), 'rb') as rfd:
+ shutil.copyfileobj(rfd, wfd)
+
+ rootfs = getVarDTB("QCOM_BOOTIMG_ROOTFS")
+ if not rootfs or rootfs is "":
+ bb.fatal("QCOM_BOOTIMG_ROOTFS is undefined")
+
+ output = make_image("boot-%s-%s.img", rootfs)
+ if not os.path.exists(output_img):
+ os.symlink(os.path.basename(output), output_img)
+
+ if initrd:
+ make_initramfs_image("boot-%s-%s-%s.img", rootfs, initrd, d.getVar("INITRAMFS_IMAGE"))
+
+ sd_rootfs = getVarDTB("SD_QCOM_BOOTIMG_ROOTFS")
+ if sd_rootfs:
+ output = make_image("boot-sd-%s-%s.img", sd_rootfs)
+ if not os.path.exists(output_sd_img):
+ os.symlink(os.path.basename(output), output_sd_img)
+
+ if initrd:
+ make_initramfs_image("boot-sd-%s-%s-%s.img", rootfs, initrd, d.getVar("INITRAMFS_IMAGE"))
+}
- # mkbootimg requires an initrd file, make fake one that will be ignored
- # during boot
- echo "This is not an initrd" > ${B}/initrd.img
+do_qcom_img_deploy[depends] += "skales-native:do_populate_sysroot"
- # don't build bootimg if rootfs partition is not defined
- if [ "${QCOM_BOOTIMG_ROOTFS}" = "undefined" ]; then
- bbfatal "Rootfs partition must be defined"
- fi
+addtask qcom_img_deploy after do_populate_sysroot do_packagedata bundle_initramfs before do_deploy
- priv_make_image ${QCOM_BOOTIMG_ROOTFS} ${BOOT_IMAGE_BASE_NAME}
- ln -sf ${BOOT_IMAGE_BASE_NAME}.img ${DEPLOYDIR}/${BOOT_IMAGE_SYMLINK_NAME}.img
+# Setup sstate, see deploy.bbclass
+SSTATETASKS += "do_qcom_img_deploy"
+do_qcom_img_deploy[sstate-inputdirs] = "${QIMG_DEPLOYDIR}"
+do_qcom_img_deploy[sstate-outputdirs] = "${DEPLOY_DIR_IMAGE}"
- # build sd boot image only for machines supporting it.
- if [ "${SD_QCOM_BOOTIMG_ROOTFS}" != "undefined" ]; then
- priv_make_image ${SD_QCOM_BOOTIMG_ROOTFS} ${SD_BOOT_IMAGE_BASE_NAME}
- ln -sf ${SD_BOOT_IMAGE_BASE_NAME}.img ${DEPLOYDIR}/${SD_BOOT_IMAGE_SYMLINK_NAME}.img
- fi
+python do_qcom_img_deploy_setscene () {
+ sstate_setscene(d)
}
+addtask do_qcom_img_deploy_setscene
+do_qcom_img_deploy[dirs] = "${QIMG_DEPLOYDIR} ${B}"
+do_qcom_img_deploy[cleandirs] = "${QIMG_DEPLOYDIR}"
+do_qcom_img_deploy[stamp-extra-info] = "${MACHINE_ARCH}"
diff --git a/recipes-rt/rt-tests/rt-tests_%.bbappend b/recipes-rt/rt-tests/rt-tests_%.bbappend
new file mode 100644
index 0000000..2ae7c6d
--- /dev/null
+++ b/recipes-rt/rt-tests/rt-tests_%.bbappend
@@ -0,0 +1,17 @@
+# Upstream repo no longer has 'master' branch, and switched to
+# 'main'. To avoid issue such as:
+#
+# ERROR: rt-tests-1_1.1-r0 do_fetch: Fetcher failure: Unable to find
+# revision dff174f994f547a5785d32454865f140daacb0f5 in branch master
+# even from upstream
+#
+# we need to set the default branch name to 'main' in the recipe.
+#
+# Upstream patch is in progress
+
+SRC_URI = "git://git.kernel.org/pub/scm/utils/rt-tests/rt-tests.git;branch=main \
+ file://run-ptest \
+ file://rt_bmark.py \
+ file://0001-gzip-with-n-for-build-reproducibilty.patch \
+"
+
diff --git a/recipes-support/fastrpc/fastrpc_git.bb b/recipes-support/fastrpc/fastrpc_git.bb
index 179d42b..18f477f 100644
--- a/recipes-support/fastrpc/fastrpc_git.bb
+++ b/recipes-support/fastrpc/fastrpc_git.bb
@@ -1,4 +1,4 @@
-HOMEPAGE = "https://git.linaro.org/landing-teams/working/qualcomm/fastrpc.git"
+HOMEPAGE = "https://git.codelinaro.org/linaro/qcomlt/fastrpc.git"
SUMMARY = "Qualcomm FastRPC applications and library"
SECTION = "devel"
@@ -7,7 +7,7 @@ LIC_FILES_CHKSUM = "file://src/fastrpc_apps_user.c;beginline=1;endline=29;md5=f9
SRCREV = "bc36c705c9b057ca880a423021d3c19f02edeadd"
SRC_URI = "\
- git://git.linaro.org/landing-teams/working/qualcomm/fastrpc.git;branch=automake;protocol=https \
+ git://git.codelinaro.org/linaro/qcomlt/fastrpc.git;branch=automake;protocol=https \
file://0001-apps_std_fopen_with_env-account-for-domain-kinds-whe.patch \
file://adsprpcd.service \
file://cdsprpcd.service \
diff --git a/recipes-support/initrdscripts/files/copy-modules.sh b/recipes-support/initrdscripts/files/copy-modules.sh
new file mode 100644
index 0000000..12dc052
--- /dev/null
+++ b/recipes-support/initrdscripts/files/copy-modules.sh
@@ -0,0 +1,17 @@
+#!/bin/sh
+# Copyright (C) 2022 Linaro Ltd.
+# Licensed on MIT
+
+copy_modules_enabled() {
+ [ -n "${bootparam_copy_modules}" -a -d /lib/modules/`uname -r` ]
+}
+
+copy_modules_run() {
+ if [ -n "$ROOTFS_DIR" ]; then
+ rm -rf $ROOTFS_DIR/lib/modules/`uname -r`
+ mkdir -p $ROOTFS_DIR/lib/modules
+ cp -a /lib/modules/`uname -r` $ROOTFS_DIR/lib/modules
+ else
+ debug "No rootfs has been set"
+ fi
+}
diff --git a/recipes-support/initrdscripts/initramfs-module-copy-modules_1.0.bb b/recipes-support/initrdscripts/initramfs-module-copy-modules_1.0.bb
new file mode 100644
index 0000000..effc7df
--- /dev/null
+++ b/recipes-support/initrdscripts/initramfs-module-copy-modules_1.0.bb
@@ -0,0 +1,15 @@
+SUMMARY = "initramfs-framework module for copying kernel modules from initramfs to rootfs"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
+RDEPENDS:${PN} = "initramfs-framework-base ${VIRTUAL-RUNTIME_base-utils}"
+
+SRC_URI = "file://copy-modules.sh"
+
+S = "${WORKDIR}"
+
+do_install() {
+ install -d ${D}/init.d
+ install -m 0755 ${WORKDIR}/copy-modules.sh ${D}/init.d/95-copy_modules
+}
+
+FILES:${PN} = "/init.d/"
diff --git a/recipes-support/rmtfs/rmtfs_git.bb b/recipes-support/rmtfs/rmtfs_git.bb
index 249e21e..e935bdd 100644
--- a/recipes-support/rmtfs/rmtfs_git.bb
+++ b/recipes-support/rmtfs/rmtfs_git.bb
@@ -7,7 +7,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=ca25dbf5ebfc1a058bfc657c895aac2f"
inherit systemd
-SRCREV = "1cc12d3dc1f251f6d3151970621a06fdd013a1d0"
+SRCREV = "293ab8babb27ac0f24247bb101fed9420c629c29"
SRC_URI = "git://github.com/andersson/${BPN}.git;branch=master;protocol=https"
DEPENDS = "qmic-native qrtr udev"
diff --git a/recipes-test/images/initramfs-kerneltest-full-image.bb b/recipes-test/images/initramfs-kerneltest-full-image.bb
new file mode 100644
index 0000000..ea60bfe
--- /dev/null
+++ b/recipes-test/images/initramfs-kerneltest-full-image.bb
@@ -0,0 +1,3 @@
+require initramfs-test-full-image.bb
+
+PACKAGE_INSTALL += "${MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS}"
diff --git a/recipes-test/images/initramfs-kerneltest-image.bb b/recipes-test/images/initramfs-kerneltest-image.bb
new file mode 100644
index 0000000..9dea43c
--- /dev/null
+++ b/recipes-test/images/initramfs-kerneltest-image.bb
@@ -0,0 +1,3 @@
+require initramfs-test-image.bb
+
+PACKAGE_INSTALL += "${MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS}"
diff --git a/recipes-test/images/initramfs-test-full-image.bb b/recipes-test/images/initramfs-test-full-image.bb
new file mode 100644
index 0000000..c7580ca
--- /dev/null
+++ b/recipes-test/images/initramfs-test-full-image.bb
@@ -0,0 +1,70 @@
+require recipes-test/images/initramfs-tiny-image.bb
+
+DESCRIPTION = "Relatively larger ramdisk image for running tests (bootrr, etc)"
+
+PACKAGE_INSTALL += " \
+ bluez5 \
+ coreutils \
+ dhcp-client \
+ diag \
+ e2fsprogs \
+ e2fsprogs-e2fsck \
+ e2fsprogs-mke2fs \
+ e2fsprogs-resize2fs \
+ e2fsprogs-tune2fs \
+ ethtool \
+ gptfdisk \
+ iw \
+ hdparm \
+ kexec \
+ lava-test-shell \
+ libdrm-tests \
+ lsof \
+ ncurses \
+ ncurses-terminfo \
+ ncurses-terminfo-base \
+ pciutils \
+ pd-mapper \
+ qrtr \
+ rmtfs \
+ stress-ng \
+ tqftpserv \
+ usbutils \
+ util-linux \
+ util-linux-chrt \
+ util-linux-lsblk \
+ wpa-supplicant \
+"
+
+PACKAGE_INSTALL:append:libc-glibc += " \
+ rt-tests \
+"
+
+# We'd like to include extra packages provided by layers which we do not depend
+# on. This can be handled by .bbappends, but then image recipes including this
+# one would not get all these tools. So simulate dynamic bbappend here.
+PACKAGE_INSTALL_openembedded_layer += " \
+ crash \
+ cryptsetup \
+ devmem2 \
+ dhrystone \
+ iozone3 \
+ libgpiod \
+ libgpiod-tools \
+ lmbench \
+ makedumpfile \
+ mbw \
+ sysbench \
+ tinymembench \
+ tiobench \
+ whetstone \
+"
+
+PACKAGE_INSTALL_networking_layer += " \
+ iperf2 \
+ iperf3 \
+ tcpdump \
+"
+
+PACKAGE_INSTALL += "${@bb.utils.contains("BBFILE_COLLECTIONS", "openembedded-layer", "${PACKAGE_INSTALL_openembedded_layer}", "", d)}"
+PACKAGE_INSTALL += "${@bb.utils.contains("BBFILE_COLLECTIONS", "networking-layer", "${PACKAGE_INSTALL_networking_layer}", "", d)}"
diff --git a/recipes-test/images/initramfs-test-image.bb b/recipes-test/images/initramfs-test-image.bb
index 6ae22b6..591e649 100644
--- a/recipes-test/images/initramfs-test-image.bb
+++ b/recipes-test/images/initramfs-test-image.bb
@@ -1,12 +1,12 @@
+require recipes-test/images/initramfs-tiny-image.bb
+
DESCRIPTION = "Small ramdisk image for running tests (bootrr, etc)"
-PACKAGE_INSTALL = " \
- ${ROOTFS_BOOTSTRAP_INSTALL} \
+PACKAGE_INSTALL += " \
bluez5 \
- busybox \
- base-passwd \
dhcp-client \
diag \
+ dropbear \
e2fsprogs \
e2fsprogs-e2fsck \
e2fsprogs-mke2fs \
@@ -16,41 +16,32 @@ PACKAGE_INSTALL = " \
gptfdisk \
iw \
lava-test-shell \
- packagegroup-core-boot \
+ libdrm-tests \
+ lrzsz \
pciutils \
pd-mapper \
qrtr \
rmtfs \
+ strace \
tqftpserv \
- udev \
usbutils \
wpa-supplicant \
"
-# Do not pollute the initrd image with rootfs features
-IMAGE_FEATURES = "debug-tweaks"
-
-export IMAGE_BASENAME = "initramfs-test-image"
-IMAGE_LINGUAS = ""
-
-LICENSE = "MIT"
-
-IMAGE_FSTYPES = "${INITRAMFS_FSTYPES}"
-inherit core-image
-
-IMAGE_ROOTFS_SIZE = "8192"
-IMAGE_ROOTFS_EXTRA_SPACE = "0"
-
-# Disable installation of kernel and modules via packagegroup-core-boot
-NO_RECOMMENDATIONS = "1"
+# We'd like to include extra packages provided by layers which we do not depend
+# on. This can be handled by .bbappends, but then image recipes including this
+# one would not get all these tools. So simulate dynamic bbappend here.
+PACKAGE_INSTALL_openembedded_layer += " \
+ cryptsetup \
+ devmem2 \
+"
-# Enable local auto-login (on systemd) of the root user (local = serial port and
-# virtual console by default, can be configured).
-LOCAL_GETTY ?= " \
- ${IMAGE_ROOTFS}${systemd_system_unitdir}/serial-getty@.service \
- ${IMAGE_ROOTFS}${systemd_system_unitdir}/getty@.service \
+PACKAGE_INSTALL_networking_layer += " \
+ iperf2 \
+ iperf3 \
+ phytool \
+ tcpdump \
"
-local_autologin () {
- sed -i -e 's/^\(ExecStart *=.*getty \)/\1--autologin root /' ${LOCAL_GETTY}
-}
-ROOTFS_POSTPROCESS_COMMAND += "${@oe.utils.conditional('VIRTUAL-RUNTIME_init_manager', 'systemd', 'local_autologin;', '', d)}"
+
+PACKAGE_INSTALL += "${@bb.utils.contains("BBFILE_COLLECTIONS", "openembedded-layer", "${PACKAGE_INSTALL_openembedded_layer}", "", d)}"
+PACKAGE_INSTALL += "${@bb.utils.contains("BBFILE_COLLECTIONS", "networking-layer", "${PACKAGE_INSTALL_networking_layer}", "", d)}"
diff --git a/recipes-test/images/initramfs-tiny-image.bb b/recipes-test/images/initramfs-tiny-image.bb
new file mode 100644
index 0000000..c70ccee
--- /dev/null
+++ b/recipes-test/images/initramfs-tiny-image.bb
@@ -0,0 +1,35 @@
+DESCRIPTION = "Tiny ramdisk image for board bringup"
+
+PACKAGE_INSTALL = " \
+ ${ROOTFS_BOOTSTRAP_INSTALL} \
+ busybox \
+ base-passwd \
+ packagegroup-core-boot \
+ udev \
+"
+
+# Do not pollute the initrd image with rootfs features
+IMAGE_FEATURES = "debug-tweaks"
+IMAGE_LINGUAS = ""
+
+LICENSE = "MIT"
+
+IMAGE_FSTYPES = "${INITRAMFS_FSTYPES}"
+inherit core-image
+
+IMAGE_ROOTFS_SIZE = "8192"
+IMAGE_ROOTFS_EXTRA_SPACE = "0"
+
+# Disable installation of kernel and modules via packagegroup-core-boot
+NO_RECOMMENDATIONS ?= "1"
+
+# Enable local auto-login (on systemd) of the root user (local = serial port and
+# virtual console by default, can be configured).
+LOCAL_GETTY ?= " \
+ ${IMAGE_ROOTFS}${systemd_system_unitdir}/serial-getty@.service \
+ ${IMAGE_ROOTFS}${systemd_system_unitdir}/getty@.service \
+"
+local_autologin () {
+ sed -i -e 's/^\(ExecStart *=.*getty \)/\1--autologin root /' ${LOCAL_GETTY}
+}
+ROOTFS_POSTPROCESS_COMMAND += "${@oe.utils.conditional('VIRTUAL-RUNTIME_init_manager', 'systemd', 'local_autologin;', '', d)}"