summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEric Anholt <eric@anholt.net>2020-04-06 15:55:30 -0700
committerEric Engestrom <eric@engestrom.ch>2020-07-08 19:31:15 +0200
commit824ef8db88d5e8ee100ddbf0d2bbc869600f8afd (patch)
treef4504f7608bf35646436ee45f61efef6e026d9bc
parent9d81b098692cfc40d7c1a9d175ff6d18da998d11 (diff)
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 <hoegsberg@google.com> (cherry picked from commit 3a1010e21ac426736fb9af289570d3fbbaaa1884) Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5548>
-rw-r--r--.gitlab-ci.yml4
-rw-r--r--.gitlab-ci/arm64.config23
-rw-r--r--.gitlab-ci/container/lava_arm.sh25
-rw-r--r--.gitlab-ci/container/x86_cross_arm_test.sh4
4 files changed, 50 insertions, 6 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index f593632713a..143dde9a826 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -177,7 +177,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:
@@ -190,7 +190,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}"