summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Rini <trini@konsulko.com>2023-02-25 20:44:30 +0300
committerTom Rini <trini@konsulko.com>2023-02-25 20:44:30 +0300
commitfffc18d178c44b2b20acac189491c5c3e33ec19f (patch)
tree506f7f6b062cb775ff4286f9a36f4da1079db843
parentb684ec8efe067377afd55c330b83bf533c88ef08 (diff)
parentce0f745c36f5ff66c3dfb1320bb20727dc01b96f (diff)
downloadu-boot-fffc18d178c44b2b20acac189491c5c3e33ec19f.tar.xz
Merge branch '2023-02-24-include-nx51-components-in-docker-for-testing' into next
- Merge in changes to our Dockerfile so that we build and download ahead of time all of the components required to run the nx51 test scripts. This will both speed up the specific job and address failures in Azure where the ipk files fail to download.
-rw-r--r--.azure-pipelines.yml9
-rw-r--r--.gitlab-ci.yml11
-rwxr-xr-xtest/nokia_rx51_test.sh24
-rw-r--r--tools/docker/Dockerfile30
4 files changed, 63 insertions, 11 deletions
diff --git a/.azure-pipelines.yml b/.azure-pipelines.yml
index 8327edf87a..30025ff751 100644
--- a/.azure-pipelines.yml
+++ b/.azure-pipelines.yml
@@ -2,7 +2,7 @@ variables:
windows_vm: windows-2019
ubuntu_vm: ubuntu-22.04
macos_vm: macOS-12
- ci_runner_image: trini/u-boot-gitlab-ci-runner:jammy-20230126-10Feb2023
+ ci_runner_image: trini/u-boot-gitlab-ci-runner:jammy-20230126-17Feb2023
# Add '-u 0' options for Azure pipelines, otherwise we get "permission
# denied" error when it tries to "useradd -m -u 1001 vsts_azpcontainer",
# since our $(ci_runner_image) user is not root.
@@ -187,6 +187,13 @@ stages:
options: $(container_option)
steps:
- script: |
+ mkdir nokia_rx51_tmp
+ ln -s /opt/nokia/u-boot-gen-combined nokia_rx51_tmp/
+ ln -s /opt/nokia/qemu-n900.tar.gz nokia_rx51_tmp/
+ ln -s /opt/nokia/kernel_2.6.28-20103103+0m5_armel.deb nokia_rx51_tmp/
+ ln -s /opt/nokia/libc6_2.5.1-1eglibc27+0m5_armel.deb nokia_rx51_tmp/
+ ln -s /opt/nokia/busybox_1.10.2.legal-1osso30+0m5_armel.deb nokia_rx51_tmp/
+ ln -s /opt/nokia/qemu-system-arm nokia_rx51_tmp/
export PATH=/opt/gcc-12.2.0-nolibc/arm-linux-gnueabi/bin:$PATH
test/nokia_rx51_test.sh
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index c3ceca2974..e320a24ef3 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -2,7 +2,7 @@
# Grab our configured image. The source for this is found
# in the u-boot tree at tools/docker/Dockerfile
-image: trini/u-boot-gitlab-ci-runner:jammy-20230126-10Feb2023
+image: trini/u-boot-gitlab-ci-runner:jammy-20230126-17Feb2023
# We run some tests in different order, to catch some failures quicker.
stages:
@@ -213,7 +213,14 @@ Run binman, buildman, dtoc, Kconfig and patman testsuites:
Run tests for Nokia RX-51 (aka N900):
stage: testsuites
script:
- - export PATH=/opt/gcc-12.2.0-nolibc/arm-linux-gnueabi/bin:$PATH;
+ - mkdir nokia_rx51_tmp;
+ ln -s /opt/nokia/u-boot-gen-combined nokia_rx51_tmp/;
+ ln -s /opt/nokia/qemu-n900.tar.gz nokia_rx51_tmp/;
+ ln -s /opt/nokia/kernel_2.6.28-20103103+0m5_armel.deb nokia_rx51_tmp/;
+ ln -s /opt/nokia/libc6_2.5.1-1eglibc27+0m5_armel.deb nokia_rx51_tmp/;
+ ln -s /opt/nokia/busybox_1.10.2.legal-1osso30+0m5_armel.deb nokia_rx51_tmp/;
+ ln -s /opt/nokia/qemu-system-arm nokia_rx51_tmp/;
+ export PATH=/opt/gcc-12.2.0-nolibc/arm-linux-gnueabi/bin:$PATH;
test/nokia_rx51_test.sh
# Check for any pylint regressions
diff --git a/test/nokia_rx51_test.sh b/test/nokia_rx51_test.sh
index a516ec2967..dca9ef3027 100755
--- a/test/nokia_rx51_test.sh
+++ b/test/nokia_rx51_test.sh
@@ -83,8 +83,10 @@ echo
# Download qflasher and nolo images
# This is proprietary qemu flasher tool with first stage images, but license allows non-commercial redistribution
-wget -c http://repository.maemo.org/qemu-n900/qemu-n900.tar.gz
-tar -xf qemu-n900.tar.gz
+if ! test -f qflasher || ! test -f xloader-qemu.bin || ! test -f secondary-qemu.bin; then
+ test -f qemu-n900.tar.gz || wget -c http://repository.maemo.org/qemu-n900/qemu-n900.tar.gz
+ tar -xf qemu-n900.tar.gz
+fi
# Download Maemo script u-boot-gen-combined
if ! test -f u-boot-gen-combined; then
@@ -94,16 +96,22 @@ if ! test -f u-boot-gen-combined; then
fi
# Download Maemo fiasco kernel
-wget -c http://repository.maemo.org/pool/maemo5.0/free/k/kernel/kernel_2.6.28-20103103+0m5_armel.deb
-dpkg -x kernel_2.6.28-20103103+0m5_armel.deb kernel_2.6.28
+if ! test -d kernel_2.6.28; then
+ test -f kernel_2.6.28-20103103+0m5_armel.deb || wget -c http://repository.maemo.org/pool/maemo5.0/free/k/kernel/kernel_2.6.28-20103103+0m5_armel.deb
+ dpkg -x kernel_2.6.28-20103103+0m5_armel.deb kernel_2.6.28
+fi
# Download Maemo libc
-wget -c http://repository.maemo.org/pool/maemo5.0/free/g/glibc/libc6_2.5.1-1eglibc27+0m5_armel.deb
-dpkg -x libc6_2.5.1-1eglibc27+0m5_armel.deb libc6_2.5.1
+if ! test -d libc6_2.5.1; then
+ test -f libc6_2.5.1-1eglibc27+0m5_armel.deb || wget -c http://repository.maemo.org/pool/maemo5.0/free/g/glibc/libc6_2.5.1-1eglibc27+0m5_armel.deb
+ dpkg -x libc6_2.5.1-1eglibc27+0m5_armel.deb libc6_2.5.1
+fi
# Download Maemo busybox
-wget -c http://repository.maemo.org/pool/maemo5.0/free/b/busybox/busybox_1.10.2.legal-1osso30+0m5_armel.deb
-dpkg -x busybox_1.10.2.legal-1osso30+0m5_armel.deb busybox_1.10.2
+if ! test -d busybox_1.10.2; then
+ test -f busybox_1.10.2.legal-1osso30+0m5_armel.deb || wget -c http://repository.maemo.org/pool/maemo5.0/free/b/busybox/busybox_1.10.2.legal-1osso30+0m5_armel.deb
+ dpkg -x busybox_1.10.2.legal-1osso30+0m5_armel.deb busybox_1.10.2
+fi
echo
echo "======================================="
diff --git a/tools/docker/Dockerfile b/tools/docker/Dockerfile
index 33e2bd2add..c367bb482b 100644
--- a/tools/docker/Dockerfile
+++ b/tools/docker/Dockerfile
@@ -186,6 +186,27 @@ RUN git clone https://gitlab.com/qemu-project/qemu.git /tmp/qemu && \
make -j$(nproc) all install && \
rm -rf /tmp/qemu
+# Build QEMU supporting Nokia n900 emulation
+RUN mkdir -p /opt/nokia && \
+ cd /tmp && \
+ git clone https://git.linaro.org/qemu/qemu-linaro.git && \
+ cd /tmp/qemu-linaro && \
+ git checkout 8f8d8e0796efe1a6f34cdd83fb798f3c41217ec1 && \
+ ./configure --enable-system --target-list=arm-softmmu \
+ --python=/usr/bin/python2.7 --disable-sdl --disable-gtk \
+ --disable-curses --audio-drv-list= --audio-card-list= \
+ --disable-werror --disable-xen --disable-xen-pci-passthrough \
+ --disable-brlapi --disable-vnc --disable-curl --disable-slirp \
+ --disable-kvm --disable-user --disable-linux-user --disable-bsd-user \
+ --disable-guest-base --disable-uuid --disable-vde --disable-linux-aio \
+ --disable-cap-ng --disable-attr --disable-blobs --disable-docs \
+ --disable-spice --disable-libiscsi --disable-smartcard-nss \
+ --disable-usb-redir --disable-guest-agent --disable-seccomp \
+ --disable-glusterfs --disable-nptl --disable-fdt && \
+ make -j$(nproc) && \
+ cp /tmp/qemu-linaro/arm-softmmu/qemu-system-arm /opt/nokia && \
+ rm -rf /tmp/qemu-linaro
+
# Build genimage (required by some targets to generate disk images)
RUN wget -O - https://github.com/pengutronix/genimage/releases/download/v14/genimage-14.tar.xz | tar -C /tmp -xJ && \
cd /tmp/genimage-14 && \
@@ -229,6 +250,15 @@ RUN mkdir /tmp/trace && \
sudo make install && \
rm -rf /tmp/trace
+# Files to run Nokia RX-51 (aka N900) tests
+RUN mkdir -p /opt/nokia && \
+ cd /opt/nokia && \
+ wget https://raw.githubusercontent.com/pali/u-boot-maemo/master/debian/u-boot-gen-combined && \
+ wget http://repository.maemo.org/qemu-n900/qemu-n900.tar.gz && \
+ wget http://repository.maemo.org/pool/maemo5.0/free/k/kernel/kernel_2.6.28-20103103+0m5_armel.deb && \
+ wget http://repository.maemo.org/pool/maemo5.0/free/g/glibc/libc6_2.5.1-1eglibc27+0m5_armel.deb && \
+ wget http://repository.maemo.org/pool/maemo5.0/free/b/busybox/busybox_1.10.2.legal-1osso30+0m5_armel.deb
+
# Create our user/group
RUN echo uboot ALL=NOPASSWD: ALL > /etc/sudoers.d/uboot
RUN useradd -m -U uboot