17ec681f3Smrg#!/bin/sh
27ec681f3Smrg
37ec681f3Smrgset -x
47ec681f3Smrg
57ec681f3Smrgln -sf $CI_PROJECT_DIR/install /install
67ec681f3Smrg
77ec681f3Smrgexport LD_LIBRARY_PATH=$CI_PROJECT_DIR/install/lib/
87ec681f3Smrgexport EGL_PLATFORM=surfaceless
97ec681f3Smrg
107ec681f3Smrgexport -p > /crosvm-env.sh
117ec681f3Smrgexport GALLIUM_DRIVER="$CROSVM_GALLIUM_DRIVER"
127ec681f3Smrgexport GALLIVM_PERF="nopt"
137ec681f3Smrgexport LIBGL_ALWAYS_SOFTWARE="true"
147ec681f3Smrg
157ec681f3SmrgCROSVM_KERNEL_ARGS="root=my_root rw rootfstype=virtiofs loglevel=3 init=$CI_PROJECT_DIR/install/crosvm-init.sh ip=192.168.30.2::192.168.30.1:255.255.255.0:crosvm:eth0"
167ec681f3Smrg
177ec681f3Smrg# Temporary results dir because from the guest we cannot write to /
187ec681f3Smrgmkdir -p /results
197ec681f3Smrgmount -t tmpfs tmpfs /results
207ec681f3Smrg
217ec681f3Smrgmkdir -p /piglit/.gitlab-ci/piglit
227ec681f3Smrgmount -t tmpfs tmpfs /piglit/.gitlab-ci/piglit
237ec681f3Smrg
247ec681f3Smrgunset DISPLAY
257ec681f3Smrgunset XDG_RUNTIME_DIR
267ec681f3Smrg
277ec681f3Smrg/usr/sbin/iptables-legacy  -t nat -A POSTROUTING -o eth0 -j MASQUERADE
287ec681f3Smrgecho 1 > /proc/sys/net/ipv4/ip_forward
297ec681f3Smrg
307ec681f3Smrg# Crosvm wants this
317ec681f3Smrgsyslogd > /dev/null
327ec681f3Smrg
337ec681f3Smrg# We aren't testing LLVMPipe here, so we don't need to validate NIR on the host
347ec681f3Smrgexport NIR_VALIDATE=0
357ec681f3Smrg
367ec681f3Smrgcrosvm run \
377ec681f3Smrg  --gpu "$CROSVM_GPU_ARGS" \
387ec681f3Smrg  -m 4096 \
397ec681f3Smrg  -c $((FDO_CI_CONCURRENT > 1 ? FDO_CI_CONCURRENT - 1 : 1)) \
407ec681f3Smrg  --disable-sandbox \
417ec681f3Smrg  --shared-dir /:my_root:type=fs:writeback=true:timeout=60:cache=always \
427ec681f3Smrg  --host_ip=192.168.30.1 --netmask=255.255.255.0 --mac "AA:BB:CC:00:00:12" \
437ec681f3Smrg  -p "$CROSVM_KERNEL_ARGS" \
447ec681f3Smrg  /lava-files/bzImage
457ec681f3Smrg
467ec681f3Smrgmkdir -p $CI_PROJECT_DIR/results
477ec681f3Smrgmv /results/* $CI_PROJECT_DIR/results/.
487ec681f3Smrg
497ec681f3Smrgtest -f $CI_PROJECT_DIR/results/success
50