blob: 572227dccd169a80d31e79614bde756689355714 [file] [log] [blame]
Brad Bishop1a4b7ee2018-12-16 17:11:34 -08001#!/bin/bash
2#
3# Script which can be run on new autobuilder workers to check all needed configuration is present.
4# Designed to be run in a repo where bitbake/oe-core are already present.
5#
Brad Bishopc342db32019-05-15 21:57:59 -04006# SPDX-License-Identifier: GPL-2.0-only
Brad Bishop1a4b7ee2018-12-16 17:11:34 -08007#
8# Todo
9# Add testtools/subunit import test
10# Add python3-git test
11# Add pigz test
12# vnc tests/checkvnc?
13# test sendmail works (for QA email notification)
14# test error report submission works
15# test buildistory git repo works?
16#
17
Brad Bishop19323692019-04-05 15:28:33 -040018if [ ! -x $HOME/yocto-autobuilder-helper/scripts/checkvnc ]; then
19 echo "$HOME/yocto-autobuilder-helper should be created."
20 exit 1
21fi
22$HOME/yocto-autobuilder-helper/scripts/checkvnc
23
Brad Bishop1a4b7ee2018-12-16 17:11:34 -080024. ./oe-init-build-env > /dev/null
25if [ "$?" != "0" ]; then
26 exit 1
27fi
28git config --global user.name > /dev/null
29if [ "$?" != "0" ]; then
30 echo "Please set git config --global user.name"
31 exit 1
32fi
33git config --global user.email > /dev/null
34if [ "$?" != "0" ]; then
35 echo "Please set git config --global user.email"
36 exit 1
37fi
Andrew Geisslereff27472021-10-29 15:35:00 -050038python3 -c "import jinja2"
39if [ "$?" != "0" ]; then
40 echo "Please ensure jinja2 is available"
41 exit 1
42fi
Brad Bishop1a4b7ee2018-12-16 17:11:34 -080043bitbake -p
44if [ "$?" != "0" ]; then
45 echo "Bitbake parsing failed"
46 exit 1
47fi
48
49WATCHES=$(PATH="/sbin:/usr/sbin:$PATH" sysctl fs.inotify.max_user_watches -n)
50if (( $WATCHES < 65000 )); then
51 echo 'Need to increase watches (echo fs.inotify.max_user_watches=65536 | sudo tee -a /etc/sysctl.conf'
52 exit 1
53fi
Andrew Geisslerd5838332022-05-27 11:33:10 -050054OPEN_FILES=$(ulimit -n)
55if (( $OPEN_FILES < 65535 )); then
56 echo 'Increase maximum open files in /etc/security/limits.conf'
57 echo '* soft nofile 131072'
58 echo '* hard nofile 131072'
59 exit 1
60fi
61MAX_PROCESSES=$(ulimit -u)
62if (( $MAX_PROCESSES < 514542 )); then
63 echo 'Increase maximum user processes in /etc/security/limits.conf'
64 echo '* hard nproc 515294'
65 echo '* soft nproc 514543'
66 exit 1
67fi
68
Brad Bishop1a4b7ee2018-12-16 17:11:34 -080069mkdir -p tmp/deploy/images/qemux86-64
70pushd tmp/deploy/images/qemux86-64
71if [ ! -e core-image-minimal-qemux86-64.ext4 ]; then
Andrew Geisslerd5838332022-05-27 11:33:10 -050072 wget http://downloads.yoctoproject.org/releases/yocto/yocto-4.0/machines/qemu/qemux86-64/core-image-minimal-qemux86-64.ext4
Brad Bishop1a4b7ee2018-12-16 17:11:34 -080073fi
74if [ ! -e core-image-minimal-qemux86-64.qemuboot.conf ]; then
Andrew Geisslerd5838332022-05-27 11:33:10 -050075 wget http://downloads.yoctoproject.org/releases/yocto/yocto-4.0/machines/qemu/qemux86-64/core-image-minimal-qemux86-64.qemuboot.conf
Brad Bishop1a4b7ee2018-12-16 17:11:34 -080076fi
77if [ ! -e bzImage-qemux86-64.bin ]; then
Andrew Geisslerd5838332022-05-27 11:33:10 -050078 wget http://downloads.yoctoproject.org/releases/yocto/yocto-4.0/machines/qemu/qemux86-64/bzImage-qemux86-64.bin
Brad Bishop1a4b7ee2018-12-16 17:11:34 -080079fi
80popd
81bitbake qemu-helper-native
Brad Bishop19323692019-04-05 15:28:33 -040082DISPLAY=:1 runqemu serialstdio qemux86-64
Brad Bishop1a4b7ee2018-12-16 17:11:34 -080083if [ "$?" != "0" ]; then
84 echo "Unable to use runqemu"
85 exit 1
86fi
Brad Bishop19323692019-04-05 15:28:33 -040087DISPLAY=:1 runqemu serialstdio qemux86-64 kvm
Brad Bishop1a4b7ee2018-12-16 17:11:34 -080088if [ "$?" != "0" ]; then
89 echo "Unable to use runqemu with kvm"
90 exit 1
91fi