Lines Matching +full:a306 +full:- +full:traces

1 Bare-metal CI
4 The bare-metal scripts run on a system with gitlab-runner and Docker,
5 connected to potentially multiple bare-metal boards that run tests of
6 Mesa. Currently "fastboot", "ChromeOS Servo", and POE-powered devices are
16 -----------------------
18 This testing requires power control of the DUTs by the gitlab-runner
22 We require access to the console output from the gitlab-runner system,
28 gitlab-runner system, since Mesa often needs to update the kernel either for new
32 artifacts on GitLab, and so that we can download traces (too large for an
37 See ``src/freedreno/ci/gitlab-ci.yml`` for an example of fastboot on DB410c and
38 DB820c (freedreno-a306 and freedreno-a530).
41 --------------------
43 For Servo-connected boards, we can use the EC connection for power
46 gitlab-runner mounts the runner's tftp directory specific to the board
56 the dnsmasq.conf.d in the Google farm, with the gitlab-runner host we
59 dhcp-host=1c:69:7a:0d:a3:d3,10.42.0.10,set:servo
63 dhcp-host=a0:ce:c8:c8:d9:5d,10.42.0.11,set:cheza1
64 dhcp-host=a0:ce:c8:c8:d8:81,10.42.0.12,set:cheza2
68 # tftp-unique-root and mount directories like
70 tftp-unique-root
71 dhcp-boot=tag:cheza1,cheza1/vmlinuz,,10.42.0.10
72 dhcp-boot=tag:cheza2,cheza2/vmlinuz,,10.42.0.10
74 dhcp-option=tag:cheza1,option:root-path,/srv/nfs/cheza1
75 dhcp-option=tag:cheza2,option:root-path,/srv/nfs/cheza2
77 See ``src/freedreno/ci/gitlab-ci.yml`` for an example of Servo on cheza. Note
81 ------------------
86 - x86-64 gitlab-runner machine with a mid-range CPU, and 3+ GB of SSD storage
88 - Cisco 2960S gigabit ethernet switch with POE. (Cisco 3750G, 3560G, or 2960G
89 were also recommended as reasonable-priced HW, but make sure the name ends in
91 - POE splitters to power the boards (you can find ones that go to micro USB,
93 - USB serial cables (Adafruit sells pretty reliable ones)
94 - A large powered USB hub for all the serial cables
95 - A pile of ethernet cables
105 .. code-block: console
111 Switch(config-if)#ip address 10.42.0.2 255.255.0.0
112 Switch(config-if)#end
113 Switch(config)#snmp-server community mesaci RW
115 Switch#copy running-config startup-config
119 .. code-block: console
121 % snmpset -v2c -r 3 -t 30 -cmesaci 10.42.0.2 1.3.6.1.4.1.9.9.402.1.2.1.1.1.1 i 1
122 % snmpset -v2c -r 3 -t 30 -cmesaci 10.42.0.2 1.3.6.1.4.1.9.9.402.1.2.1.1.1.1 i 4
132 See ``src/broadcom/ci/gitlab-ci.yml`` and ``src/nouveau/ci/gitlab-ci.yml`` for an
136 -----
141 .. code-block:: sh
143 sudo gitlab-runner register \
144 --url https://gitlab.freedesktop.org \
145 --registration-token $1 \
146 --name MY_BOARD_NAME \
147 --tag-list MY_BOARD_TAG \
148 --executor docker \
149 --docker-image "alpine:latest" \
150 --docker-volumes "/dev:/dev" \
151 --docker-network-mode "host" \
152 --docker-privileged \
153 --non-interactive
161 The name scheme for Google's lab is google-freedreno-boardname-n, and
162 our tag is something like google-freedreno-db410c. The tag is what
163 identifies a board type so that board-specific jobs can be dispatched
167 serial console and fastboot USB devices (--device arguments don't
174 more customization in ``/etc/gitlab-runner/config.toml``. First, add
176 this many jobs running managed by this gitlab-runner"). Then for each
178 time"). Finally, add the board-specific environment variables
179 required by your bare-metal script, something like::
182 name = "google-freedreno-db410c-1"
183 …environment = ["BM_SERIAL=/dev/ttyDB410c8", "BM_POWERUP=google-power-up.sh 8", "BM_FASTBOOT_SERIAL…
186 the board, which is used for auto-tuning of job parallelism.
189 gitlab-runner restart``
192 -----------------
194 To improve the runtime for downloading traces during traces job runs, you will
195 want a pass-through HTTP cache. On your runner box, install nginx:
197 .. code-block:: sh
199 sudo apt install nginx libnginx-mod-http-lua
203 .. literalinclude:: fdo-cache
204 :name: /etc/nginx/sites-available/fdo-cache
205 :caption: /etc/nginx/sites-available/fdo-cache
207 .. literalinclude:: uri-caching.conf
208 :name: /etc/nginx/snippets/uri-caching.conf
209 :caption: /etc/nginx/snippets/uri-caching.conf
211 Edit the listener addresses in fdo-cache to suit the ethernet interface that
216 .. code-block:: sh
218 sudo rm /etc/nginx/sites-enabled/default
219 sudo ln -s /etc/nginx/sites-available/fdo-cache /etc/nginx/sites-enabled/fdo-cache
223 …://localhost/cache/?uri=https://s3.freedesktop.org/mesa-tracie-public/itoral-gl-terrain-demo/demo-
225 …://localhost/cache/?uri=https://s3.freedesktop.org/mesa-tracie-public/itoral-gl-terrain-demo/demo-
227 Now, set ``download-url`` in your ``traces-*.yml`` entry to something like
228 ``http://caching-proxy/cache/?uri=https://s3.freedesktop.org/mesa-tracie-public``
229 and you should have cached downloads for traces. Add it to