From 3a1010e21ac426736fb9af289570d3fbbaaa1884 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Mon, 6 Apr 2020 15:55:30 -0700 Subject: [PATCH] ci: Build a cheza kernel. This is a set of kernel options I've come up with mostly cribbing from chrome os's kernel config snippet. We also build an lzma kernel, as uncompressed kernel is big but lzma is the only compression supported by the bootloader. With that image, we have to pack it into a FIT formatted image+dtb blob. CONFIG_SUNRPC_DEBUG is added so that you can set "nfsrootdebug" to figure out what's going wrong with your nfs mount (mine were "both the tcp and nfsvers options were required, and don't try to use 'default' as the root path to defer to DHCP's answer because otherwise you get /tftpboot/default, just use an empty root path which doesn't prepend /tftpboot.") Reviewed-by: Kristian H. Kristensen Part-of: --- .gitlab-ci.yml | 4 ++-- .gitlab-ci/arm64.config | 23 +++++++++++++++++++- .gitlab-ci/container/lava_arm.sh | 25 ++++++++++++++++++++-- .gitlab-ci/container/x86_cross_arm_test.sh | 4 +++- 4 files changed, 50 insertions(+), 6 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index d18e31bf2c8..621c15b3be6 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -195,7 +195,7 @@ arm_build: - .fdo.container-build@debian@arm64v8 - .container variables: - FDO_DISTRIBUTION_TAG: &arm_build "2020-05-28-cheza" + FDO_DISTRIBUTION_TAG: &arm_build "2020-05-28-cheza-2" .use-arm_build: variables: @@ -208,7 +208,7 @@ arm_build: x86_cross_arm_test: extends: x86_build variables: - FDO_DISTRIBUTION_TAG: &x86_cross_arm_test "2020-05-28-cheza" + FDO_DISTRIBUTION_TAG: &x86_cross_arm_test "2020-05-28-cheza-2" .use-x86_cross_arm_test: variables: diff --git a/.gitlab-ci/arm64.config b/.gitlab-ci/arm64.config index 1cf6ba96fd1..f98df8c6cef 100644 --- a/.gitlab-ci/arm64.config +++ b/.gitlab-ci/arm64.config @@ -29,6 +29,27 @@ CONFIG_TYPEC_FUSB302=y CONFIG_TYPEC=y CONFIG_TYPEC_TCPM=y +# Cheza platform bits +CONFIG_QCOM_RPMHPD=y +CONFIG_SDM_GPUCC_845=y +CONFIG_SDM_VIDEOCC_845=y +CONFIG_SDM_DISPCC_845=y +CONFIG_SDM_LPASSCC_845=y +CONFIG_SDM_CAMCC_845=y +CONFIG_RESET_QCOM_PDC=y +CONFIG_DRM_TI_SN65DSI86=y +CONFIG_I2C_QCOM_GENI=y +CONFIG_SPI_QCOM_GENI=y +CONFIG_PHY_QCOM_QUSB2=y +CONFIG_PHY_QCOM_QMP=y +CONFIG_QCOM_LLCC=y +CONFIG_QCOM_SPMI_TEMP_ALARM=y +CONFIG_POWER_RESET_QCOM_PON=y +CONFIG_RTC_DRV_PM8XXX=y +CONFIG_INTERCONNECT=y +CONFIG_INTERCONNECT_QCOM_SDM845=y +CONFIG_QCOM_WDT=y + # db410c ethernet CONFIG_USB_RTL8152=y @@ -70,7 +91,6 @@ CONFIG_ARCH_ZYNQMP=n # Strip out some stuff we don't need for graphics testing, to reduce # the build. CONFIG_CAN=n -CONFIG_SPI=n CONFIG_WIRELESS=n CONFIG_RFKILL=n CONFIG_WLAN=n @@ -95,3 +115,4 @@ CONFIG_DETECT_HUNG_TASK=y CONFIG_FW_LOADER_COMPRESS=y CONFIG_FW_LOADER_USER_HELPER=n +CONFIG_SUNRPC_DEBUG=y diff --git a/.gitlab-ci/container/lava_arm.sh b/.gitlab-ci/container/lava_arm.sh index fcaf9052418..ccebf1b823b 100644 --- a/.gitlab-ci/container/lava_arm.sh +++ b/.gitlab-ci/container/lava_arm.sh @@ -46,12 +46,27 @@ wget -qO- ${KERNEL_URL} | tar -xz --strip-components=1 -C kernel pushd kernel ./scripts/kconfig/merge_config.sh ${DEFCONFIG} ../.gitlab-ci/${KERNEL_ARCH}.config make ${KERNEL_IMAGE_NAME} dtbs -cp arch/${KERNEL_ARCH}/boot/${KERNEL_IMAGE_NAME} /lava-files/. +for image in ${KERNEL_IMAGE_NAME}; do + cp arch/${KERNEL_ARCH}/boot/${image} /lava-files/. +done cp ${DEVICE_TREES} /lava-files/. + + +if [[ ${DEBIAN_ARCH} = "arm64" ]] && which mkimage > /dev/null; then + make Image.lzma + mkimage \ + -f auto \ + -A arm \ + -O linux \ + -d arch/arm64/boot/Image.lzma \ + -C lzma\ + -b arch/arm64/boot/dts/qcom/sdm845-cheza-r3.dtb \ + /lava-files/cheza-kernel +fi + popd rm -rf kernel - ############### Create rootfs set +e debootstrap \ @@ -95,4 +110,10 @@ if [ ${DEBIAN_ARCH} = arm64 ]; then # Make a gzipped copy of the Image for db410c. gzip -k /lava-files/Image + + # Add missing a630 firmware, added to debian packge in apr 2020 + wget https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/plain/qcom/a630_gmu.bin \ + -O /lava-files/rootfs-arm64/lib/firmware/qcom/a630_gmu.bin + wget https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/plain/qcom/a630_sqe.fw \ + -O /lava-files/rootfs-arm64/lib/firmware/qcom/a630_sqe.fw fi diff --git a/.gitlab-ci/container/x86_cross_arm_test.sh b/.gitlab-ci/container/x86_cross_arm_test.sh index 6ae96bf3708..5b50a89a12b 100644 --- a/.gitlab-ci/container/x86_cross_arm_test.sh +++ b/.gitlab-ci/container/x86_cross_arm_test.sh @@ -38,6 +38,7 @@ apt-get install -y --no-remove \ python3.7 \ pkg-config \ procps \ + u-boot-tools \ unzip # Cross-build test deps @@ -86,7 +87,8 @@ apt-get purge -y \ meson \ pkg-config \ python3-distutils \ - procps + procps \ + u-boot-tools for arch in $CROSS_ARCHITECTURES; do apt-get purge -y ".*:${arch}" -- 2.30.2