summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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 8327edf87aa..30025ff7517 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 c3ceca2974d..e320a24ef31 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 a516ec2967c..dca9ef3027b 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 33e2bd2add6..c367bb482b4 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